... Unified Modeling Language (UML) UML UML. Μοντελοποίηση? Μοντελοποίηση. Πλεονεκτήµατα ενός µοντέλου. Μεγάλα Έργα Λογισµικού = επικοινωνία

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "... Unified Modeling Language (UML) UML UML. Μοντελοποίηση? Μοντελοποίηση. Πλεονεκτήµατα ενός µοντέλου. Μεγάλα Έργα Λογισµικού = επικοινωνία"

Transcript

1 UML Unified Modeling Language... (UML) Three Amigos Grady Booch James Rumbaugh Ivar Jacobson Μεγάλα Έργα Λογισµικού = επικοινωνία Πολλαπλέςµονάδες, πολλαπλέςγενιές, πολλοί προγραµµατιστές, πολλοί πελάτες-χρήστες επιβάλλουν τη χρήση κοινής ορολογίας Ενοποιηµένη Γλώσσα Μοντελοποίησης Σε άλλα τεχνικά έργα η χρήση κοινής ορολογίας και συµβολισµών είναι αυτονόητη και καθιερωµένη 2 UML Μοντελοποίηση? Τυπικός ορισµός: Η Ενοποιηµένη Γλώσσα Μοντελοποίησης (Unified Modeling Language, στο εξής UML) είναι µία γραφική γλώσσα γενικού σκοπού, η οποία χρησιµοποιείται για τον προσδιορισµό, οπτικοποίηση, ανάπτυξη και τεκµηρίωση των κατασκευασµάτων (artifacts) ενός συστήµατος λογισµικού. Πρακτικά: H UML είναι µία γλώσσα µοντελοποίησης (σύνολο από διαγράµµατα). ( εν είναι γλώσσα προγραµµατισµού) Χρήση: µε οποιαδήποτε διαδικασία σε οποιοδήποτε στάδιο ανάπτυξης 3 για οποιαδήποτε τεχνολογική πλατφόρµα Item Ship via Order Business Process Visual Modeling is modeling using standard graphical notations Modeling captures essential parts of the system. Dr. James Rumbaugh Computer System 4 Μοντελοποίηση Ένα µοντέλο είναι µία αναπαράσταση σε ένα συγκεκριµένο µέσο, κάποιαςοντότηταςστοίδιοήσεάλλοµέσο. Το µοντέλο αναπαριστά τα σηµαντικά (από µία ορισµένη οπτική γωνία), στοιχεία της οντότητας που µοντελοποιείται, απλοποιώνταςήπαραλείπονταςταυπόλοιπα. Το µέσο επάνω στο οποίο αναπτύσσεται το µοντέλο είναι βολικόγιαεπεξεργασία. Για παράδειγµα το µοντέλο ενός κτιρίου κατασκευάζεται σε χαρτί ή το µοντέλο ενός αεροσκάφους σε µία µακέτα. Πλεονεκτήµατα ενός µοντέλου Ακριβής καθορισµός των απαιτήσεων έτσι ώστε όλοι οι εµπλεκόµενοι να τις κατανοούν µε κοινό τρόπο. Μοντέλα ενός συστήµατος λογισµικού κατασκευάζονται ώστε οι αναλυτές, προγραµµατιστές, διαχειριστές έργων, πελάτες και τελικοί χρήστες να κατανοήσουν το σύστηµα από την οπτική γωνία που τους ενδιαφέρει. Μελέτη του τρόπου σχεδίασης. Το µοντέλο ενός συστήµατος λογισµικού παρέχει τη δυνατότητα διερεύνησης διαφόρων αρχιτεκτονικών, µε οικονοµικό τρόπο, αρκετά πριν από την κωδικοποίηση. 5 6

2 Πλεονεκτήµατα ενός µοντέλου Παραγωγή χρήσιµων πρωτοτύπων. Το µοντέλο ενός συστήµατος λογισµικού µπορεί να χρησιµοποιηθεί για την παραγωγή πρωτοτύπων τα οποία µε τη σειρά τους θα αξιοποιηθούνγιατηδιερεύνησητωναπαιτήσεων. ιαχείριση περίπλοκων συστηµάτων. Τα σύγχρονα συστήµατα λογισµικού χαρακτηρίζονται από υψηλή πολυπλοκότητα όσον αφορά το µέγεθος τους, τον αριθµό των λειτουργιών τους, τον αριθµό των µονάδων που τα απαρτίζουν, το µέγεθος της οµάδας ανάπτυξης κ.ο.κ. Ένα µοντέλο µπορεί να συµβάλει στην αντιµετώπιση της πολυπλοκότητας εισάγοντας διάφορα επίπεδα αφαίρεσης, αποκρύπτοντας τον τεράστιο όγκο των λεπτοµερειών. UML Η UML αποτυπώνει τόσο τη στατική δοµή, όσο και τη δυναµικήσυµπεριφοράενόςσυστήµατος. Ένα αντικειµενοστραφές σύστηµα µοντελοποιείται ως µία συλλογή αντικειµένων που αλληλεπιδρούν για την εκτέλεση µίας λειτουργίας η οποία είναι τελικά αξιοποιήσιµη από τον χρήστητουσυστήµατος. Η στατική δοµή καθορίζει τα είδη των αντικειµένων που είναι σηµαντικά για το σύστηµα καθώς και τις συσχετίσεις µεταξύ τους. Η δυναµική συµπεριφορά προσδιορίζει την εξέλιξη των αντικειµένων σε σχέση µε τον χρόνο και την επικοινωνία µεταξύ τους. 7 8 Ιστορία της UML Partners Nov 97 UML approved by the OMG 9 Rational Software Corporation Hewlett-Packard I-Logix IBM ICON Computing Intellicorp MCI Systemhouse Microsoft ObjecTime Oracle Platinum Technology Taskon Texas Instruments/Sterling Software Unisys... -> ισχυρήδυναµική 0 Περιπτώσεις Χρήσης Περιπτώσεις Χρήσης Τα διαγράµµατα περιπτώσεων χρήσης στη UML χρησιµοποιούνται για τη µοντελοποίηση της συµπεριφοράς ενός συστήµατος, υποσυστήµατος ή κλάσης, όπως αυτή γίνεται αντιληπτήαπότονεξωτερικόχρήστη. Τα διαγράµµατα περιπτώσεων χρήσης διαµερίζουν τη λειτουργικότητα του συστήµατος σε συναλλαγές που έχουν νόηµα για τους χαρακτήρες (actors) - ιδανικούς χρήστες του συστήµατος. Τα επιµέρους τµήµατα της λειτουργικότητας ονοµάζονταιπεριπτώσειςχρήσης. Το σύνολο των περιπτώσεων χρήσης συνιστούν τη συµπεριφορά του συστήµατος. Ο τυπικός ορισµός µιας περίπτωσης χρήσης είναι µία ακολουθία συναλλαγών που πραγµατοποιείται από το σύστηµα για την παραγωγή µετρήσιµων αποτελεσµάτων που έχουν νόηµα για τον χρήστη. Σε κάθε διάγραµµα περίπτωσης χρήσης απεικονίζεται ένας χρήστης του συστήµατος (άνθρωπος ή άλλο σύστηµα) ως ένα σχηµατικόανθρωπάκι (stick person). Η ίδια η περίπτωση χρήσης, ως σύνολο λειτουργιών που έχουν κάποιονόηµαγιατοχρήστη, απεικονίζεταιωςµίαέλλειψη. Ο χρήστης ενεργοποιεί µία περίπτωση χρήσης αναµένοντας την εκτέλεση κάποια συµπεριφοράς. Η συσχέτιση µεταξύ χρήστη και περίπτωσης χρήσης απεικονίζεται µε µία ακµή µεταξύ τους ενώ η φοράτηςενεργοποίησηςµετηχρήσηπροσανατολισµένηςακµής. 2

3 Περιπτώσεις Χρήσης Περιπτώσεις Χρήσης Η απόφαση σχετικά µε τις απαιτήσεις που πρόκειται να υλοποιηθούν στο σύστηµα, είναι αρµοδιότητα και δικαίωµα των πελατών Ένας χαρακτήρας που αλληλεπιδρά µε το σύστηµα υπό διαφορετικό ρόλο κάθε φορά, αναγνωρίζεται ως διαφορετικός χρήστης. (Π.χ. ένας καθηγητής µπορεί να λειτουργεί είτε ως καθηγητής (Faculty) είτε ως πρόεδρος τµήµατος). ράσεις που ενεργοποιούνται από το ίδιο το σύστηµα δεν καταγράφονται ως περιπτώσεις χρήσης C ustomer Withdraw Deposit Check Balance Teller Open Account 3 4 Περιπτώσεις Χρήσης Ο ορισµός µιας περίπτωσης χρήσης περιλαµβάνει όλες τις δυνατές συµπεριφορές που εµπερικλείει (κανονική και εναλλακτική συµπεριφορά) Η άποψη του συστήµατος βάσει ενός µοντέλου περιπτώσεων χρήσης θεωρεί ότι η εκτέλεση κάθε περίπτωσης χρήσης είναι ανεξάρτητη από τις υπόλοιπες (ορθογωνικότητα), παρόλο που η υλοποίηση του συστήµατος µπορεί να συνεπάγεται έµµεσες εξαρτήσειςµεταξύτουςλόγωκοινώναντικειµένων. Η αναλυτική περιγραφή µιας περίπτωσης χρήσης προσδιορίζεται µε άλλους τύπους διαγραµµάτων της UML όπως τα διαγράµµατα καταστάσεων, διαγράµµατα αλληλεπίδρασης (διαγράµµατα ακολουθίας ή/και διαγράµµατα συνεργασίας) ή και άτυπες περιγραφέςκειµένου. 5 Περιπτώσεις Χρήσης Μία περίπτωση χρήσης µπορεί να συµµετέχει σε διάφορες σχέσεις µε άλλες περιπτώσεις χρήσης ή χαρακτήρες Συσχέτιση Επέκταση Γενίκευση Περιεκτικότητα Το µονοπάτι επικοινωνίας µεταξύ ενός χαρακτήρα και µιας περίπτωσης χρήσης στην οποία συµµετέχει Η προσθήκη επιπρόσθετης λειτουργικότητας σε µία βασική περίπτωση χρήσης (η προσθήκη εξαρτάται από το context) Μία συσχέτιση µεταξύ µιας γενικής περίπτωσης χρήσης και µίας ειδικότερης που κληρονοµεί στοιχεία συµπεριφοράς και προσθέτει νέα χαρακτηριστικά. Η προσθήκη επιπρόσθετης λειτουργικότητας σε µία βασική περίπτωση χρήσης (η οποία περιγράφει σαφώςτηνπερίπτωσηπουεµπεριέχεται) << extend >> << include >> 6 Περιπτώσεις Χρήσης Τεκµηρίωση Περιπτώσεων Χρήσης Supply Customer Data base use case <<include>> Place Order <<include>> Order Product inclusion use cases <<exten d>> <<include>> Arrange payment Pay Cash extension use case Request Catalog parent use case Arrange Credit a. Σύντοµηπεριγραφή Περιγραφή σε µία ή δύο σειρές της συµπεριφοράς που εκτελείται και των χρηστών της συγκεκριµένης περίπτωσης b. Προ-συνθήκες Συνθήκες που θα πρέπει να ισχύουν ώστε να είναι δυνατή η έναρξη της περίπτωσης χρήσης c. Κύρια ροή γεγονότων Περιγραφή υπό µορφή κειµένου της ακολουθία των γεγονότων πουλαµβάνουνχώραγιατηνυλοποίησητηςσυµπεριφοράς. d. Εναλλακτική ροή γεγονότων Περιγραφή εξαιρέσεων ή λανθασµένων καταστάσεων (π.χ. αντίδραση του συστήµατος σε µή έγκυρη είσοδο) e. Μετά-συνθήκες Συνθήκεςπουθαισχύουνµετάτηνοµαλήεκτέλεσητηςενλόγω περίπτωσης χρήσης. child use cases 7 8

4 Τεκµηρίωση Περιπτώσεων Χρήσης -Παράδειγµα Πελάτης Παραγγελία Υπολογιστή (έτοιµης σύνθεσης) 9 Τεκµηρίωση Περιπτώσεων Χρήσης -Παράδειγµα a. Σύντοµηπεριγραφή Η περίπτωση χρήσης επιτρέπει σε έναν Πελάτη να δώσει µία παραγγελία αγοράς υπολογιστή. Η περίπτωση χρήσης περιλαµβάνει και την εισαγωγή διεύθυνσης αποστολής και λεπτοµέρειες πληρωµής b. Προ-συνθήκες Ο Πελάτης επιλέγει µέσω ενός Internet browser τη σελίδα όπου ο κατασκευαστής επιτρέπει την αίτηση παραγγελίας. Η σελίδα παρουσιάζει τα χαρακτηριστικά του υπολογιστή και την τιµή του c. Κύρια ροή γεγονότων Η περίπτωση χρήσης ξεκινά όταν ο Πελάτης αποφασίσει να παραγγείλει την έτοιµη σύνθεση επιλέγοντας τη λειτουργία Συνέχεια (ή µε παρόµοιο όνοµα) όταν οι λεπτοµέρειες της παραγγελίας φαίνονται στην οθόνη. Το σύστηµα ζητά από τον πελάτη να εισάγει το ονοµατεπώνυµο του, τη διεύθυνση του, τον τρόπο πληρωµής (µετρητά ή κάρτα) και οποιαδήποτε σχόλια. Ο Πελάτης επιλέγει τη λειτουργία Αγορά για την αποστολή της παραγγελίας στον κατασκευαστή. Το σύστηµα αναθέτει έναν µοναδικό αριθµό στην παραγγελία και αποθηκεύει τον αριθµό στη βάση δεδοµένων. Ο αριθµός αποστέλλεται και µε στον 20 πελάτη µαζί µε την επιβεβαίωση της παραγγελίας Τεκµηρίωση Περιπτώσεων Χρήσης -Παράδειγµα Στατική Άποψη d. Εναλλακτική ροή γεγονότων Ο χρήστης επιλέγει τη λειτουργία Αγορά πριν την εισαγωγή των απαραίτητων στοιχείων. Το σύστηµα εκτυπώνει ένα µήνυµα σφάλµατος και ζητά την πληροφορία που λείπει. Ο χρήστης επιλέγει τη λειτουργία Επανεκκίνηση για να επιστρέψει σε άδεια φόρµα εισαγωγής στοιχείων. Το σύστηµα επιτρέπει στον πελάτη να ξαναεισάγει στοιχεία. e. Μετά-συνθήκες Αν η περίπτωση χρήσης είναι επιτυχής, η παραγγελία καταχωρείται στη βάση δεδοµένων. Αλλιώς, η κατάσταση του συστήµατος παραµένει αναλλοίωτη. Η στατική άποψη ενός µοντέλου είναι θεµελιώδης στη UML καθώςαποτυπώνειτηναρχιτεκτονικήτουσυστήµατος (µονάδες + µεταξύ τους σχέσεις) Σε ένα αντικειµενοστρεφές σύστηµα τα δοµικά του στοιχεία είναι οι κλάσεις και οι σχέσεις µεταξύ των κλάσεων επιτρέπουν τη συνεργασία των αντικειµένων τους Τα διαγράµµατα κλάσεων αποτυπώνουν τη στατική δοµή Πολύ συχνά, τα διαγράµµατα κλάσεων είναι το µόνο είδος διαγραµµάτων που χρησιµοποιείται λόγω των πληροφοριών που παρέχει σχετικά µε τον κώδικα 2 22 ιαγράµµατα Κλάσεων ιαγράµµατα Κλάσεων Άτοµο Φο ιτητής - όνοµα - ΑΜ - Ηµ.Γεν. - ΜΟ - όνοµα : string - ΑΜ : string - Ηµ.Γεν. : Date - ΜΟ : float αφηρηµένη (abstract) κλάση - όνοµα : string - ΑΜ : string - Ηµ.Γεν. : Date - ΜΟ : float = όνοµα : string - ΑΜ : string - Ηµ.Γεν. : Da te - tot alstudents : int static attribute - όνοµα : string - ΑΜ : string - Ηµ.Γεν. : Date - όνοµα : string - ΑΜ : string - Ηµ.Γεν. : Date + εγγ ραφήσεμ άθηµα() + άφησε() + εκτύπωσεονοµα() + εγγραφήσε( x) : boolean + άφησε() + εκτύπωσεονοµα() Συχνά δεν είναι πρακτικό να αναπαριστώνται όλες οι ιδιότητες και λειτουργίες. Λειτουργίες get() και set() δεν φαίνονται συνήθως σε διαγράµµατα κλάσεων 24

5 Στατική Άποψη Employee - Na me : String - ID : Integer - Salary : Integer + printsalary(id : Integer) + printname(id : Integer) Οι ιδιότητες των κλάσεων προσδιορίζονται µε τον ακόλουθο συµβολισµό: ορατότητα όνοµα : τύπος = προκαθορισµένη_τιµή Ορατότητα Η ορατότητα µπορεί να λάβει τις τιµές: δηµόσια (public) συµβολίζεταιµε (+), προστατευµένη (protected) συµβολίζεταιµε (#) ιδιωτική (private) συµβολίζεταιµε (-). - µία ιδιότητα µε δηµόσια ορατότητα είναι απευθείας προσπελάσιµη από άλλες κλάσεις (και αντικείµενα) - µία ιδιότητα µε ιδιωτική ορατότητα είναι προσπελάσιµη µόνο απότηνίδιατηνκλάση - µία ιδιότητα µε προστατευµένη ορατότητα είναι προσπελάσιµη µόνοαπότηνίδιατηνκλάσηκαιτιςυποκείµενεςκλάσειςτης Λειτουργίες Σχέσεις Οι λειτουργίες των κλάσεων προσδιορίζονται µε τον ακόλουθο συµβολισµό: ορατότητα όνοµα (λίστα παραµέτρων) : επιστρεφόµενος_τύπος παράµετροι,2,, n Όνοµα επιστρεφόµενος τύπος Αριθµός Μητρώου Εύρεση ονόµατος φοιτητή Σχέση Λειτουργία Συµβολισµός Συσχέτιση Περιγραφή µιας διασύνδεσης µεταξύ αντικειµένων Εξάρτηση Μία σχέση εξάρτησης µεταξύ δύο στοιχείων ενός µοντέλου Ροή Μία συσχέτιση µεταξύ δύο εκδόσεων ενός αντικειµένου σε διαδοχικές χρονικές στιγµές Γενίκευση Μία συσχέτιση µεταξύ µιας γενικής περιγραφής και µιας ειδικότερης περίπτωσης - υποδηλώνει κληρονοµικότητα Υλοποίηση Σχέση µεταξύ µιας προδιαγραφής και της υλοποίησής της Χρήση Μία κατάσταση κατά την οποία ένα στοιχείο του µοντέλου απαιτεί την ύπαρξη κάποιου άλλου για την ορθή λειτουργία του αλφαριθµητικό 27 Σύνθεση - Σχέση περιεκτικότητας 28 Συσσωµάτωση µεταξύ στοιχείων Συσχέτιση (Association) Οι συσχετίσεις παρέχουν τις διασυνδέσεις βάσει των οποίων τα αντικείµενα διαφόρων κλάσεων µπορούν να αλληλεπιδρούν και να ανταλλάσσουνµηνύµατα. Οι συσχετίσεις είναι η "κόλλα" του συστήµατος: χωρίς συσχετίσεις υπάρχουνµόνοανεξάρτητεςκλάσειςπουδενσυνεργάζονται. Κάθε συσχέτιση έχει δύο άκρα τα οποία είναι δυνατόν να ονοµαστούνώστεναπροσδιορίζουνρόλους. Η σηµαντικότερη ιδιότητα των άκρων είναι η πολλαπλότητα (multiplicity) που υποδηλώνει τον αριθµό των στιγµιοτύπων µιας κλάσης που µπορούν να συσχετιστούν µε ένα στιγµιότυπο µιας άλλης κλάσης. Μία συσχέτιση συµβολίζεται µε µία συνεχή γραµµή που συνδέει τις κλάσειςπουσυµµετέχουν. Συσχέτιση (Association) πολλαπλότητες εδώ όν οµα_συσχέτ ισης Class Class 2 +ρόλος κλάσης +ρόλος κλάσης 2 Αυτοσυσχέτιση: Σχέση µεταξύ διαφορετικών αντικειµένων της ίδιας κλάσης προαπαιτούµενο 29 30

6 Πολλαπλότητες Οποιοσδήποτε αριθµός αντικειµένων Ακριβώς ένα αντικείµενο n Ακριβώς n αντικείµενα (όπου nακέραιος) 0.. Μηδένήένα ένα αντικείµενα (υποδηλώνει ότιη συσχέτιση είναι προαιρετική) n....m Εύρος τιµών µε µικρότερη δυνατή τιµή nκαι µέγιστη τιµή m n, m ιακριτοί συνδυασµοί (π.χ. ένα αυτοκίνητο µπορεί να έχει 2 ή 4 πόρτες) UML Παραδείγµατα Πολλαπλότητας Ένας διατηρεί ακριβώς ένα Αντίγραφο, ενώ ένα Αντίγραφο ανήκει σε έναν ακριβώς Φοιτητή διατηρεί ένα εργάζεται σε..n προεδρεύει σε 0.. Αντίγραφο Τµήµα Τµήµα 3 0..n παρακολουθεί 0..n 32 υνατότητα Πλοήγησης Employee +staff 0.. Συσσωµάτωση -Σύνθεση ΣχέσειςΣυνόλου-Τµήµατος (Whole part) Συσσωµάτωση (Aggregation) Σύνθεση (Composition) δυναµικό τµήµατος Αυτοκίνητο Αυτοκίνητο +unit? Department Αναγνωσιµότητα (ωστόσο δεν είναι αυτός ο σκοπός ύπαρξης της δυνατότητας πλοήγησης!!) 4 Τροχός 4 Τροχός συµβουλεύει παρακολουθεί "Ένας καθηγητής συµβουλεύει πολλούς φοιτητές" και "Οι φοιτητές παρακολουθούν πολλά µαθήµατα". 33 συνήθως η συσσωµάτωση - σύνθεση δεν ονοµάζεται καθώς πάντοτε σηµαίνει περιέχει 34 Συσσωµάτωση -Σύνθεση 3.. Σηµείο UML Παραδείγµατα Πολλαπλότητας Πολλαπλότητα µπορεί να υπάρξει και σε αυτοσυσχετίσεις προαπαιτούµενο για Πολύγωνο Κύκλος 0..n και σε συσσωµατώσεις - συνθέσεις 0..n Στυλ - χρώµα Οι συνθέσεις στην κλάση "Σηµείο" υποδηλώνουν ότι το σηµείο αποτελεί τµήµα ενός πολυγώνου είτε ενός κύκλου, αλλά καθώς η διαχείριση του πραγµατοποιείται από αυτές τις κλάσεις, ένα σηµείο δεν µπορεί να ανήκει ταυτοχρόνως και σε ένα Πολύγωνο καισεένακύκλο. Η κλάση "Στυλ" ωστόσο, συσχετίζεται µε συσσωµάτωση και κατά συνέπεια ένα στυλ µπορείναµοιράζεταιµεταξύπολλώνπολυγώνωνκαιπολλώνκύκλων. Επιπλέον, η διαγραφή ενός Πολυγώνου συνεπάγεται τη διαγραφή των συσχετισµένων 35 µεαυτόσηµείωναλλάόχιτηδιαγραφήτουσυσχετισµένουµεαυτόστυλ. Πλάνο Σπουδών n n 36

7 Γενίκευση Τεχνικός - αµοιβή/ωρα : double Υπάλληλος - όνοµα : string - κωδικός : s tring + υπολογισµόςμισθού() ιοικητικός Υπάλληλος - αµοιβή/μήνα : double Η σχέση γενίκευσης αφορά µία σχέση µεταξύ µιας γενικής περιγραφής και µιας ειδικότερης περιγραφής που την επεκτείνει. Η ειδικότερη περιγραφή είναι απολύτως συνεπής µε την γενική (έχει τις ίδιες ιδιότητες, λειτουργίες και σχέσεις) αλλά µπορεί να περιλαµβάνει επιπρόσθετη πληροφορία. Πωλητής - αµοιβή/mήνα : double - bonus : double 37 Γενίκευση Ο πρώτος σκοπός της γενίκευσης είναι η δυνατότητα υποκατάστασης (substitutability principle) που αναφέρεται στη δυνατότητα χρήσης µιας υποκείµενηςκλάσηςότανέχειδηλωθείµίαυπερκείµενηκλάση. Για παράδειγµα, αν µία µεταβλητή τύπου "Επιχείρηση" έχει δηλωθεί ότι περιλαµβάνει "Υπαλλήλους", τότε ένα αντικείµενο "Τεχνικός" θα πρέπει να είναι επιτρεπτή τιµή για έναν υπάλληλο. Οδεύτεροςσκοπόςτηςγενίκευσηςείναιησταδιακήπεριγραφήενόςστοιχείου, αξιοποιώντας την περιγραφή των προγόνων του, αρχή που συναντάται ως κληρονοµικότητα. Με τον µηχανισµό της κληρονοµικότητας, η περιγραφή (ιδιότητες και λειτουργίες) µιας κλάσης, κατασκευάζεται τόσο από την περιγραφή της ίδιας της κλάσης όσο και από τις περιγραφές των υπερκείµενων κλάσεων. Παρόλο που µία λειτουργία µπορεί να δηλωθεί σε περισσότερες από µία κλάσεις που συνδέονται µε κληρονοµικότητα, µία ιδιότητα δεν θα πρέπει να δηλωθείπερισσότερεςαπόµίαφορές. Η υλοποίηση µιας λειτουργίας (µέθοδος) σε µία υποκείµενη κλάση επικαλύπτει οποιαδήποτεµέθοδοµετοίδιοόνοµασευπερκείµενεςκλάσεις. 38 Πολλαπλή Κληρονοµικότητα Αν µία κλάση έχει πολλαπλές γονικές κλάσεις, κληρονοµεί την περιγραφή κάθε µίας από αυτές. Οι ιδιότητες και οι λειτουργίες είναι η ένωση των ιδιοτήτων καιλειτουργιώντωνγονικώνκλάσεων. Εργαζόµενος - µισθός : Int eger Πολίτης - Αρ.Ταυτότητας : string UML Παραδείγµατα Πολλαπλότητας ενείναιλογικόναυπάρχειπολλαπλότητασεσχέσειςκληρονοµικότητας, καθώς η κληρονοµικότητα αφορά κλάσεις και όχι αντικείµενα Γονική Κλάση Υποκείµενη Κλάση + υπολογισµός φόρου() + φορολογική έκπτωση() Υποδηλώνει ότι κάθε αντικείµενο της υποκείµενης κλάσης είναι ταυτοχρόνως και αντικείµενο της γονικής κλάσης Ιδ. Υπάλληλος - εταιρεία : string Η κλάση αυτή κληρονοµεί τις ιδιότητες και λειτουργίες και των δύο γονικών κλάσεων Αν θέλουµε να παραστήσουµε κάποιου είδους σχέση µεταξύ αντικειµένων των δύο κλάσεων, µπορούµε να εισάγουµε µία ξεχωριστή συσχέτιση Άτοµο είναι σύζυγος του Περιορισµοί (Constraints) Κλάσεις Συσχετίσεων Έναςπεριορισµόςείναιµίαλογικήσυνθήκη (έκφραση Boole) πουπρέπειναείναιαληθήςγιαναλάβειχώραµίαενέργειαήµία συσχέτιση. Η UML επιτρέπει τον καθορισµό περιορισµών µε οποιοδήποτε τρόπο (αρκείηπεριγραφήναβρίσκεταιµέσασεάγκιστρα { } ). Ωστόσο, η UML περιλαµβάνει τον ορισµό µιας τυπικής γλώσσας περιορισµών (Object Constraint Language - OCL). Άτοµο Ηλικιωµένος + έκπτωση() Μέλος-της {υποσύνολο} Πρόεδρος-της Επιτροπή Επιβάτης Συχνάµίαιδιότητααναγνωρίζεταιωςσηµαντικήγιατοµοντέλο, ωστόσο δεν εντοπίζεται ότι ανήκει µε ιδανικό τρόπο σε κάποια κλάση. Έστω για παράδειγµα η περίπτωση µιας συσχέτισης µεταξύ ενός Φοιτητή και µιας ς για ένα µάθηµα που παρακολουθεί: Φοιτ ητής παρακολουθεί - ηλικία {Επιβάτης.ηλι κί α > 65} 4 42 Στο τέλος κάθε εξαµήνου, ο φοιτητής λαµβάνει τη βαθµολογία για το µάθηµα του οποίου την τάξη παρακολούθησε. Ωστόσο, που ανήκει η ιδιότητα Βαθµός ; - εν πρόκειται για ιδιότητα της κλάσης διότι ένας φοιτητής δεν λαµβάνει ένα συγκεντρωτικό βαθµό για όλες τις τάξεις που παρακολούθησε αλλά ένα διαφορετικό βαθµό για κάθε τάξη. - εν πρόκειται για ιδιότητα της κλάσης διότι οι φοιτητές πουπαρακολουθούνµίατάξηδενλαµβάνουντονίδιοβαθµό.

8 Κλάσεις Συσχετίσεων Εξετάζοντας µία τέτοια κατάσταση, καταλήγουµε στο ότι ο βαθµός είναι στην πραγµατικότητα µία ιδιότητα τηςσυ συσχέτισης µεταξύ ενός αντικειµένου και ενός αντικειµένου. Στη UML, για τη φιλοξενία ιδιοτήτων που ανήκουν στη συσχέτιση δηµιουργούµε µία ξεχωριστή κλάση, γνωστή ως κλάση συσχέτισης (association class), η οποία συµβολίζεται ως εξής: παρακολουθεί Κλάσεις Συσχετίσεων Ωστόσο, κάθε φορά που εντοπίζεται µία κλάση συσχέτισης σε ένα διάγραµµα κλάσεων, θα πρέπει να είναι γνωστό ότι υπάρχει εναλλακτική δυνατότητα αναπαράστασης της ίδιας κατάστασης χωρίςτηχρήσηκλάσηςσυσχέτισης. Στην περίπτωση µιας συσχέτισης πολλά-προς-πολλά στην οποία εµπλέκεται και µία κλάση συσχέτισης, η συσχέτιση µπορεί να διασπαστεί σε δύο ένα-προς-πολλά συσχετίσεις, εισάγοντας την κλάσηπουπροηγουµένωςήτανηκλάσησυσχέτισηςως 'κανονική' κλάσηµεταξύτωνδύοάλλων. Βαθµολογία - Βαθµός : int λαµβάνει Βαθµολογία - Βαθµός : int παρακολουθεί καταχωρεί Κλάσεις Συσχετίσεων Σε περίπτωση που µία κλάση συσχέτισης υπάρχει σε µία συσχέτιση ένα-προς-πολλά όπως στο ακόλουθο παράδειγµα εργάζεται για Τµήµα οµοναδικόςλόγοςπουο Μισθοδοσία καθηγητήςέχειέναµισθό, - µισθός : float είναι ότι εργάζεται για ένα τµήµα οι ιδιότητες της κλάσης συσχέτισης µπορούν, θεωρητικά, να ενσωµατωθούν στην κλάση µε πολλαπλότητα πολλά Μείωση της πληροφορίας ηγνώσηαυτήχάνεταιµετην απαλοιφή της κλάσης συσχέτισης - µισθός : float εργάζεται για Σχέσηαιτίου-αιτιατού: Τµήµα 45 Πλεονάζουσα Πληροφορία Η ύπαρξη µιας συσχέτισης υπονοεί τη χρήση ιδιοτήτων ως δείκτες σε όλες τις συσχετιζόµενες κλάσεις: προσφέρεταιως προσφέρεται ως Κίνδυνος διπλής παραγωγής ιδιοτήτων στον κώδικα n αντιπροσωπεύει 46 Πλεονάζουσα Πληροφορία 2 Συχνά εισάγεται πλεονάζουσα πληροφορία υπό µορφή ιδιοτήτων: όνοµα τίτλος µαθήµατα getname( ) προεδρεύει 0.. Η πληροφορία ορθά ενσωµατώνεται εδώ Τµήµα όνοµα αριθµόςεισακτέων όνοµαπροέδρου Αλλά κακώς επαναλαµβάνεται εδώ 47 Ροή της Πληροφορίας Στην πράξη, κάθε γραµµή συσχέτισης σε ένα διάγραµµα, θα πρέπει να θεωρείται ως ένας νοητικός αγωγός δια µέσου του οποίου µπορεί να ρέει η πληροφορία µεταξύ αντικειµένων. Στη φάση της ανάλυσης, δεν θα πρέπει να ανησυχούµε για την ορατότητα κάθε ιδιότητας; Υποθέτουµε ότι όλες οι τιµές των ιδιοτήτων είναι διαθέσιµες καλώντας τις κατάλληλες get µεθόδους Έστω ότι κάποιος χρήστης επιθυµεί να αποκτήσει µία λίστα όλων των καθηγητών που έχουν διδάξει το µάθηµα Εισαγωγή στον Αντικειµενοστραφή Προγραµµατισµό. Επειδή κάθε αντικείµενο τύπου διατηρεί δείκτες προς όλες τις Τάξεις, τωρινές ή παρελθοντικές, το αντικείµενο µπορεί να ρωτήσει τις συσχετιζόµενες Τάξεις το όνοµα του Καθηγητή που δίδαξεήδιδάσκειτηναντίστοιχη. 48

9 Ροή της Πληροφορίας Ποιοι καθηγητές σε δίδαξαν? Με δίδαξαν οι Smith και Jones Αντικείµενο ενξέρω. Θα ελέγξω! Και εσένα ποιος σε δίδαξε? Αντικείµενο XXX δείκτης Ποιος σε δίδαξε? Αντικείµενο Αντικείµενο zzz ενξέρω. Θα ελέγξω! Μεδίδαξεο καθηγ. Smith δείκτης Αντικείµενο Ψιτ! Πώςσε λένε? Αντικείµενο Smith Jones.πιο συστηµατικός τρόπος ανάλυσης τέτοιας συνοµιλίας είναιτα 49 διαγράµµατα ακολουθίας Ροή της Πληροφορίας Σε περίπτωση που από την ανάλυση προέκυπτε ότι συχνά απαιτούνταν να γνωρίζουµε ποιοι καθηγητές δίδαξαν ένα µάθηµα, θα µπορούσαµε να επιλέξουµε να προσθέσουµε µια πλεονάζουσα συσχέτιση µεταξύ Καθηγητή και Μαθήµατος - ονοµα - αριθµός - ιδακτ.μον < δίδαξε προσφέρεται ως > n + : ταχύτητα - : πολυπλοκότητα (σε κάθε αλλαγή καθηγητή απαιτείται ενηµέρωση 2 δεσµών) - ονοµα - ειδικότητα διδάσκει > - αριθµός - ώρα - ηµέρα - εξάµηνο 50 Μίξη Συµβολισµών 0.. χρηµατοδοτεί R&D.. Πανεπιστήµιο.. Σχολή.. Τµήµα απασχολεί συσχέτιση κλάσεων σε διαφορετικά επίπεδα µιας σύνθεσης Απόγονοι σε µία σχέση τύπου είναι κληρονοµούντιςσυσχετίσεις, δηλ. ένας φοιτητής µπορεί να εργάζεται για ένα τµήµα ένας καθηγητής µπορεί να είναι σύµβουλοςενόςατόµου (Καθηγητή) ήφοιτητή). τι θα σήµαινε? Άτοµο συµβουλεύει συµβουλεύει UML ιαγράµµατα Αντικειµένων Συχνά, για την επεξήγηση του τρόπου µε τον οποίο τα αντικείµενα αλληλεπιδρούν στα πλαίσια ενός σεναρίου, απαιτείται να παρασταθούν τα αντικείµενα και οι δεσµοί µεταξύ τους. Για το λόγο αυτό δηµιουργούνται διαγράµµατα αντικειµένων. Ένα διάγραµµα αντικειµένων είναι ένα χρονικό στιγµιότυπο µιας κατά τα άλλα δυναµικής δοµής γραµµή: αντικείµενο, όχι κλάση Αν θέλουµε να δείξουµεότιο ρ. Νικολάου είναι ο σύµβουλος τριών φοιτητών Γιάννης Χρήστου : ρ. Νικολάου : συµβουλεύει συµβουλεύει συµβουλεύει : : ανώνυµα αντικείµενα 5 +σύµβουλος : 52 Συσχετίσεις ως Ιδιότητες Έστω το ακόλουθο διάγραµµα της συσχέτισης ένα προσφέρεται ως προσφέρεται ως n FA5F FFAF Τι σηµαίνει ότι δύο αντικείµενα συσχετίζονται? FDE5 Κάθε αντικείµενο διατηρεί έναν δείκτη προς το άλλο, ώστε να µπορούν να επικοινωνούν και να συνεργάζονται - προσφέρεταιως[ ] : - αντιπροσω πεύει : 53 Μοντελοποίηση της υναµικής Συµπεριφοράς Μέχρι στιγµής µελετήθηκε η στατική δοµή του συστήµατος Στοιχεία του διαγράµµατος κλάσεων: Κλάσεις Συσχετίσεις Ιδιότητες Ιεραρχικές σχέσεις (κληρονοµικότητα) Λειτουργίες/Μέθοδοι??? Καθορισµός των µεθόδων συνιστά µοντελοποίηση της δυναµικής συµπεριφοράς του συστήµατος Κατά την ανάπτυξη του δυναµικού µοντέλου ενδέχεται να προκύψουν βελτιώσεις της στατικής δοµής 54

10 Άποψη Αλληλεπίδρασης Σε ένα αντικειµενοστραφές σύστηµα, η συµπεριφορά υλοποιείται από την αλληλεπίδραση αντικειµένων. Αυτή η αλληλεπίδραση περιγράφεται στα πλαίσια ενός µοντέλου της UML µε δύο είδη συµπληρωµατικών διαγραµµάτων, τα διαγράµµατα ακολουθίας καιταδιαγράµµατασυνεργασίας. Τα διαγράµµατα αυτά, και ιδιαίτερα τα διαγράµµατα ακολουθίας δενχρησιµοποιούνταιµόνογιατηντεκµηρίωσητουσυστήµατος, αλλά και για τη διερεύνηση διαφόρων σεναρίων χρήσης του συστήµατος µε σκοπό τον εντοπισµό των λειτουργιών κάθε αντικειµένου Τα διαγράµµατα ακολουθίας (και συνεργασίας) είναι κατάλληλα γιατηναπεικόνισητηςστατικήςσυµπεριφοράςτωναντικειµένων. Ως στατική συµπεριφορά ενός αντικειµένου νοείται το σύνολο των λειτουργιών που δεν εξαρτώνται από εσωτερικά ή εξωτερικά γεγονότα. (Η λειτουργία υπολογισµού της τετραγωνικής ρίζας ενός 55 αριθµού αποτελεί περίπτωση στατικής συµπεριφοράς) Άποψη Αλληλεπίδρασης Ηστατικήάποψηπεριγράφειτιςεγγενείςιδιότητεςµιαςκλάσης. Η περιγραφή συµπεριφοράς συνίσταται στο σύνολο των µηνυµάτων που ανταλλάσσονται από τα αντικείµενα που αντιστοιχούν στους ρόλους. Ένα τέτοιο σύνολο µηνυµάτων µιας συνεργασίαςονοµάζεταιαλληλεπίδραση (interaction). Ένα µήνυµα είναι µία µονόδροµη επικοινωνία µεταξύ δύο αντικειµένων, µία ροή ελέγχου µε πληροφορία από έναν αποστολέα προς έναν αποδέκτη. Ένα µήνυµα µπορεί να έχει παραµέτρουςµεταφέρονταςτιµέςµεταξύτωναντικειµένων. Η ακολουθία των µηνυµάτων παρουσιάζεται είτε µε διαγράµµατα ακολουθίας που εστιάζουν στην χρονική ακολουθία των µηνυµάτων είτε µε διαγράµµατα συνεργασίας που εστιάζουν στις σχέσεις µεταξύ των αντικειµένων που ανταλλάσσουν µηνύµατα 56 ιαγράµµατα Ακολουθίας (Sequence Diagrams) Ένα διάγραµµα ακολουθίας παρουσιάζει την αλληλεπίδραση µεταξύ αντικειµένων σε δύο διαστάσεις, όπου: - η κάθετη διάσταση αντιστοιχεί στην κλίµακα του χρόνου -ηοριζόντιαδιάστασησταανεξάρτητααντικείµενα. Σε κάθε αντικείµενο αντιστοιχεί µία κάθετη γραµµή που ονοµάζεται γραµµή ζωής (lifeline). Για όσο χρόνο ένα αντικείµενο υφίσταται, η γραµµή αυτή είναι διακεκοµµένη ενώ για όσο χρόνο µία διαδικασία του εν λόγω αντικειµένου είναι ενεργή η γραµµήζωήςσχεδιάζεταιωςµίαδιπλήγραµµή. Έναµήνυµασυµβολίζεταιωςµίαακµήαπότηγραµµήζωήςενός αντικειµένου προς τη γραµµή ζωής ενός άλλου. Η θέση των ακµών αντιστοιχεί στην τοποθέτησή τους σε σχέση µε τον χρόνο (µία ακµή χαµηλότερα από µία άλλη αντιστοιχεί σε µεταγενέστερο χρόνο). Απαντήσεις σε µηνύµατα υποδηλώνονται ως οριζόντιες 57 διακεκοµµένες ακµές Σενάρια Τα γεγονότα που ξεκινούν έξω από το σύστηµα, ενεργοποιούνται σε τυχαίες χρονικές στιγµές και κατά συνέπεια δεν µοντελοποιούνται Τα εσωτερικά γεγονότα όµως που ενεργοποιούνται ως απόκριση στα εξωτερικά, δενπρέπειναεµφανίζονταιτυχαία. Απαιτείται εποµένως η οργάνωση και µοντελοποίησή τους κατά τρόπο αιτίου-αιτιατού, ώστε να επιτυγχάνεται το επιθυµητό αποτέλεσµα Ένα σενάριο καταγράφει την αλληλουχία των εσωτερικών µηνυµάτων που πρέπει να λάβει χώρα, ώστε να ολοκληρωθεί (από την αρχή µέχρι το τέλος) µία λειτουργία του συστήµατος Πελάτης Παραγγελία Υπολογιστή (έτοιµης σύνθεσης) Σενάριο Α Σενάριο Β Σενάριο Γ από κάθε σενάριο προκύπτει ένα διάγραµµα ακολουθίας 58 ιαγράµµατα Ακολουθίας (Sequence Diagrams) Fred : Student Fred : : Πρόγραµµα Μαθηµάτων ΠλάνοFred : Πλάνο Σπουδών ΑντίγραφοFred : Αντίγραφο OBJ0 : : actor : insertcard (customer) : Kiosk : Server : CreditService : Εισαγωγή 2: παρουσίαση προγράµµατος 3: πρόγραµµα παρουσιάστηκε 2: pickdate (date) 4: αίτηση θέσης 3: offer (seatchoice) 5: έλεγξε πλάνο σπουδών 4: select (seats) 6: ΟΚ 5: subm it (or der) 6: charge (customer, amount) 7: έλεγξε προαπαιτούµενα 8: ΟΚ 8: OK 7: c onfi rm at io n 9: επιβεβαίωση διαθεσιµότητας 9: print (order) 0: πρόσθεσε Μ άθηµα : εκτύπωση µηνύµατος επιβεβαίωσης 59 60

11 ιαγράµµατα Ακολουθίας Τα διαγράµµατα ακολουθίας είναι εξαιρετικά χρήσιµα για τον εντοπισµόλειτουργιώνστιςδιάφορεςκλάσεις. Αν ένα αντικείµενο λαµβάνει ένα µήνυµα alpha, συνεπάγεται ότι η κλάση στην οποία ανήκει το εν λόγω αντικείµενο θα πρέπειναέχειµίαµέθοδοµετοίδιοόνοµαγιαναεξυπηρετεί τοναποστολέα. (Joe kicked the ball!) Υπονοείται επίσης, ότι αφού δύο αντικείµενα επικοινωνούν µεταξύ τους µέσω µηνυµάτων, θα πρέπει να υπάρχει κάποιου είδους συσχέτισηµεταξύτουςπουθαλειτουργείωςδίαυλοςεπικοινωνίας. Για παράδειγµα, αν ένα αντικείµενο Α στέλνει ένα µήνυµα ζητώντας κάποιαλειτουργίααπόένααντικείµενοβ, τοαθαπρέπειµεκάποιο τρόπο να γνωρίζει που να αποστείλει το µήνυµα. Αν αυτό συνεπάγεται την ύπαρξη µιας µονόδροµης συσχέτισης µεταξύ των αντίστοιχων κλάσεων, θα πρέπει κατά την υλοποίηση του συστήµατος, στο συγκεκριµένο αντικείµενο Α να γνωστοποιηθεί η 6 θέση του αντικειµένου Β Γεγονότα Η αλληλεπίδραση µεταξύ αντικειµένων ενεργοποιείται από γεγονότα Γεγονόςείναιοποιοδήποτεεξωτερικόερέθισµασεένααντικείµενo, που σηµατοδοτείται ως λήψη ενός µηνύµατος. Ένα γεγονός µπορεί να ενεργοποιείται από: εξωτερικούς χρήστες (click στο mouse) άλλα υπολογιστικά συστήµατα (λήψη ενός ) άλλο αντικείµενο στο ίδιο σύστηµα (αλυσιδωτή ενεργοπ.) την πάροδο του χρόνου 62 Γεγονότα Όταν ένα αντικείµενο ειδοποιηθεί για ένα γεγονός µέσω µηνύµατος: µπορεί να αλλάξει την κατάστασή του class Professor { public: addstudent(student s) {πρόσθεσε το s στο supervisedstudents;} private: }; std::list<student> supervisedstudents; Γεγονότα Όταν ένα αντικείµενο ειδοποιηθεί για ένα γεγονός µέσω µηνύµατος: µπορεί να στείλει µήνυµα (γεγονός) σε άλλο αντικείµενο class Section { public: addstudent(student s) { στείλε µήνυµα στο course; } private: }; Course course; ένα άλλο αντικείµενο µπορεί να χειρίζεται τηνεκτύπωσηήτην εµφάνιση στην οθόνη addstudent (&Joe) Professor Joe addstudent (Joe) Professor enrollstudent (Joe) Math0 63 Κλασσικό παράδειγµα delegation (κατανοµής αρµοδιοτήτων) όπου ένα αντικείµενo υποστηρίζει µία λειτουργία άλλου αντικειµένου 64 Γεγονότα Όταν ένα αντικείµενο ειδοποιηθεί για ένα γεγονός µέσω µηνύµατος: µπορεί να επιστρέψει µία τιµή class Section { public: whatisthecapacity() { επιστροφή τιµής capacity; } private: }; Course course; int capacity; 25 whatisthecapacity ( ) Section Γεγονότα Όταν ένα αντικείµενο ειδοποιηθεί για ένα γεγονός µέσω µηνύµατος: µπορεί να αγνοήσει το γεγονός Έστω ότι ο λαµβάνει το µήνυµα Προσθήκη ενός Φοιτητή στους Επιβλεπόµενους Αν ο φοιτητής είναι ήδη εγγεγραµµένος στη λίστα, το αντικείµενο δενθακάνειτίποτα δηλαδήδενθααλλάξεικατάσταση, ούτε θα αποστείλει νέο µήνυµα (απλοποίηση) Κλασσικό παράδειγµα get συνάρτησεων 65 66

12 ιαγράµµατα Ακολουθίας Κατά τη µελέτη σεναρίων (ανάπτυξη διαγραµµάτων ακολουθίας) είναι πιθανό να προκύψουν νέες κλάσεις, ιδιότητες καισχέσειςκαισυνεπώςνατροποποιηθείτοστατικόµοντέλο. Κάτι τέτοιο συµβαίνει συχνά και είναι επιθυµητό Αν για παράδειγµα από τη µελέτη διαφόρων διαγραµµάτων ακολουθίας προκύπτει ότι δύο αντικείµενα αποκρίνονται µε τον ίδιο τρόπο στα διάφορα δυνατά µηνύµατα, τότε τα δύο αυτά αντικείµενα είτε θα ανήκουν στην ίδια κλάση είτε θα ανήκουν σε κλάσειςπουσυνδέονταιµεσχέσηκληρονοµικότητας. Υπό αυτή την έννοια, η επαναληπτική εξέταση διαγραµµάτων ακολουθίας και διαγραµµάτων κλάσεων οδηγεί στην ανάπτυξη του τελικού συστήµατος, πολύ πριν αρχίσει η φάση της κωδικοποίησης. Θα πρέπει να γίνει κατανοητό, ότι αυτή η επαναληπτική διαδικασία στη φάση της ανάλυσης βρίσκεται στο επίκεντρο της αντικειµενοστραφούς µεθοδολογίας για την 67 ανάπτυξη συστηµάτων Χρήση ιαγρ. Ακολουθίας για τον καθορισµό Μεθόδων -Όλες οι ακµές που αντιπροσωπεύουν απόκριση από µία λειτουργία που εκτέλεσε κάποιο άλλο αντικείµενο, δεν µοντελοποιούνται ως µέθοδοι - Αυτό-κλήσεις υποδηλώνουν λειτουργίες που το αντικείµενο πραγµατοποιεί στον εαυτό του: είτε ιδιωτικές µεθόδους είτε δηµόσια διαθέσιµες µεθόδους που µπορούν να χρησιµοποιήσουν και άλλα αντικείµενα. Η εξέταση όλων των διαγραµµάτων ακολουθίας (σεναρίων) θα αποκαλύψει τις περισσότερες λειτουργίες/µεθόδους του συστήµατος. Ωστόσο, κάποιες από τις µεθόδους δεν θα έρθουν στην επιφάνεια µέχρι την υλοποίηση του συστήµατος. Αυτό είναι αναµενόµενο. 68 UML ιαγραµµατικά Στοιχεία UML ιαγραµµατικά Στοιχεία Στοιχείο Περιγραφή Συµβολισµός Ένα αντικείµενο αναπαρίσταται µε ένα ορθογώνιο στο οποίο αντικείµενο αναγράφεται το όνοµα του αντικειµένου στη συνέχεια µία άνω Sales : Department κάτω τελεία και ακολουθεί το όνοµα της κλάσης στην οποία ανήκει. Πλαίσιο Ενεργοποίησης Αποστολή Μηνύµατος Κάτω από κάθε αντικείµενο εκτείνεται µια διακεκοµµένη γραµµή που αντιστοιχεί στη γραµµή ζωής του αντικειµένου. Όταν λαµβάνεται ένα µήνυµα ξεκινά ένα πλαίσιο ενεργοποίησης (διπλή γραµµή) το οποίο αντιστοιχεί στη διάρκεια εκτέλεσης της λειτουργίας εξυπηρέτησης του µηνύµατος. Μία προσανατολισµένη ακµή από το αντικείµενο που αποστέλλει το µήνυµα προς το αντικείµενο που είναι αποδέκτης. Υλοποιείται µε µία λειτουργία στην κλάση του αντικειµένου που είναι αποδέκτης του µηνύµατος. Στο παράδειγµα η τάξη Department θα πρέπει να έχει µία µέθοδο µε όνοµα getcustomer( ). Αν η αποστολή του µηνύµατος γίνεται υπό συνθήκη, η συνθήκη µπαίνει σε αγκύλες πριν το όνοµα του µηνύµατος. Αν το µήνυµα αποστέλλεται επαναληπτικά, συµβολίζεται µε ένα αστεράκι πριν το όνοµα του µηνύµατος. Bob : Employee : getcusto mer( ) Sales : Department Sales : Department 69 Επιστροφή Μηνύµατος Αυτο-κλήση Ασύγχρονο Μήνυµα Μία διακεκοµµένη ακµή που επιστρέφει από το κληθέν αντικείµενο σε αυτό που πραγµατοποίηση την κλήση υποδηλώνοντας ολοκλήρωση της λειτουργίας εξυπηρέτησης ενός µηνύµατος. (Προαιρετικό) Αποστολή µηνύµατος ενός αντικειµένου στον εαυτό του ή αλλιώς κλήση µιας µεθόδου του αντικειµένου από το ίδιο το αντικείµενο. Ένα ασύγχρονο µήνυµα δεν εµποδίζει το αντικείµενο που πραγµατοποιεί την κλήση να συνεχίσει την όποια λειτουργία του χωρίς να αναµένει αν το µήνυµα λήφθηκε ή όχι. Συνεπώς, ένα ασύγχρονο µήνυµα δηµιουργεί ένα νέο νήµα εκτέλεσης ή µπορεί να δηµιουργήσει ένα νέο αντικείµενο. PayForm : Form 3: HighlightAmount( ) Accounting : Bob : Departm ent Employee : create( ) 70 ιαγράµµατα Συνεργασίας (Collaboration Diagrams) Σε ένα διάγραµµα συνεργασίας τα αντικείµενα απεικονίζονται µε τις γραµµές συσχετίσεων των κλάσεων τους να τα ενώνουν, δηλαδή απεικονίζονται οι στατικές συνδέσεις µεταξύ των αντικειµένων. Ενώ τα διαγράµµατα ακολουθίας απεικονίζουν κυρίως τη χρονική ροή των µηνυµάτων σε ένα σενάριο µιας περίπτωσης χρήσης, τα διαγράµµατα συνεργασίας χρησιµοποιούνται για να παρουσιάσουντιςσχέσειςµεταξύαντικειµένων. εν υπάρχει συγκεκριµένη µορφή (τα αντικείµενα µπορούν να εµφανίζονται σε οποιοδήποτε σηµείο του διαγράµµατος) ενώ για να απεικονιστεί η ακολουθία των µηνυµάτων που ανταλλάσσονται χρησιµοποιείται αρίθµηση. Τα διαγράµµατα ακολουθίας και συνεργασίας θεωρούνται συµπληρωµατικά καθώς περιέχουν την ίδια πληροφορία αλλά κάθε ένα δίνει µια διαφορετική οπτική γωνία (σε πολλά εργαλεία το ένα είδος διαγράµµατος παράγεται 7 αυτόµατααπότοάλλο). ιαγράµµατα Συνεργασίας (Collaboration Diagrams) Τα διαγράµµατα συνεργασίας που αντιστοιχούν στα προηγούµενα διαγράµµατα ακολουθίας είναι τα ακόλουθα: : actor : insertcard (customer) 2: pickdate (date) 4: select (seats) 3: offer (seatchoice) 9: print (order) 8: OK : Kiosk 5: submit (order) 6: charge (customer, amount) : Server : CreditService 7: confirmation 72

13 ιαγράµµατα Συνεργασίας Fred : Student : Εισαγωγή 2: παρουσίαση προγράµµατος 3: πρόγραµµα παρουσιάστηκε Fred : 0: πρόσθεσε Μ άθηµα 4: αίτηση θέσης : εκτύπωση µηνύµατος επιβεβαίωσης ΑντίγραφοFred : Αντίγραφο 8: ΟΚ 9: επιβεβαίωση διαθεσιµότητας OBJ0 : 6: ΟΚ 7: έλεγξε προαπαιτούµενα 5: έλεγξε πλάνο σπουδών ΠλάνοFred : Πλάνο Σπουδών Άποψη Ροής Ελέγχου Τα διαγράµµατα ακολουθίας/συνεργασίας δίνουν έµφαση στη ροή της πληροφορίας. εν είναι κατάλληλα για απεικόνιση της ροής του ελέγχου (control flow) Η ροή του ελέγχου παρουσιάζεται µε τα διαγράµµατα δραστηριότητας και καταστάσεων εν συναντώνται συχνά Αντικαθιστούν τα παλαιότερα διαγράµµατα ροής (flowcharts) : Πρόγραµµα Μαθηµάτων ιαγράµµατα ραστηριότητας (Activity Diagrams) Ένα διάγραµµα δραστηριότητας µοντελοποιεί τη ροή της εργασίας, αναπαριστώντας τις διάφορες καταστάσεις εκτέλεσης ενόςυπολογισµού (Bohm & Jacopini). Παρουσιάζεται η ροή του ελέγχου µεταξύ δραστηριοτήτων του ιδίου αντικειµένου ή πολλών αντικειµένων Μία κατάσταση δραστηριότητας συµβολίζεται ως ένα ορθογώνιοµεκαµπύλεςγωνίεςµεπεριγραφήτηςδραστηριότητας. Η µετάβαση κατά τη συµπλήρωση µιας δραστηριότητας συµβολίζεταιωςακµή. Οι διακλαδώσεις συµβολίζονται είτε µε συνθήκες φρουρούς επί των µεταβάσεων είτε µε κόµβους απόφασης (ρόµβους) µε πολλαπλέςεξερχόµενεςακµές. Μία ένωση (join) συµβολίζει συνένωση πολλών εισερχοµένων µεταβάσεων σε µία εξερχόµενη ενώ µία διχάλα (fork) την 75 ανάλυσηµιαςεισερχόµενηςσεπολλέςπαράλληλεςταυτόχρονες. ιαγράµµατα ραστηριότητας (Activity Diagrams) Βασικά ιαγραµµατικά Στοιχεία (UML) Activity ραστηριότητα Μετάβαση Απόφαση Συγχρονισµός 76 ιαγράµµατα ραστηριότητας (Activity Diagrams) ιάδροµοι (Swimlanes) setup order Τ µήµα ιεκπεραίωσης Εξυπηρέτηση Πε λατών Τµήµα Οικονοµικού συνθήκη φρουρός [ single order ] assign seats Παραλαβή Παραγγελίας [ subscription ] assign seats award bonus διχ άλα charge credit card Συµπλήρωση Παραγγελίας Αποστολή Τιµολογίου debit account ταυτόχρονα νήµατα Πληρωµή Καταγραφή ένωση εναλλακτικά νήµατα Κλείσιµο Παραγγελίας mail p acket 77 78

14 Άποψη Μηχανής Καταστάσεων Η άποψη µηχανής καταστάσεων (state machine view) ενός µοντέλου περιγράφει τη δυναµική συµπεριφορά των αντικειµένων στη διάρκεια του χρόνου, αναπαριστώντας τον κύκλοζωήςτωναντικειµένωνµιαςκλάσης. Κάθε αντικείµενο αντιµετωπίζεται ως ξεχωριστή οντότητα που επικοινωνεί µε το περιβάλλον ανιχνεύοντας γεγονότα και αντιδρώνταςσεαυτά. Γεγονός είναι οτιδήποτε µπορεί να γίνει αντιληπτό από ένα αντικείµενο, όπως η λήψη σηµάτων (κλήση µεθόδων) από άλλα αντικείµενα, αλλαγές σε συγκεκριµένες τιµές ή η πάροδος του χρόνου. Μία κατάσταση είναι ένα σύνολο τιµών αντικειµένων για µία δεδοµένη κλάση που αντιδρούν ποιοτικά κατά τον ίδιο τρόπο σε ένα γεγονός. Με άλλα λόγια, όλα τα αντικείµενα που βρίσκονται στην ίδια κατάσταση εκτελούν τις ίδιες ενέργειες µε την 79 ανίχνευσητουίδιουγεγονότος. Γεγονότα (Events) Ένα γεγονός θα πρέπει να σηµειωθεί ότι έχει χωρική και χρονική θέσηστοσύστηµα, αλλάδενέχειδιάρκεια. Η µοντελοποίηση κάποιου πράγµατος ως γεγονότος, συνεπάγεται ότι η εµφάνιση του θα έχει κάποιες συνέπειες. Ο όρος γεγονός αντιστοιχεί στην περιγραφή όλων των γεγονότων ιδίου τύπου που µπορεί να λάβουν χώρα, ακριβώς όπως µια κλάση αποτελεί την κατηγορία στην οποία ανήκουν αντικείµενα µε κοινά χαρακτηριστικά. Ένα συγκεκριµένο γεγονός ονοµάζεται και στιγµιότυπο γεγονότος και µπορεί να έχει παραµέτρους που το χαρακτηρίζουνσεσχέσηµεάλλαστιγµιότυπατουίδιουγεγονότος. Υπάρχουν διάφοροι τύποι γεγονότων: 80 Γεγονότα (Events) Γεγονότα (Events) Γεγονός-σήµα: Ένα σήµα είναι µία ονοµατισµένη οντότητα που λειτουργεί ως µέσο επικοινωνίας µεταξύ δύο αντικειµένων. Η λήψηενόςσήµατοςαποτελείγεγονόςγιατοναποδέκτη. Τα σήµατα αποτελούν ασύγχρονη και µονόδροµη επικοινωνία: ο αποστολέας δεν περιµένει να επεξεργαστεί το σήµα ο αποδέκτης αλλά συνεχίζει ανεξάρτητα τη δική του εργασία. Για τη µοντελοποίηση αµφίδροµης επικοινωνίας, θα πρέπει να χρησιµοποιηθούν πολλαπλά σήµατα, τουλάχιστον ένα σε κάθε κατεύθυνση. Τα σήµατα είναι δυνατόν να δηλωθούν σε διαγράµµατα κλάσεων ως οντότητες µε τη λέξη <<signal>>. Οι παράµετροι του σήµατος δηλώνονται ως ιδιότητες. Τα σήµατα επίσης µπορούν να συµµετέχουν σε σχέσεις γενίκευσης και να κληρονοµούν παραµέτρους από γονικά σήµατα. <<signal>> InputEv ent - tim e <<signal>> U serinput - dev ice < <sig nal>> MouseButton - location <<signal>> << signa l>> Lef tmousebutton R ightmousebutton αφηρηµένο σήµα <<signal>> Key board C haracter - character <<signal>> <<s ignal>> C ontrolc haracter Graphic C haracter 8 < <sign al>> Spa ce < <sign al>> Alph anu me ric <<signal>> 82 Pu nc t uat ion Γεγονότα (Events) Γεγονός-Αλλαγή: Μία αλλαγή είναι η ικανοποίηση µιας λογικήςσυνθήκηςπουεξαρτάταιαπόορισµένεςτιµέςιδιοτήτων. Με αυτό τον τρόπο επιτυγχάνεται αναµονή µέχρι την ικανοποίηση της συνθήκης αλλά θα πρέπει να χρησιµοποιείται µε προσοχή καθώς συνεπάγεται έναν συνεχή και ενδεχοµένως µή τοπικό υπολογισµό (επειδή οι τιµές που ελέγχονται µπορεί να είναι αποµακρυσµένες). Γεγονός-Χρόνος: Ένα χρονικό γεγονός αναπαριστά την πάροδο του χρόνου. Ένα χρονικό γεγονός µπορεί να προσδιοριστεί είτε µε απόλυτο τρόπο (ώρα, ηµέρα) ή µε σχετικό τρόπο (χρόνος που παρήλθεαπόέναγεγονός). Μηχανή Καταστάσεων Κατάσταση. Μία κατάσταση περιγράφει µία χρονική περίοδο κατά τη διάρκεια ζωής ενός αντικειµένου. Μπορεί να χαρακτηριστείµετρειςσυµπληρωµατικούςτρόπους: ως ένα σύνολο τιµών αντικειµένων που είναι παρόµοιες από κάποιαάποψη, ως µία περίοδος κατά την οποία ένα αντικείµενο αναµένει την εµφάνισηενόςγεγονότος, ως µία περίοδος κατά την οποία ένα αντικείµενο εκτελεί µία εργασία. Όταν ένα αντικείµενο βρίσκεται σε µία κατάσταση, αποκρίνεται σε γεγονότα που βρίσκονται στις µεταβάσεις που ξεκινούν από την κατάσταση αυτή. Μία κατάσταση συµβολίζεται ως ένα ορθογώνιο µεκαµπύλεςγωνίες

15 ιάγραµµα Καταστάσεων receive PIN W aiting Confirm PIN γεγο νός ενέργεια approve / find account() Process Commands ιάγραµµα Καταστάσεων Μία κατάσταση είναι δυνατόν να περιλαµβάνει ενέργειες εισόδου που λαµβάνουν χώρα όταν µία µετάβαση καθιστά την κατάσταση ενεργή καθώς και ενέργειες εξόδου που λαµβάνουν χώρα προτού µία µετάβαση "φύγει" απότηνενεργόκατάσταση. Μία εσωτερική µετάβαση έχει αρχική κατάσταση αλλά όχι τελική. Κατά συνέπεια δεν προκαλεί αλλαγή της ενεργού κατάστασης, αλλά µπορεί να έχει ενέργειες που λαµβάνουν χώρα state name Enter Password reject Cancel account found[ inactive account ] συνθήκη ελέγχου ent ry & exi t act ions internal t ransit ions entry/ password.reset() exi t/ se t echo norm al event digit/ handle character event clear/password.reset()/ event help/display help/ Φυσική Άποψη ιαγράµµατα Συστατικών Τα διαγράµµατα συστατικών (component diagrams) αναπαριστούν το φυσικό διαχωρισµό του συστήµατος Ένα συστατικό είναι µία φυσική µονάδα υλοποίησης κώδικα (πηγαίο αρχείο, αρχείοεπικεφαλίδων, εκτελέσιµοαρχείο, µιαβιβλιοθήκη.dll) κ.ο.κ. Το διάγραµµα συστατικών απεικονίζει το δίκτυο των εξαρτήσεων µεταξύ των συστατικών Φυσική Άποψη ιαγράµµατα Ανάπτυξης Τα διαγράµµατα ανάπτυξης (deployment diagrams) αναπαριστούν την αντιστοίχιση του λογισµικού σε επεξεργαστικές µονάδες - κόµβους Ένας κόµβους (node) είναι ένα φυσικό αντικείµενο που στη γενική περίπτωση έχει τουλάχιστον µνήµη και δυνατότητα επεξεργασίας Backup FlightServer Web Server Ethernet Database Server download_nightly TCP/IP DBMS software Client RS-232 Internet Browser Printer 87 88

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8) ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ

Διαβάστε περισσότερα

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο 09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

Εννοιολογικό Μοντέλο. Conceptual Model

Εννοιολογικό Μοντέλο. Conceptual Model Εννοιολογικό Μοντέλο Conceptual Model 1 Εννοιολογικό Μοντέλο (1/2) Αποτελεί: βασικό εργαλείο για τη σχεδίαση εισαγωγή σε διάφορα μέσα τεκμηρίωσης (artifacts) απεικόνιση σημαντικών εννοιολογικών κλάσεων

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

Διαβάστε περισσότερα

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο 09 Η γλώσσα UML II Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση συμπεριφοράς

Διαβάστε περισσότερα

Περιεχόμενο του μαθήματος

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

Εισαγωγή στη γλώσσα UML

Εισαγωγή στη γλώσσα UML Κεφάλαιο 1 o Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο Στις πρώτες εποχές των υπολογιστών, οι προγραμματιστές συνήθιζαν να περιορίζονται στην ανάλυση σε βάθος των προβλημάτων που αντιμετώπιζαν.

Διαβάστε περισσότερα

Διαχείριση Πληροφοριακών Συστημάτων

Διαχείριση Πληροφοριακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την

Διαβάστε περισσότερα

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός

Διαβάστε περισσότερα

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.

Διαβάστε περισσότερα

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο 08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML για το µάθηµα ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ Ακαδηµαϊκό Έτος 2012-2013 «Αντικειµενοστρεφής Ανάλυση Ηλεκτρονικού Καταστήµατος Προσφορών (e-shop)» Η άσκηση αφορά στη χρήση της

Διαβάστε περισσότερα

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού UML Διαγράμματα Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία Προγραμματισμού

Διαβάστε περισσότερα

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ Οι Μηχανικοί Λογισμικού παράγουν μοντέλα που βοηθούν στη διατύπωση των απαιτήσεων με τη μορφή προδιαγραφών. Η εργασία της παραγωγής μοντέλων περιγράφεται ως ανάλυση απαιτήσεων. Η ανάλυση

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 7: Εισαγωγή στη UML Τι είναι η UML; 2 Βασικό πρόβλημα τεχνολογίας λογισμικού Έλλειψη κοινά αποδεκτής «γλώσσας» για την έκφραση των σχεδίων λογισμικού. Το

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 28/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 28/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια. Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων 28/11/2016 Τεχνολογία Λογισμικού & Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Ανάλυση Συστημάτων Interaction Diagrams Διαγράμματα Αλληλεπίδρασης

Διαβάστε περισσότερα

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στην αντικειµενοστρεφή τεχνολογία ρ. Πάνος Φιτσιλής Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2 Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης

Διαβάστε περισσότερα

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων Διαγράμματα UML στην Ανάλυση Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων περιεχόμενα παρουσίασης Διαγράμματα επικοινωνίας Διαγράμματα ακολουθίας Διαγράμματα

Διαβάστε περισσότερα

Διαγράμματα Κλάσεων στη Σχεδίαση

Διαγράμματα Κλάσεων στη Σχεδίαση Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

UML: Unified modelling language

UML: Unified modelling language UML: Διαγράμματα UML: Unified modelling language Γλώσσα μοντελοποίησης για ανάλυση και σχεδιασμό Παρέχει το συμβολισμό για ανάλυση και σχεδιασμό. Είναι γλώσσα συμβολισμού. Δεν είναι ολόκληρη μεθοδολογία.

Διαβάστε περισσότερα

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης ΟΙΚΟΝΟΜΙΚΌ ΠΑΝΕΠΙΣΤΉΜΙΟ ΑΘΗΝΏΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης 1o φροντιστήριο στο µάθηµα Ανάλυση και µοντελοποίηση

Διαβάστε περισσότερα

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

Διαβάστε περισσότερα

Τα διαγράµµατα κλάσεων

Τα διαγράµµατα κλάσεων 1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα κλάσεων ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικές έννοιες µοντέλου κλάσεων Βασικές συσχετίσεις Παραδείγµατα 3 ιαγράµµατα κλάσεων (class diagrams) Είναι το βασικότερο

Διαβάστε περισσότερα

PDF created with pdffactory Pro trial version www.pdffactory.com

PDF created with pdffactory Pro trial version www.pdffactory.com Περιπτώσεις Χρήσης (Use Cases)- Γενικά Περίπτωση χρήσης: ένα σύνολο διαδοχικών ενεργειών (που μπορεί να περιλαμβάνει και εναλλακτικές ενέργειες) το οποίο οδηγεί σε ένα χρήσιμο αποτέλεσμαγιαέναν χειριστή

Διαβάστε περισσότερα

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας Διαγράμματα Αλληλεπίδρασης Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας 1 Διαγράμματα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειμένων μέσω μηνυμάτων Η ανάθεση αρμοδιοτήτων περιλαμβάνει

Διαβάστε περισσότερα

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 6 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης Περιπτώσεις Χρήσης περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης περιπτώσεις χρήσης Τι θα κάνει το λογισμικό για κάποιον

Διαβάστε περισσότερα

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19 Περιεχόμενα ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19 1.1 Εισαγωγή... 19 1.2 Η γλώσσα UML... 20 1.2.1 Μεθοδολογίες ανάπτυξης λογισμικού... 21 1.2.2 Τύποι διαγραμμάτων της UML... 22 1.3 Διαγράμματα της UML... 24

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας 1 ιαγράµµατα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειµένων µέσω µηνυµάτων Η ανάθεση αρµοδιοτήτων περιλαµβάνει µεγάλο

Διαβάστε περισσότερα

Διάγραμμα Κλάσεων. Class Diagram

Διάγραμμα Κλάσεων. Class Diagram Διάγραμμα Κλάσεων Class Diagram Γενικά Ορίζει τις κλάσεις αντικειμένων σε ένα σύστημα, τις μεθόδους και τις συναρτήσεις τους, και τις συσχετίσεις μεταξύ των κλάσεων. Περιγράφουν την δομή και συμπεριφορά

Διαβάστε περισσότερα

Interaction Diagrams Διαγράμματα Αλληλεπίδρασης

Interaction Diagrams Διαγράμματα Αλληλεπίδρασης Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 20/11/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Interaction Diagrams Διαγράμματα Αλληλεπίδρασης 1 Διαγράμματα

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

ιαγράµµατα Συµπεριφοράς Ανάλυση Συστηµάτων 2009

ιαγράµµατα Συµπεριφοράς Ανάλυση Συστηµάτων 2009 ιαγράµµατα Συµπεριφοράς Ανάλυση Συστηµάτων 2009 ιαγράµµατα Συµπεριφοράς ιαγράµµατα Ακολουθίας ιαγράµµατα Μηχανής Καταστάσεων ιαγράµµατα Επικοινωνίας ιαγράµµατα ραστηριοτήτων ιαγράµµατα Ακολουθίας (Sequence

Διαβάστε περισσότερα

Οι περιπτώσεις χρήσης

Οι περιπτώσεις χρήσης 1 Ελληνικό Ανοικτό Πανεπιστήµιο Οι περιπτώσεις χρήσης ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Το µοντέλο των περιπτώσεων χρήσης Τα διαγράµµατα των περιπτώσεων χρήσης Λεκτική περιγραφή των περιπτώσεων χρήσης Τρόπος

Διαβάστε περισσότερα

Εννοιολογικό Μοντέλο. Conceptual Model

Εννοιολογικό Μοντέλο. Conceptual Model Εννοιολογικό Μοντέλο Conceptual Model 1 Εννοιολογικό Μοντέλο (1/2) Αποτελεί: βασικό εργαλείο για τη σχεδίαση εισαγωγή σε διάφορα µέσα τεκµηρίωσης (artifacts) απεικόνιση σηµαντικών εννοιολογικών κλάσεων

Διαβάστε περισσότερα

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια Περιεχόμενα Πρόλογος... 11 Κεφάλαιο 1ο. Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο...13 1.2 Πως αναπτύχθηκε η UML...14 1.3 Κατανοώντας την UML...15 1.4 Αναγνωρίζοντας τα επί μέρους τμήματα

Διαβάστε περισσότερα

Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων. Εισαγωγή στην UML. Βασίλειος Βεσκούκης

Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων. Εισαγωγή στην UML. Βασίλειος Βεσκούκης Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων Εισαγωγή στην UML Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@unipi.gr v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams Μοντελοποίηση Συστημάτων Διαγράμματα Κλάσεων ClassDiagrams Διαγράμματα Κλάσεων Χρησιμοποιούνται στα βήματα: Ανάλυση απαιτήσεων Π.Σ. Σχεδιασμός Π.Σ. Είναι στατικά διαγράμματα που δείχνουν: Κλάσεις Ιδιότητες

Διαβάστε περισσότερα

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής περιεχόμενα παρουσίασης Διαγράμματα πακέτων Διαγράμματα συστατικών Διαγράμματα παράταξης Το μοντέλο των 4+1 όψεων τεκμηρίωση αρχιτεκτονικής και UML

Διαβάστε περισσότερα

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας Ανάλυση Πληροφοριακών Συστημάτων «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας 7 12 2005 Περιεχόμενα Παρουσίασης Βασικές Έννοιες Αντικειμενοστραφούς προγραμματισμού

Διαβάστε περισσότερα

Τα διαγράµµατα ακολουθίας

Τα διαγράµµατα ακολουθίας 1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα ακολουθίας ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικά στοιχεία των διαγραµµάτων ακολουθίας Τα είδη των µηνυµάτων Παραδείγµατα ιαγράµµατα αλληλεπίδρασης (interaction

Διαβάστε περισσότερα

UML

UML Εισαγωγή στη UML UML Μοντέλο Μοντελοποίηση Εισαγωγή στη UML Πως φθάσαμε στη UML Γέννηση της UML Σκοπός της UML Γιατί Διαγράμματα Τυπικές Μέθοδοι (Formal Methods) Γενικά Ανάλυση και Σχεδίαση με UML [Α]

Διαβάστε περισσότερα

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης: Αντικειμενοστρεφής Προγραμματισμός Τμήμα Εφαρμοσμένης Πληροφορικής Δημιουργία Κλάσεων/Αντικειμένων/Συσχετίσεων/Συνδέσεων Δημιουργία κλάσεων και αντικειμένων Θεωρούμε ένα υποθετικό σύστημα που αναφέρεται

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων Διαγράμματα UML στην Ανάλυση Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων περιεχόμενα παρουσίασης Διαγράμματα κλάσεων Διαγράμματα αντικειμένων διαγράμματα κλάσεων Χρησιμοποιούνται στην ανάλυση

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Unified Modeling Language II Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams

Διαβάστε περισσότερα

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης

Διαβάστε περισσότερα

Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης. Use Cases and Use Case Diagrams

Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης. Use Cases and Use Case Diagrams Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης Use Cases and Use Case Diagrams Τι είναι οι Περιπτώσεις Χρήσης (Use Cases)! Eίναι µια τεχνική αποτύπωσης των λειτουργικών απαιτήσεων ενός συστήµατος!

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 10/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

Διαβάστε περισσότερα

Ανάλυση Περιπτώσεων Χρήσης

Ανάλυση Περιπτώσεων Χρήσης Ανάλυση Περιπτώσεων Χρήσης ανάλυση απαιτήσεων ü Διαγράμματα Δραστηριότητας. Επιχειρησιακή μοντελοποίηση και ροή εργασιών σε περιπτώσεις χρήσης ü Μοντελοποίηση Πεδίου. Δημιουργία διαγραμμάτων κλάσεων για

Διαβάστε περισσότερα

ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ. Άσκηση 1 Εφαρµογή Web

ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ. Άσκηση 1 Εφαρµογή Web ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ Άσκηση 1 Εφαρµογή Web Α) Τα παραπάνω διαγράµµατα περιπτώσεων χρήσης ικανοποιούν τις απαιτήσεις του συστήµατος ως εξής: ΑΠΑΙΤΗΣΕΙΣ ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ Μόνο οι φοιτητές του συγκεκριµένου

Διαβάστε περισσότερα

Rational Unified Process:

Rational Unified Process: ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ - Μεταπτυχιακό µάθηµα: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΕΙΣ ΜΕΘΟ ΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥ Καθ. Ε. Σκορδαλάκης, ρ. Β. Βεσκούκης Rational Unified

Διαβάστε περισσότερα

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

Διαβάστε περισσότερα

Σημειογραφία των προτύπων BPMN και UML (Activity Diagrams)

Σημειογραφία των προτύπων BPMN και UML (Activity Diagrams) ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Α.Ε. «Ελληνικό Πλαίσιο Παροχής Υπηρεσιών» Πρόσθετο Υλικό (White Paper) Σημειογραφία των προτύπων BPMN και UML (Activity Φεβρουάριος 2008 PLANET ΑΝΩΝΥΜΗ ΕΤΑΙΡΕΙΑ ΠΑΡΟΧΗΣ ΣΥΜΒΟΥΛΕΥΤΙΚΩΝ

Διαβάστε περισσότερα

περιεχόμενα παρουσίασης

περιεχόμενα παρουσίασης Ανάλυση Απαιτήσεων περιεχόμενα παρουσίασης Δημιουργία μοντέλου Προσεγγίσεις Μοντελοποίησης Μοντελοποίηση δεδομένων Διαγράμματα ροής δεδομένων Μη διαγραμματικά μοντέλα ανάλυσης Διαγράμματα δραστηριότητας

Διαβάστε περισσότερα

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης 4η ιάλεξη UML ιαγράμματα αλληλεπίδρασης ιαγράμματα αλληλεπίδρασης Τα διαγράμματα αλληλεπίδρασης είναι μοντέλα που περιγράφουν κάποιες ομάδες αντικειμένων Μπορούν να χρησιμοποιηθούν για να δείξουν ένα σχέδιο

Διαβάστε περισσότερα

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 9/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων UML - Unified

Διαβάστε περισσότερα

Ανάπτυξη συστήματος λογισμικού βάσει της μεθοδολογίας ICONIX

Ανάπτυξη συστήματος λογισμικού βάσει της μεθοδολογίας ICONIX Αλέξανδρος Ν. Χατζηγεωργίου Ανάπτυξη συστήματος λογισμικού βάσει της μεθοδολογίας ICONIX Διαχείριση Παραγγελιών ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θεματική Ενότητα ΠΛΗ 24 2008

Διαβάστε περισσότερα

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων,

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων, Περιπτώσεις Χρήσης (Προδιαγραφές Απαιτήσεων) Ιδέα του Jacobson ( 92, OOSE) μηχανισμός ανακάλυψης και καταγραφής των λειτουργικών απαιτήσεων ιστορίες χρήσης του συστήματος εργαλείο ανάλυσης ακόμη και σε

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 3/12/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Physical Diagrams Διαγράμματα Υλοποίησης Διαγράμματα UML Διάγραμμα

Διαβάστε περισσότερα

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ:

Διαβάστε περισσότερα

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5 Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών

Διαβάστε περισσότερα

ιαχείριση Τηλεφωνικών Κλήσεων

ιαχείριση Τηλεφωνικών Κλήσεων ιαχείριση Τηλεφωνικών Κλήσεων 1 Διαχει ριση Τηλεφωνικω ν Κλη σεων ΓΕΝΙΚΗ ΠΕΡΙΓΡΑΦΗ... 3 ΔΟΜΗ ΧΡΗΣΤΩΝ ΚΑΙ ΔΙΚΑΙΩΜΑΤΑ ΕΠΙ ΤΩΝ ΤΗΛΕΦΩΝΙΚΩΝ ΚΛΗΣΕΩΝ... 3 ΣΧΗΜΑΤΙΚΗ ΑΠΕΙΚΟΝΙΣΗ... 4 ΕΙΣΕΡΧΟΜΕΝΕΣ ΚΛΗΣΕΙΣ... 5

Διαβάστε περισσότερα

Η γλώσσα μοντελοποίησης UML. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Η γλώσσα μοντελοποίησης UML. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Η γλώσσα μοντελοποίησης UML 1 Περιεχόμενα Διαγράμματα περιπτώσεων χρήσης Διαγράμματα ακολουθίας Διαγράμματα συνεργασίας Διαγράμματα καταστάσεων Διαγράμματα κλάσεων 2 Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ TΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (6ο) Διδάσκων: Κων/νος Στεργίου 6/4/2014 Σύστημα Κράτησης Αεροπορικών Θέσεων Εργασία

Διαβάστε περισσότερα

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Περιπτώσεις Χρήσης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Περιπτώσεις Χρήσης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Περιπτώσεις Χρήσης Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Άξονες

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 2: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (2ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 2: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (2ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης Ενότητα 2: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (2ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης

Διαβάστε περισσότερα

Υποδείγματα Ανάπτυξης

Υποδείγματα Ανάπτυξης Υποδείγματα Ανάπτυξης περιεχόμενα παρουσίασης Αποσύνθεση Αφαίρεση Μοντελοποίηση Η δεδομένο λειτουργική προσέγγιση Η αντικειμενοστρεφής προσέγγιση αποσύνθεση Όταν επιχειρούμε τη λύση ενός προβλήματος, πρώτα

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Μοντέλα Παράστασης

Διαβάστε περισσότερα

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια. Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων 21/11/2016 Τεχνολογία Λογισμικού & Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Ανάλυση Συστημάτων Object Diagrams Διαγράμματα Αντικειμένων

Διαβάστε περισσότερα

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης Αντικειµενοστραφής Σχεδίαση Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Μέθοδοι Στα πρώτα στάδια της γράφουµε µόνο τα ονόµατα των µεθόδων Γράφουµε τις

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Πώς υλοποιούμε συσχετίσεις μεταξύ κλάσεων απλές και πολλαπλές συσχετίσεις κληρονομικότητα Static, final Overloading Overriding Hiding

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Τι είναι η UP Βασικές αρχές µηχανικής λογισµικού Οι βασικές έννοιες της UP Οι τέσσερις

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE

ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE Το path που ακολουθούμε για να ανοίξουμε το εργαλείο είναι: Start All Programs Lab Programs Rational Software Rational Rose Enterprise Edition 1 ο ΔΙΑΓΡΑΜΜΑ:

Διαβάστε περισσότερα

Εφαρμογή Μεθοδολογίας ICONIX

Εφαρμογή Μεθοδολογίας ICONIX Πρόγραμμα Μεταπτυχιακών Σπουδών στην Εφαρμοσμένη Πληροφορική Προηγμένη Τεχνολογία Λογισμικού, 2016 Α. Χατζηγεωργίου Εφαρμογή Μεθοδολογίας ICONIX Παράδειγμα: Εγγραφή Φοιτητή σε Μάθημα Θέμα Θεωρείστε ότι

Διαβάστε περισσότερα

ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9)

ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9) ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9) ΓΙΩΡΓΟΣ ΜΟΥΡΚΟΥΣΗΣ Μηχανικός Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

Διαβάστε περισσότερα

Μοντελοποίηση Συστημάτων

Μοντελοποίηση Συστημάτων Εργασία για το μάθημα Μοντελοποίηση Συστημάτων 29 Οκτωβρίου 204 Α. Στόχος Στην εργασία αυτή θα εξοικειωθείτε με τα πρώτα στάδια σχεδιασμού λογισμικού. Συγκεκριμένα, μετά την εκπόνηση της εργασίας θα πρέπει

Διαβάστε περισσότερα

Ελληνικό Ανοικτό Πανεπιστήµιο. Τα διαγράµµατα UML. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Τα διαγράµµατα UML. ρ. Πάνος Φιτσιλής Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα UML ρ. Πάνος Φιτσιλής Περιεχόµενα Σύντοµη περιγραφή των διαγραµµάτων UML Στατική δοµή υναµική δοµή ιαγράµµατα UML - 1 Περιγράφουν τη στατική δοµή του συστήµατος

Διαβάστε περισσότερα

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης Μάρα Νικολαϊδου Μοντελοποίηση Συστήµατος Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης είναι µια τεχνική

Διαβάστε περισσότερα

Μοντελοποίηση Συστημάτων

Μοντελοποίηση Συστημάτων Εργασία για το μάθημα Μοντελοποίηση Συστημάτων 5 Νοεμβρίου 2015 Α. Στόχος Στην εργασία αυτή θα εξοικειωθείτε με τα πρώτα στάδια σχεδιασμού λογισμικού. Συγκεκριμένα, μετά την εκπόνηση της εργασίας θα πρέπει

Διαβάστε περισσότερα

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

Διαβάστε περισσότερα

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 2016-2017 ΕΡΓΑΣΙΑ 1 (JAVA) Παράδοση 26/4/2017 Στα πλαίσια της εργασίας θα υλοποιηθεί ένα απλοϊκό πρόγραμμα κρατήσεων Ξενοδοχείων. Για απλοποίηση θα περιοριστούμε

Διαβάστε περισσότερα

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

Διαβάστε περισσότερα