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

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

HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.

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


Παρουσίαση με θέμα: "HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π."— Μεταγράφημα παρουσίασης:

1 HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π

2 Προδιαγραφή Δυναμικού Μοντέλου Συμπεριφοράς Συστήματος Λογισμικού Όπως έχουμε αναφέρει, Δυναμικό Μοντέλο Συμπεριφοράς (Dynamic Model) παρουσιάζει και περιγράφει τη συμπεριφορά του συστήματος. Η συμπεριφορά του συστήματος ορίζεται σχετικά με: –Μοντελοποίηση γενικών δυναμικών χαρακτηριστικών του συστήματος όσον αφορά την ανταλλαγή μηνυμάτων ανάμεσα σε υποσυστήματα, υπομονάδες (components/ψηφίδες), και κλάσεις ή αντικείμενα. Ένα σύστημα αποτελείται από πολλά υποσυστήματα, υπομονάδες και κλάσεις που ορίζουν μια ιεραρχική δομή. Χρησιμοποιούμε ακολουθιακά διαγράμματα, και επικοινωνιακά διαγράμματα –Μοντελοποίηση των βημάτων και της λογικής ροής τους για την εκτέλεσης μιας διαδικασίας (process). Ένα σύστημα αποτελείται από πολλές διαδικασίες (λειτουργίες). Οι διαδικασίες μπορούν να ορισθούν και σε ιεραρχική βάση Χρησιμοποιούμε διαγράμματα δραστηριότητας –Μοντελοποίηση λεπτομερών δυναμικών χαρακτηριστικών του συστήματος όσον αφορά τις καταστάσεις (states) της κάθε κλάσης σε σχέση με τα μηνύματα που λαμβάνει και στέλνει

3 Μοντελοποίηση με τη γλώσσα UML Μοντελοποίηση Απαιτήσεων Σενάρια, Διαγράμματα Χρήσης (Scenaria, Use Case Diagrams) Μοντελοποίηση στατικής δομής του συστήματος Διαγράμματα Κλάσεων (Class Diagrams) Διαγράμματα Αντικειμένων (Object Diagrams) Ψηφιδικά Διαγράμματα (Component Diagrams) Παραταξιακά Διαγράμματα (Deployment Diagrams) Μοντελοποίηση δυναμικών χαρακτηριστικών του συστήματος Ακολουθιακά Διαγράμματα (Sequence Diagrams) Συνεργατικά Διαγράμματα (Collaboration Diagrams – Communication Diagrams στη UML 2.0) Μοντελοποίηση της συμπεριφοράς συγκεκριμένων αντικειμένων Διαγράμματα Κατάστασης (State Diagrams) Μοντελοποίηση των βημάτων εκτέλεσης μιας διαδικασίας Διαγράμματα Δραστηριότητας (Activity Diagrams) Περιγραφή λειτουργίας από τη σκοπιά του χρήστη Στατική Δομή Συμπεριφορά

4 Κατηγοριοποίηση Διαγραμμάτων UML Χρησιμοποιήθηκαν για τη μοντελοποίηση απαιτήσεων

5 Χρήση των Διαγραμμάτων Δραστηριότητας Τα διαγράμματα δραστηριότητας (activity diagrams) είναι χρήσιμα τη μοντελοποίηση βημάτων διαδικασιών σε εφαρμογές όπου αυτές οι διαδικασίες βασίζονται σε ανταλλαγή δεδομένων ή εμπεριέχουν πολύπλοκη λογική ροή

6 Βήματα στα Διαγράμματα Δραστηριότητας Τα διαγράμματα δραστηριότητας μοιάζουν με τις μηχανές κατάστασης με τη διαφορά ότι: Οι μεταβολές κατάστασης συμβαίνουν όταν ένα βήμα τελειώνει και όχι με βάση κάποιο μήνυμα (signal) Μπορούν να μοντελοποιήσουν παράλληλα βήματα σε κάποια διαδικασία Action Απλή Δραστηριότητα Subactivity Σύνθετη δραστηριότητα

7 Απλή Δραστηριότητα (State) Ένας κόμβος απλής δραστηριότητας ορίζει ένα βήμα σε μια διαδικασία Ένας κόμβος απλής δραστηριότητας δεν μπορεί να αρχίσει μια νέα σύνθετη διαδικασία Send message Index := lookup(e) + 7; Απλή δραστηριότητα Απλή δραστηριότητα με έκφραση Send message * Απλές παράλληλες δραστηριότητες

8 Σύνθετη Δραστηριότητα Ένας κόμβος σύνθετης δραστηριότητας αρχίζει από μόνη της μια νέα διαδικασία Χρησιμοποιείται για την ιεραρχική δόμηση των διαγραμμάτων Subactivity *

9 Παράδειγμα aPOEmployee.sortMail Deliver Mail POEmployee sortMail() Check Out Truck Put Mail In Boxes Deliver Mail

10 Παράδειγμα Διαγράμματος Δραστηριότητας σε Επίπεδο Μεθόδων POEmployee sortMail() aPOEmployee.sortMail POEmployee.deliverMail deliverMail() «realize» Check Out Truck Put Mail In Boxes PO Employee Deliver Mail Method

11 Αντικείμενα (Δεδομένα) Αυτοί ο κόμβοι στα διαγράμματα δραστηριότητας περιγράφουν δεδομένα τα οποία μπορεί να παράγονται ή να χρησιμοποιούνται από απλές ή σύνθετες δραστηριότητες και που μπορούν να είναι σε κάποια συγκεκριμένη κατάσταση Αυτοί οι κόμβοι δεν μπορούν να καλέσουν διαδικασίες Όνομα:Κλάση [Κατάσταση]

12 Παράδειγμα με Χρήση Αντικειμένου :Order [Taken] Take OrderFill Order Παρατηρήστε τη χρήση διακεκομμένων γραμμών όταν έχουμε κόμβους με αντικείμενα

13 Παράδειγμα aPOEmployee.sortMail Deliver Mail POEmployee sortMail() Check Out Truck Put Mail In Boxes Deliver Mail

14 Αρχικοί και Τελικοί Κόμβοι Αρχικός Κόμβος Τελικός Κόμβος Διακλάδωση και Ένωση

15 Οι ακμές των διαγραμμάτων δραστηριότητας μπορούν να περιέχουν σημεία αποφάσεων. Η σημειολογία για τα σημεία αποφάσεων δίνεται με το σύμβολο Σημεία Αποφάσεων Calculate Cost Charge Account Get Authorization [cost < $50] [cost >= $50]

16 Τα σημεία συγχρονισμού ορίζουν σημεία διεπαφής παράλληλων ροών. Παράλληλες Διαδικασίες – Σημεία Συγχρονισμού Inspect Install Foundation Build Frame Install Electricity in Foundation Put On Roof Install Electricity In Frame Install Electricity Outside Install Walls ** {and}

17 Παράλληλες Διαδικασίες – Σημεία Συγχρονισμού (Εναλλακτικό) Build Frame Install Foundation Install Electricity in Foundation Put On Roof Install Electricity In Frame Install Electricity Outside Install Walls Inspect {and}

18 Σημεία Συγχρονισμού Κόμβοι αντικειμένων σαν σημεία συγχρονισμού

19 Ομαδοποίηση Register Bug Evaluate Impact Fix Bug Revise Plan Release Fix Test Fix {priority = 1} Management Support Engineering

20 Κόμβοι Σημάτων Παραγωγή σήματος Signal Coffee Pot Wake Up Get Cups Turn on Coffee Pot Coffee Done Drink Coffee Signal Είσοδος σήματος Χρησιμοποιούνται για να δηλώσουν ότι ένα βήμα χρειάζεται συγκεκριμένα δεδομένα

21 Παράδειγμα Διαγράμματος Δραστηριότητας

22

23

24 Μηχανές Κατάστασης (Αυτόματα) Ένα σύνολο από σήματα εισόδου (input alphabet) Ένα σύνολο από σήματα εξόδου (output alphabet) Ένα σύνολο από καταστάσεις (states) Ένα σύνολο από πιθανές δράσεις Ένα σύνολο από μεταβολές (Κατάσταση x Σήμα  Κατάσταση x Δράση Αρχική κατάσταση Ένα σύνολο τελικών καταστάσεων

25 Παράδειγμα Μηχανής Κατάστασης off on Lamp On Lamp Off off on

26 Αποτελέσματα και Δράσεις Καθώς η μηχανή αλλάζει κατάσταση μπορεί να παράγει και συγκεκριμένα αποτελέσματα και να καλεί συγκεκριμένες δράσεις: on off Lamp On print(”on”) print(”on”) Lamp Off off on Αυτόματο Moore on off Lamp On Lamp Off off print(”on”) on/print(”on”) Αυτόματο Mealy

27 Διευρυμένη Μηχανή Κατάστασης Χρήση μεταβλητών off on Lamp On Lamp Off off on/ctr := ctr + 1 ctr : Integer

28 Συνθήκες – Φρουροί (Guards) Οι μεταβολές από κατάσταση σε κατάσταση ενεργοποιούνται με συγκεκριμένες συνθήκες που δεν έχουν παράπλευρες συνέπειες) SellingSelling UnhappyUnhappy HappyHappy bid /sell bid [(value >= 100) & (value < 200)] /sell bid /sell bid [value >= 200] /sell bid /reject bid [value < 100] /reject

29 Ιεραρχικές Μηχανές Κατάστασης Καταστάσεις είναι και αυτές μηχανές LampFlashingLampFlashingflash/ 1sec/ 1sec/ FlashOffFlashOff entry/lamp.off()FlashOnFlashOnentry/lamp.on() off/LampOffLampOffentry/lamp.off() LampOnLampOn entry/lamp.on() on/ on/ on/

30 Σιωπηλά Γεγονότα Εάν κάποια γεγονότα δεν συμβάλουν για τη μεταβολή κάποιας κατάστασης τότε μπορούν να αναβληθούν ή να αποσιωπηθούν off/ LampOnLampOn entry/lamp.on() on/ LampOffLampOff entry/lamp.off() off/defer Deferred event

31 Διαγράμματα Κατάστασης Περιγράφουν την συμπεριφορά (καταστάσεις) που μπορεί να βρίσκεται ένα αντικείμενο σε σχέση με τα μηνύματα (signals) και γεγονότα (events) που λαμβάνει/παρατηρεί Περιγράφουν τις καταστάσεις που ορίζουν μια διαδικασία (process) ή ένα μοντέλο εργασίας (business model)

32 Παράδειγμα Διαγράμματος Κατάστασης (Γενικό)

33 Παράδειγμα Διαγράμματος Κατάστασης (Λεπτομερές)


Κατέβασμα ppt "HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π."

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


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