ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ



Σχετικά έγγραφα
Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 2: Ψηφιοποίηση, Αναπαράσταση και αποθήκευση δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών Σπουδών

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Μηχανολογικό Σχέδιο Ι

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Διοικητική Λογιστική

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Οργάνωση και Διοίκηση Πωλήσεων Ενότητα 1: Ο ΡΟΛΟΣ ΤΩΝ ΠΩΛΗΣΕΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΜΑΡΚΕΤΙΝΓΚ

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Εισαγωγή στην Πληροφορική

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Οργάνωση και Διοίκηση Πωλήσεων

ΑΝΑΛΥΣΗ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΩΝ ΚΑΤΑΣΤΑΣΕΩΝ

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

Διοίκηση Έργου. Ενότητα 4: Μέθοδοι Χρονικού Προγραμματισμού Έργων. Σαμαρά Ελπίδα Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εφαρμογές των Τεχνολογιών της Πληροφορίας και των Επικοινωνιών στη διδασκαλία και τη μάθηση

Διδακτική της Πληροφορικής

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Διοικητική Λογιστική

ΑΝΤΙΡΡΥΠΑΝΤΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΑΙΩΡΟΥΜΕΝΩΝ ΣΩΜΑΤΙΔΙΩΝ Ενότητα 2: Αιωρούμενα σωματίδια & Απόδοση συλλογής Αν. Καθ. Δρ Μαρία Α. Γούλα Τμήμα Μηχανικών

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Ιστορία της μετάφρασης

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

Διδακτική Πληροφορικής

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στους Υπολογιστές

Διοίκηση Επιχειρήσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Διδακτική Πληροφορικής

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Συστήματα Αναμονής. Ενότητα 9: Ανέλιξη Γέννησης - Θανάτου. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εισαγωγή στη Διοίκηση Επιχειρήσεων Ενότητα 5: Μέτρηση της απόδοσης της εταιρίας Επίκ. Καθηγητής Θεμιστοκλής Λαζαρίδης Τμήμα Διοίκηση Επιχειρήσεων

Δομές Δεδομένων Ενότητα 1

Ψηφιακή Επεξεργασία Εικόνων

Εισαγωγή στην Πληροφορική

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 4: Πηγές Δεδομένων- Δευτερογενή Στοιχεία. Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Οργάνωση και Διοίκηση Πωλήσεων Ενότητα 8: ΟΡΓΑΝΩΣΗ ΤΗΣ ΔΥΝΑΜΗΣ ΠΩΛΗΤΩΝ

Διοίκηση Έργου. Ενότητα 5: Έλεγχος Έργου. Σαμαρά Ελπίδα Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στη Διοίκηση Επιχειρήσεων Ενότητα 3: Λήψη Αποφάσεων Επίκ. Καθηγητής Θεμιστοκλής Λαζαρίδης Τμήμα Διοίκηση Επιχειρήσεων (Γρεβενά)

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

Εισαγωγή στην πληροφορική

Τεχνικό Σχέδιο - CAD

Συστήματα Πολυμέσων Ενότητα 5: Σαρωτές. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Συστήματα Πολυμέσων Ενότητα 4: Συμπίεση. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εκκλησιαστικό Δίκαιο

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Βάσεις Περιβαλλοντικών Δεδομένων

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 8 η : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΖΟΜΕΝΩΝ ΛΟΓΙΚΩΝ ΕΛΕΓΚΤΩΝ

Εισαγωγή στην Διοίκηση Επιχειρήσεων

ΣΤΡΑΤΗΓΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Ηλεκτροτεχνία ΙΙ. Ενότητα 2: Ηλεκτρικά κυκλώματα συνεχούς ρεύματος. Δημήτρης Στημονιάρης, Δημήτρης Τσιαμήτρος Τμήμα Ηλεκτρολογίας

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 2 η : ΠΕΡΙΓΡΑΦΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΑΘΗΜΑΤΙΚΑ ΜΟΝΤΕΛΑ

Τεχνολογία Πολιτισμικού Λογισμικού

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα 6: Τεχνολογία Λογισμικού-Software Engineering Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών Σπουδών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Εξερεύνηση των προβλημάτων που παρουσιάζονται κατά τη διάρκεια της ανάπτυξης μεγάλων, σύνθετων συστημάτων λογισμικού. Εισαγωγή στις αρχές που κατευθύνουν τη διαδικασία ανάπτυξης λογισμικού και οδηγούν σε αποδοτικά, αξιόπιστα προϊόντα λογισμικού. 4

Περιεχόμενα ενότητας (1/2) Η επιστήμη της Τεχνολογίας Λογισμικού. Ο κύκλος ζωής του λογισμικού. Ο κύκλος ως σύνολο. Η παραδοσιακή φάση ανάπτυξης. Μεθοδολογίες τεχνολογίας λογισμικού. Τμηματικότητα. Τμηματική Υλοποίηση. Σύζευξη. Συνοχή. Συστατικά. 5

Περιεχόμενα ενότητας (2/2) Εργαλεία ανάπτυξης. Παλιοί φίλοι. Ενοποιημένη γλώσσα μοντελοποίησης. Πρότυπα σχεδίασης. Έλεγχος. Τεκμηρίωση. Ιδιοκτησία και ευθύνη λογισμικού. 6

Η επιστήμη της Τεχνολογίας Λογισμικού (1/3) Σχεδιασμός, ανάπτυξη και συντήρηση μεγάλων συστημάτων λογισμικού. Διαφέρει από τα άλλα επιστημονικά και τεχνικά πεδία. Προκατασκευασμένα Τμήματα. Σύστημα μέτρησης. Πρακτικοί εναντίον θεωρητικών. 7

Η επιστήμη της Τεχνολογίας Λογισμικού (2/3) Οι οικονομίες όλων των αναπτυγμένων χωρών εξαρτώνται από το λογισμικό. Όλο και περισσότερα συστήματα είναι ελεγχόμενα από λογισμικό. Η τεχνολογία λογισμικού ασχολείται με θεωρίες, μεθόδους και εργαλεία για «επαγγελματική» ανάπτυξη λογισμικού (ανάπτυξη, διαχείριση και εξέλιξη συστημάτων). 8

Η επιστήμη της Τεχνολογίας Λογισμικού (3/3) Τα προϊόντα λογισμικού αποτελούνται από προγράμματα και εγχειρίδια. Τα κυριότερα χαρακτηριστικά των προϊόντων είναι δυνατότητα συντήρησης, εξάρτηση (συνδεσιμότητα) και φιλικότητα χρήσης. Η διαδικασία λογισμικού αποτελείται από τις δραστηριότητες που υπάρχουν στην ανάπτυξη λογισμικού. 9

Υπολογιστικάεργαλείαυποβοήθησης τεχνολογίαςλογισμικού Computer Aided Software Engineering (CASE) tools και αφορούν: Σχεδιασμός έργου. Διαχείριση έργου. Τεκμηρίωση. Πρωτότυπα και προσομοίωση. Σχεδίαση διεπαφής. Προγραμματισμός. 10

Ο κύκλος ζωής του λογισμικού Σχήμα: Ο κύκλος ζωής του λογισμικού. Πηγή: BROOKSHEAR (2004). 11

Η παραδοσιακή φάση ανάπτυξης Σχήμα: Η παραδοσιακή φάση ανάπτυξης. Πηγή: BROOKSHEAR (2004). 12

Ανάλυση Απαιτήσεις. Προσανατολισμένες στην εφαρμογή. Προδιαγραφές Τεχνικά προσανατολισμένες. Έγγραφο απαιτήσεων λογισμικού. Συνήθως οι απαιτήσεις δεν είναι ομαλές - δεν είναι πλήρεις. Η διάκριση μεταξύ απαιτήσεων - σχεδιασμού και παραγωγής είναι πολύ θολή. Δεν υπάρχει φυσική αναπαραγωγή του συστήματος για έλεγχο. 13

Σχεδιασμός Μεθοδολογίες και εργαλεία (στη συνέχεια). Διεπαφή χρήστη (ψυχολογία και εργονομία). 14

Υλοποίηση Κατασκευή συστήματος από σχεδιασμό. Γράψιμο προγραμμάτων. Δημιουργία αρχείων δεδομένων. Ανάπτυξη βάσεων δεδομένων. Ο ρόλος του αναλυτή λογισμικού απέναντι στον προγραμματιστή. 15

Έλεγχος Έλεγχος εγκυρότητας. Επιβεβαίωση ότι το σύστημα ακολουθεί τις προδιαγραφές. Έλεγχος κακοτεχνιών. Εύρεση ελαττωμάτων (bugs). 16

Μεθοδολογίες τεχνολογίας Μοντέλο καταρράκτη. λογισμικού (1/2) Διαχωρισμός φάσεων απαιτήσεων και ανάπτυξης. Εξελικτικό μοντέλο. Η εξειδίκευση και η ανάπτυξη γίνονται μαζί. Πρωτότυπα (Εξελικτικά έναντι Μιας χρήσεως- Throwaway). Ανάπτυξη ανοιχτού κώδικα. 17

Μεθοδολογίες τεχνολογίας λογισμικού (2/2) Extreme Programming. Formal transformation. Ένα μαθηματικό συστηματικό μοντέλο μετατρέπεται σε υλοποίηση. Reuse-based development. Το σύστημα αναπτύσσεται από υπάρχοντα στοιχεία. 18

Μοντέλο καταρράκτη (1/2) Σχήμα: Μοντέλο καταρράκτη. Πηγή: Διδάσκων (2015). 19

Μοντέλο καταρράκτη (2/2) Εξειδίκευση - εντοπισμός των απαιτήσεων και περιορισμών του συστήματος. Σχεδιασμός - παραγωγή μοντέλου σε χαρτί. Παραγωγή - ανάπτυξη του συστήματος. Έλεγχος αν το σύστημα ικανοποιεί την περιγραφή των απαιτήσεων. Εγκατάσταση του συστήματος στον πελάτη και έλεγχος λειτουργικότητας. Συντήρηση - επισκευή προβλημάτων όταν αυτά προκύπτουν. 20

Κατανομή Χρόνου σε ένα τυπικό έργο Σχήμα: Κατανομή Χρόνου σε ένα τυπικό έργο. Πηγή:http://java.uom.gr/OOD/slides/Intro_Software_Engineering.ppt (Ανακτήθηκε 18 Ιουνίου, 2015). 21

Τμηματικότητα (modularity) Αρθρωτός προγραμματισμός Διαδικασίες Προστακτικές γλώσσες. Σχεδιαγράμματα δομής. Αντικείμενα Αντικειμενοστραφείς γλώσσες. Διαγράμματα συνεργασίας. Δομικά στοιχεία (components). Component architecture. 22

Εικόνα: Σχεδιάγραμμα απλής δομής Σχήμα: Σχεδιάγραμμα απλής δομής. Πηγή: BROOKSHEAR (2004). 23

Η δομή της PlayerClass και τα στιγμιότυπα Σχήμα: Η δομή της PlayerClass και τα στιγμιότυπα. Πηγή: BROOKSHEAR (2004). 24

Αλληλεπίδρασημεταξύαντικειμένων που προκαλείταιαπό τοσερβίς του PlayerA Σχήμα: Αλληλεπίδραση μεταξύ αντικειμένων που προκαλείται από το σερβίς του PlayerA. Πηγή: BROOKSHEAR (2004). 25

Σχεδιάγραμμα δομής με σύζευξη δεδομένων Σχήμα: Σχεδιάγραμμα δομής με σύζευξη δεδομένων. Πηγή: BROOKSHEAR (2004). 26

Σύζευξη εναντίον Συνοχής Σύζευξη. Σύζευξη ελέγχου. Σύζευξη δεδομένων. Συνοχή. Λογική συνοχή. Λειτουργική συνοχή. 27

Λογική και λειτουργική συνοχή μέσα σε αντικείμενο Σχήμα: Λογική και λειτουργική συνοχή μέσα σε αντικείμενο. Πηγή: BROOKSHEAR (2004). 28

Εργαλεία ανάπτυξης Διάγραμμα ροής. Διάγραμμα Οντοτήτων-Σχέσεων. Σχέση ένα-προς-ένα. Σχέση ένα-προς-πολλά. Σχέση πολλά-προς-πολλά. Λεξικό δεδομένων. 29

Σχέση ένα-προς-ένα, ένα-προςπολλά και πολλά-προς-πολλά Σχήμα: Σχέση ένα-προς-ένα, ένα-προς-πολλά και πολλά-προς-πολλά. Πηγή: BROOKSHEAR (2004). 30

Απλό διάγραμμα ροής Σχήμα: Απλό διάγραμμα ροής. Πηγή: BROOKSHEAR (2004). 31

Διάγραμμα απλής κλάσης Σχήμα: Διάγραμμα απλής κλάσης. Πηγή: BROOKSHEAR (2004). 32

Ενοποιημένη γλώσσα μοντελοποίησης Διαγράμματα Use Case. Use cases. Actors. Διαγράμματα κλάσεων. 33

Διάγραμμα απλού use case Σχήμα: Διάγραμμα απλού use case. Πηγή: BROOKSHEAR (2004). 34

Διάγραμμα κλάσης για απεικόνιση γενικεύσεων Σχήμα: Διάγραμμα κλάσης για απεικόνιση γενικεύσεων. Πηγή: BROOKSHEAR (2004). 35

Διάγραμμα ακολουθίας που απεικονίζει κοινή βολή Σχήμα: Διάγραμμα ακολουθίας που απεικονίζει κοινή βολή. Πηγή: BROOKSHEAR (2004). 36

Πρότυπα σχεδίασης Καλά σχεδιασμένα πλαίσια (templates) για επίλυση επαναλαμβανόμενων προβλημάτων Παραδείγματα: Προσαρμοστικό πρότυπο: Προσαρμογή μιας διεπαφής τμήματος (module s interface) στις τρέχουσες ανάγκες. Συνδυαστικό πρότυπο: Έλεγχος της πολυπλοκότητας που εμπλέκεται όταν απαιτούνται πολλοί συνδυασμοί των ίδιων δραστηριοτήτων. 37

Στρατηγικές ελέγχου λογισμικού Glass-box testing. Αρχή του Pareto (80/20). Έλεγχος διαδρομής βάσης όλες οι εντολές. Black-box testing. Ανάλυση οριακών τιμών. Πλεονασματικός έλεγχος - Redundancy testing. Beta testing. 38

Στρατηγικές ελέγχου λογισμικού (συνέχεια) Δομημένα περάσματα. Θεατρικό πείραμα. Κάρτες κλάσης, αρμοδιότητας, συνεργασίας. 39

Τεκμηρίωση (Documentation) Τεκμηρίωση χρήστη. Βιβλία για όλους τους πελάτες. On-line βοήθεια. Τεκμηρίωση συστήματος. Πηγαίος κώδικας. Έγγραφα σχεδιασμού. Τεχνική τεκμηρίωση. Για εγκατάσταση, προσαρμογή, ανανέωση, κλπ. 40

Τεκμηρίωση Παραγόμενα Έγγραφα Δραστηριότητα. Ανάλυση Απαιτήσεων. Καθορισμός. Απαιτήσεων. Σχεδίαση Συστήματος. Κωδικοποίηση. Έλεγχος Μονάδων. Έλεγχος Τμημάτων. Έλεγχος Συστήματος. Παράδοση Προϊόντος. Παραγόμενα Έγγραφα. Feasibility Study. Requirements Specification. Functional Specification. Design Specification. Program code. Unit test report. Module test report. System test report. User Guide Refer. Manual. 41

Ιδιοκτησία λογισμικού (1/3) Copyright. Επιτρέπει την κυκλοφορία ενός προϊόντος διατηρώντας την πνευματική ιδιοκτησία Ισχύει για όλα τα έργα: Προδιαγραφές. Πηγαίος κώδικας. Τελικό αποτέλεσμα. 42

Ιδιοκτησία λογισμικού (2/3) Άδεια χρήσης λογισμικού. Νομική συμφωνία που χορηγεί στο χρήστη συγκεκριμένες άδειες χωρίς να του μεταβιβάζει την κυριότητα. Πατέντες. Πρέπει να αποδείξει ότι είναι νέο, μπορεί να χρησιμοποιηθεί και δεν είναι πρόδηλο σε άλλα με παρόμοια υπόβαθρα. Διαδικασία ακριβή και χρονοβόρα. 43

Ιδιοκτησία λογισμικού (3/3) Οι μηχανικοί λογισμικού δεν πρέπει να ασχολούνται μόνο με τεχνικά θέματα. Η ευθύνη τους είναι μεγαλύτερη και αφορά θέματα ηθικής, κοινωνικά και επαγγελματικά. Τα παραπάνω δεν είναι ξεκάθαρα όταν: Αναπτύσσονται στρατιωτικά συστήματα. Whistleblowing. 44

Evolutionary development Σχήμα: Evolutionary development. Πηγή: http://www.gemwriters.com/wpcontent/uploads/2014/01/evolutionary-process-model.jpg (Ανακτήθηκε 18 Ιουνίου, 2015). 45

Spiral model για την Διαδικασία Λογισμικού Σχήμα: Spiral model για την Διαδικασία Λογισμικού. Πηγή: http://slideplayer.gr/slide/3184447/ (διαφάνεια 24) (Ανακτήθηκε 18 Ιουνίου, 2015). 46

Βιβλιογραφία BROOKSHEAR, J. G. (2004), Computer Science: An Overview, 9th Edition, ISBN13: 9780321247261. 47

Τέλος Ενότητας

Σημείωμα Αναφοράς Copyright Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης, Δημοσθένης Πασχαλίδης. «ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ». Έκδοση: 1.0. Θεσσαλονίκη 2015. 49

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 50

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 51

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφίες. http://java.uom.gr/ood/slides/intro_software_engineerin g.ppt. http://www.gemwriters.com/wp- content/uploads/2014/01/evolutionary-process- Model.jpg. http://slideplayer.gr/slide/3184447/. BROOKSHEAR, J. G. (2004), Computer Science: An Overview, 9th Edition, ISBN13: 9780321247261. 52