Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ανάλυση Απαιτήσεων (2/3) Εμμ.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ανάλυση Απαιτήσεων (2/3) Εμμ."— Μεταγράφημα παρουσίασης:

1 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ανάλυση Απαιτήσεων (2/3) Εμμ. Γιακουμάκης Αν απλ. καθηγητής ΟΠΑ

2 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 2 Σημερινή παρουσίαση •Διαγράμματα κλάσεων •Διαγράμματα αντικειμένων •Διαγράμματα επικοινωνίας •Διαγράμματα ακολουθίας •Διαγράμματα Μηχανής Καταστάσεων

3 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 3 Διαγράμματα Κλάσεων •Χρησιμοποιούνται στην ανάλυση των απαιτήσεων και στη σχεδίαση του λογισμικού •Είναι στατικά διαγράμματα που δείχνουν κλάσεις, ιδιότητες, λειτουργίες και σχέσεις μεταξύ κλάσεων

4 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 4 Διαγράμματα Κλάσεων Κλάσεις Ο συμβολισμός των κλάσεων έχει τρία τμήματα: •Το όνομα της κλάσης •Τις ιδιότητες (attributes) της κλάσης •Τις λειτουργίες (operations) της κλάσης

5 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 5 Διαγράμματα Κλάσεων Ιδιότητες •Οι ιδιότητες (attributes) παραπέμπουν στα πεδία της Java και σχετίζονται με δεδομένα της κλάσης •Τυπική σύνταξη ιδιοτήτων Όνομα : Τύπος = αρχική_τιμή •Ο τύπος μπορεί να είναι ένας τύπος της UML, κάποιος τύπος της γλώσσας προγραμματισμού ή κάποια κλάση •Παραγόμενες (derived) ιδιότητες είναι αυτές που η τιμή τους προκύπτει από άλλες ιδιότητες της κλάσης. Οι παραγόμενες ιδιότητες έχουν το σύμβολο / πριν από το όνομα.

6 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 6 Διαγράμματα Κλάσεων Λειτουργίες •Οι λειτουργίες (operations) παραπέμπουν στις μεθόδους της Java •Τυπική σύνταξη Όνομα(Παράμετρος1 : Τύπος1, Παράμετρος2 : Τύπος2, …) : Τύπος_Επιστροφής

7 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 7 Διαγράμματα Κλάσεων Λειτουργίες •Αν και οι λειτουργίες μίας κλάσης παραπέμπουν στις μεθόδους της, οι δύο έννοιες δεν είναι ταυτόσημες. •Με τη UML ορίζουμε μία λειτουργία ως μία υπηρεσία που παρέχουν τα αντικείμενα της κλάσης. •Η μέθοδος είναι μία υλοποίηση της λειτουργίας δηλαδή της υπηρεσίας που παρέχεται από τα αντικείμενα. •Επομένως, μία απλή διάκριση είναι ότι οι λειτουργίες παρέχουν τις διεπαφές για την παροχή των υπηρεσιών, ενώ οι μέθοδοι παρέχουν την υλοποίησή τους. •Με τον πολυμορφισμό μπορούμε να έχουμε διαφορετικές μεθόδους που υλοποιούν την ίδια λειτουργία.

8 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 8 Διαγράμματα Κλάσεων Συσχετίσεις •Η συσχέτιση (association) αναπαριστά κάποια σύνδεση των αντικειμένων δύο κλάσεων •Απεικονίζει τη σχέση μεταξύ των κλάσεων •Οι συσχετίσεις μεταξύ κλάσεων «μοιάζουν» με τις σχέσεις των πινάκων μίας βάσης δεδομένων

9 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 9 Διαγράμματα Κλάσεων Πολλαπλότητα Συσχετίσεων •Η πολλαπλότητα αναφέρεται στα άκρα των συσχετίσεων. –Ακριβώς ένα -> 1 –Ένα ή περισσότερα -> 1..* –Κανένα ή περισσότερα -> * –Κανένα ή ένα -> 0..1

10 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 10 Διαγράμματα Κλάσεων Πολλαπλότητες Συσχετίσεων 1Ακριβώς ένα 10Ακριβώς δέκα *Κανένα, ένα ή περισσότερα 1..*Ένα ή περισσότερα 1..10Ένα έως δέκα

11 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 11 Διαγράμματα Κλάσεων Συσσωμάτωση •Η συσσωμάτωση (aggregation) είναι μία ειδική μορφή συσχέτισης. •Είναι μία συσχέτιση όλου – τμήματος. •Η κλάση Α αναπαριστά το «όλο» και η κλάση Β το «τμήμα» •Δεν επιτρέπονται «κύκλοι» συσσωματώσεων •Η διάκριση από τη συσχέτιση έχει περισσότερο εννοιολογικό χαρακτήρα: το «όλο» δεν μπορεί να «λειτουργήσει» χωρίς το «τμήμα».

12 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 12 Διαγράμματα Κλάσεων Συσσωμάτωση Το αυτοκίνητο έχει ως τμήμα του ένα κινητήρα. Ο κινητήρας μπορεί να είναι τμήμα πολλών αυτοκινήτων. Σημασιολογική ερμηνεία: «Το αυτοκίνητο δεν μπορεί να λειτουργήσει χωρίς τον κινητήρα».

13 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 13 Διαγράμματα Κλάσεων Σύνθεση •Η σύνθεση (composition) είναι μία ισχυρή μορφή συσσωμάτωσης •Το όλο ελέγχει πλήρως τα τμήματά του και ιδιαίτερα τον κύκλο ζωής τους. Π.χ. η διαγραφή ενός αντικειμένου «όλου» διαγράφει και τα τμήματά του. •Η πρόσβαση σε κάποιο «τμήμα» γίνεται αποκλειστικά μέσω του «όλου»

14 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 14 Διαγράμματα Κλάσεων Σύνθεση Το αυτοκίνητο έχει ως τμήμα τον κινητήρα του. Ο κινητήρας δεν μπορεί να ανήκει ταυτόχρονα σε άλλο αυτοκίνητο. Ο έξω κόσμος δεν έχει πρόσβαση στον κινητήρα παρά μόνο μέσω του αυτοκινήτου.

15 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 15 Διαγράμματα Κλάσεων Αυτοσυσχέτιση •Υπάρχει και η δυνατότητα αυτοσυσχέτισης. •Η αυτοσυσχέτιση του σχήματος παράγει ιεραρχία αντικειμένων

16 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 16 Διαγράμματα Κλάσεων Κλάση Συσχέτισης •Μία κλάση συσχέτισης (association class) αποδίδει ιδιότητες και λειτουργίες σε μία συσχέτιση •Η κλάση C είναι η κλάση συσχέτισης των Α και B •Χρησιμοποιείται συνήθως σε συσχετίσεις «πολλά-προς-πολλά»

17 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 17 Διαγράμματα κλάσεων Παράδειγμα κλάσης Συσχέτισης •Ένας υπάλληλος εργάζεται σε πολλές εταιρείες και κάθε εταιρεία έχει πολλούς υπαλλήλους •Ερώτημα: Πώς θα απεικονιστεί ο μισθός που λαμβάνει ένας υπάλληλος από μία εταιρεία?

18 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 18 Διαγράμματα κλάσεων Παράδειγμα κλάσης Συσχέτισης •Υπάρχουν δύο λύσεις. Η πρώτη είναι με την κλάση συσχέτισης. Η δεύτερη είναι με «ενδιάμεση» κλάση. •Ο περιορισμός της κλάσης συσχέτισης είναι ότι ο υπάλληλος δεν μπορεί να έχει δύο εργασίες στην ίδια εταιρεία. •Στο συγκεκριμένο παράδειγμα η κλάση συσχέτισης είναι η σωστή λύση

19 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 19 Διαφορές κλάσης συσχέτισης και παρεμβαλλομένης κλάσης •Οι δύο λύσεις μοιάζουν, αλλά δεν είναι ίδιες. •Η χρήση της κλάσης συσχέτισης υπονοεί επιπλέον ότι δεν μπορεί να υπάρξουν δύο αντικείμενα της κλάσης συσχέτισης για τον ίδιο συνδυασμό αντικειμένων των κλάσεων που συσχετίζονται. •Στο συγκεκριμένο παράδειγμα η κλάση συσχέτισης Εργασία μάς λέει ότι ένας εργαζόμενος μπορεί να εργάζεται σε διαφορετικές εταιρείες, αλλά δεν μπορεί ταυτόχρονα να έχει δύο εργασίες στην ίδια εταιρεία. •Αντίθετα, στη λύση όπου η κλάση Εργασία απλώς παρεμβάλλεται μεταξύ του εργαζομένου και τις εταιρείας, επιτρέπεται ένας εργαζόμενος να έχει πολλές εργασίες στην ίδια εταιρεία και να εισπράττει βέβαια πολλούς μισθούς από την ίδια εταιρεία. •Έτσι στις συσχετίσεις πολλά-προς-πολλά, ανάλογα με τη σημασιολογία που προκύπτει από το πρόβλημα, επιλέγεται η κλάση συσχέτισης ή η παρεμβαλλόμενη κλάση

20 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 20 Διαγράμματα Κλάσεων Γενίκευση •Η γενίκευση παραπέμπει στην κληρονομικότητα. •Η κλάση Β είναι υποκλάση της κλάσης Α. •Η υποκλάση κληρονομεί ιδιότητες συσχετίσεις και λειτουργίες της υπερκλάσης. •Μία υποκλάση μπορεί να επαναορίσει (override) λειτουργίες της υπερκλάσης της.

21 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 21 Διαγράμματα Κλάσεων Γενίκευση

22 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 22 Διαγράμματα αντικειμένων Τα αντικείμενα είναι στιγμιότυπα των κλάσεων Οι σύνδεσμοι είναι στιγμιότυπα των συσχετίσεων

23 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 23 Διαγράμματα Αντικειμένων Αντικείμενα •Ο συμβολισμός των αντικειμένων είναι όμοιος με το συμβολισμό των κλάσεων με τη διαφορά ότι το τμήμα του ονόματος είναι υπογραμμισμένο •Τυπική σύνταξη αντικειμένου –όνομα_αντικειμένου : όνομα_κλάσης –Για ανώνυμα αντικείμενα : όνομα_κλάσης •Οι ιδιότητες των κλάσεων έχουν πλέον και τιμές •Σε ένα διάγραμμα αντικειμένων απεικονίζουμε ένα δίκτυο αντικειμένων για κάποια χρονική στιγμή

24 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 24 Χρήση Διαγραμμάτων Αντικειμένων •Επαλήθευση διαγραμμάτων κλάσεων •Εμφάνιση σχέσεων για τις οποίες τα διαγράμματα κλάσεων δεν επαρκούν

25 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 25 Χρήση Διαγραμμάτων Αντικειμένων •Το διάγραμμα κλάσεων μας δίνει μία γενική δομή μίας ιεραρχίας •Το διάγραμμα αντικειμένων μας δίνει την ίδια την ιεραρχία

26 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 26 Διαγράμματα Επικοινωνίας •Τα διαγράμματα κλάσεων μας δίνουν τη στατική οπτική στις σχέσεις μεταξύ των αντικειμένων. •Τα διαγράμματα επικοινωνίας μας παρέχουν τη δυναμική οπτική παρουσιάζοντας την αλληλεπίδραση των αντικειμένων. •Τα διαγράμματα επικοινωνίας επεκτείνουν κατά κάποιο τρόπο τα διαγράμματα αντικειμένων, παρουσιάζοντας όχι μόνο τις σχέσεις μεταξύ των αντικειμένων αλλά και την επικοινωνία τους που πραγματοποιείται με την ανταλλαγή μηνυμάτων.

27 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 27 Διαγράμματα Επικοινωνίας •Τα διαγράμματα επικοινωνίας (communication diagrams) ή διαγράμματα συνεργασίας (collaboration diagrams) έχουν τον ίδιο σκοπό με τα διαγράμματα ακολουθίας με διαφορετική γραφική αναπαράσταση •Τα διαγράμματα ακολουθίας και επικοινωνίας είναι ισοδύναμα. Ένα εργαλείο case θα πρέπει να μετασχηματίζει το ένα τύπο διαγράμματος στον άλλο.

28 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 28 Διαγράμματα Επικοινωνίας - Μηνύματα •Τα μηνύματα είναι ο τρόπος επικοινωνίας μεταξύ αντικειμένων •Η ανταλλαγή μηνυμάτων στα διαγράμματα επικοινωνίας γίνεται διά μέσου των συνδέσμων (links) (βλ. διάγραμμα αντικειμένων). •Στα μηνύματα μπορεί να εμφανίζονται παράμετροι και επιστροφές

29 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 29 Διαγράμματα Επικοινωνίας - Ακολουθία Μηνυμάτων •Η σειρά αποστολής των μηνυμάτων εμφανίζεται από την αρίθμησή τους •Ανάλογα με τους κύκλους αποστολής μηνυμάτων και τη «στοίβα» των κλήσεων των λειτουργιών προστίθενται ψηφία στην αρίθμηση των μηνυμάτων (UML 2)

30 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 30 Διαγράμματα Επικοινωνίας Αρίθμηση Μηνυμάτων •Σύνθετη αποστολή μηνυμάτων

31 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 31 Διαγράμματα Επικοινωνίας Αρίθμηση Μηνυμάτων •Για λόγους απλότητας μπορεί να χρησιμοποιηθεί απλή αρίθμηση αν και δεν είναι τυπική UML 2

32 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 32 Διαγράμματα Επικοινωνίας Αποστολή μηνύματος στο ίδιο αντικείμενο

33 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 33 Διαγράμματα Επικοινωνίας Επανάληψη •Για την επανάληψη χρησιμοποιείται το σύμβολο * μετά την αρίθμηση του μηνύματος. •Η συνθήκη της επανάληψης τοποθετείται σε αγκύλες

34 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 34 Διαγράμματα Επικοινωνίας Μηνύματα υπό συνθήκη •Η αποστολή μηνύματος υπό συνθήκη γίνεται με την εμφάνιση της συνθήκης μετά την αρίθμηση του μηνύματος

35 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 35 Διαγράμματα Επικοινωνίας Μηνύματα με αμοιβαίο αποκλεισμό •Για μηνύματα με αμοιβαίο αποκλεισμό αλλάζει η αρίθμηση με τη χρήση γραμμάτων. •Τα μηνύματα 1a και 1b είναι αμοιβαία αποκλειόμενα.

36 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 36 Διαγράμματα Επικοινωνίας Δημιουργία Αντικειμένων •Η δημιουργία αντικειμένων έχει διαφορετικό συμβολισμό στην αποστολή μηνύματος

37 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 37 Διαγράμματα Επικοινωνίας •Ο υπολογισμός της αξίας μίας παραγγελίας με διάγραμμα επικοινωνίας

38 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 38 Διαγράμματα Ακολουθίας •Τα διαγράμματα κλάσεων παρέχουν την στατική όψη (δομή) των κλάσεων •Τα διαγράμματα ακολουθίας (sequence diagrams) παρέχουν τη δυναμική όψη •Εμφανίζουν την επικοινωνία αντικειμένων μέσω της ανταλλαγής μηνυμάτων

39 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 39 Διαγράμματα Ακολουθίας Σύμβολα Η σειρά των μηνυμάτων φαίνεται από την τοποθέτηση τους στον κατακόρυφο άξονα

40 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 40 Διαγράμματα Ακολουθίας Σύμβολα •γραμμή ζωής (lifeline) : αναπαριστά τη διάρκεια ζωής των αντικειμένων και σχεδιάζεται ως κατακόρυφη διακεκομμένη γραμμή κάτω από τα αντικείμενα. •μπάρες προδιαγραφής εκτέλεσης (execution specification) πάνω στις γραμμές ζωής: δείχνουν τη ροή ελέγχου στην ανταλλαγή μηνυμάτων σε αντικείμενα που έχουν ενεργοποιηθεί (Ένα ενεργοποιημένο αντικείμενο είτε εκτελεί μία δική του λειτουργία είτε περιμένει την επιστροφή, όταν αποστέλλει ένα μήνυμα σε κάποιο άλλο αντικείμενο).

41 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 41 Διαγράμματα Ακολουθίας Μηνύματα και Λειτουργίες •Η αποστολή του μηνύματος doSomething στο αντικείμενο :Β αντιστοιχεί στην «κλήση» της λειτουργίας doSomething της κλάσης Β

42 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 42 Διαγράμματα Ακολουθίας Μπάρες Προδιαγραφής Εκτέλεσης •Η μπάρες προδιαγραφής εκτέλεσης δείχνουν τη ροή ελέγχου (στοίβα κλήσεων) •Το :Α στέλνει το μήνυμα m1 στο :Β το οποίο με τη σειρά του στέλνει το m2 στο :C. Η ροή ελέγχου επιστρέφει στο :Α το οποίο στέλνει το m3. Η μπάρα στη γραμμή ζωής του :Β «διακόπτεται» γιατί η ροή ελέγχου επέστρεψε στο :Α

43 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 43 Διαγράμματα Ακολουθίας Μήνυμα στο ίδιο αντικείμενο

44 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 44 Διαγράμματα Ακολουθίας Επανάληψη •Για την επανάληψη χρησιμοποιείται πλαίσιο (frame) με την ένδειξη loop •Η επανάληψη συνοδεύεται με την αντίστοιχη συνθήκη

45 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 45 Διαγράμματα Ακολουθίας Μηνύματα υπό Συνθήκη •Για την αποστολή μηνυμάτων υπό συνθήκη (if) χρησιμοποιείται το πλαίσιο με την ένδειξη opt. •Συνοδεύεται και από την αντίστοιχη συνθήκη

46 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 46 Διαγράμματα Ακολουθίας Μηνύματα με αμοιβαίο αποκλεισμό •Για την αποστολή μηνυμάτων με αμοιβαίο αποκλεισμό (if – else) χρησιμοποιείται το πλαίσιο με την ένδειξη alt •Η διακεκομμένη γραμμή υποδεικνύει τον αμοιβαίο αποκλεισμό

47 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 47 Διαγράμματα Ακολουθίας Περικλειόμενα πλαίσια •Τα πλαίσια μπορεί να περικλείουν άλλα πλαίσια

48 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 48 Διαγράμματα Ακολουθίας Δημιουργία Αντικειμένων •Η δημιουργία αντικειμένων έχει διαφορετικό συμβολισμό στην αποστολή του μηνύματος •Το αντικείμενο που δημιουργείται δεν τοποθετείται στην κορυφή του διαγράμματος αλλά στο σημείο που δημιουργείται

49 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 49 Διαγράμματα Ακολουθίας Περιπτώσεις Αλληλεπίδρασης •Σε ένα διάγραμμα ακολουθίας μπορεί να γίνει αναφορά σε κάποιο άλλο διάγραμμα. Η αναφορά γίνεται με το πλαίσιο με την ένδειξη ref

50 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 50 Διαγράμματα Ακολουθίας Διάγραμμα με πλαίσιο •Ένα διάγραμμα με πλαίσιο με την ένδειξη sd μπορεί να χρησιμοποιηθεί σε άλλα διαγράμματα μέσω του πλαισίου ref

51 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 51 Διαγράμματα Ακολουθίας Παράδειγμα: Σύστημα Παραγγελίας •Ζητείται ένα διάγραμμα ακολουθίας που θα εμφανίζει την επικοινωνία των αντικειμένων για τον υπολογισμό της συνολικής αξίας της παραγγελίας

52 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 52 Διαγράμματα Ακολουθίας Υπολογισμός αξίας παραγγελίας •Το διάγραμμα εμφανίζει τα αντικείμενα που συμμετέχουν για την επίτευξη κάποιας συμπεριφοράς του λογισμικού και τα μηνύματα που ανταλλάσσουν

53 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 53 Διαγράμματα Ακολουθίας Παράδειγμα Παραγγελίας •Η ανταλλαγή μηνυμάτων σε ένα διάγραμμα ακολουθίας θα πρέπει να ενημερώνει και τις λειτουργίες του αντίστοιχου διαγράμματος κλάσεων

54 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 54 Διαγράμματα Μηχανής Καταστάσεων •Τα διαγράμματα μηχανής καταστάσεων (state machine diagrams) χρησιμοποιούνται για τη μοντελοποίηση της διακριτής συμπεριφοράς κάποιου συστήματος. •Η συμπεριφορά του συστήματος μοντελοποιείται ως η μετάβαση από μία κατάσταση σε κάποια άλλη. •Τα διαγράμματα μηχανής καταστάσεων μπορούν να χρησιμοποιηθούν και για τη μοντελοποίηση της συμπεριφοράς των αντικειμένων. •Έχουμε ορίσει την κατάσταση των αντικειμένων ως το σύνολο των τιμών των ιδιοτήτων σε κάποια χρονική στιγμή. Υπάρχουν περιπτώσεις όμως που η κατάσταση των αντικειμένων έχει ιδιαίτερο ενδιαφέρον για την ανάλυση. Το ενδιαφέρον αυτό είναι εντονότερο, όταν η κατάσταση ενός αντικειμένου επηρεάζει τη συμπεριφορά του. •Σε αντίθεση με τα διαγράμματα επικοινωνίας που μοντελοποιούν τη συμπεριφορά και την επικοινωνία πολλών αντικειμένων που συνεργάζονται, τα διαγράμματα μηχανής καταστάσεων μοντελοποιούν τις καταστάσεις ενός αντικειμένου. •Τα διαγράμματα καταστάσεων έχουν αρκετά πλούσιο συμβολισμό και χρησιμοποιούνται κυρίως για εξειδικευμένο λογισμικό, όπως λογισμικό ελεγκτών συσκευών και λογισμικό πραγματικού χρόνου.

55 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 55 Διαγράμματα Μηχανής Καταστάσεων •Με τα διαγράμματα μηχανής καταστάσεων (state machine diagrams) αντιμετωπίζουμε τις απαιτήσεις του συστήματος ή κάποιων μερών του ως τη μετάβαση από μία κατάσταση σε κάποια άλλη όταν το σύστημα ανταποκρίνεται σε ερεθίσματα του περιβάλλοντός του. •Οι συναρτήσεις f i περιγράφουν τις μεταβάσεις του συστήματος από τις καταστάσεις S j στις καταστάσεις S i για τα γεγονότα E k

56 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 56 Διαγράμματα Μηχανής Καταστάσεων Βασικά Σύμβολα

57 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 57 Διαγράμματα Μηχανής Καταστάσεων Μεταβάσεις και Γεγονότα •Ένα γεγονός ενεργοποιεί τη μετάβαση από μία κατάσταση σε κάποια άλλη. •Η μετάβαση γίνεται όταν ικανοποιείται και κάποια (προαιρετική) συνθήκη

58 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 58 Διαγράμματα Μηχανής Καταστάσεων Παράδειγμα: Δρομολόγηση Κλήσεων

59 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 59 Διαγράμματα Μηχανής Καταστάσεων Παράδειγμα: Ανελκυστήρας •Έστω ότι ο ανελκυστήρας μετακινείται μεταξύ των ορόφων 1, 2, 3, 4, 5. •Όταν μένει για πολύ ώρα ανενεργός μετακινείται στον πρώτο όροφο


Κατέβασμα ppt "2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ανάλυση Απαιτήσεων (2/3) Εμμ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google