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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΔΙΑΓΡΑΜΜΑΤΑ ΥΛΟΠΟΙΗΣΗΣ Διαγράμματα Συστατικών Λογισμικού (Component Diagrams) Διαγράμματα Ανάπτυξης (Deployment Diagrams)
Advertisements

Case Study: ATM machine III Identifying Objects’ States and Activities in the ATM System Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented.
AΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Εισαγωγή στη UML.
Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΑΝΑΠΑΡΑΣΤΑΣΗ ΓΝΩΣΗΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ
Μηχανική Λογισμικού ΙΙ
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
Ανακεφαλαίωση Προβλήματος Βιβλιοθήκης
Επανάληψη βασικών αρχών του αντικειμενοστρεφούς προγραμματισμού
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
Μεθοδολογίες Προγραμματισμού ΙΙ
ΜΟΝΤΕΛΟ Ο-Σ ΜΑΘΗΜΑ 2.
Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented Programming II (C++) Χειμερινό Εξάμηνο
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος:
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
1 HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
ΔΥΝΑΜΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ ä Οψεις της UML ä Οψεις καί Διαγράμματα ä Δυναμικά Διαγράμματα ä Διαγράμματα Καταστάσεων ä Διαγράμματα Ακολουθίας ä Διαγράμματα Συνεργασίας.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
UML (Unified Modeling Language)
ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός – Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Τεχνολογία ΛογισμικούSlide 1 Εξειδίκευση Βασισμένη σε Μοντέλο u Τυπική εξειδίκευση λογισμικού με ανάπτυξη μαθηματικού μοντέλου για το σύστημα.
Βασικά στοιχεία της Java
Παράδειγμα Εφαρμογής Σύστημα για Online Αγορές Αθανασόπουλος Γιώργος ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ.
Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Απαιτήσεων u Καθορίζει τι θέλει ο πελάτης από ένα σύστημα λογισμικού.
ΤΕΧΝΟΛΟΓΙΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ Mοντέλα Επιχειρησιακών Διαδικασιών Mέρος B.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
ANAΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Aντικειμενοστρεφής Ανάπτυξη Συστημάτων Εισαγωγή στη UML.
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο 1: Εισαγωγή.
ΟΣΣ2 - 4 Δεκεμβρίου 2005 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
1 State Diagrams. 2 Τα διαγράμματα καταστάσεων (State diagrams) χρησιμοποιούνται: Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Για να βοηθήσουν στην.
11/14/2016Structural VHDL148 Structural VHDL Παράδειγμα Multiplexer Component Component specification Port map command Unconnected outputs Unconnected.
Διαγράμματα Πακέτων (Package Diagrams)
Διαγράμματα Κλάσεων Ανάλυση Συστημάτων 2007.
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ (SOFTWARE ENGINEERING) UML – διαγράμματα περιπτώσεων χρήσης, διαγράμματα κλάσεων, διαγράμματα ακολουθίας, διαγράμματα δραστηριότητας,
Structure of Management Information (SMI)
Software Engineering for Web Applications
Κλάσεις και αντικείμενα
Αντικειμενοστραφής Προγραμματισμός (Object Oriented Programming)
Wrapper Classes, Abstract Classes and Interfaces
Σχεδιασμός Λογισμικού – ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ
Αρχές Διοίκησης και Διαχείρισης Έργων
ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

Activity Diagrams.
ΟΠΑ -Τεχνολογία Λογισμικού – Εμμ. Γιακουμάκης
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
Εφαρμογή Μεθοδολογίας ICONIX
ΕΙΣΑΓΩΓΗ ΣΤΗ UML ΕΙΣΑΓΩΓΗ ΣΤΗ UML.
Πληροφοριακά Συστήματα: Μοντελοποίηση με UML
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ Σύστημα για Online Αγορές
ΔΙΑΓΡΑΜΜΑΤΑ ΥΛΟΠΟΙΗΣΗΣ Διαγράμματα Συστατικών Λογισμικού (Component Diagrams) Διαγράμματα Ανάπτυξης (Deployment Diagrams)
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
Μεταγράφημα παρουσίασης:

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

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

Μοντελοποίηση με τη γλώσσα 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

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

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

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

Structural Modeling: Core Relationships (cont’d)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εξάρτηση

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

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

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

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

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

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

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

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

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

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

Παράδειγμα Διαγράμματος Αντικειμένων 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

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