ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ
Ο κύκλος ζωής λογισµικού (συνοπτικά)
Η παραδοσιακή φάση ανάπτυξης του κύκλου ζωής λογισµικού
Φάση καθορισµού απαιτήσεων (1/2) ΤΙ πρέπει να κάνει το σύστηµα! Απαιτήσεις προσανατολισµένες στις ανάγκες της εφαρµογής! Καθορίζουν: Απαιτούµενη λειτουργικότητα, Προσφερόµενες υπηρεσίες, χρονικοί περιορισµοί, απαιτήσεις ασφάλειας, κλπ! Εµπλεκόµενοι: παρέχουν τις απαιτήσεις! Απαιτείται µελέτη σκοπιµότητας (έρευνα αγοράς κλπ) -> καθορισµό απαιτήσεων! Χρησιµοποιούνται µεθοδολογίες και εργαλεία
Φάση καθορισµού απαιτήσεων (2/2)! Έγγραφο καθορισµού απαιτήσεων λογισµικού! Περιλαµβάνει όλες τις απαιτήσεις! Συνιστά γραπτή συµφωνία µεταξύ των ενδιαφερόµενων µερών! Καθοδηγεί την ανάπτυξη λογισµικού! Είναι µέσο επίλυσης διαφορών! Αποτελεί τη βάση για το σχεδιασµό του συστήµατος! Μπορεί να χρειαστεί αλλαγές
Η παραδοσιακή φάση ανάπτυξης του κύκλου ζωής λογισµικού
Καθορισµός απαιτήσεων vs. Σχεδιασµός! Καθορισµός απαιτήσεων -> προσδιορίζει το πρόβληµα προς επίλυση ΤΙ θα κάνει το σύστηµα! Εµπλέκει τους χρήστες: δίνουν τις απαιτήσεις και επιβεβαιώνουν την ορθή τους καταγραφή! Σχεδιασµός -> αναπτύσσει τη λύση για το πρόβληµα ΠΩΣ θα το κάνει! Χρησιµοποιεί σαν βάση τις καταγραµµένες απαιτήσεις! Στην πράξη, πολλές φορές το ΤΙ και το ΠΩΣ εµπλέκονται και στις δύο φάσεις
Φάση σχεδιασµού ΠΩΣ το σύστηµα ικανοποιεί τις απαιτήσεις του! Δηµιουργία σχεδίου (design) που περιλαµβάνει! Την εσωτερική δοµή του συστήµατος (εξετάζεται στο µάθηµα Ανάλυσης Συστηµάτων)! Τα δεδοµένα (εξετάζεται στο µάθηµα Βάσεων Δεδοµένων)! Την ανθρώπινη διασύνδεση (εξετάζεται στο µάθηµα Επικοινωνία Ανθρώπου µηχανής)! Αποτέλεσµα: λεπτοµερής περιγραφή της δοµής του συστήµατος που µπορεί να µετατραπεί σε πρόγραµµα! Αν το design έχει γίνει µε CASE tool µπορεί να παραχθεί αυτόµατα κώδικας! Χρειάζονται µεθοδολογίες και εργαλεία µοντελοποίησης (αναλύονται στη συνέχεια)! Η ανθρώπινη διασύνδεση απαιτεί γνώσεις ψυχολογίας και εργονοµίας (εξετάζεται στο µάθηµα Επικοινωνία Ανθρώπου µηχανής)
Η παραδοσιακή φάση ανάπτυξης του κύκλου ζωής λογισµικού
Φάση Υλοποίησης! Δηµιουργία συστήµατος από το σχεδιασµό! Συγγραφή προγραµµάτων! Δηµιουργία αρχείων δεδοµένων! Ανάπτυξη βάσεων δεδοµένων! Ρόλος του αναλυτή λογισµικού έναντι του προγραµµατιστή
Η παραδοσιακή φάση ανάπτυξης του κύκλου ζωής λογισµικού
Φάση Ελέγχου (1/2)! Στην παραδοσιακή φάση ανάπτυξης περιλαµβάνει! Έλεγχος εγκυρότητας! Επιβεβαίωση ότι το σύστηµα ικανοποιεί τις προδιαγραφές! Έλεγχος ατελειών! Εύρεση σφαλµάτων! Σήµερα αποτελεί µέρος της διαδικασίας Διασφάλισης Ποιότητας και διαπερνά όλο τον κύκλο ζωής λογισµικού! Καθορισµός απαιτήσεων και επιβεβαίωση! Σχεδιασµός συστήµατος και επαλήθευση! Υλοποίηση και έλεγχος
Φάση Ελέγχου (2/2)! Παρ όλες τις σύγχρονες τεχνικές διασφάλισης ποιότητας εξακολουθούν να υπάρχουν σφάλµατα! Η έρευνα σ αυτό τον τοµέα συνεχίζεται
Ο κύκλος ζωής λογισµικού (συνοπτικά)
Φάση Συντήρησης (1)! Ένα πρόγραµµα, αφού δηµιουργηθεί, εισέρχεται σ ένα κύκλο χρήσης και συντήρησης για το υπόλοιπο της ζωής του! Διαφορά από τη συντήρηση άλλων προϊόντων! Λογισµικό -> διορθώνεται, βελτιώνεται, επεκτείνεται! Άλλα προϊόντα -> επιδιορθώνονται
Φάση Συντήρησης (2)! Μια δύσκολη διαδικασία! Πολλές φορές είναι προτιµότερο να αποσύρεται το πρόγραµµα και να κατασκευάζεται ένα νέο πρόγραµµα από την αρχή! Λίγη επιπλέον προσπάθεια στην Ανάπτυξη (και κυρίως στα στάδια της Ανάλυσης και του Σχεδιασµού) του λογισµικού µπορεί να έχει τεράστια διαφορά στη συντήρηση
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Δοµηµένη Ανάλυση
Δοµηµένη Ανάλυση Διαδικασιών (Structured Systems Analysis) Εισαγωγή! Στόχος: η παραγωγή προδιαγραφής που αναπαριστά µε ακρίβεια τις απαιτήσεις των µελλοντικών χρηστών του συστήµατος προς υλοποίηση Η προδιαγραφή αυτή «χτίζεται» γύρω από τις διαδικασίες του συστήµατος, εν αντιθέσει µε την αντικειµενοστρεφή ανάλυση που µοντελοποιεί το σύστηµα γύρω από τα αντικείµενα! Χαρακτηριστικά επιθυµητών προδιαγραφών (είτε µε βάση τη Δοµηµένη Ανάλυση ή µε βάση την Αντικειµενοστρεφή Ανάλυση ή µε οποιαδήποτε άλλη προσέγγιση):! Συνοχή! Λειτουργική αποσύνθεση! Γραφική Αναπαράσταση! Συντηρησιµότητα
Δοµηµένη Ανάλυση Διαδικασιών Μοντελοποίηση Διαδικασιών! Τρεις βασικές Τεχνικές:! Διαγράµµατα Ροής Δεδοµένων (ΔΡΔ)! Λεξικά Δεδοµένων! Προδιαγραφές Διαδικασιών
Εισαγωγή στα Διαγράµµατα Ροής Δεδοµένων! Βασικά Συστατικά:! Διαδικασίες! Ροές Δεδοµένων! Αρχεία! Εξωτερικές Οντότητες: πηγές ή συσσωρευτές δεδοµένων
Παράδειγµα ΔΡΔ (1) Στοιχεία Login, ΑΣΘΕΝΗΣ 1. ΚΛΕΙΣΙΜΟ ΑΡΧΕΙΟ ΠΙΣΤ. ΚΑΡΤΑΣ ΔΕΔΟΜΕΝΩΝ ΤΡΑΠΕΖΑ ΓΡΑΜΜΑΤΕΙΑ ΠΙΣΤ. ΚΑΡΤΑΣ 2. ΠΡΑΓΜΑΤΟΠΟΙΗΣΗ ΕΞΟΥΣΙΟΔΟΤΗΣΗΣ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
Κατασκευή ΔΡΔ (1/6)! Προσδιορισµός Στατικών Στοιχείων! Προσδιορισµών Κύριων Διαδικασιών! Προσθήκη πληροφοριών στο ΔΡΔ! Επέκταση του ΔΡΔ! Αναθεώρηση του ΔΡΔ
Κατασκευή ΔΡΔ (2/6) Προσδιορισµός Στατικών Στοιχείων ΑΣΘΕΝΗΣ ΓΡΑΜΜΑΤΕΙΑ ΔΕΔΟΜΕΝΩΝ ΑΡΧΕΙΟ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ ΤΡΑΠΕΖΑ
Κατασκευή ΔΡΔ (3/6) Προσδιορισµός Κύριων Διαδικασιών Στοιχεία Login, ΑΣΘΕΝΗΣ 1. ΚΛΕΙΣΙΜΟ ΑΡΧΕΙΟ ΠΙΣΤ. ΚΑΡΤΑΣ ΔΕΔΟΜΕΝΩΝ ΤΡΑΠΕΖΑ ΓΡΑΜΜΑΤΕΙΑ ΠΙΣΤ. ΚΑΡΤΑΣ 2. ΠΡΑΓΜΑΤΟΠΟΙΗΣΗ ΕΞΟΥΣΙΟΔΟΤΗΣΗΣ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
Κατασκευή ΔΡΔ (4/6) Προσθήκη πληροφοριών στο ΔΡΔ Στοιχεία Login, ΑΣΘΕΝΗΣ 1. ΚΛΕΙΣΙΜΟ ΑΡΧΕΙΟ ΠΙΣΤ. ΚΑΡΤΑΣ ΔΕΔΟΜΕΝΩΝ ΤΡΑΠΕΖΑ ΓΡΑΜΜΑΤΕΙΑ ΠΙΣΤ. ΚΑΡΤΑΣ 2. ΠΡΑΓΜΑΤΟΠΟΙΗΣΗ ΕΞΟΥΣΙΟΔΟΤΗΣΗΣ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
Κατασκευή ΔΡΔ (5/6) Επέκταση του ΔΡΔ ΔΕΔΟΜΕΝΩΝ ΕΛΕΓΧΟΣ ΓΡΑΜΜΑΤΕΙΑ Ορθό ΑΝΑΚΤΗΣΗ ΚΑΙ ΕΛΕΓΧΟΣ ΑΣΘΕΝΗΣ ΤΡΑΠΕΖΑ ΠΙΣΤ. ΚΑΡΤΑΣ ΠΙΣΤ. ΚΑΡΤΑΣ ΑΡΧΕΙΟ ΜΕ ΠΛΗΡΩΜΗ ΠΛΗΡΩΜΗ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
Κατασκευή ΔΡΔ (6/6) Αναθεώρηση του ΔΡΔ! Ο αναλυτής παρέλειψε λεπτοµέρειες τις οποίες είχε θεωρήσει ασήµαντες ή είχε ξεχάσει! Ο χρήστης παρέλειψε ή ξέχασε να πει κάποια λεπτοµέρεια στον αναλυτή! Ο χρήστης δεν γνώριζε για µια συγκεκριµένη δραστηριότητα και ο αναλυτής θα έπρεπε να είχε πάρει συνέντευξη από κάποιον άλλον
Δηµουργία ΔΡΔ σε Επίπεδα! Επιπεδοποίηση ΔΡΔ! Η Έννοια της επιπεδοποίησης! Σηµειολογία Επιπεδοποίησης! Συσχετισµοί µεταξύ διαδικασιών µε βάση την αρίθµησή τους! Στοιχειώδεις διαδικασίες! Εξισορρόπηση! Στοιχεία ελέγχου κατά την κατασκευή ΔΡΔ! Εισαγωγή Σχολίων στα ΔΡΔ! Έκταση της Αποσύνθεσης! Έκταση της Αποσύνθεσης! Έλεγχος για χρησιµότητα
Η Δοµή ενός συνόλου ιεραρχικών ΔΡΔ
Μη Εξισορροπηµένα ΔΡΔ
Γενικό ΔΡΔ Επίπεδο Αποσύνθεσης 0 ΑΣΘΕΝΗΣ ΠΙΣΤ. ΚΑΡΤΑΣ Στοιχεία Login, ΑΡΧΕΙΟ 0. ΔΙΑΧΕΙΡΙΣΗ ΑΣΘΕΝΩΝ ΔΕΔΟΜΕΝΩΝ ΠΙΣΤ. ΚΑΡΤΑΣ ΤΡΑΠΕΖΑ ΕΞΟΥΣΙΟΔΟΤΗΣΗΣ ΓΡΑΜΜΑΤΕΙΑ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
ΔΡΔ 0: Διαχείριση Ραντεβού Ασθενών Επίπεδο Αποσύνθεσης: 1 Στοιχεία Login, ΑΣΘΕΝΗΣ 1. ΚΛΕΙΣΙΜΟ ΑΡΧΕΙΟ ΠΙΣΤ. ΚΑΡΤΑΣ ΔΕΔΟΜΕΝΩΝ ΤΡΑΠΕΖΑ ΓΡΑΜΜΑΤΕΙΑ ΠΙΣΤ. ΚΑΡΤΑΣ 2. ΠΡΑΓΜΑΤΟΠΟΙΗΣΗ ΕΞΟΥΣΙΟΔΟΤΗΣΗΣ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
ΔΡΔ 0: Διαχείριση Ραντεβού Ασθενών Επίπεδο Αποσύνθεσης: 1 Στοιχεία Login, ΑΣΘΕΝΗΣ 1. ΚΛΕΙΣΙΜΟ ΑΡΧΕΙΟ ΠΙΣΤ. ΚΑΡΤΑΣ ΔΕΔΟΜΕΝΩΝ ΤΡΑΠΕΖΑ ΓΡΑΜΜΑΤΕΙΑ ΠΙΣΤ. ΚΑΡΤΑΣ 2. ΠΡΑΓΜΑΤΟΠΟΙΗΣΗ ΕΞΟΥΣΙΟΔΟΤΗΣΗΣ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
ΔΡΔ 0: Διαχείριση Ραντεβού Ασθενών Επίπεδο Αποσύνθεσης: 1 Στοιχεία Login, ΑΣΘΕΝΗΣ 1. ΚΛΕΙΣΙΜΟ ΑΡΧΕΙΟ ΠΙΣΤ. ΚΑΡΤΑΣ ΔΕΔΟΜΕΝΩΝ ΤΡΑΠΕΖΑ ΓΡΑΜΜΑΤΕΙΑ ΠΙΣΤ. ΚΑΡΤΑΣ 2. ΠΡΑΓΜΑΤΟΠΟΙΗΣΗ ΕΞΟΥΣΙΟΔΟΤΗΣΗΣ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
ΔΡΔ 2: Πραγµατοποίηση Ραντεβού ΔΕΔΟΜΕΝΩΝ 2.1 ΕΛΕΓΧΟΣ ΓΡΑΜΜΑΤΕΙΑ Ορθό 2.2 ΑΝΑΚΤΗΣΗ ΚΑΙ ΕΛΕΓΧΟΣ ΑΣΘΕΝΗΣ ΤΡΑΠΕΖΑ ΠΙΣΤ. ΚΑΡΤΑΣ ΠΙΣΤ. ΚΑΡΤΑΣ ΜΕ ΠΛΗΡΩΜΗ 2.3 ΠΛΗΡΩΜΗ ΕΞΟΥΣΙΟΔΟΤΗΣΗΣ ΑΡΧΕΙΟ ΗΜΕΡΗΣΙΑ ΑΤΖΕΝΤΑ ΙΑΤΡΟΥ
Ιεραρχία ΔΡΔ ΔΡΔ 1 ΔΡΔ 1.1 ΔΡΔ 1.2.1 ΔΡΔ 2 ΔΡΔ 1.2 ΔΡΔ 1.2.2 Κεν ΓΕΝΙΚΟ ι ΔΡΔ Επίπεδο 0 ΔΡΔ 0 Επίπεδο 1 ΔΡΔ 3 Επίπεδο 3 ΔΡΔ 1.2.3... ΔΡΔ Ν.1 ΔΡΔ Ν.1.1 ΔΡΔ Ν.2 ΔΡΔ Ν.1.2 ΔΡΔ Ν Επίπεδο 2... ΔΡΔ Ν.Υ Επίπεδο 4