Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Σχετικά έγγραφα
Η γλώσσα μοντελοποίησης UML. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Η γλώσσα μοντελοποίησης UML. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 7

Διαδικασίες της τεχνολογίας απαιτήσεων. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες της τεχνολογίας απαιτήσεων. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας

Διαγράμματα Κλάσεων στη Σχεδίαση

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Ανάλυση Περιπτώσεων Χρήσης

Περιεχόμενο του μαθήματος

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8)

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο -

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Περιεχόμενο του μαθήματος

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Ηλεκτρονικό Κατάστημα

Κωδικός: <Κωδ.Αρ.Εγγράφου/ΚωδικόΌνομαΈργου/Αρ. Έκδοσης> <Company Name> <Όνομα - Κωδικό Όνομα Έργου> Έγγραφο Περιγραφής Σχεδίου Λογισμικού

ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9)

Scheduling έργου 1 Τρίτη, 27 Οκτωβρίου 2015

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

Πρόλογος Κεφ.1 Βασικές έννοιες της SDL Κεφ.2 Η SDL ως αντικειμενοστρεφής γλώσσα... 35

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

Διαχείριση Εισπράξεων. Στη διαδικασία αυτή περιγράφεται η διαχείριση των εισπράξεων

UML: Unified modelling language

Μοντελοποίηση Πεδίου

Περίπτωση Χρήσης Use case

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

Αρχιτεκτονική Λογισμικού

Τεχνολογία Λογισμικού

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

. Μεθοδολογία Προγραμματισμού. Εισαγωγή. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Διαχείριση εισπράξεων

Σχεδιασµός βασισµένος σε συνιστώσες

Περιπτώσεις Χρήσης για το Π.Σ. ΜΟ.ΔΙ.Π. Κρήτης

ιαχείριση Τηλεφωνικών Κλήσεων

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

Οι περιπτώσεις χρήσης

Δημιουργία πληρωμής μετρητών Πεδία Παραστατικού Πληρωμής Δημιουργία πληρωμής αξιογράφων Καταχώρηση Αξιογράφου...

Από τη UML στον Κώδικα. Μέρος Β

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 7: Διαγράμματα Καταστάσεων

Διαφορές single-processor αρχιτεκτονικών και SoCs

Δημιουργία Παραστατικού Αγοράς- Πώλησης και Μετασχηματισμοί

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE

Atlantis - Νέο user interface

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων,

Visual Flowchart Γενικά

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 3: Μοντελοποίηση Περιπτώσεων Χρήσης (1ο Μέρος)

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΕΩΣ ALPHA WEB TRADING

PDF created with pdffactory Pro trial version

Οδηγός Γρήγορης Παραμετροποίησης Auto Moto Cube

Θα αναπτύξουμε μια εφαρμογή που θα λειτουργεί σαν κουμπί πανικού. Η εφαρμογή θα αποτελείται από δύο κουμπιά.

Μοτίβα Σχεδίασης (Design Patterns)

ΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships)

Διαχείριση Γρήγορης Καταχώρησης Πωλήσεων

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ & ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ

Τα διαγράµµατα ακολουθίας

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Λιβανός Γιώργος Εξάμηνο 2017Β

Epsilon Net PYLON Platform

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Διαχείριση Γρήγορης Καταχώρησης Πωλήσεων

Transcript:

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 7: Εισαγωγή στη UML

Τι είναι η UML; 2 Βασικό πρόβλημα τεχνολογίας λογισμικού Έλλειψη κοινά αποδεκτής «γλώσσας» για την έκφραση των σχεδίων λογισμικού. Το αντίστοιχο ενός σχεδίου σπιτιού. UML: Μέθοδος «απεικόνισης» σχεδίων λογισμικού 1997, από ομάδα «ισχυρών παικτών» στο χώρο της σχεδίασης λογισμικού Μοντέλο σε UML: Τι κάνει το σύστημα Αλλά όχι πώς θα υλοποιηθεί Ενίοτε όμως πολύ κοντά

Public Διάγραμμα κλάσεων: Απεικόνιση Διάγραμμα κλάσεων Κλάση: Κατηγορία ή ομάδα «πραγμάτων» με παρόμοια χαρακτηριστικά/πεδία και κοινή συμπεριφορά. Διαγράμματα κλάσεων: Απεικονίσεις που αξιοποιούνται από την ομάδα ανάπτυξης Private Protected Επιπλέον στοιχεία: Περιορισμοί Κανόνες Κείμενο μέσα σε {} Σημειώσεις Όνομα_Κλάσης +Χαρακτηριστικό1:Τύπος1 -Χαρακτηριστικό2:Τύπος2= Αρχική_Τιμή #Χαρακτηριστικό3:Τύπος1 +Λειτουργία1() +Λειτουργία2(Παράμετρος1:Τύπος1, Παράμετρος2:Τύπος2= Αρχική_Τιμή ) -Λειτουργία3:Τύπος_Επιστρεφόμενης_Τιμής Ελεύθερο κείμενο, γραφικά κλπ. Όνομα 3 Χαρακτηριστικά Μέθοδοι

Διάγραμμα Κλάσεων: Συσχετισμοί Ιδιότητα 4 Συσχέτιση Κλάση Συσχέτισης Κανόνας 1 1..* n 2..13 (1,3) *

Διαγράμματα Κλάσεων: Κληρονομικότητα & Γενίκευση 5 Κληρονομικότητα: Κλάση κληρονομεί ιδιότητες & μεθόδους από άλλη (γονική κλάση) Γενίκευση: Γενίκευση Το παιδί είναι ειδίκευση του γονέα Μπορεί να εμφανίζεται «αντί» του γονέα Το αντίθετο δεν ισχύει

Διαγράμματα Κλάσεων: Συγκεντρώσεις 6 Συγκέντρωση (aggregation)

Διαγράμματα Κλάσεων: Συνθέσεις 7 Σύνθεση (composite)

Διαγράμματα Κλάσεων: Διεπαφές 8 Διεπαφή: Διεπαφή Σύνολο μεθόδων Ορίζουν κάποια πλευρά της συμπεριφοράς της κλάσης Είναι διαθέσιμες σε άλλες κλάσεις Προσδιοριστικό <<interface>> πάνω από το όνομα της κλάσης Δεν υπάρχουν ιδιότητες

Διαγράμματα Περιπτώσεων Χρήσης 9 Οπτική του χρήστη για το σύστημα Τρόπος χρήσης του συστήματος Παίκτες ( Actors ) H οντότητα που ενεργοποιεί ένα σενάριο χρήσης Πρόσωπο, σύστημα, υλικό, πέρασμα χρόνου Χρησιμοποιείται κυρίως κατά την εξαγωγή απαιτήσεων

Διαγράμματα Περιπτώσεων Χρήσης: Εισαγωγή 10 Ενεργοποιών Παίκτης Συνοδευτικό κείμενο Παίκτης που ενεργοποιεί Προϋποθέσεις Βήματα Συνθήκες μετά το πέρας Δεχόμενος την ενέργεια παίκτης Δεχόμενος την Ενέργεια Παίκτης

Διαγράμματα Περιπτώσεων Χρήσης: Επαναχρησιμοποίηση 11 <<include>> <<extends>> Όνομα Πακέτου Συμπερίληψη (inclusion) Νέο σενάριο χρήσης ως υπερσύνολο υπάρχοντος Επέκταση (extension) Προθήκη βημάτων σε υπάρχον σενάριο χρήσης Γενίκευση Κληρονομικότητα: Το παιδί κληρονομεί από τον πατέρα και προσθέτει και τη δική του συμπεριφορά Ομαδοποίηση Παρόμοιες περιπτώσεις χρήσης

Διαγράμματα Περιπτώσεων Χρήσης: Παράδειγμα 12 Αυτόματη μηχανή πωλήσεων Αγορά προϊόντος Παίκτης: Αγοραστής Βάζει χρήματα, επιλέγει προϊόν, η μηχανή του το δίνει Αν δεν έχει προϊόν; Επιστροφή χρημάτων ή επιλογή άλλου προϊόντος Λάθος ποσό χρημάτων; Επιστροφή χρημάτων στον αγοραστή Προϋπόθεση Πεινασμένος ή διψασμένος πελάτης Συνθήκες με το πέρας Προϊόν από τη μηχανή ή επιστροφή χρημάτων

Διαγράμματα Περιπτώσεων Χρήσης: Παράδειγμα 13 Τροφοδοσία με προϊόντα Παίκτης: Προμηθευτής Διαδικασία: Απασφάλιση μηχανής, επανατροφοδοσία κάθε προϊόντος (γέμισμα), κλείσιμο και ασφάλιση μηχανής Προϋπόθεση: Εκπνοή του προκαθορισμένου χρονικού διαστήματος μεταξύ επανατροφοδοσιών Συνθήκες μετά το πέρας: Πιθανές νέες πωλήσεις για τον προμηθευτή

Διαγράμματα Περιπτώσεων Χρήσης: Παράδειγμα 14 Είσπραξη χρημάτων Ίδια βήματα με τον προμηθευτή Χρήματα αντί προϊόντων Συνθήκη με το πέρας: Χρήματα στα χέρια του εισπράκτορα χρημάτων

Διαγράμματα Περιπτώσεων Χρήσης: Παράδειγμα 15

Διαγράμματα Περιπτώσεων Χρήσης: Παράδειγμα 16 Επανατροφοδοσία σύμφωνα με τις πωλήσεις

Διαγράμματα Περιπτώσεων Χρήσης: Παράδειγμα 17 Γενίκευση: Εισπράκτορας & Τροφοδότης το ίδιο πρόσωπο (Υπάλληλος Προμηθευτή)

Διαγράμματα Περιπτώσεων Χρήσης: Παράδειγμα 18

Διαγράμματα Καταστάσεων Δείχνει τις καταστάσεις ενός αντικειμένου Και τις μεταβάσεις μεταξύ καταστάσεων στο πέρασμα του χρόνου Π.χ. για άνθρωπο: νεογέννητο, μωρό, παιδί, έφηβος, νέος, ενήλικας, μεσήλικας, ηλικιωμένος. Δυνατές υποκαταστάσεις (μέσα σε μια κατάσταση) 19 Αρχικό Σημείο Τελικό Σημείο

Διαγράμματα Καταστάσεων: Παράδειγμα 20 Διαδικασία: Ενεργοποίηση τοστιέρας Τοποθέτηση ψωμιού Αναμονή Ψημένο ψωμί

Διαγράμματα Καταστάσεων: Παράδειγμα 21 Θερμοστάτης Για τη διατήρηση ορίων θερμοκρασίας

Διαγράμματα Καταστάσεων: Παράδειγμα Περισσότερη Λεπτομέρεια 22

Διαγράμματα Ακολουθιών Τα διαγράμματα κλάσεων και αντικειμένων αναπαριστούν στατική πληροφορία. Τα διαγράμματα ακολουθιών δείχνουν πώς τα αντικείμενα επικοινωνούν μεταξύ τους με το πέρασμα του χρόνου ΧΡΟΝΟΣ 23 Απεικόνιση Αντικείμενα Μηνύματα Χρόνος.

Διαγράμματα Ακολουθιών: Απεικόνιση 24 Αντικείμενο Όνομα Γραμμή ζωής (διακεκομμένη) Ενεργοποίηση (διάρκεια εκτέλεσης λειτουργίας) Μήνυμα Απλό (μεταφορά ελέγχου) Σύγχρονο Ασύγχρονο Χρόνος Από την κορυφή προς τα κάτω

Διαγράμματα Ακολουθιών: Λεπτομέρειες 25 Μπορεί να αναφέρεται είτε σε στιγμιότυπο (περίπτωσης χρήσης) είτε να είναι γενικό Γενικά διαγράμματα: Δυνατότητα έκφρασης if και while loops Συνθήκες if και while σε [ ] Δυνατότητα αναδρομής Λειτουργία που καλεί τον εαυτό της Δυνατότητα δημιουργίας αντικειμένου Μήνυμα με όνομα Create() To νέο αντικείμενο δεν εμφανίζεται στην κορυφή αλλά στο σημείο που δημιουργήθηκε

Διαγράμματα Ακολουθιών: Παράδειγμα 26 Αυτόματος Πωλητής Διεπαφή προς πελάτη Ταμείο Παροχέας προϊόντων Διάγραμμα ακολουθιών (στιγμιότυπο) Πελάτης βάζει χρήματα στο μηχάνημα Πελάτης επιλέγει προϊόν Τα χρήματα πηγαίνουν στο ταμείο Το ταμείο ελέγχει αν το προϊόν βρίσκεται στον παροχέα Το ταμείο ανανεώνει το ποσό του Το ταμείο δίνει εντολή στον παροχέα να παραδώσει το προϊόν στη διεπαφή με τον πελάτη

Διαγράμματα Ακολουθιών: Παράδειγμα 27

Διαγράμματα Ακολουθιών: Παράδειγμα 28 Δεν υπάρχει το προϊόν Μετά την επιλογή προϊόντος που έχει εξαντληθεί εμφανίζεται σχετικό μήνυμα στην οθόνη Προτροπή για άλλη επιλογή Επιλογή επιστροφής χρημάτων Αν ο πελάτης διαλέξει νέο προϊόν που υπάρχει προχωράμε όπως στο «ιδανικό» σενάριο, αν τα χρήματα είναι σωστά. Διαφορετικά, ακολουθείται το σενάριο λάθος χρημάτων Αν ο πελάτης διαλέξει νέο προϊόν που επίσης δεν υπάρχει, η διαδικασία επαναλαμβάνεται έως ότου επιλεγεί προϊόν που υπάρχει ή ζητηθεί επιστροφή χρημάτων

Διαγράμματα Ακολουθιών: Παράδειγμα 29

Διαγράμματα Ακολουθιών: Παράδειγμα 30 Λάθος ποσό χρημάτων Το ταμείο ελέγχει το ποσό που έβαλε ο πελάτης και το συγκρίνει με την τιμή του προϊόντος Αν το ποσό είναι μεγαλύτερο από την τιμή του προϊόντος, υπολογίζεται η διαφορά και ελέγχεται το ταμείο για μετρητά Αν η διαφορά υπάρχει, το ταμείο επιστρέφει τα ρέστα και συνεχίζουμε κανονικά Διαφορετικά το ταμείο επιστρέφει το ποσό και εκδίδει μήνυμα που προτρέπει να εισαχθεί το ακριβές ποσό Αν το ποσό είναι μικρότερο από την τιμή το ταμείο δεν κάνει τίποτα και περιμένει για περισσότερα χρήματα

Διαγράμματα Ακολουθιών: Παράδειγμα 31

Διαγράμματα Συνεργασίας Διάγραμμα συνεργασίας Αναπαριστά τον τρόπο συνεργασίας μεταξύ των συστατικών του συστήματος ώστε να επιτευχθεί η λειτουργικότητα του συστήματος. Παρόμοια με τα διαγράμματα ακολουθιών Ισοδύναμα Διάγραμμα ακολουθιών οργανωμένο με βάση το χρόνο. Διάγραμμα συνεργασίας οργανωμένο με βάση το χώρο / λειτουργικότητα. Επέκταση του διαγράμματος αντικειμένων Απεικονίζονται μηνύματα πέρα από συσχετισμούς Μηνύματα ως βέλη που δείχνουν τον παραλήπτη Κοντά στη γραμμή συσχέτισης των αντικειμένων Όνομα μηνύματος Συνήθως η λήψη μηνύματος προκαλεί εκτέλεση ενεργειών στον παραλήπτη () τερματίζει το μήνυμα. Μέσα στις () μπαίνουν παράμετροι των ενεργειών Μετασχηματισμοί συνεργασίας -> ακολουθίας Αριθμός στο όνομα του μηνύματος <ακολουθία>:<όνομα> 32

Διαγράμματα Συνεργασίας: Λεπτομέρειες 33 Αλλαγή κατάστασης αντικειμένου Κατάσταση στο τετράγωνο του αντικειμένου Νέο τετράγωνο για νέα κατάσταση Σύνδεση με διακεκομμένη γραμμή και το αναγνωριστικό <<becomes>> στο όνομα Συνθήκες μέσα σε [] Αρίθμηση για την κατάταξη των συνθηκών Δημιουργία αντικειμένου <<create>> στο μήνυμα Πολλαπλά αντικείμενα Στοίβα τετραγώνων *[all] : Το μήνυμα πάει σε όλα τα αντικείμενα Επιστροφή αποτελεσμάτων Αποτέλεσμα := Ενέργεια(Παράμετροι)

Διαγράμματα Συνεργασίας: Λεπτομέρειες 34

Διαγράμματα Συνεργασίας: Λεπτομέρειες 35 Ενεργό αντικείμενο Συντονίζει «παθητικά» αντικείμενα Αλληλεπιδρά με άλλα ενεργά αντικείμενα Χρησιμοποιεί μηνύματα Συγχρονισμός μηνυμάτων Ένα μήνυμα πρέπει ενδεχομένως να σταλεί μόνο μετά από ένα πλήθος άλλων (πιθανώς μη συνεχών) μηνυμάτων Αναπαράσταση Σαν αντικείμενο με έντονο περίγραμμα Συγχρονισμός: Προηγείται του ονόματος του μηνύματος λίστα (διαχωρισμένων με,) μηνυμάτων που πρέπει να ολοκληρωθούν. Η λίστα τελειώνει με /

Διαγράμματα Συνεργασίας: Παράδειγμα 36 Αυτόματος Πωλητής Ιδανικό σενάριο Ο πελάτης εισάγει χρήματα και επιλέγει ένα ή περισσότερα διαθέσιμα προϊόντα Όταν το ταμείο πάρει τα χρήματα, ενημερώνεται ο πάροχος για το επιλεχθέν προϊόν Ο πάροχος στέλνει το προϊόν στη διεπαφή από όπου το παίρνει ο πελάτης

Διαγράμματα Συνεργασίας: Παράδειγμα 37

Διαγράμματα Συνεργασίας: Παράδειγμα Έλεγχος διαθεσιμότητας προϊόντος / χρημάτων 38

Διαγράμματα Δραστηριοτήτων Παρόμοια με τα flowcharts 39 Ακολουθία δραστηριοτήτων που συμβαίνουν κατά τη διάρκεια μιας περίπτωσης χρήσης Επέκταση του διαγράμματος καταστάσεων Επικεντρώνεται στις δραστηριότητες και όχι στις καταστάσεις

Διαγράμματα Δραστηριοτήτων: Λεπτομέρειες 40 Αποφάσεις Ταυτοχρονισμός (fork/join)

Διαγράμματα Δραστηριοτήτων: Λεπτομέρειες 41 Λωρίδες (swimlanes) Μηνύματα Οπτικοποίηση ρόλων Παράλληλα τμήματα στο διάγραμμα Κάθε τμήμα ονοματίζεται (στην κορυφή) Αναπαριστά τις ενέργειες ενός ρόλου Δυνατές αλληλεπιδράσεις μεταξύ λωρίδων

Διαγράμματα Δραστηριοτήτων: Παράδειγμα Υπολογισμού Παραγοντικού 42

Διαγράμματα Συστατικών / Διεπαφές 43 Συστατικό λογισμικού Πραγματικό τμήμα του συστήματος π.χ. η υλοποίηση μιας κλάσης Διεπαφή συστατικού Η εικόνα του προς τον έξω κόσμο (ενθυλάκωση) Ένα συστατικό μπορεί να αντικατασταθεί με άλλο, αρκεί να προσφέρει την ίδια διεπαφή Είδη συστατικών Συστατικά υλοποίησης (βιβλιοθήκες, εκτελέσιμα ) Παράγωγα εργασίας (αρχεία δεδομένων, πηγαίου κώδικα) Παράγωγα εκτέλεσης

Διαγράμματα Συστατικών: Συμβολισμοί 44

Διαγράμματα Συστατικών 45 CD player Συστατικά (κουμπιά ελέγχου): play stop eject pause ffw rw power

Διαγράμματα Υλοποίησης Συνδυασμός λογισμικού με υλικό 46 Φυσική αρχιτεκτονική υπολογιστικού συστήματος Κύριο σύμβολο υλικού: κόμβος Επεξεργαστής (εκτελεί) Συσκευή (δεν εκτελεί) Συνδέσεις μεταξύ κόμβων Λογισμικό: Εκτελείται από το υλικό Συμβολισμός εξάρτησης

Διαγράμματα Υλοποίησης: Παράδειγμα 1 47

Διαγράμματα Υλοποίησης: Παράδειγμα 2 48

Περισσότερα Στοιχεία για τη UML 49 http://www.uml.org http://www.omg.org (Object Management Group) http://argouml.tigris.org/: ArgoUML Βοηθητικό Λογισμικό για Σχεδίαση UML (ελεύθερο). http://live.gnome.org/dia: Σχεδιαστικό Πακέτο Dia (ελεύθερο, υποστηρίζει UML) http://www-306.ibm.com/software/rational/uml/ : Rational Rose UML Resources Stevens, P. and R. Pooley, Using UML: Software Engineering with Objects and Components (κεφ. 5, 6, 11)