Τρύτη Διϊλεξη Μοντϋλα Διαδικαςύασ Λογιςμικού Μϋροσ Α
Κύκλοσ Ζωόσ Λογιςμικού Μοντϋλο Διαδικαςύασ Λογιςμικού Διαδικαςύα Λογιςμικού Κριτόρια Αξιολόγηςησ Μοντϋλων Απλότητα και Σταθερότητα Απαιτόςεων Κύνδυνοι Έργου Συμμετοχό Χρηςτών Κατανόηςη Αρχιτεκτονικόσ Αξιολόγηςη Προόδου του Έργου Μοντϋλο Καταρρϊκτη Μοντϋλο Πρωτοτυποπούηςησ
ορύζεται ωσ ο χρόνοσ από τη ςύλληψη τησ ιδϋασ ανϊπτυξησ μϋχρι την απόςυρςη του προώόντοσ Σωςτϋσ διαδικαςύεσ και τεχνικϋσ ανϊπτυξησ λογιςμικού Γνώςη του τρόπου ανϊπτυξησ, λειτουργύασ και απόςυρςησ του λογιςμικού + Γνώςη των χρονικών φϊςεων που ςυνθϋτουν τον κύκλο ζωόσ του λογιςμικού
εύναι μια απλοποιημϋνη περιγραφό μιασ διαδικαςύασ ανϊπτυξησ λογιςμικού που παρουςιϊζεται από μια οριςμϋνη οπτικό γωνύα παρϋχει πληροφορύεσ για οριςμϋνεσ μόνο πλευρϋσ τησ διαδικαςύασ περιγρϊφει τον τρόπο οργϊνωςησ των δραςτηριοτότων ανϊπτυξησ εύναι μια γενικό προςϋγγιςη, μια αφηρημϋνη αναπαρϊςταςη για τον τρόπο ανϊπτυξησ εφαρμόζεται προςεγγιςτικϊ ςτην πρϊξη η ανϊπτυξη και η ςυντόρηςη των λογιςμικών εύναι πιο ςύνθετεσ από τα αντύςτοιχα μοντϋλα ςτη βιβλιογραφύα ονομϊζονται επύςησ και «υποδεύγματα διαδικαςιών»
Έχουν καθιερωθεύ διϊφορα μοντϋλα τα οπούα περιγρϊφουν μύα ακολουθύα φϊςεων εργαςύασ Φϊςη εργαςύασ ομϊδα δραςτηριοτότων Όλα τα μοντϋλα περιλαμβϊνουν περύπου τισ ύδιεσ δραςτηριότητεσ όμωσ το κϊθε μοντϋλο θεωρεύ μια διαφορετικό ροό εργαςιών και εφαρμόζει τισ δραςτηριότητεσ ανϊπτυξησ με διαφορετικό τρόπο Η επιλογό του μοντϋλου αποτελεύ τμόμα τησ αρχιτεκτονικόσ προςϋγγιςησ
υιοθετεύ ϋνα μοντϋλο διαδικαςύασ λογιςμικού και το εξειδικεύει παρϋχοντασ οδηγύεσ ςε βόματα, πρακτικϋσ, τεκμηρύωςη και εργαλεύα για την ανϊπτυξη του λογιςμικού
Δεν υπϊρχει ϋνα βϋλτιςτο μοντϋλο το οπούο να εξαςφαλύζει από μόνο του την επιτυχύα ενόσ ϋργου ανϊπτυξησ Αξύα μοντϋλων: Εκπαιδευτικό: παρϋχουν μεθοδικούσ τρόπουσ προςϋγγιςησ τησ ανϊπτυξησ των λογιςμικών Πρακτικό
Κριτόρια αξιολόγηςησ: Η απλότητα και ςταθερότητα των απαιτόςεων Η διαχεύριςη των κινδύνων του ϋργου Η ςυμμετοχό των χρηςτών Η κατανόηςη τησ αρχιτεκτονικόσ Η αξιολόγηςη τησ πορεύασ του ϋργου
Υπϊρχουν ςυςτόματα με απαιτόςεισ αναμενόμενεσ, ςυνηθιςμϋνεσ και κατανοητϋσ και ϊλλα όπου ο προςδιοριςμόσ των απαιτόςεων δεν εύναι εύκολοσ Καθώσ ο καθοριςμόσ των απαιτόςεων απαιτεύ τη ςυμμετοχό τόςο τησ ομϊδασ ανϊπτυξησ όςο και των χρηςτών κενό επικοινωνύασ μεταξύ όςων ϋχουν γνώςη του προβλόματοσ και αυτών που ϋχουν τισ τεχνικϋσ γνώςεισ Το επιθυμητό αποτϋλεςμα εύναι κοινό για όλα τα μοντϋλα, όμωσ ο τρόποσ για την επύτευξό του διαφϋρει
Σε κϊθε ϋργο ανϊπτυξησ υπϊρχουν τρεισ ςημαντικού κύνδυνοι: Χαμηλό ποιότητα προώόντοσ Υπϋρβαςη του χρονοπρογραμματιςμού Υπϋρβαςη του κόςτουσ Άλλοι κύνδυνοι: Μεταβαλλόμενεσ απαιτόςεισ Τεχνολογικού κύνδυνοι χρόςη πρόςφατησ, μη δοκιμαςμϋνησ τεχνολογύασ Περιοριςμϋνεσ τεχνικϋσ γνώςησ ομϊδασ ανϊπτυξησ Έλλειψη εμπειρύασ Μη ρεαλιςτικϋσ προςδοκύεσ Η διαχεύριςη των κινδύνων του ϋργου επηρεϊζεται από την επιλογό του μοντϋλου διαδικαςύασ
Σημαντικόσ παρϊγοντασ για την επιτυχύα του ϋργου Συμμετοχό ςτη διατύπωςη των απαιτόςεων Χρόςτεσ αυτού που θα αξιολογόςουν θετικϊ ό θα απορρύψουν το τελικό προώόν Κανόνασ: Ένα μοντϋλο διαδικαςύασ θα πρϋπει να ενθαρρύνει τη ςυμμετοχό των χρηςτών καθ όλη την πορεύα ανϊπτυξησ
Κρύςιμοσ παρϊγοντασ επιτυχύασ του ϋργου ο βαθμόσ κατανόηςησ τησ αρχιτεκτονικόσ του από την ομϊδα ανϊπτυξησ Κϊποιεσ φορϋσ η αρχιτεκτονικό ενόσ ϋργου εύναι οικεύα ςτην ομϊδα ανϊπτυξησ, ενώ κϊποιεσ ϊλλεσ παρουςιϊζει πρωτόγνωρεσ ιδιομορφύεσ
Η πρόοδοσ του ϋργου θα πρϋπει να εύναι υπό το ςυνεχό ϋλεγχο τησ διούκηςησ του ϋργου αλλϊ και του ύδιου του πελϊτη Η αξιολόγηςη προόδου εύναι πιο αποτελεςματικού όταν τύθενται βραχυχρόνιοι ςτόχοι ςτην ανϊπτυξη: Εύκολοσ ϋλεγχοσ από τη διούκηςη Περιθώριο για τη λόψη διορθωτικών μϋτρων
Το παλαιότερο μοντϋλο διαδικαςύασ λογιςμικού Προόλθε από γενικϋσ πρακτικϋσ τησ τεχνολογύασ ςυςτημϊτων Οι δραςτηριότητεσ ανϊπτυξησ οργανώνονται ςειριακϊ ςε καλϊ οριςμϋνεσ φϊςεισ Ονομϊςτηκε ϋτςι λόγω τησ μετϊπτωςησ από τη μύα φϊςη ςτην ϊλλη επύςησ γνωςτό και ωσ κλαςικόσ κύκλοσ ζωόσ λογιςμικού Χρηςιμοποιεύται ςυνόθωσ όταν οι απαιτόςεισ του ϋργου εύναι αρκετϊ κατανοητϋσ και το ϋργο κυλϊει από την επικοινωνύα ςτην ανϊπτυξη με ϋνα λογικϊ γραμμικό τρόπο Σημεύωςη: Αν και το αρχικό μοντϋλο καταρρϊκτη που πρότεινε ο Winston Royce προϋβλεπε «βρόγχουσ ανϊδραςησ», η ςυντριπτικό πλειοψηφύα των ομϊδων ανϊπτυξησ που επιλϋγουν την εφαρμογό αυτού του μοντϋλου αντιμετωπύζουν τη διαδικαςύα ωσ γραμμικό
Κϊθε φϊςη του μοντϋλου παρϊγει ϋνα ενδιϊμεςο προώόν, το οπούο χρηςιμοποιεύται ςτην επόμενη φϊςη Κϊθε ενδιϊμεςο προώόν αξιολογεύται από την ομϊδα ανϊπτυξησ αλλϊ και από τον πελϊτη Εφόςον κριθεύ ικανοποιητικό η ανϊπτυξη προχωρϊ ςτην επόμενη φϊςη Σφϊλματα που εντοπύζονται ςε κϊθε φϊςη οδηγούν ςυνόθωσ ςε αναθεώρηςη προηγούμενων φϊςεων Αν και το μοντϋλο εύναι ευρϋωσ διαδεδομϋνο, η πεύρα δεύχνει ότι η τόρηςη μιασ αυςτηρόσ και γραμμικόσ εκδοχόσ του ςπϊνια λειτουργεύ αποδοτικϊ
Κύρια ςτϊδια του μοντϋλου θεμελιώδεισ δραςτηριότητεσ ανϊπτυξησ: Ανϊλυςη και καθοριςμόσ απαιτόςεων Σχεδιαςμόσ ςυςτόματοσ και λογιςμικού Υλοπούηςη και δοκιμϋσ υπομονϊδων Ενοπούηςη και δοκιμϋσ ςυςτόματοσ Λειτουργύα και ςυντόρηςη
Ανϊλυςη και καθοριςμόσ απαιτόςεων: Οι υπηρεςύεσ, οι περιοριςμού, και οι ςτόχοι του ςυςτόματοσ προςδιορύζονται μϋςω ςυζότηςησ με τουσ χρόςτεσ του Έπειτα καθορύζονται λεπτομερώσ και χρηςιμεύουν ωσ προδιαγραφϋσ του ςυςτόματοσ Στην πρϊξη, όμωσ, οι απαιτόςεισ που ορύζονται ςε αυτό τη φϊςη εύναι ςυχνϊ ατελεύσ, ανακριβεύσ και ενύοτε λανθαςμϋνεσ Επύςησ, το μοντϋλο προώποθϋτει ςταθερϋσ απαιτόςεισ εξιδανύκευςη του μοντϋλου, η οπούα τισ περιςςότερεσ φορϋσ δεν ιςχύει
Σχεδιαςμόσ ςυςτόματοσ και λογιςμικού: Χωρύζει τισ απαιτόςεισ ςε ςυςτόματα υλικού και λογιςμικού ςυνολικό αρχιτεκτονικό του ςυςτόματοσ Περιλαμβϊνει τον προςδιοριςμό και την περιγραφό των θεμελιωδών αφηρημϋνων τμημϊτων του ςυςτόματοσ, αλλϊ και των μεταξύ τουσ ςχϋςεων Το μοντϋλο προώποθϋτει μια ςχετικό ςταθερότητα τησ αρχιτεκτονικόσ του λογιςμικού
Υλοπούηςη και δοκιμϋσ υπομονϊδων: Γύνεται η υλοπούηςη των επιμϋρουσ προγραμμϊτων ό προγραμματιςτικών υπομονϊδων βϊςει του ςχεδιαςμού Κατϊ των δοκιμών των υπομονϊδων επαληθεύεται ότι κϊθε υπομονϊδα ικανοποιεύ τισ προδιαγραφϋσ τησ
Ενοπούηςη και δοκιμϋσ ςυςτόματοσ: Οι μεμονωμϋνεσ προγραμματιςτικϋσ υπομονϊδεσ ό/και τα επιμϋρουσ προγρϊμματα ενοποιούνται Γύνονται δοκιμϋσ ςτο ενιαύο ςύςτημα Διαςφαλύζεται η εκπλόρωςη των απαιτόςεων του λογιςμικού Εφόςον ολοκληρωθούν οι δοκιμϋσ, το ςύςτημα παραδύδεται ςτον πελϊτη
Λειτουργύα και ςυντόρηςη: Κανονικϊ αλλϊ όχι απαραύτητα η πιο μακροχρόνια φϊςη του μοντϋλου Γύνεται εγκατϊςταςη του ςυςτόματοσ και τύθεται ςε λειτουργύα Συντόρηςη: Διόρθωςη ςφαλμϊτων που δεν εντοπύςτηκαν ςε προηγούμενεσ φϊςεισ Βελτύωςη τησ υλοπούηςησ των μονϊδων του ςυςτόματοσ Βελτύωςη των υπηρεςιών καθώσ παρουςιϊζονται νϋεσ απαιτόςεισ
Καθοριςμόσ απαιτόςεων Σχεδιαςμόσ ςυςτόματοσ και λογιςμικού Υλοπούηςη και δοκιμϋσ υπομονϊδων Ενοπούηςη και δοκιμϋσ ςυςτόματοσ Λειτουργύα και ςυντόρηςη
Αναφϋρεται δύο θετικϊ και δύο αρνητικϊ ςτοιχεύα για το μοντϋλο καταρρϊκτη
Θετικϊ: Παρϊγει τεκμηρύωςη ςε κϊθε φϊςη Ταιριϊζει με ϊλλα μοντϋλα που χρηςιμοποιούνται ςε τεχνικϊ ϋργα Αρνητικϊ: Το μοντϋλο αυτό δε διαχειρύζεται με κϊποιο τρόπο τουσ κινδύνουσ του ϋργου Η ςειριακό ακολουθύα των φϊςεων αναβϊλλει την εξϊλειψη πολλών κινδύνων ςε μεταγενϋςτερεσ φϊςεισ Η μη ϋγκαιρη αντιμετώπιςη κινδύνων μπορεύ να θϋςει ςε κύνδυνο το ςυνολικό ϋργο Η ςυμμετοχό των χρηςτών περιορύζεται ςτην αρχικό φϊςη του προςδιοριςμού των απαιτόςεων και ςτην τελικό φϊςη τησ αποδοχόσ του προώόντοσ Παρ όλεσ τισ αδυναμύεσ του, το μοντϋλο μπορεύ να χρηςιμοποιηθεύ εφόςον οι απαιτόςεισ και η αρχιτεκτονικό του ςυςτόματοσ εύναι ξεκϊθαρεσ και ςχετικϊ ςταθερϋσ και η ςυμμετοχό των χρηςτών εύναι περιοριςμϋνη
Εκπαιδευτικό αξύα: Χρόςιμο ςτην κατανόηςη τησ διαδικαςύασ ανϊπτυξησ του λογιςμικού Αν και ςτην πρϊξη δεν ακολουθεύται μια αυςτηρώσ γραμμικό διαδικαςύα, μπορεύ να παρουςιαςτεύ και να περιγραφό ωσ μια ακολουθύα καλϊ οριςμϋνων φϊςεων και καλϊ οριςμϋνων παραδοτϋων Πλόρωσ κατανοητό και δομημϋνη τεκμηρύωςη τησ ανϊπτυξησ μιασ ιδεατόσ διαδικαςύασ
Κεντρικό ιδϋα: Ανϊπτυξη του λογιςμικού όχι εξολοκλόρου αλλϊ ςε τμόματα, τα οπούα ονομϊζονται «πρωτότυπα»
Το μοντϋλο χαρακτηρύζεται ωσ «επαναληπτικό», καθώσ οι διαδικαςύεσ ανϊπτυξησ επαναλαμβϊνονται κϊθε φορϊ, για κϊθε τμόμα του ςυςτόματοσ Κϊθε πρωτότυπο περιλαμβϊνει τισ βαςικϋσ από τισ λειτουργύεσ που προορύζεται να εκτελεύ το λογιςμικό Κϊθε πρωτότυπο δοκιμϊζεται από τον πελϊτη, ςυλλϋγονται παρατηρόςεισ και επαναλαμβϊνεται η διαδικαςύα καταςκευόσ νϋου πρωτοτύπου Η διαδικαςύα καταςκευόσ νϋων πρωτοτύπων επαναλαμβϊνεται μϋχρισ ότου ϋνα πρωτότυπο να ικανοποιεύ τισ απαιτόςεισ του ςυςτόματοσ και να γύνει αποδεκτό από τον πελϊτη Αφού γύνει αποδεκτό ϋνα πρωτότυπο, μετϊ προςτύθενται και οι υπόλοιπεσ λειτουργύεσ ώςτε να ολοκληρωθεύ το λογιςμικό
Συνόθωσ, δεν αποτελεύ μύα αυτόνομη, πλόρησ μεθοδολογύα ανϊπτυξησ, αλλϊ μια προςϋγγιςη για το χειριςμό επιλεγμϋνων τμημϊτων ενόσ μεγαλύτερου, παραδοςιακού διαδικαςτικού μοντϋλου ανϊπτυξησ Συνόθωσ η πρωτοτυποπούηςη χρηςιμοποιεύται ωσ μια τεχνικό που μπορεύ να εφαρμοςτεύ ςτο πλαύςιο οποιουδόποτε διαδικαςτικού μοντϋλου Συγκεκριμϋνα, κϊθε καταςκευό πρωτοτύπου μπορεύ να θεωρηθεύ ωσ ϋνα μικρό ϋργο λογιςμικού, το οπούο καταςκευϊζεται με διαδικαςύεσ που μπορούν να ακολουθούν ϊλλα μοντϋλα διαδικαςύασ (π.χ. το μοντϋλο καταρρϊκτη)
Αναφϋρεται δύο θετικϊ και δύο αρνητικϊ ςτοιχεύα για το μοντϋλο πρωτοτυποπούηςησ
Θετικϊ: Καλύτερη προδιαγραφό απαιτόςεων Καλύτερη μελϋτη ςκοπιμότητασ Ο χρόςτησ ςυμμετϋχει ενεργϊ ςτη διαδικαςύα τησ ςυλλογόσ και τησ μοντελοπούηςησ απαιτόςεων Ιδιαύτερα χρόςιμο για την ανϊπτυξη ϋργων με αςαφεύσ ςτόχουσ και απαιτόςεισ Παρϋχει γρόγορη υλοπούηςη μιασ ατελούσ, αλλϊ πλόρωσ λειτουργικόσ εφαρμογόσ Αρνητικϊ: Ο εντοπιςμόσ των μη λειτουργικών απαιτόςεων εύναι πολύ δύςκολοσ Οι επαναλόψεισ αυξϊνουν το κόςτοσ προώπολογιςμού των ϋργων Απαιτεύται περιςςότερη εργαςύα για την παραγωγό του πρωτότυπου Λόγω χρονικών περιοριςμών το πρωτότυπο μπορεύ να γύνει μϋροσ του ςυςτόματοσ
Γιακουμϊκησ, Ε. & Διαμαντύδησ, Ν. (2009). Τεχνολογία λογιςμικού, Εκδόςεισ Σταμούλη, Αθόνα Sommerville, I. (2008). Βαςικέσ Αρχέσ Τεχνολογίασ Λογιςμικού, Κλειδϊριθμοσ, Αθόνα Pressman, R. S. (2012). Τεχνολογία Λογιςμικού Μια πρακτική προςέγγιςη, Τζιόλα, Αθόνα Βεςκούκησ, Β. (2000). Τεχνολογία Λογιςμικού Ι, Ελληνικό Ανοικτό Πανεπιςτόμιο, Πϊτρα