ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου Ελευθερία -ΑΝΑΚΕΦΑΛΑΙΩΣΗ-ΟΛΟΚΛΗΡΩΜΕΝΟ ΠΑΡΑΔΕΙΓΜΑ - Email Επικοινωνίας: estoug@unipi.gr
Περιεχόμενο Ενότητας Ανακεφαλαίωση Ολοκληρωμένο Παράδειγμα Άσκηση Μοντελοποίησης Συστήματος με χρήση UML
Τι είναι UML H UML (Unified Modeling Language) είναι μια γλώσσα για: Κατάρτιση προδιαγραφών λογισμικού και τεκμηρίωση τμημάτων λογισμικού Αναπαράσταση με οπτικό τρόπο (visualization) τμημάτων λογισμικού Μοντελοποίηση εταιρικών και άλλων συστημάτων που δεν αφορούν λογισμικό H UML είναι γλώσσα και μπορείς να περιγράψεις ένα σύστημα με πολλούς τρόπους/διαγράμματα Τα διαγράμματα περιγράφουν το σύστημα από διαφορετικές οπτικές γωνίες (views).
Διαγράμματα UML Διαγράμματα που περιγράφουν τη στατική δομή του συστήματος: Διάγραμμα κλάσεων (Class diagram) Διάγραμμα αντικειμένων (Object diagram) Διαγράμματα που περιγράφουν τη δυναμική δομή του συστήματος: Διάγραμμα Περιπτώσεων Χρήσης (Use case diagram) Διάγραμμα Δραστηριοτήτων (Activity diagram) Διάγραμμα Ακολουθίας (Sequence diagram) Διάγραμμα Επικοινωνίας (Communication diagram)
Διάγραμμα Περιπτώσεων Χρήσης Δείχνει την αλληλεπίδραση ανάμεσα στους εξωτερικούς χρήστες και το σύστημα. Χρήση: αποτυπώνει τις επιχειρησιακές απαιτήσεις για το σύστημα. Δείχνουν το πως οι χειριστές χρησιμοποιούνε το σύστημα Αποτελούνε το σημείο αναφοράς, μιας και χρησιμοποιούνται για να καθοδηγήσουν την ανάπτυξη του συστήματος σε όλες τις φάσεις ανάπτυξης. Τα διαγράμματα περιπτώσεων χρήσης περιέχουν: Περιπτώσεις χρήσης (use cases) Χειριστές (actors) και Συσχετίσεις Είναι το βασικότερο είδος διαγράμματος της UML.
Διάγραμμα Κλάσεων Ένα διάγραμμα κλάσεων δείχνει την στατική δομή των κλάσεων του συστήματος και των σχέσεων μεταξύ τους. Ένα διάγραμμα κλάσεων συνήθως αποτελείται από: Κλάσεις (classes) Διαπροσωπίες (interfaces) Συνεργασίες (collaborations) Συσχετίσεις (relationships)
Διάγραμμα Αντικειμένων Τα διαγράμματα αντικειμένων περιγράφουν ένα σύνολο αντικειμένων καθώς και την σχέσεις τους μια δεδομένη χρονική στιγμή. Ένα διάγραμμα αντικειμένων συνήθως περιέχει: Αντικείμενα (objects) και Συνδέσμους (Links) Τα διαγράμματα αντικειμένων: χρησιμοποιούνται για να καταγράψουν στατικές δομές αντικειμένων είναι ένα στιγμιότυπο του διαγράμματος κλάσεων Είναι η στατική όψη ενός διαγράμματος επικοινωνίας
Διάγραμμα Δραστηριοτήτων Ένα διάγραμμα δραστηριοτήτων περιγράφει την ροή των εργασιών μέσα στο σύστημα. Ένα διάγραμμα δραστηριοτήτων βασικά περιέχει: Δραστηριότητες (activities) Ενέργειες (actions) και Μεταβάσεις (transitions) Τα διαγράμματα δραστηριοτήτων χρησιμοποιούνται για την περιγραφή: μιας περίπτωσης χρήσης ροών εργασιών (workflows) διεργασιών (processes) Επιχειρηματικών διαδικασιών
Διάγραμμα Ακολουθίας Τα διαγράμματα ακολουθίας παρουσιάζουν την αλληλεπίδραση των αντικειμένων μέσω της ανταλλαγής μηνυμάτων. Δίνουν έμφαση στη χρονική αλληλουχία των μηνυμάτων. Ένα διάγραμμα ακολουθίας περιέχει: Χειριστές Αντικείμενα και Μηνύματα που ανταλλάσσουν τα αντικείμενα Τα διαγράμματα ακολουθίας χρησιμοποιούνται για να περιγράψουν: Τον κύκλο ζωής των αντικειμένων Τα διαγράμματα ακολουθίας είναι σημασιολογικά ισοδύναμα με τα διαγράμματα επικοινωνίας.
Διάγραμμα Επικοινωνίας Τα διαγράμματα επικοινωνίας παρουσιάζουν την αλληλεπίδραση των αντικειμένων μέσω της ανταλλαγής μηνυμάτων Δίνουν έμφαση στη οργάνωση των αντικειμένων για να υλοποιήσουν την απαιτούμενη συμπεριφορά Ένα διάγραμμα επικοινωνίας περιέχει: Χειριστές Αντικείμενα και Μηνύματα που ανταλλάσσουν τα αντικείμενα Τα διαγράμματα επικοινωνίας χρησιμοποιούνται για να περιγράψουν: τη ροή του ελέγχου μέσα στο σύστημα Τα διαγράμματα επικοινωνίας είναι σημασιολογικά ισοδύναμα με τα διαγράμματα ακολουθίας.
Άσκηση Ας ξεκινήσουμε να σχεδιάσουμε με όλα τα παραπάνω διαγράμματα της uml την παρακάτω περιγραφή χρησιμοποιώντας το UMLet.
Περιγραφή Συστήματος Ηλεκτρονικών Δημοπρασιών: Το σύστημα θα υποστηρίζει την διεξαγωγή ηλεκτρονικών δημοπρασιών. Οι συμμετέχοντες σε μια δημοπρασία θα πρέπει να δημιουργήσουν το προσωπικό τους προφίλ μέσω του συστήματος πριν αποκτήσουν τη δυνατότητα δημιουργίας δημοπρασίας ή υποβολής προσφορών σε μια δημοπρασία. Κάθε χρήστης θα έχει τη δυνατότητα δημιουργίας περισσοτέρων της μιας δημοπρασιών οι οποίες θα μπορεί να είναι πλειοδοτικές (ανάγκη για πώληση προϊόντων) ή μειοδοτικές (ανάγκη για αγορά προϊόντων ή υπηρεσιών σε καλή τιμή). Ο δημιουργός μια δημοπρασίας (δημοπράτης) δεν θα μπορεί να συμμετέχει ως πλειοδότης ή μειοδότης στην ίδια δημοπρασία. Ο δημοπράτης θα μπορεί να διαχειρίζεται την δημοπρασία όσο βρίσκεται σε εξέλιξη, πχ. να πραγματοποιεί πρόωρο κλείσιμο ή ακύρωσή της. Μια πλειοδοτική δημοπρασία θα διαθέτει ένα προϊόν προς πώληση με συγκεκριμένη τιμή εκκίνησης και ημερομηνία λήξης της δημοπρασίας. Το προϊόν θα κατακυρώνεται στον πλειοδότη μετά την λήξη της δημοπρασίας. Αντίστοιχα μια μειοδοτική δημοπρασία θα εκδηλώνει την ζήτηση για ένα συγκεκριμένο προϊόν ή υπηρεσία. Η χαμηλότερη προσφορά θα γίνεται αποδεκτή από τον δημιουργό της δημοπρασίας μετά την λήξη της.
Περιγραφή Συστήματος Ηλεκτρονικών Δημοπρασιών: Συνέχεια Κατά την ολοκλήρωση της δημοπρασίας το σύστημα θα ενημερώνει με μήνυμα τόσο τον δημοπράτη όσο και τους συμμετέχοντες για το αποτέλεσμά της. Στην περίπτωση επιτυχούς ολοκλήρωσης της δημοπρασίας το σύστημα θα χρεώνει το δημοπράτη με μια προμήθεια, η οποία θα είναι ποσοστό επί της τιμής λήξης της δημοπρασίας. Ο δημοπράτης θα έχει τη δυνατότητα αξιολόγησης του πλειοδότη/μειοδότη μιας δημοπρασίας βάσει της ανταπόκρισής του στην αγορά ή προσφορά του προϊόντος/υπηρεσίας. Η αξιοπιστία ενός συμμετέχοντα θα επηρεάζει και το εύρος των προσφορών που μπορεί να υποβάλλει μετά την αρχική του προσφορά. Το σύστημα θα παρέχει μηνιαία στατιστικά στοιχεία προς την εταιρεία δημοπρασιών που θα αφορούν το πλήθος των επιτυχώς ολοκληρωμένων δημοπρασιών, τα συνολικά έσοδα από τις προμήθειες.
Διάγραμμα Περίπτωσης Χρήσης High Level
Διάγραμμα Κλάσεων High Level
Περίπτωση-Σενάριο «Αξιολόγηση Πλειοδότη-Μειοδότη»
Σενάριο/Περίπτωση: «Αξιολόγηση Πλειοδότη-Μειοδότη» Διάγραμμα Δραστηριοτήτων
Σενάριο/Περίπτωση: «Αξιολόγηση Πλειοδότη- Μειοδότη» Διάγραμμα Ακολουθίας
Περίπτωση-Σενάριο «Δημιουργία Δημοπρασίας»
Σενάριο/Περίπτωση: «Δημιουργία Δημοπρασίας» Διάγραμμα Δραστηριοτήτων
Σενάριο/Περίπτωση: «Δημιουργία Δημοπρασίας» Διάγραμμα Ακολουθίας
Περίπτωση-Σενάριο «Υποβολή Προσφοράς»
Σενάριο/Περίπτωση: «Υποβολή Προσφοράς» Διάγραμμα Δραστηριοτήτων(1/2)
Διάγραμμα Δραστηριοτήτων(2/2) Σενάριο/Περίπτωση: «Υποβολή Προσφοράς» Συνέχεια
Σενάριο/Περίπτωση: «Υποβολή Προσφοράς» Διάγραμμα Ακολουθίας
Περίπτωση-Σενάριο «Ολοκλήρωση Δημοπρασίας»
Σενάριο/Περίπτωση: «Ολοκλήρωση Δημοπρασίας» Διάγραμμα Ακολουθίας
Περίπτωση-Σενάριο «Δημιουργία Λογαριασμού»
Σενάριο/Περίπτωση: «Δημιουργία Λογαριασμού» Διάγραμμα Δραστηριοτήτων
Περίπτωση-Σενάριο «Login»
Σενάριο/Περίπτωση: «Login» Διάγραμμα Δραστηριοτήτων
Σενάριο/Περίπτωση: «Login» Διάγραμμα Ακολουθίας
Περίπτωση-Σενάριο «Register»
Σενάριο/Περίπτωση: «Register» Διάγραμμα Ακολουθίας
Περίπτωση-Σενάριο «Προβολή Μηνιαίων Στατιστικών»
Σενάριο/Περίπτωση: «Προβολή Μηνιαίων Στατιστικών» Διάγραμμα Δραστηριοτήτων
Σενάριο/Περίπτωση: «Προβολή Μηνιαίων Στατιστικών» Διάγραμμα Ακολουθίας
Περίπτωση-Σενάριο «Πρόσθεση bid Πλειοδοτικής»
Σενάριο/Περίπτωση: «addbidpleiodotikis» Διάγραμμα Ακολουθίας
Περίπτωση-Σενάριο «Πρόσθεσε Δημοπρασία»? Περίπτωση-Σενάριο «Διέγραψε Δημοπρασία»?