1 / 36

Μεθοδολογίες και Εργαλεία Ανάλυσης και Σχεδιασμού Π.Σ.

Μεθοδολογίες και Εργαλεία Ανάλυσης και Σχεδιασμού Π.Σ. Σπύρος Κοκολάκης Διάλεξη 7. Ε’ ΕΞΑΜΗΝΟ 2011-2012. ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Rational Unified Process (RUP). Ενοποιημένη μέθοδος της Rational Software Corp. Τι είναι η RUP;.

alaire
Download Presentation

Μεθοδολογίες και Εργαλεία Ανάλυσης και Σχεδιασμού Π.Σ.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Μεθοδολογίες και Εργαλεία Ανάλυσης και Σχεδιασμού Π.Σ. Σπύρος Κοκολάκης Διάλεξη 7 Ε’ ΕΞΑΜΗΝΟ 2011-2012 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

  2. Rational Unified Process (RUP) Ενοποιημένη μέθοδος της Rational Software Corp.

  3. Τι είναι η RUP; • Μέθοδος ανάπτυξης εφαρμογών vs Μέθοδος ανάπτυξης Πληρ. Συστήματος • Προϊόν • Υποστηρίζεται από εργαλεία • Ενίσχυση ομαδικής παραγωγικότητας • Ανάπτυξη και διαχείριση μοντέλων • UML • Προσαρμοζόμενη διαδικασία(Configurable process) • Βέλτιστες πρακτικές (Best practices)  

  4. Βέλτιστες Πρακτικές • Μας δείχνει πώς να χρησιμοποιήσουμε τις βέλτιστες πρακτικές της τεχνολογίας λογισμικού • Μας οδηγεί στη χρήση εργαλείων (tools) για την αυτοματοποίηση των διαδικασιών που θα χρησιμοποιήσουμε  

  5. Ποίες είναι οι βέλτιστες πρακτικές • Επαναληπτική (iterative) ανάπτυξη λογισμικού • Διαχείριση απαιτήσεων • Χρήση αρχιτεκτονικών βασισμένων σε “components” • Οπτική μοντελοποίηση λογισμικού (UML) • Έλεγχος ποιότητας λογισμικού • Έλεγχος των αλλαγών στο λογισμικό Εργαλεία Υλοποίησης  

  6. Δύο διαστάσεις Δυναμική διάσταση Σύλληψη Επεξεργασία Κατασκευή Μετάβαση Στατική διάσταση  

  7. 1η διάσταση: χρόνος (phases) • Σύλληψη (inception phase) • Επεξεργασία (elaboration phase) • Κατασκευή (construction phase) • Μετάβαση(transition phase)  

  8. Σύλληψη (Initiation phase) 1/2 • Vision document • Use-case model (10%-20%) • Βασικό λεξικό • Business case • Εκτίμηση της επικινδυνότητας • Σχέδιο έργου • Business model • Ένα ή περισσότερα πρωτότυπα (prototypes)  

  9. Σύλληψη (Initiation phase) 2/2 Κριτήρια αποτίμησης • Συμφωνία των δικαιούχων • Κατανόηση των απαιτήσεων • Αξιοπιστία των εκτιμήσεων σε κόστος, επικινδυνότητα κ.λπ. • Βάθος και πλάτος του αρχιτεκτονικού πρωτοτύπου • Πραγματικά έξοδα σε σχέση με προϋπολογισθέντα έξοδα  

  10. Επεξεργασία (Elaboration phase) 1/2 Η πιο σημαντική, ίσως, από όλες • Use-case model (τουλάχιστον 80%) • Μη-λειτουργικές απαιτήσεις • Περιγραφή αρχιτεκτονικής λογισμικού • Εκτελέσιμο πρωτότυπο • Αναθεωρημένη λίστα παραγόντων επικινδυνότητας και “business case” • Αναλυτικό πλάνο του έργου • Σχέδιο ανάπτυξης λογισμικού • Προκαταρκτικό εγχειρίδιο χρήσης  

  11. Επεξεργασία (Elaboration phase) 1/2 Κριτήρια αποτίμησης • Σταθερότητα αντίληψης (vision)του έργου • Σταθερότητα αρχιτεκτονικής • Έχουμε ξεπεράσει τους βασικούς παράγοντες κινδύνου (φαίνεται από το πρωτότυπο); • Είναι επαρκώς ακριβές το σχέδιο κατασκευής; • Έχουν όλοι οι δικαιούχοι την ίδια αντίληψη; • Τα έξοδά μας είναι αντίστοιχα των προϋπολογισθέντων  

  12. Κατασκευή (Construction phase) • Το λογισμικό ολοκληρωμένο με τις αντίστοιχες πλατφόρμες • Τα εγχειρίδια χρήσης • Περιγραφή της τρέχουσας έκδοσης Κριτήρια αποτίμησης: • Είναι σταθερό και ώριμο για να δοθεί στους χρήστες; • Είναι όλοι οι δικαιούχοι έτοιμοι να αποδεχθούν τη λειτουργία του συστήματος; • Είναι τα έξοδα αντίστοιχα των προϋπολογισθέντων;  

  13. Μετάβαση (Transition phase) 1/2 • “beta testing”για επικύρωση του συστήματος • Παράλληλη λειτουργία με το παλαιότερο σύστημα • Μετατροπή των βάσεων δεδομένων • Εκπαίδευση των χρηστών και των χειριστών • Διάδοση του προϊόντος στην αγορά ή στον οργανισμό  

  14. Μετάβαση (Transition phase) 2/2 Κριτήρια αποδοχής: • Επίτευξη αυτοδυναμίας των χρηστών • Επίτευξη αποδοχής και συμφωνίας των δικαιούχων • Αποδοχή του προϊόντος και της διαδικασίας ανάπτυξής του • Ικανοποίηση χρήστη • Κόστος σε σχέση με το προϋπολογισθέν  

  15. Πλεονεκτήματα επαναληπτικής (iterative) ανάπτυξης • Αντιμετώπιση της επικινδυνότητας στα αρχικά στάδια • Καλύτερη διαχείριση αλλαγών • Υψηλότερη επαναχρησιμοποίηση υλικού • Η ομάδα ανάπτυξης μαθαίνει στην πορεία • Καλύτερη συνολική ποιότητα  

  16. 2η διάσταση: ΡοέςΕργασίας (disciplines/ workflows)  

  17. 9 Κύριες ροές εργασίας (workflows) • Επιχειρησιακή μοντελοποίηση(business modeling) • Απαιτήσεις(requirements) • Ανάλυση και Σχεδιασμός • Υλοποίηση(implementation) • Δοκιμή(test) • Διάδοση (deployment) • Διαχείριση έργου • Διαχείριση αλλαγών (configuration & change management) • Περιβάλλον (εκπαίδευση, κλπ)  

  18. Οι δύο διαστάσεις Δυναμική διάσταση Σύλληψη Επεξεργασία Κατασκευή Μετάβαση Στατική διάσταση  

  19. Στατική δομή της διαδικασίας (process) ανάπτυξης λογισμικού „A process describes who is doing what, how, and when“ 

  20. 4 Βασικά στοιχεία μοντελοποίησης • Workers(εργάτες), ποιος (who) • Artifacts (κατασκευές), τι (what) • Activities(δραστηριότητες),πώς(how) • Workflows(ροές εργασίας), πότε(when)  

  21. Η έννοια του εργάτη αναφέρεται στις συμπεριφορές και στις υπευθυνότητες ενός ατόμου ή μιας ομάδας ατόμων. Ως συμπεριφορά (Behavior) ορίζουμε ένα ενιαίο σύνολο δραστηριοτήτων Οι υπευθυνότητες (Responsibilities) αναφέρονται στην ανάπτυξη μιας κατασκευής (artifact) Τα μέλη μιας ομάδας μπορεί να έχουν διαφορετικούς ρόλους(Team members can wear different “hats.”) Εργάτης (Worker)

  22. Μια εργασία που πραγματοποιεί ένας εργάτης Μπορεί να γίνεται σε μερικές ώρες ή σε μερικές μέρες Δραστηριότητα (Activity)

  23. Activity: Find use cases and actors Step: Find Actors Step: Find Use Cases Step: Describe How Actors & Use Cases Interact Step: Package Use-Cases and Actors Step: Present the Use-Case Model in Use-Case Diagrams Step: Develop a Survey of the Use-Case Model Step: Evaluate Your Results Παράδειγμα δραστηριότητας

  24. Κατασκευή (Artifact) μπορεί να είναι: • Ένα μοντέλο όπως ένα μοντέλο Use-Caseή ένα μοντέλο σχεδιασμού (Design Model) που μπορεί να περιέχει και άλλες κατασκευές • Ένα στοιχείο του μοντέλου (model element) όπως μια τάξη (Design Class) ένα Use Case ή ένα υποσύστημα • Βάσεις • Πηγαίος κώδικας (Source code)και εκτελέσιμο πρόγραμμα(executables) • Διάφορα έγγραφα τεκμηρίωσης π.χ. Requirements Specification, Software Development Plan κλπ

  25. Ένας ρόλος ατομικός ή ομαδικός (developer, analyst κλπ) Use Case Use-Case Package Έχουμε λοιπόν.. Κομμάτι εργασίας που καλείται έναςεργάτης να εκτελέσει Δραστηριότητα (Activity) Εργάτης (Worker) Describe a Use-Case Use Case Specifier Κομμάτι πληροφορίας που παράγεται, ή χρησιμοποιείται από μια διαδικασία (source code, models, documents κλπ) responsible for Κατασκευή (Artifact)

  26. Τεχνικές μοντελοποίησης της RUP UML use cases

  27. Τι περιλαμβάνει το Use-Case μοντέλο • Δρώντες (Actors) • Διαγράμματα Use-Case(δείχνουν σχέσεις) • Για κάθε use case • Όνομα και περιγραφή • Ροή γεγονότων • Preconditions και post-conditions (optional) • Ειδικές απαιτήσεις

  28. Σκοπός ενός Use-Case • Καταγράφει απαιτήσεις, κυρίως λειτουργικές απαιτήσεις(functional requirements) • Χρησιμοποιούνται από όλους τουςδικαιούχους (stakeholders) • Στα use case στηρίζονται οι περισσότερες φάσεις της RUP

  29. 2 Βασικές έννοιες στα Use-Case μοντέλα • Έναςactorείναι ότι αλληλεπιδρά με το σύστημα (πρόσωπο ή άλλο σύστημα • Έναuse caseπεριγράφει μια ακολουθία ενεργειών που εκτελεί το σύστημα και προσφέρει ένα αποτέλεσμα στον actor. Actor Use Case Πανεπιστήμιο Αιγαίου Τμ. Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων

  30. Δράστης (Actor) • Οι Actors δεν είναι μέλη του συστήματος,παριστούν ρόλους που ένας χρήστης του συστήματος μπορεί να διαδραματίσει • Ανταλλάσσει πληροφορίες με το σύστημα • Μπορεί να είναι παθητικός δέκτης πληροφοριών • Μπορεί να εισάγει πληροφορίες στο σύστημα • Μπορεί να είναι πρόσωπο, μηχανή ή άλλο σύστημα. Actor System Πανεπιστήμιο Αιγαίου Τμ. Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων

  31. Ένας τελικός χρήστης μπορεί να πάρει τον ρόλο πολλών δρώντων (Actors) C h a r l i e a s d e p o t m a n a g e r D e p o t M a n a g e r C h a r l i e C h a r l i e a s d e p o t s t a f f D e p o t S t a f f Πανεπιστήμιο Αιγαίου Τμ. Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων

  32. Use Case Use Case • Μοντελοποιεί τον διάλογο ενός actor και του συστήματος • Ενεργοποιείται από έναν actor που θέλει να χρησιμοποιήσει μια συγκεκριμένη λειτουργία του συστήματος. • Ολοκληρωμένη εργασία • Όλα μαζί τα use casesπεριγράφουν όλους τους πιθανούς τρόπους χρήσης του συστήματος Πανεπιστήμιο Αιγαίου Τμ. Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων

  33. Maintain Professor Information Registrar Student Maintain Student Information Register for Courses Course Catalog Close Registration Billing System Select Courses to Teach Professor Παράδειγμα Use Cases μοντέλου Άλλο σύστημα Σύστημα κατάθεσης δήλωσης μαθημάτων Άλλο σύστημα Πανεπιστήμιο Αιγαίου Τμ. Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων

  34. Το μοντέλο των Use Cases συνδέεται με άλλα μοντέλα της UML Use-Case Model (requirements) επικυρώνεται (verification) Υλοποιείται (realization) Επηρεάζει (Influence) Design Model (classes and objects) Implementation Model (source code) Μοντέλο ελέγχου (Test Model) (test cases and procedures)

  35. Απότα Use Cases στον κώδικα Use Cases AnalysisClasses DesignClasses Source Code Exec Πανεπιστήμιο Αιγαίου Τμ. Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων

  36. Ερωτήματα.. Rational Unified Process 

More Related