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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Case Study: ATM machine III Identifying Objects’ States and Activities in the ATM System Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented.
Advertisements

ΣXΕΔΙΑΣΜΟΣ ΣΥΣΤΗΜΑΤΟΣ ΚΛΕΙΩ Ι.Ν.Β.Ι.Σ. Ιανουάριος 2004.
Αρχιτεκτονικός Σχεδιασμός
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Εισαγωγή στους Η/Υ Πίνακες.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
ΠΡΟΤΥΠΑ ΜΑΘΗΣΙΑΚΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΔΙΔΑΚΤΙΚΑ ΟΦΕΛΗ Ενότητα 3.7 – Β’ Μέρος.
Διάλεξη 16: Πρόβλημα Συμφωνίας ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
ΑΛΓΟΡΙΘΜΟΙ.
Τι είναι Ανάλυση Τι είναι Συστήματα Πληροφορικής
ΑΠΕΙΚΟΝΙΣΗ ΕΝΝΟΙΩΝ 1. 2 Χρήστης Στόχος Ταμίας διενέργεια πώλησης διενέργεια ενοικίασης εισαγωγή ταμείου εξαγωγή ταμείου * 1 Μοντέλο Πεδίου Προβλήματος.
Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented Programming II (C++) Χειμερινό Εξάμηνο
Μοντελοποίηση συμπεριφοράς. Συμβάντα - Καταστάσεις - Μεταβάσεις Στην UML για παράσταση συμβάντων και καταστάσεων σε αντικείμενα. Συμβάν Πρόκληση λειτουργίας.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Λογισμικού u Ανάπτυξη λύσης που ικανοποιεί τις απαιτήσεις λογισμικού.
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος:
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
1 HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
Σχεδίαση Αλγορίθμων. Διεργασίες (1/2) Μία διεργασία αλληλεπιδρά με το περιβάλλον της δεχόμενη είσοδο και παράγοντας έξοδο.
ΔΥΝΑΜΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ ä Οψεις της UML ä Οψεις καί Διαγράμματα ä Δυναμικά Διαγράμματα ä Διαγράμματα Καταστάσεων ä Διαγράμματα Ακολουθίας ä Διαγράμματα Συνεργασίας.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
3 / 4 / 2002 μοντέλα ανάλυσης ενεργειών χρήστη
Ποιότητα Λογισμικού Ενότητα 2: Παραμετρικοί έλεγχοι στο JUnit. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
Σχεδιασμός Προσανατολισμένος σε Λειτουργίες
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
Τεχνολογία Επικοινωνιών
Σχεδιομελέτη προϊόντων με τη χρήση Η/Υ
ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ
ΟΤΑ Επιχειρησιακη νοημοσυνη: ΕΝΟΤΗΤΑ Ad1.2.1: ΑΝΑΠΤΥΞΗ
Επαλήθευση Πρωτοκόλλων. Περίληψη Προδιαγραφή και επαλήθευση Πρωτοκόλλων  Μηχανές Πεπερασμένων Καταστάσεων (Finite State Machines)  Petri-Nets.
ΗΥ-220 Verilog HDL. Τα βασικά.... ΗΥ-220 – Ιάκωβος Μαυροειδής2 Βασική Ροή Σχεδίασης Requirements SimulateRTL Model Gate-level Model Synthesize SimulateTest.
ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων
Τεχνολογία ΛογισμικούSlide 1 Εξειδίκευση Βασισμένη σε Μοντέλο u Τυπική εξειδίκευση λογισμικού με ανάπτυξη μαθηματικού μοντέλου για το σύστημα.
Βασικά στοιχεία της Java
Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Απαιτήσεων u Καθορίζει τι θέλει ο πελάτης από ένα σύστημα λογισμικού.
ΤΕΧΝΟΛΟΓΙΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ Mοντέλα Επιχειρησιακών Διαδικασιών Mέρος B.
ANAΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Aντικειμενοστρεφής Ανάπτυξη Συστημάτων Εισαγωγή στη UML.
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο 1: Εισαγωγή.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
1 Εργαστήριο MIS Use Cases. 2 ΆνθρωποιΔεδομένα Λογισμικό Υλικό Διαδικασίες.
ΚΕΦΑΛΑΙΟ ΑΛΓΟΡΙΘΜΟΙ Αλγόριθμος Η έννοια του αλγορίθμου δεν συνδέεται αποκλειστικά και μόνο με προβλήματα της Πληροφορικής. Πχ συνταγή.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΚΕΦΑΛΑΙΟ 2 Βασικές Έννοιες Αλγορίθμων.
1 State Diagrams. 2 Τα διαγράμματα καταστάσεων (State diagrams) χρησιμοποιούνται: Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Για να βοηθήσουν στην.
Η προγραμματιστική δραστηριότητα ως αντικείμενο εκπαίδευσης
Structure of Management Information (SMI)
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Μοντελοποίηση υπολογισμού
Ενισχυτική διδασκαλία
Βασικά Μοντέλα και Έννοιες Διεργασιών
Σχεδιασμός Λογισμικού – ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ
Αρχές Διοίκησης και Διαχείρισης Έργων
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
Activity Diagrams.
Βασικές Έννοιες και Ορισμοί
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον
Πίνακες διέγερσης Q(t) Q(t+1) S R X X 0
ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
Β.ΕΠΑΛ-Γενικής Παιδείας  ΜΑΘΗΜΑ: Εισαγωγή στης αρχές Επιστήμης των Η/Υ  ΚΕΦΑΛΑΙΟ 4: Γλώσσες Αναπαράστασης Αλγορίθμων  ΕΝΟΤΗΤΑ 4.2: Δομή Ακολουθίας 
ΕΙΣΑΓΩΓΗ ΣΤΗ UML ΕΙΣΑΓΩΓΗ ΣΤΗ UML.
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

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

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

Μοντελοποίηση με τη γλώσσα 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) Περιγραφή λειτουργίας από τη σκοπιά του χρήστη Στατική Δομή Συμπεριφορά

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

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

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

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

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

Παράδειγμα 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.

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

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

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

Παράδειγμα 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.

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

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

Παράλληλες Διαδικασίες – Σημεία Συγχρονισμού Τα σημεία συγχρονισμού ορίζουν σημεία διεπαφής παράλληλων ροών. 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

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

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

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

Κόμβοι Σημάτων Παραγωγή σήματος Είσοδος σήματος 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 Χρησιμοποιούνται για να δηλώσουν ότι ένα βήμα χρειάζεται συγκεκριμένα δεδομένα

Παράδειγμα Διαγράμματος Δραστηριότητας 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.

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

Παράδειγμα Διαγράμματος Δραστηριότητας http://www.agilemodeling.com/artifacts/activityDiagram.htm

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

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

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

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

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

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

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

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

Παράδειγμα Διαγράμματος Κατάστασης (Γενικό) http://www.agilemodeling.com/artifacts/stateMachineDiagram.htm

Παράδειγμα Διαγράμματος Κατάστασης (Λεπτομερές) http://www.agilemodeling.com/artifacts/stateMachineDiagram.htm