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

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

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

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

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

9 Παράδειγμα aPOEmployee.sortMail Deliver Mail Deliver Mail POEmployee
Check Out Truck Put Mail In Boxes Deliver Mail No standard notation yet for the name of an action, to indicate what kind of object and operation are being invoked. No standard notation for connecting an action state to the object it invokes an operation on. Likewise for the decomposition of a subactivity state into another state machine. The action state is polymorphic, the subactivity state is not.

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

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

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

13 Παράδειγμα aPOEmployee.sortMail Deliver Mail Deliver Mail POEmployee
Check Out Truck Put Mail In Boxes Deliver Mail No standard notation yet for the name of an action, to indicate what kind of object and operation are being invoked. No standard notation for connecting an action state to the object it invokes an operation on. Likewise for the decomposition of a subactivity state into another state machine. The action state is polymorphic, the subactivity state is not.

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

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

16 Παράλληλες Διαδικασίες – Σημεία Συγχρονισμού
Τα σημεία συγχρονισμού ορίζουν σημεία διεπαφής παράλληλων ροών. Build Frame Put On Roof Install Walls {and} Synch state keep track at runtime of the difference in the number of times an incoming trigger has been traversed compared to an outgoing transition. It is Petri-like in this respect. This number can be bounded. An asterisk means no bound. In workflow systems these are called parallel synchronized or chained processes. Install Foundation Inspect * * Install Electricity in Foundation Install Electricity In Frame {and} Install Electricity Outside

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

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

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

20 Κόμβοι Σημάτων Παραγωγή σήματος Είσοδος σήματος
Wake Up Get Cups Turn on Coffee Pot Signal Παραγωγή σήματος Coffee Pot Είσοδος σήματος Coffee Done Drink Coffee Signal receipt is a natural way to model a wait state. Dashed line notation is specifically for use with the signal icons. Can you rotate icons when flow drawn horizontally? Signal Χρησιμοποιούνται για να δηλώσουν ότι ένα βήμα χρειάζεται συγκεκριμένα δεδομένα

21 Παράδειγμα Διαγράμματος Δραστηριότητας
Request Return Get Return Number Ship Item Item [returned] Receive Restock Credit Account [available] Customer Telesales Warehouse Accounting Diagram assumes that: 1) Receive Item and the OFS Item can be traversed in parallel. Same for Credit Account and Item OFS. 2) Restock item will not start until its Item input has arrived. 3) State machine can terminate with hanging Item OFS. These are natural assumptions for an object flow language, but UML is state machine based.

22 Customer Telesales Warehouse Accounting Request Return Get Return
Number Ship Item Item [returned] Receive Restock Credit Account [available] Customer Telesales Warehouse Accounting

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

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

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

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

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

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

29 Ιεραρχικές Μηχανές Κατάστασης
Καταστάσεις είναι και αυτές μηχανές off/ LampOff entry/lamp.off() LampOn entry/lamp.on() on/ LampFlashing flash/ 1sec/ FlashOff entry/lamp.off() FlashOn entry/lamp.on() on/

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

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

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

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


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

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


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