Παράδειγμα Εφαρμογής Σύστημα για Online Αγορές Αθανασόπουλος Γιώργος ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ
30 June June June 2015UoA - Αθανασόπουλος Γιώργος2 Agenda Online Αγορές – Ανάλυση Προσδιορισμός Απαιτήσεων Προδιαγραφή Απαιτήσεων Προδιαγραφή Απαιτήσεων Online Αγορές – Σχεδιασμός Σχεδιασμός Συστήματος Σχεδιασμός Συστήματος Λεπτομερειακός Σχεδιασμός Λεπτομερειακός Σχεδιασμός
30 June June June 2015UoA - Αθανασόπουλος Γιώργος3 Προσδιορισμός Απαιτήσεων – Γενικές Αρχές Αφορά τον καθορισμό και την τεκμηρίωση των απαιτήσεων Προκύπτουν από το γνωστικό πεδίο της εφαρμογής και τις περιπτώσεις χρήσης Μέθοδοι εκμαίευσης απαιτήσεων συνεντεύξεις συνεντεύξεις ερωτηματολόγια ερωτηματολόγια παρατήρηση παρατήρηση Μελέτη κειμένων τεκμηρίωσης και συστημάτων λογισμικού Μελέτη κειμένων τεκμηρίωσης και συστημάτων λογισμικού Πρωτοτυποποίηση, JAD και RAD Πρωτοτυποποίηση, JAD και RAD Διαπραγμάτευση και επικύρωση απαιτήσεων για την επίλυση επικαλυπτόμενων και αντιμαχόμενων απαιτήσεων Μπορούν να χρησιμοποιηθούν κάποια απλά είδη διαγραμμάτων – Context Diagram, Business Use Case Diagram, and Business Class Diagram Αποτέλεσμα αυτής της φάσης -> Requirements Document
30 June June June 2015UoA - Αθανασόπουλος Γιώργος4 Προσδιορισμός Απαιτήσεων - Requirements doc
30 June June June 2015UoA - Αθανασόπουλος Γιώργος5 Προσδιορισμός Απαιτήσεων Online Αγορές - Περιγραφή Αγορά υπολογιστή μέσω Internet Ο πελάτης μπορεί να επιλέξει ένα standard configuration ή να χτίσει το δικό του online Για να παραγγείλει πρέπει να συμπληρώσει πληροφορίες για την αποστολή και την πληρωμή των εμπορευμάτων Ο πελάτης μπορεί να ελέγξει online την κατάσταση της αίτησης του Το configuration που έχει παραγγελθεί αποστέλλεται στον πελάτη μαζί με το τιμολόγιο
30 June June June 2015UoA - Αθανασόπουλος Γιώργος6 Προσδιορισμός Απαιτήσεων Οnline Αγορές -...πιο λεπτομερώς (1/2) Ο πελάτης χρησιμοποιεί το web site του κατασκευαστή για να δει το standard configuration για το επιλεγμένο μηχάνημα. Φαίνεται και η τιμή. Ο πελάτης επιλέγει να δει τις λεπτομέρειες του configuration, με σκοπό ή να αγοράσει το μηχάνημα με το standard configuration ή να συναρμολογήσει κάτι δικό του. Η τιμή κάθε configuration μπορεί να υπολογιστεί μετά από αίτηση του πελάτη. Ο πελάτης μπορεί να επιλέξει να παραγγείλει τον υπολογιστή online ή να ζητήσει να επικοινωνήσει κάποιος πωλητής μαζί του για να του εξηγήσει λεπτομέρειες της παραγγελίας, να γίνει διαπραγμάτευση της τιμής κλπ. Για να γίνει η παραγγελία πρέπει ο πελάτης να συμπληρώσει online μια φόρμα με πληροφορίες για τη διεύθυνση αποστολής των εμπορευμάτων και του τιμολογίου, καθώς επίσης και λεπτομέρειες πληρωμής.
30 June June June 2015UoA - Αθανασόπουλος Γιώργος7 Προσδιορισμός Απαιτήσεων Οnline Αγορές -...πιο λεπτομερώς (2/2) Μετά την παραγγελία του πελάτη ο πωλητής στέλνει μια ηλεκτρονική αίτηση στην αποθήκη με τις λεπτομέρειες της παραγγελίας (συγκεκριμένο configuration). Οι λεπτομέρειες της συναλλαγής (συμπεριλαμβανομένου και του αριθμού παραγγελίας) αποστέλλονται με στον πελάτη, έτσι ώστε να μπορεί να ελέγχει online την κατάσταση της παραγγελίας του. Η αποθήκη παίρνει το τιμολόγιο από τον πωλητή και στέλνει τον υπολογιστή στον πελάτη
30 June June June 2015UoA - Αθανασόπουλος Γιώργος8 Agenda Online Αγορές – Ανάλυση Προσδιορισμός Απαιτήσεων Προσδιορισμός Απαιτήσεων Προδιαγραφή Απαιτήσεων Online Αγορές – Σχεδιασμός Σχεδιασμός Συστήματος Σχεδιασμός Συστήματος Λεπτομερειακός Σχεδιασμός Λεπτομερειακός Σχεδιασμός
30 June June June 2015UoA - Αθανασόπουλος Γιώργος9 Προδιαγραφή Απαιτήσεων – Διαγράμματα Use case διάγραμμα Διάγραμμα κλάσεων Διαγράμματα δραστηριοτήτων Διαγράμματα αλληλοδιαδοχής Διαγράμματα καταστάσεων
30 June June June 2015UoA - Αθανασόπουλος Γιώργος10 Προδιαγραφή Απαιτήσεων Use cases - Γενικά Use case – περιγράφει τη λειτουργικότητα του συστήματος όπως αυτή γίνεται αντιληπτή από τον χρήστη Actor – όποιος ή ότι αλληλεπιδρά με ένα use case Υπάρχουν μερικά use cases που δεν αλληλεπιδρούν απευθείας με Actors
30 June June June 2015UoA - Αθανασόπουλος Γιώργος11 Προδιαγραφή Απαιτήσεων Online Αγορές - Προσδιορισμός Actors Μετά την εισαγωγή της παραγγελίας του πελάτη στο σύστημα, ο πωλητής στέλνει μία ηλ. αίτηση στην αποθήκη με τις λεπτομέρειες της παραγγελίας
30 June June June 2015UoA - Αθανασόπουλος Γιώργος12 Προδιαγραφή Απαιτήσεων Online Αγορές - Προσδιορισμός Use cases Ο πελάτης χρησιμοποιεί το web site του κατασκευαστή για να δει το standard configuration για το επιλεγμένο μηχάνημα. Φαίνεται και η τιμή. Ο πελάτης επιλέγει να δει τις λεπτομέρειες του configuration, με σκοπό ή να αγοράσει το μηχάνημα με το standard configuration ή να συναρμολογήσει κάτι δικό του. Η τιμή κάθε configuration μπορεί να υπολογιστεί μετά από αίτηση του πελάτη.
30 June June June 2015UoA - Αθανασόπουλος Γιώργος13 Προδιαγραφή Απαιτήσεων Online Αγορές – Actors και Use Cases (1/3) ΑπαίτησηActor Use case Ο πελάτης χρησιμοποιεί το web site του κατασκευαστή για να δει το standard configuration για το επιλεγμένο μηχάνημα. Φαίνεται και η τιμή. Ο πελάτης επιλέγει να δει τις λεπτομέρειες του configuration, με σκοπό ή να αγοράσει το μηχάνημα με το standard configuration ή να συναρμολογήσει κάτι δικό του. Η τιμή κάθε configuration μπορεί να υπολογιστεί μετά από αίτηση του πελάτη. CustomerDisplay standard computer configuration CustomerBuild Computer Configuration
30 June June June 2015UoA - Αθανασόπουλος Γιώργος14 Προδιαγραφή Απαιτήσεων Online Αγορές – Actors και Use Cases (2/3) ΑπαίτησηActor Use case Ο πελάτης μπορεί να επιλέξει να παραγγείλει τον υπολογιστή online ή να ζητήσει να επικοινωνήσει κάποιος πωλητής μαζί του για να του εξηγήσει λεπτομέρειες της παραγγελίας, να γίνει διαπραγμάτευση της τιμής κλπ. Για να γίνει η παραγγελία πρέπει ο πελάτης να συμπληρώσει online μια φόρμα με πληροφορίες για τη διεύθυνση αποστολής των εμπορευμάτων και του τιμολογίου, καθώς επίσης και λεπτομέρειες πληρωμής. Customer Salesperson Order Configured Computer Request Salesperson contact CustomerOrder configured Computer, Verify and Accept Customer Payment
30 June June June 2015UoA - Αθανασόπουλος Γιώργος15 Προδιαγραφή Απαιτήσεων Online Αγορές – Actors και Use Cases (3/3) ΑπαίτησηActor Use case Μετά την παραγγελία του πελάτη ο πωλητής στέλνει μια ηλ. Αίτηση στην αποθήκη με τις λεπτομέρειες της παραγγελίας Οι λεπτομέρειες της συναλλαγής αποστέλλονται με στον πελάτη, έτσι ώστε να μπορεί να ελέγχει online την κατάσταση της παραγγελίας Η αποθήκη παίρνει το τιμολόγιο από τον πωλητή και στέλνει τον υπολογιστή στον πελάτη Salesperson Warehouse Inform warehouse about Order Salesperson Customer Order configured Computer, Update order status Salesperson Warehouse Print Invoice
30 June June June 2015UoA - Αθανασόπουλος Γιώργος16 Προδιαγραφή Απαιτήσεων Online Αγορές – Use case Διάγραμμα Verify and Accept Customer Payment Display Standard Computer Config Build Computer Config Order Configured Computer Warehouse Customer Request Salesperson Contact > Inform Warehouse Print Invoice Update Order Status Salesperson
30 June June June 2015UoA - Αθανασόπουλος Γιώργος17 Προδιαγραφή Απαιτήσεων -Τεκμηρίωση use cases Σύντομη περιγραφή Actors Προϋποθέσεις για να ξεκινήσει το use case Αναλυτική περιγραφή της ροής των events που περιέχει: Κύρια ροή από events -> subflows Κύρια ροή από events -> subflows Εναλλακτικές ροές για τον ορισμό εξαιρετικών καταστάσεων Εναλλακτικές ροές για τον ορισμό εξαιρετικών καταστάσεων Postconditions: ορίζουν την κατάσταση του συστήματος μετά το τέλος του use case Το use case document εμπλουτίζεται κατά τη διάρκεια της ανάπτυξης του λογισμικού
30 June June June 2015UoA - Αθανασόπουλος Γιώργος18 Προδιαγραφή Απαιτήσεων Online Αγορές-Τεκμηρίωση «Order Configured Computer» Use case Order Configured Computer Σύντομη περιγραφή Επιτρέπει σε έναν πελάτη να εισαγάγει μια παραγγελία. Αυτό περιλαμβάνει επίσης πληροφορίες για αποστολή εμπορευμάτων και τιμολογίου, καθώς και λεπτομέρειες πληρωμής ActorsCustomer Προυποθέσεις Ο πελάτης πηγαίνει στο web site του κατασκευαστή. Η σελίδα δείχνει πληροφορίες για έναν configured υπολογιστή και την τιμή του Main flow To use case ξεκινάει όταν ο πελάτης αποφασίζει να παραγγείλει τον configured υπολογιστή επιλέγοντας «Continue» όταν οι λεπτομέρειες της παραγγελίας εμφανίζονται στην οθόνη.... Alternative flows Ο πελάτης επιλέγει «Purchase» πριν δώσει όλες τις υποχρεωτικές πληροφορίες. Το σύστημα παρουσιάζει ένα μήνυμα λάθους και ζητάει να συμπληρωθούν όλα τα υποχρεωτικά πεδία. Ο πελάτης επιλέγει «Reset» για να επιστρέψει σε μια άδεια φόρμα. Το σύστημα του επιτρέπει να συμπληρώσει εκ νέου τα πεδία. Postconditions Αν το use case τελειώνει επιτυχώς καταγράφεται στη βάση του συστήματος. Διαφορετικά, η κατάσταση του συστήματος δεν αλλάζει.
30 June June June 2015UoA - Αθανασόπουλος Γιώργος19 Προδιαγραφή Απαιτήσεων Διάγραμμα Κλάσεων - Γενικά Περιγράφει την κατάσταση του συστήματος- από τι αποτελείται το σύστημα μια δεδομένη στιγμή Περιέχει Κλασεις Κλασεις Attributes and operations of classes Attributes and operations of classes Associations, aggregation, composition και generalization Associations, aggregation, composition και generalization Class modeling και use case modeling λαμβάνουν χώρα παράλληλα
30 June June June 2015UoA - Αθανασόπουλος Γιώργος20 Προδιαγραφή Απαιτήσεων - Είδη Κλάσεων Entity Classes -> business entities (Order, Customer, etc), αναπαριστούν αντικείμενα μιας βάσης δεδομένων Boundary classes -> define GUI objects Control classes -> ελέγχουν την λογική του προγράμματος Boundary και Control classes μπορεί να βγουν στην φάση της ανάλυσης ή να γίνουν αργότερα στη φάση του σχεδιασμού
30 June June June 2015UoA - Αθανασόπουλος Γιώργος21 Προδιαγραφή Απαιτήσεων - Ερωτήματα για εύρεση κλάσεων Αυτή η έννοια αποτελεί κλάση? Αναπαριστά πληροφορία που πρέπει να περιγραφεί, αναλυθεί ή αποθηκευτεί? Αναπαριστά πληροφορία που πρέπει να περιγραφεί, αναλυθεί ή αποθηκευτεί? Έχει διάφορα attributes που παίρνουν διαφορετικές τιμές? Έχει διάφορα attributes που παίρνουν διαφορετικές τιμές? Έχει πολλά στιγμιότυπα? Έχει πολλά στιγμιότυπα? Είναι στα όρια του application domain? Είναι στα όρια του application domain?
30 June June June 2015UoA - Αθανασόπουλος Γιώργος22 Προδιαγραφή Απαιτήσεων Online Αγορές – Eντοπισμός κλάσεων Απαίτηση Entity class Ο πελάτης χρησιμοποιεί το web site του κατασκευαστή για να δει το standard configuration για το επιλεγμένο μηχάνημα. Φαίνεται και η τιμή. Customer, Computer (StandardConfiguration) Ο πελάτης επιλέγει να δει τις λεπτομέρειες του configuration, με σκοπό ή να αγοράσει το μηχάνημα με το standard configuration ή να συναρμολογήσει κάτι δικό του. Η τιμή κάθε configuration μπορεί να υπολογιστεί μετά από αίτηση του πελάτη. Customer,ConfiguredComputer,ConfigurationItem Ο πελάτης μπορεί να επιλέξει να παραγγείλει τον υπολογιστή online ή να ζητήσει να επικοινωνήσει κάποιος πωλητής μαζί του για να του εξηγήσει λεπτομέρειες της παραγγελίας, να γίνει διαπραγμάτευση της τιμής κλπ. Customer,ConfiguredComputer,Order,Salesperson
30 June June June 2015UoA - Αθανασόπουλος Γιώργος23 Προδιαγραφή Απαιτήσεων Online Αγορές – Classes
30 June June June 2015UoA - Αθανασόπουλος Γιώργος24 Προδιαγραφή Απαιτήσεων Online Αγορές – Attributes
30 June June June 2015UoA - Αθανασόπουλος Γιώργος25 Προδιαγραφή Απαιτήσεων Online Αγορές -Associations
30 June June June 2015UoA - Αθανασόπουλος Γιώργος26 Προδιαγραφή Απαιτήσεων Online Αγορές - Aggregations
30 June June June 2015UoA - Αθανασόπουλος Γιώργος27 Προδιαγραφή Απαιτήσεων Online Αγορές - Generalizations
30 June June June 2015UoA - Αθανασόπουλος Γιώργος28 Προδιαγραφή Απαιτήσεων Online Αγορές - Class Diagram
30 June June June 2015UoA - Αθανασόπουλος Γιώργος29 Προδιαγραφή Απαιτήσεων Online Αγορές - Στερεότυπο Customer > Customer "icon" stereotype "label" stereotype
30 June June June 2015UoA - Αθανασόπουλος Γιώργος30 Ορατότητα Η UML notation για ορατότητα + (for public), + (for public), # (for protected) # (for protected) – (for private) – (for private) Τα CASE tools χρησιμοποιούν διαφορετικό notation
30 June June June 2015UoA - Αθανασόπουλος Γιώργος31 Προδιαγραφή Απαιτήσεων Online Αγορές - Derived association
30 June June June 2015UoA - Αθανασόπουλος Γιώργος32 Προδιαγραφή Απαιτήσεων Online Αγορές - Qualified association
30 June June June 2015UoA - Αθανασόπουλος Γιώργος33 Agenda Online Αγορές – Ανάλυση Προσδιορισμός Απαιτήσεων Προσδιορισμός Απαιτήσεων Προδιαγραφή Απαιτήσεων Προδιαγραφή Απαιτήσεων Online Αγορές – Σχεδιασμός Σχεδιασμός Συστήματος Λεπτομερειακός Σχεδιασμός Λεπτομερειακός Σχεδιασμός
30 June June June 2015UoA - Αθανασόπουλος Γιώργος34 Σχεδιασμός Συστήματος - Διαγράμματα Package Diagram use case packages use case packages class packages class packages Component Diagram Deployment Diagram
30 June June June 2015UoA - Αθανασόπουλος Γιώργος35 Packages Ομαδοποιούν κλάσεις, Use cases ή άλλα στοιχεία μοντελοποίησης Χρήσιμα σε μεγάλα συστήματα
30 June June June 2015UoA - Αθανασόπουλος Γιώργος36 Σχεδιασμός Συστήματος Online Αγορές - Use case packages Each package will eventually have more use cases than shown (in particular, «extend» and «include» use cases)
30 June June June 2015UoA - Αθανασόπουλος Γιώργος37 Σχεδιασμός Συστήματος Online Αγορές - Boundary class packages Οι πιο πολλές κλάσεις που ορίστηκαν στη φάση της ανάλυσης αφορούσαν persistent database objects (“business objects”) Πρέπει όμως να οριστούν και application program classes Το configuration του υπολογιστή και η εισαγωγή παραγγελιών απαιτούν Boundary Packages
30 June June June 2015UoA - Αθανασόπουλος Γιώργος38 Σχεδιασμός Συστήματος Online Αγορές - Entity class packages Persistent database classes αντιστοιχούν σε Entity Classes μέσα στο πρόγραμμα Entity Packages αναπαριστούν την in-memory run-time δομή των persistent database classes Περιλαμβάνει και τις Κλάσεις Invoice and Payment
30 June June June 2015UoA - Αθανασόπουλος Γιώργος39 Σχεδιασμός Συστήματος Online Αγορές - Control class packages Control classes Control Packages Αντιπροσωπεύουν το application logic Αντιπροσωπεύουν το application logic συνδέουν boundary and entity classes συνδέουν boundary and entity classes
30 June June June 2015UoA - Αθανασόπουλος Γιώργος40 Σχεδιασμός Συστήματος Online Αγορές - DB interface class packages Μεσολαβούν μεταξύ των entity classes και της βάσης δεδομένων Χειρίζονται connections, authorizations, transactions Διατηρούν “meta-information” για το DB schema