1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής
2 Περιεχόµενα Τι είναι η UP Βασικές αρχές µηχανικής λογισµικού Οι βασικές έννοιες της UP Οι τέσσερις φάσεις
Γιατί η UML δεν είναι αρκετή... Η UML είναι µια γλώσσα Περιγράφει τα δοµικά στοιχεία Περιγράφει τις σχέσεις µεταξύ τους Περιγράφει την σηµασία τους Αλλά δεν περιγράφει Τα βήµατα που απαιτούνται για την ανάπτυξη λογισµικού Την διαδικασία 3
4 Τι χρειάζεται παραπάνω για να περιγράψουµε ένα σύστηµα... Η γλώσσα
5 Τι χρειάζεται παραπάνω για να περιγράψουµε ένα σύστηµα... Η γλώσσα Η διαδικασία
6 Τι χρειάζεται παραπάνω για να περιγράψουµε ένα σύστηµα... Η οµάδα έργου Η γλώσσα Η διαδικασία
7 Τι χρειάζεται παραπάνω για να περιγράψουµε ένα σύστηµα... Η οµάδα έργου Η γλώσσα Η διαδικασία
Τι είναι η UML Η UML είναι µια γλώσσα για Οπτικοποίηση του συστήµατος(visualisation) ηµιουργία προδιαγραφών (specifications) Κατασκευή του συστήµατος (construction) Τεκµηρίωση του συστήµατος (documentation) 8
να µοντέλο είναι µια πλήρης περιγραφή υ συστήµατος από µια οπτική γωνία 9 Τα διαγράµµατα της UML Use Use Case Use Use Case Case ιάγραµµα ιάγραµµα ραστηριοτήτων ραστηριοτήτων Use Use Case Use Use ιάγραµµα Case ιάγραµµα Case Περιπτώσεων Περιπτώσεων Χρήσης Χρήσης State State State ιάγραµµα Κλάσεων State State State ιάγραµµα ιάγραµµα Αντικειµένων Αντικειµένων Scenario Scenario Scenario ιάγραµµα ιάγραµµα Ακολουθίας Ακολουθίας Μοντέλο State State State ιάγραµµα ιάγραµµα Καταστάσεων Καταστάσεων Scenario Scenario Scenario ιάγραµµα ιάγραµµα Συνεργασίας Συνεργασίας ιάγραµµα ιάταξης Component Component Component Component ιάγραµµα Στοιχείων
10 Τι είναι η UP; Η UP είναι µια µεθοδολογία Μια διαδικασία µηχανικής λογισµικού Μια διαδικασία για την ανάπτυξη λογισµικού Είναι ένα σύνολο γνώσης για το πως να αναπτύξεις λογισµικό Είναι µια διαδικασία που χρησιµοποιεί τη UML γλώσσα για να περιγράψει τα παραδοτέα H UP προσδιορίζει Ποιος κάνει τι; Πότε το κάνει; Πώς το κάνει; έχοντας πάντα ως στόχο την ανάπτυξη λογισµικού
Πως δηµιουργήθηκε η UP; UP σηµαίνει Unified Process Unified Process Ενοποιηµένη Προσέγγιση ή απλά UP Εµφανίστηκεγιαπρώτηφοράτο 1998 ως RUP 5.0 ως µετεξέλιξη παλαιότερων εκδόσεων Φτιάχτηκε στην εταιρεία Rational Η εταιρεία Rational δεν υπάρχει Εξαγοράσθηκε το 2002 από την IBM 11
Οι βασικές αρχές της UP H UP είναι κάτι παραπάνω από απλή σύνδεση των διαγραµµάτων UML H UP βασίζεται Στοκαλόχειρισµό των απαιτήσεων µε το µοντέλο των περιπτώσεων χρήσης Στην ανάπτυξη της αρχιτεκτονικής του συστήµατος ως βασικό συστατικό επιτυχίας Στη γραφική ανάπτυξη µε χρήσηuml Σε επαναληπτική διαδικασία ανάπτυξης (iterative development) 12
Χειρισµός των απαιτήσεων µε το µοντέλο των περιπτώσεων χρήσης Οι περιπτώσεις χρήσης είναι ένας απλός και ξεκάθαρος τόπος περιγραφής των απαιτήσεων ο οποίος µπορεί να είναι κατανοητός από όλους τους συµµετέχοντες στο έργο ανάπτυξης του συστήµατος Οι περιπτώσεις χρήσης αποτελούν το σηµείο αναφοράς για όλα τα υπόλοιπα µοντέλα. Το µοντέλο περιπτώσεων χρήσης χρησιµοποιείται για: ηµιουργία και έλεγχο του µοντέλου σχεδιασµού Οδηγεί τη δηµιουργία του µοντέλου ελέγχου Επιτρέπει τον προγραµµατισµό των εργασιών του έργου Βοηθάει στην παραγωγή της τεκµηρίωσης Κ.λπ. Επιπλέον το µοντέλο περιπτώσεων χρήσης χρησιµοποιείται για το συγχρονισµό όλωντων 13
14 Η UP βασίζεται στη γρήγορη δηµιουργία της αρχιτεκτονικής Η ανάπτυξη της αρχιτεκτονικής επιτρέπει την καλύτερη κατανόηση του υπό ανάπτυξη συστήµατος Η δηµιουργία πρωτότυπων µας επιτρέπει την επαλήθευση των παραδοχών και τη βελτίωση της κατανόησης του συστήµατος Μας επιτρέπει να σχεδιάσουµε το σύστηµα καλύτερα ώστε να αυξήσουµε τηνεπαναχρησιµοποίηση του κώδικα Να χρησιµοποιήσουµε συστατικά (components) Μας επιτρέπει την καλύτερη ανάθεση εργασιών στα µέλη της οµάδας Μας επιτρέπει να εστιάσουµε την προσοχή µας στα σηµεία µε υψηλό κίνδυνο
Η UP είναι µια επαναληπτική διαδικασία και έχει τέσσερις φάσεις Οι φάσεις του κύκλου ζωής είναι τέσσερις: Σύλληψη (inception) Επεξεργασία (elaboration) Κατασκευή (construction) Μετάβαση (transition) 15
16 Η φάση της σύλληψης (inception) Στηφάσηαυτήορίζουµε Το όραµα που έχουµε για το σύστηµα Τη στρατηγική που θέλουµε να υλοποιήσουµε µε τηνανάπτυξητουσυστήµατος Τις υψηλού επίπέδου απαιτήσεις και περιπτώσεις χρήσης του συστήµατος Τους κινδύνους και τα κέρδη από την ανάπτυξη του συστήµατος Παραγωγή αρχικών εκτιµήσεων για το κόστος και διάρκεια των εργασιών ανάπτυξης Η φάση της σύλληψης δεν είναι καταγραφή απαιτήσεων. Είναι περισσότερο κάτι σαν µελέτη σκοπιµότητας ανάπτυξης του συστήµατος
17 Η φάση της επεξεργασίας (elaboration) Στη φάση αυτή: Αναπτύσσουµε και συγκεκριµενοποιούµε τους στρατηγικούς στόχους του συστήµατος Καταγράφουµε τιςαπαιτήσεις Αναλύουµε τις απαιτήσεις λεπτοµερώς Προσδιορίζουµε επακριβώς το αντικείµενο των εργασιών του έργου (scope) Αναπτύσσουµε τηβασική αρχιτεκτονική του συστήµατος Αντιµετωπίζουµε τους κινδύνους που εντοπίσαµε στη φάση της σύλληψης Βελτιώνουµε, συγκεκριµενοποιούµε και επικαιροποιούµε τιςπροβλέψεις σχετικά µε το κόστος, χρόνο, πόρους που απαιτεί το έργο
Ηφάσητηςκατασκευής(contruction) Είναι η φάση κατά την οποία υλοποιούµε και ελέγχουµε τµήµατα του συστήµατος για τα οποία: Έχουν διευκρινιστεί οι απαιτήσεις Και έχουν αντιµετωπισθεί οι κίνδυνοι 18
19 Ηφάσητηςµετάβασης (transition) Είναι η φάση κατά την οποία το τελικό προϊόν δίνεται στον χρήστη Είναι η φάση η οποία έχει µεγάλο βαθµό µεταβλητότητας η οποία εξαρτάται από το συγκεκριµένο έργο και µπορεί να περιλαµβάνει: Εκπαίδευση χρηστών Μεταφορά δεδοµένων οκιµαστική λειτουργία νέου συστήµατος Παράλληλη λειτουργία παλαιού και νέου συστήµατος Beta testing.
20 Κύκλος ζωής «καταρράκτης» Ανάλυση Απαιτήσεων R Σχεδιασµός D Ανάπτυξη και Μοναδιαίος Έλεγχος C Έλεγχος Ολοκλήρωσης T Έλεγχος Συστήµατος ΧΡΟΝΟΣ
Η επαναληπτική ανάπτυξη συστηµάτων (iterative) Επανάληψη 1 Επανάληψη 2 Επανάληψη 3 R D C T R D C T R D C T ΧΡΟΝΟΣ Μειώνεται ο κίνδυνος Παράγει πρωτότυπα για επαλήθευση αποτελεσµάτων Κάθε επανάληψη περιλαµβάνει ολοκλήρωση και έλεγχο 21
22 Οι φάσεις του κύκλου ζωής στην UP Κύκλος ζωής επανάληψη φάση σύλληψη επεξεργασία κατασκευή µετάβαση Ορόσηµο (milestone) Ενδιάµεση έκδοση (release) Τελικό προϊόν (final release)
23 Οι φάσεις του κύκλου ζωής στην UP βασικά ορόσηµα Κύκλος ζωής επανάληψη φάση σύλληψη επεξεργασία κατασκευή µετάβαση Στόχοι συστήµατος Αρχιτεκτονική Συστήµατος Σύστηµα Λειτουργικά Ικανό Τελικό σύστηµα
Βασικές ροές εργασιών (workflows) Σχεδιασµός Επιχειρηµατικών ιαδικασιών Επιχειρηµατικό µοντέλο υποστηρίζεται Απαιτήσεις Ανάλυση και Σχεδιασµός Υλοποίηση Έλεγχος Μοντέλο Περιπτώσεων Χρήσης πραγµατοποιείται Μοντέλο Σχεδιασµού υλοποιείται Μοντέλο Υλοποίησης επαληθεύεται Μοντέλο 24
25 Τι είναι ροή εργασίας (workflow) Μια ροή εργασίας είναι µια λογική οµαδοποίηση δραστηριοτήτων Μια ροή εργασίας περιγράφεται µε Ρόλους Ποιος κάνει τι; ραστηριότητες (activities) ένα κοµµάτι δουλειάς που έχει ένα διακριτό αποτέλεσµα Αποτελέσµατα (artifacts) Τα αποτελέσµατα των δραστηριοτήτων µπορεί να είναι παραδοτέα (deliverables), έγγραφα, κώδικας, πρότυπα Οτιδήποτε µπορεί να παράγει µια δραστηριότητα
26 Ησυνολικήεικόνα Βασικές Ροές Εργασιών Σχεδιασµός Επιχειρηµατικών ιαδικασιών Απαιτήσεις Ανάλυση και Σχεδιασµός Υλοποίηση Έλεγχος ιάταξη (deployment) Υποστηρικτικές Ροές Εργασιών Σύλληψη Επεξεργασία Φάσεις Κατασκευή Σε κάθε φάση εκτελείς όλα τα workflow Μετάβαση ιαχείριση Σχηµατισµών ιαχείριση έργου Περιβάλλον Επαν. Επαν. #1 Επαν. #2 Επαν. #n Επαν. #n+1 Επαν. #n+2 Επαν. #m Επαν. #m+1 Επαναλήψεις
27 Ο συµβολισµός που χρησιµοποιείται για την περιγραφή της διαδικασίας ραστηριότητα (Activity) Μονάδα εργασίας Ρόλος ρόλος προσδιορίζει ν συµπεριφορά Αναλυτής ι τις υπευθυνότητες Περιπτώσεων Χρήσης ν ατόµων ή των οµάδων. Περίπτωση Χρήσης Υπεύθυνος για Πακέτο Περιπτώσεων Χρήσης Describe a Use-Case Παραδοτέο (Artifact) Είναι µια πληροφορία που παράγεται, τροποποιείτα ήαπλάχρησιµοποιείται από µια διαδικασία Μπορεί να είναι ένα έγγραφο Ένα αρχείο πηγαίου κώδικα, ένα διάγραµµα κ.λπ.
28 Ο προγραµµατισµός πόρων Πόροι Κώστας Χρύσα Πάνος Μαρίνα Γιάννης Εργάτης (Worker) Σχεδιαστής Προσδ. Περιπτ. Χρήσης Αναλυτής Συστήµ. Προγραµµατιστής Αρχιτέκτων ραστηριότητες Προσδιορισµός λειτουργίας Προσδιορισµός περιπτώσεων χρήσης Εύρεση χειριστών και περιπτ. χρήσης Εκτέλεση Μοναδιαίων Ελέγχων Προσδιορισµός Μηχανισµών Σχεδιασµού Κάθε άτοµο στο έργο µπορεί να έχει πολλούς ρόλους
29 Οι ρόλοι των ανθρώπων Ρόλοι Αναλυτή Αναλυτής Επιχειρηµατικών ιαδικασιών Αναλυτή συστήµατος Σχεδιαστή User Interface Κ.λπ. Ρόλοι Προγραµµατιστή Σχεδιαστή Σχεδιαστή βάσης δεδοµένων Προγραµµατιστή Άλλοι ρόλοι ιαχειριστή έργου Υπεύθυνου Ποιότητας Εκλεκτή ιαχειριστή εκδόσεων Εκπαιδευτή Κ.λπ.
30 Παράδειγµα µιας ροής εργασιών... Το workflow διαχείρισης έργων Ανάπτυξη Επιχειρηµατικής Περίπτωσης Προσδιορισµός Κινδύνων ιευθυντής Έργου Ανάπτυξη Πλάνου Έργου Στελέχωση Έργου Εκτέλεση Κύκλου Ανάπτυξη Πλάνου Επαναληπτικής Ανάπτυξης Επανεκτίµηση Κινδύνων Αξιολόγηση κύκλου
31 Συµπεράσµατα Η UML είναι µια γλώσσα για Οπτικοποίηση του συστήµατος(visualisation) ηµιουργία προδιαγραφών (specifications) Κατασκευή του συστήµατος (construction) Τεκµηρίωση του συστήµατος (documentation) Η UP είναι µια µεθοδολογία Μια διαδικασία µηχανικής λογισµικού Μια διαδικασία για την ανάπτυξη λογισµικού Οι φάσεις του κύκλου ζωής είναι τέσσερις: Σύλληψη (inception) Επεξεργασία (elaboration) Κατασκευή (construction) Μετάβαση (transition) Η UP είναι µια επαναληπτική διαδικασία