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

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

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

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


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

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

2 Προδιαγραφή Στατικής Δομής Συστήματος Λογισμικού Όπως έχουμε αναφέρει, το Στατικό Μοντέλο Δομής (Structural Model ή Object Model) παρουσιάζει και περιγράφει τη στατική δομή του συστήματος και των υποσυστημάτων σαν ένα σύνολο από κλάσεις, αντικείμενα, οντότητες και σχέσεις ανάμεσα σε αυτά Για τη δημιουργία του στατικού Μοντέλου Δομής ενός συστήματος xρησιμοποιούμε –Διαγράμματα που έχουν να κάνουν με την λεπτομερή στατική σχεδιαστική δομή του συστήματος Διαγράμματα Κλάσεων (Class Diagrams), Διαγράμματα Αντικειμένων (Object Diagrams) –Διαγράμματα που έχουν να κάνουν με τη γενική στατικέ σχεδιαστική δομή του συστήματος και την παράταξή του στο περιβάλλον της τελικής του λειτουργίας Ψηφιδικά Διαγράμματα (Component Diagrams) και, Παραταξιακά Διαγράμματα (Deployment Diagrams)

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 Σημειολογία Στοιχείων Στατικής Σχεδιαστικής Δομής Συστήματος Λογισμικού στη Γλώσσα UML

6 Κατηγορίες Κλάσεων / Αντικειμένων Δράστήριες – εξωτερικές οντότητες που ξεκινούν μια διαδικασία (initiators) Χειριστές - Εσωτερικές και ενεργές οντότητες που δημιουργούν και καταστρέφουν αντικείμενα και ξεκινούν σημαντικές λειτουργίες του συστήματος (handlers) Διεκπεραιωτές – Εσωτερικές και παθητικές οντότητες που προσφέρουν υπηρεσίες (managed entities)

7 Σημειολογία Σχέσεων Στατικής Σχεδιαστικής Δομής Συστήματος Λογισμικού στη Γλώσσα UML

8 Structural Modeling: Core Relationships (cont’d)

9 Κλάση Window origin size Open() Close() Move() Display() Όνομα Κλάσης (class name) Ιδιότητες (attributes) Λειτουργίες (operations)

10 Δραστήριες Κλάσεις EventManager Suspend() Flush() Παχύ περίγραμμα

11 Ταξινομητές Ένας ταξινομητής είναι ένας μηχανισμός που χρησιμοποιείται για να περιγράψει τα δομικά χαρακτηριστικά και τα χαρακτηριστικά συμπεριφοράς του συστήματος. –Οκτώ συνολικά ταξινομητές Κλάσεις, διαπροσωπείες, τύποι δεδομένων, σήματα, ψηφίδες, κόμβοι, περιπτώσεις χρήσης, υπο-συστήματα (Classes, interfaces, datatypes, signals, components, nodes, use cases, subsystems).

12 Εμβέλεια των Ιδιοτήτων και των Λειτουργιών μίας Κλάσης 1.Δημόσια εμβέλεια (Public): (+). 2.Προστατευόμενη εμβέλεια (Protected): (#). 3.Ιδιωτική εμβέλεια (Private): (-). Toolbar # currentSelection: Tool # toolCount: Integer + pickItem(i: integer) - compact()

13 Στατική Εμβέλεια Frame Header : FrameHeader uniqueID : Long (“static” π.χ. στη Java)

14 Πολλαπλότητα -Προδιαγραφή του εύρους πληθάριθμου σε μία ιδιότητα της κλάσης που επιτρέπει πολλαπλές τιμές NetworkController 1 consolePort [2..*] : Port

15 Κλάσεις – Σώμα Μεθόδου (Λειτουργίας)

16 Κλάσεις με Περισσότερες Πληροφορίες Τα ονόματα των αφηρημένων κλάσεων (abstract classes) Και τα ονόματα των λειτουργιών τους ορίζονται με italics

17 Σχέσεις Window Open() Close() HandleEvent() Event DialogBoxControl Εταιρικότητα association Εξάρτηση dependency Γενίκευση generalization DisplayPrompt() … ConsoleWindow

18 Γενίκευση – Εναλλακτική Σημειολογία Shape Spline Ellipse Polygon Shape Spline Ellipse Polygon...

19 Εταιρικότητα Υπάλληλος Εταιρεία Δουλεύει για Το Όνομα της εταιρικότητας περιγράγει τη φύση της, Το βέλος ορίζει πως διαβάζουμε τη σχέση. Υπάλληλος Εταιρεία Ο Ρόλος περιγράφει πως μια κλάση φαίνεται μέσα από την εταιρικότητα στην άλλη κλάση. εργαζόμενος Εργοδότης

20 Κατευθυντικότητα Person Company Κατευθυντικότητα: Μπορούμε να βάλουμε ένα βέλος σε ένα ή και Στα δύο άκρα της εταιρικότητας ορίζοντας την κατεύθυνση της Εταιρικότητας Works for

21 Περισσότερα για την Εταιρικότητα Υπάλληλος Εταιρεία εργαζόμενος εργοδότης 1..* * Πολλαπλότητα: Δηλώνει πόσα αντικείμενα μπορούν να Να συσχετισθούν με τη συγκεκριμένη σχέση εταιρικότητας. Ακριβώς ένα: 1 Μηδέν ή ένα: 0.. 1 Μηδέν ή περισσότερα: 0..* Πολλά: * Ένα ή περισσότερα: 1.. * Not shown  unspecified or suppressed

22 Συσσώρευση Μια ειδική περίπτωση εταιρικότητας που περιγράφει της σχέση «σύνθετου όλου» με τα «συστατικά του μέρη». 1 * Εταιρεία Τμήμα Τό όλον Το συστατικό μέρος

23 Συγκρότηση Συγκρότηση (σύνθετη συσσώρευση): - Ένα αντικείμενο είναι συστατικό μέρος μονό ενός σύνθετου. - Τά συστατικά δεν μπορούν να υπάρχουν χωρίς το σύνθετο. Window Frame * 1 Το όλον - whole Τα συστατικά μέρη - part

24 Κλάσεις Εταιρικότητας (Association Classes) Κλάσεις Εταιρικότητας – Περιγράφουν σύνθετες πληροφορίες για τις ιδιότητες της εταιρικότητας Εταιρεία Υπάλληλος Εργασία εργοδότης εργαζόμενος * 1..* Περιγραφή Ημ. Προσλ, Μισθός

25 Περιορισμοί Portfolio BankAccount Corporation {secure} {or} Person Μηχανισμός επέκτασης της γλώσσας για την περιγραφή προ-απαιτήσεων, προϋποθέσεων, και συνθηκών

26 Περιορισμοί και Σχόλια

27 Παραγόμενη Εταιρικότητα και Ιδιότητες

28 Παράδειγμα Εταιρικότητας

29

30 Εξάρτηση

31 Πραγματοποίηση - Μια σχέση ανάμεσα σε δύο ταξινομητές. - Ο ένας ταξινομητής ορίζει τις υπηρεσίες και ο άλλος τις υλοποιεί. - Στη UML η Πραγματοποίηση παρουσιάζεται ανάμεσα σε: - Διαπροσωπείες - Interfaces (ορίζουν) και κλάσεις/ψηφίδες – classes/components (υλοποιούν) - Περιπτώσεις χρήσης - use cases και συνεργασίες collaborations -Χρησιμοποιούμε το παρακάτω σύμβολο:

32 Σημειογραφία Παρουσίασης Διαπροσωπείας I I

33 Εναλλακτική Σημειογραφία Παρουσίασης Διαπροσωπείας I I

34 Παράδειγμα Διαγράμματος Κλάσης

35 http://portal.etsi.org/mbs/Languages/UML/uml_example.asp#Cd

36 Παράδειγμα Διαγράμματος Κλάσης http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/class.htm

37 Παράδειγμα Διαγράμματος Κλάσης με Κλάση Εταιρικότητας http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/class.htm

38 Περιπτώσεις - Instances Συγκεκριμένη υλοποίηση αφηρημένης οντότητας Όλα τα αντικείμενα (objects) είναι περιπτώσεις (της κλάσης τους) Κάποιες περιπτώσεις δεν είναι αντικείμενα (Η περίπτωση μιας εταιρικότητας είναι ένας σύνδεσμος Για να δηλώσουμε εταιρικότητα χρησιμοποιούμε υπογράμμιση

39 Παραδείγματα Αντικειμένων (named, anonymous, multiple) t: TransactionmyCustomer :Multimedia::AudioStream :keyCode multiobject anonymous named

40 Κατάσταση Αντικειμένου – Object State myCustomer Id : SSN = “432 …..” Active = true c: Phone [WaitingForAnswer] Αντικείμενο σε συγκεκριμένη κατάσταση Ιδιότητες με συγκεκριμένες τιμές

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

42 Παράδειγμα Διαγράμματος Αντικειμένων c:Company d1: Deptd2: Dept d3: Dept p: Person : ContactInfo name = “Sales” name = “R&D” Name = …. Name = “jk” Address=“200 U Av.” Objects, links, notes, constraints

43 Σύνθετα Αντικείμενα Fig. 3-39, UML Notation Guide


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

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


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