Μοντέλα συστήματος. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 8

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

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

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

(Απλή) Κληρονομικότητα

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

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

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

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++

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

ΗΜΥ 317 Τεχνολογία Υπολογισμού

Σύντομο Παράδειγμα μιας συνοπτικής μεθοδολογίας ανάπτυξης

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

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

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

Μοντέλο Οντοτήτων-Συσχετίσεων. Η ανάγκη Διαγράμματα ΟΣ Σύνολα Οντοτήτων-Συσχετίσεων Απεικονίσεις Επεκτάσεις

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

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

ιαδικασίεςτης τεχνολογίαςαπαιτήσεων

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

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

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

Κωδικός: <Κωδ.Αρ.Εγγράφου/ΚωδικόΌνομαΈργου/Αρ. Έκδοσης> <Company Name> <Όνομα - Κωδικό Όνομα Έργου> Έγγραφο Περιγραφής Σχεδίου Λογισμικού

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

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

Από τη UML στον Κώδικα. Μέρος Β

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

Σχεδίαση Σχεσιακών ΒΔ

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII

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

Βάσεις Δεδομένων Ενότητα 4

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

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

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

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

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

Μοντελοποίηση Πεδίου

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

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

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

UML: Unified modelling language

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

Από τη UML στον Κώδικα. Μέρος Α

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

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

Βάσεις Δεδομένων 1 Δημήτριος Τσουμάκος

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

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

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Προδιαγραφές Απαιτήσεων Γιάννης Σμαραγδάκης

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Θέματα εξετάσεων. Τύπος: B

Βάσεις Δεδομένων Εισαγωγή

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

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Σχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη

Οντοκεντρικός Προγραμματισμός

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

Σχεδιασµός Λογισµικού

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

Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών Φθινόπωρο οµική Μοντελοποίηση Class Diagrams

Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου

Σχεδιασμός Βάσεων Δεδομένων

Φροντιστήριο 3. Ημερομηνία: 22/11/2006 Θεματική Ενότητα: Δομική Μοντελοποίηση Θέμα: Διαγράμματα Κλάσεων

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

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

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

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

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

Διάλεξη 07: Σχεσιακό Μοντέλο II (Relational Data Model) Διδάσκων: Παναγιώτης Ανδρέου

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

ΜοντέλοΟντοτήτωνΣυσχετίσεων & ΔιάγραμμαΟντοτήτων Συσχετίσεων. Μοντέλο Οντοτήτων Συσχετίσεων

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

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

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

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

Διάλεξη 05: Εννοιολογική Σχεδίαση Βάσης Δεδομένων III (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Βάσεις Δεδομένων Ι. 2 ο Φροντιστήριο. Πέρδικα Πολίνα [perdika]

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

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

Μέθοδοι μοντελοποίησης

Βάσεις Δεδομένων (Databases)

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 8: RM II. Relational Model. (Chapter )

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων

Transcript:

Μοντέλα συστήματος

Στόχοι Γιατί είναι απαραίτητη η μοντελοποίηση του θεματικού πλαισίου Τι είναι Μοντελοποίηση συμπεριφοράς, Μοντελοποίηση δεδομένων, και Μοντελοποίηση αντικειμένων Ενοποιημένη Γλώσσα Μοντελοποίησης (UML) Εργαλεία CASE για μοντελοποίηση

Περιεχόμενα Μοντέλα θεματικού πλαισίου Μοντέλα συμπεριφοράς Μοντέλα δεδομένων Μοντέλα αντικειμένων Εργαστήρια εργαλείων CASE

Μοντελοποίηση συστήματος Βοηθά να κατανοήσουμε τις λειτουργικές δυνατότητες του συστήματος Μοντέλα χρησιμοποιούνται και στην επικοινωνία με πελάτες Κάθε μοντέλο αναπαριστά το σύστημα από διαφορετικές απόψεις Μια εξωτερική άποψη: Θεματικό πλαίσιο ή το περιβάλλον του συστήματος Μια άποψη συμπεριφοράς: Η συμπεριφορά του συστήματος Μια άποψη δομής: Η αρχιτεκτονική του συστήματος ή δομή των δεδομένων

Τύποι μοντέλων Μοντέλο ροής (επεξεργασίας) δεδομένων Πώς γίνεται η επεξεργασία των δεδομένων στα διάφορα στάδια Μοντέλο σύνθεσης (αντικείμενα) Πώς συντίθενται οι οντότητες του συστήματος από άλλες οντότητες Αρχιτεκτονικό μοντέλο (αντικείμενα) Τα κύρια υποσυστήματα που αποτελούν ένα σύστημα Μοντέλο ταξινόμησης (αντικείμενα) Τα κοινά χαρακτηριστικά των οντοτήτων Μοντέλο ερεθίσματος-απόκρισης Πώς αντιδρά το σύστημα στα διάφορα συμβάντα (συμπεριφορά)

Θεματικό πλαίσιο

Μοντέλα θεματικού πλαισίου context models Δείχνουν το λειτουργικό πλαίσιο ενός συστήματος Τι υπάρχει εντός και εκτός των ορίων του συστήματος Τα αρχιτεκτονικά μοντέλα δείχνουν το σύστημα κα τη σχέση του με άλλα συστήματα Σημείωση: η επιλογή τοποθέτησης των ορίων του συστήματος μπορεί να επηρεαστεί από κοινωνικά και εταιρικά συμφέροντα

Το θεματικό πλαίσιο ενός συστήματος ATM branch accounting system security account DB usage DB branch counter system maintenance system

Μοντέλα διαδικασιών process models Τα μοντέλα διαδικασιών δείχνουν Τη γενική διαδικασία Επιμέρους διαδικασίες που υποστηρίζει το σύστημα Workflow diagrams Δείχνουν Τις διαδικασίες Τη ροή πληροφοριών μεταξύ αυτών data flow models

Μοντέλο για την προμήθεια εξοπλισμού μοντέλο διαδικασιών Παραγγελία εξοπλισμού

Συμπεριφορά Finite state machines (intro) UML state diagrams

Μοντέλα συμπεριφοράς μοντέλα επεξεργασίας δεδομένων & μηχανές καταστάσεων Περιγράφουν τη συνολική λειτουργική συμπεριφορά συστήματος 2 τύποι μοντέλων συμπεριφοράς: Τα μοντέλα ροής δεδομένων Δείχνουν τον τρόπο επεξεργασίας των δεδομένων Πώς αυτά διακινούνται στο σύστημα Τα μοντέλα μηχανών καταστάσεων (finite state machine), Μοντελοποιούν τον τρόπο αντίδρασης του συστήματος σε συμβάντα Καθένα τους δείχνει διαφορετικές απόψεις, Και τα δύο απαραίτητα στην περιγραφή της συμπεριφοράς του συστήματος

Μοντέλα ροής δεδομένων data flow diagrams Αντιμετωπίζουν το σύστημα σαν μια μονάδα που διαχειρίζεται δεδομένα (είσοδος έξοδος δεδομένων) Μοντελοποιούν τον τρόπο επεξεργασίας δεδομένων Δείχνουν τα βήματα επεξεργασίας Τη ροή των δεδομένων στο σύστημα Από το ένα άκρο στο άλλο Ουσιώδες κομμάτι πολλών μεθόδων ανάλυσης Έχουν απλή και διαισθητική σημειογραφία που μπορούν να αντιληφθούν οι πελάτες

Διάγραμμα ροής δεδομένων για διεκπεραίωση παραγγελίας Δεδομένα (εσωτερικά) Δεδομένα - επικοινωνία με άλλα συστήματα

Διαγράμματα ροής δεδομένων Παρουσιάζουν μια λειτουργική άποψη του συστήματος Η παρακολούθηση και η τεκμηρίωση του τρόπου με τον οποίο τα δεδομένα σχετίζονται με μια διαδικασία συμβάλλει στην ανάπτυξη μιας γενικότερης αντίληψης του συστήματος Χρησιμοποιούνται και για την παρουσίαση της ανταλλαγής δεδομένων ενός συστήματος με άλλα συστήματα του ίδιου περιβάλλοντος

Διάγραμμα ροής δεδομένων για αντλία ινσουλίνης controller

UML

Μοντέλα μηχανής καταστάσεων (finite state machines) Μοντελοποιούν την απόκριση του συστήματος σε εξωτερικά και εσωτερικά συμβάντα Συχνά χρησιμοποιούνται για τη μοντελοποίηση συστημάτων πραγματικού χρόνου Επειδή δείχνουν αντίδραση σε καταστάσεις Οι καταστάσεις του συστήματος είναι οι κόμβοι Τα συμβάντα είναι τα βέλη ή τόξα μεταξύ των κόμβων Όταν λαμβάνει χώρα ένα συμβάν, το σύστημα μεταβαίνει από μία κατάσταση σε μια άλλη Τα διαγράμματα καταστάσεων είναι αναπόσπαστο κομμάτι της UML και χρησιμοποιούνται για την αναπαράσταση μοντέλων μηχανών καταστάσεων

Finite state machine παράδειγμα Είναι μαθηματικά μοντέλα (Turing machine) State Transition Condition (input) https://en.wikipedia.org/wiki/finite-state_machine

Διάγραμμα καταστάσεων state charts Επιτρέπει την ανάλυση ενός μοντέλου σε δευτερεύοντα μοντέλα (επόμενη διαφάνεια) Μετά τη δήλωση "do" κάθε κατάστασης περιλαμβάνεται σύντομη περιγραφή των ενεργειών Μπορεί να συνοδεύεται από πίνακες που περιγράφουν τις καταστάσεις και τα ερεθίσματα

Μοντέλο φούρνου μικροκυμάτων διάγραμμα καταστάσεων καταστάσεις συμβάντα

Μοντέλο φούρνου μικροκυμάτων διάγραμμα καταστάσεων

Παράδειγμα: Περιγραφή καταστάσεων φούρνου μικροκυμάτων Waiting Half power Full power Set time Disabled Enabled Operation Κατάσταση Αναμονή Μέση ισχύς Πλήρης ισχύς Ρύθμιση χρόνου Ανενεργός Ενεργός Λειτουργία Περιγραφή Ο φούρνος αναμένει είσοδο. Η οθόνη δείχνει την τρέχουσα ώρα. Η ισχύς του φούρνου ρυθμίζεται στα 300 watt. Η οθόνη δείχνει Μέση ισχύς. Η ισχύς του φούρνου ρυθμίζεται στα 600 watt. Η οθόνη δείχνει Πλήρης ισχύς. Ρυθμίζεται ο χρόνος ψησίματος σύμφωνα με την τιμή εισόδου του χρήστη. Η οθόνη εμφανίζει τον επιλεγμένο χρόνο ψησίματος και ενημερώνεται καθώς ρυθμίζεται ο χρόνος. Η λειτουργία του φούρνου έχει απενεργοποιηθεί για λόγους ασφάλειας. Ο εσωτερικός φωτισμός του φούρνου είναι αναμμένος. Η οθόνη δείχνει Όχι έτοιμο. Η λειτουργία του φούρνου είναι ενεργοποιημένη. Ο εσωτερικός φωτισμός του φούρνου είναι σβηστός. Η οθόνη δείχνει Έτοιμο για ψήσιμο. Ο φούρνος λειτουργεί. Ο εσωτερικός φωτισμός του φούρνου είναι αναμμένος. Η οθόνη δείχνει την αντίστροφη μέτρηση του χρόνου. Με την ολοκλήρωση του ψησίματος, ηχεί ο βομβητής για 5 δευτερόλεπτα. Ο φωτισμός του φούρνου είναι αναμμένος. Η οθόνη δείχνει Ολοκλήρωση ψησίματος ενώ ηχεί ο βομβητής.

Παράδειγμα: Περιγραφή καταστάσεων φούρνου μικροκυμάτων Waiting Half power Full power Set time Disabled Enabled Operation State Waiting Half power Full power Set time Disabled Enabled Operation Description The oven is waiting for input. The display shows the current time. The oven power is set to 300 watts. The display shows Half power. The oven power is set to 600 watts. The display shows Full power. The cooking time is s et to the user s input value. The display shows the cooking time selected and is updated as the time is set. Oven operation is disabled for safety. Interior oven light is on. Display shows Not ready. Oven operation is enabled. Interior oven light is off. Display shows Ready to cook. Oven in operation. Interior oven light is on. Display shows the timer countdown. On completion of cooking, the buzzer is sounded for 5 s econds. Oven light is on. Display shows Cooking complete while buzzer is sounding.

Ερεθίσματα φούρνου μικροκυμάτων: συμβάντα που αλλάζουν την κατάσταση του φούρνου Half power Full power Timer Number Door open Door closed Start Cancel Ερέθισμα Μέση ισχύς Πλήρης ισχύς Χρονοδιακόπτης Αριθμός Πόρτα ανοιχτή Πόρτα κλειστή Έναρξη Ακύρωση Περιγραφή Ο χρήστης έχει πατήσει το κουμπί της μέσης ισχύος. Ο χρήστης έχει πατήσει το κουμπί της πλήρους ισχύος. Ο χρήστης έχει πατήσει ένα από τα κουμπιά του χρονοδιακόπτη. Ο χρήστης έχει πατήσει ένα αριθμητικό πλήκτρο. Ο διακόπτης της πόρτας το φούρνου δεν είναι κλειστός. Ο διακόπτης της πόρτας το φούρνου είναι κλειστός. Ο χρήστης έχει πατήσει το κουμπί της έναρξης. Ο χρήστης έχει πατήσει το κουμπί της ακύρωσης.

Ερεθίσματα φούρνου μικροκυμάτων: συμβάντα που αλλάζουν την κατάσταση του φούρνου Half power Full power Timer Number Door open Door closed Start Cancel Stimulus Half power Full power Timer Number Door open Door closed Start Cancel Description The user has pressed the half power button The user has pressed the full power button The user has pressed one of the timer buttons The user has pressed a numeric key The oven door switch is not closed The oven door switch is closed The user has pressed the start button The user has pressed the cancel button

Λειτουργία φούρνου μικροκυμάτων διάγραμμα καταστάσεων

Διαγράμματα Καταστάσεων: Παράδειγμα Διαδικασία: Ενεργοποίηση τοστιέρας Τοποθέτηση ψωμιού Αναμονή Ψημένο ψωμί heater on

2/11/2016

Διαγράμματα δεδομένων Υποπερίπτωση για βάσεις δεδομένων

Σημασιολογικά μοντέλα δεδομένων semantic data models Περιγραφή της λογικής δομής των δεδομένων που επεξεργάζεται το σύστημα Τα μοντέλα οντοτήτων-σχέσεων-γνωρισμάτων καθορίζουν Τις οντότητες του συστήματος - entities Τις σχέσεις μεταξύ τους - relationships Τα γνωρίσματά τους (των οντοτήτων) - attributes Χρησιμοποιούνται ευρέως στο σχεδιασμό βάσεων δεδομένων. Υλοποιούνται εύκολα με χρήση σχεσιακών βάσεων δεδομένων Δεν υπάρχει συγκεκριμένη σημειογραφία στη UML, αλλά μπορούν να χρησιμοποιηθούν αντικείμενα και συσχετίσεις

Σημασιολογικό μοντέλο βιβλιοθήκης

Λεξικά δεδομένων Κατάλογοι όλων των ονομάτων που χρησιμοποιούνται στα μοντέλα συστημάτων Συμπεριλαμβάνουν επίσης περιγραφές των οντοτήτων, των σχέσεων και των γνωρισμάτων Πλεονεκτήματα Διαχείριση ονομάτων και αποφυγή επαναλήψεων Εξυπηρετούν ως αποθήκες οργανωτικών πληροφοριών Συνδέοντας την ανάλυση, το σχεδιασμό και την υλοποίηση Πολλά εργαλεία CASE υποστηρίζουν λεξικά δεδομένων

Καταχωρίσεις λεξικού δεδομένων Όνομα Περιγραφή Τύπος Ημερομηνία Άρθρο συγγραφείς Αγοραστής Λεπτομέρειες του δημοσιευμένου άρθρου που μπορεί να παραγγελθεί από άτομα που χρησιμοποιούν το LIBSYS. Τα ονόματα των συγγραφέων του άρθρου που ίσως δικαιούνται μέρος της πληρωμής. Το άτομο ή ο οργανισμός που παραγγέλλει ένα αντίγραφο του άρθρου. Οντότητα 30/12/2002 Γνώρισμα 30/12/2002 Οντότητα 30/12/2002 πληρωτέο σε Μια συσχέτιση 1:1 μεταξύ του Άρθρου και της Υπηρεσίας πνευματικών δικαιωμάτων στην οποία θα πρέπει να καταβληθεί το ποσό για τα πνευματικά δικαιώματα. Συσχέτιση 29/12/2002 Διεύθυνση (Αγοραστή) Η διεύθυνση του αγοραστή. Χρησιμοποιείται σε οποιαδήποτε έγγραφα πληρωμής χρειάζεται. Γνώρισμα 31/12/2002

Καταχωρίσεις λεξικού δεδομένων Name Description Type Date Article authors Buyer feepayable-to Address (Buyer) Details of the published article that may be ordered by people using LIBSYS. The names of the authors of the article who may be due a share of the fee. The person or organisation that orders a co py of the article. A 1:1 relationship between Article and the Copyright Agency who should be paid the copyright fee. The address of the buyer. This is used to any paper billing information that is required. Entity 30.12.2002 Attribute 30.12.2002 Entity 30.12.2002 Relation 29.12.2002 Attribute 31.12.2002

Μοντέλα αντικειμένων Φυσικός τρόπος αναπαράστασης των οντοτήτων του πραγματικού κόσμου που χειρίζεται το σύστημα Πιο αφηρημένες οντότητες είναι δυσκολότερο να μοντελοποιηθούν με αυτήν την προσέγγιση Ο προσδιορισμός κλάσεων αντικειμένων αναγνωρίζεται ως δύσκολη διαδικασία που απαιτεί σε βάθος κατανόηση του πεδίου εφαρμογής Οι κλάσεις αντικειμένων που αναπαριστούν οντότητες πεδίων εφαρμογών μπορούν να επαναχρησιμοποιηθούν και σε άλλα συστήματα

Μοντέλα αντικειμένων κλάσεις και συσχετίσεις Περιγράφουν το σύστημα με βάση Τις κλάσεις αντικειμένων Τις συσχετίσεις των κλάσεων Κλάση αντικειμένων: Mια αφαιρετική αναπαράσταση ενός συνόλου αντικειμένων με κοινά γνωρίσματα Kαι των υπηρεσιών (λειτουργιών) που παρέχει κάθε αντικείμενο Μπορούν να παραχθούν διάφορα μοντέλα αντικειμένων Μοντέλα κληρονομικότητας Μοντέλα συνάθροισης Διαδραστικά μοντέλα

Μοντέλα κληρονομικότητας - συσχετίσεις Οι κλάσεις αντικειμένων του πεδίου εφαρμογής είναι οργανωμένες σε μια ιεραρχία Οι κλάσεις στην κορυφή της ιεραρχίας απεικονίζουν τα κοινά χαρακτηριστικά όλων των κλάσεων Οι κλάσεις αντικειμένων κληρονομούν γνωρίσματα και υπηρεσίες από μία ή περισσότερες υπερκλάσεις Κατόπιν μπορούν να εξειδικευθούν κατά περίσταση Ο σχεδιασμός της ιεραρχίας κλάσεων είναι δύσκολη διαδικασία Πρέπει να αποφευχθεί η επανάληψη κλάσεων μεταξύ διαφορετικών κλάδων

Τα μοντέλα αντικειμένων και η Ενοποιημένη Γλώσσα Μοντελοποίησης (UML) Η UML είναι μια τυποποιημένη αναπαράσταση συστημάτων Την επινόησαν οι προγραμματιστές των αντικειμενοστρεφών μεθόδων ανάλυσης και σχεδιασμού Έχει εξελιχθεί σε ένα αποδοτικό πρότυπο για την αντικειμενοστρεφή μοντελοποίηση

Σημειογραφία UML κλάσεις, συσχετίσεις, κληρονομικότητα Οι κλάσεις αντικειμένων αναπαρίστανται με παραλληλόγραμμα H ονομασία των κλάσεων στην κορυφή Tα γνωρίσματα στο μέσο τους Οι λειτουργίες στο κάτω μέρος Οι σχέσεις μεταξύ των κλάσεων αντικειμένων - συσχετίσεις - απεικονίζονται ως γραμμές Συνδέουν αντικείμενα Η κληρονομικότητα αναφέρεται με τον όρο "γενίκευση" Απεικονίζεται στην ιεραρχία με κατεύθυνση προς τα επάνω και όχι προς τα κάτω

Ιεραρχία κλάσεων για μια βιβλιοθήκη - UML Το γενικότερο αντικείμενο πάνω Όνομα Χαρακτηριστικά Μέθοδοι - λειτουργίες Σχέση: «γενικεύεται σε» Οι κάτω κλάσεις κληρονομούν χαρακτηριστικά από τις πάνω

Ιεραρχία κλάσεων δεδομένων για μια βιβλιοθήκη - UML Το γενικότερο αντικείμενο πάνω Σχέση: «γενικεύεται σε» Library item Catalo gue n umber Acquisition da te Cost Type Status Number o f copies Acquir e () Catalo gue () Dispose () Issue () Return () Όνομα Χαρακτηριστικά Μέθοδοι - λειτουργίες Pub lished item Title Pub lisher Recor ded item Title Medium Οι κάτω κλάσεις κληρονομούν χαρακτηριστικά από τις πάνω Book Auth or Editio n Pub lication da te ISBN Year Issue Magazine Film Director Date of release Distrib uto r Comp uter pro gram Version Platfor m

Ιεραρχία κλάσεων χρηστών - UML Ο αναγνώστης και ο δανειζόμενος κληρονομούν χαρακτηριστικά από (γενικεύονται σε) Χρήστη βιβλιοθήκης

Ιεραρχία κλάσεων χρηστών - UML Library user Name Address Phone Registration # Register () De-register () Reader A filiation Borrower Items on loan Max. loans Ο αναγνώστης και ο δανειζόμενος κληρονομούν χαρακτηριστικά από (γενικεύονται σε) Χρήστη βιβλιοθήκης Staff Depar tment Depar tment phone Student Major subject Home ad dress

UML Διαγράμματα Καταστάσεων Δείχνει τις καταστάσεις ενός αντικειμένου Σχέσεις - μεταβάσεις Αρχικό Σημείο Τελικό Σημείο

Διάγραμμα κλάσεων: απεικόνιση Public Private Protected Όνομα_Κλάσης +Χαρακτηριστικό1:Τύπος1 -Χαρακτηριστικό2:Τύπος2= Αρχική_Τιμή #Χαρακτηριστικό3:Τύπος1 +Λειτουργία1() +Λειτουργία2(Παράμετρος1:Τύπος1, Παράμετρος2:Τύπος2= Αρχική_Τιμή ) -Λειτουργία3:Τύπος_Επιστρεφόμενης_Τιμής Όνομα Χαρακτηριστικά Μέθοδοι Επιπλέον στοιχεία: Περιορισμοί Κανόνες Κείμενο μέσα σε {} Σημειώσεις Ελεύθερο κείμενο, γραφικά κλπ.

Διάγραμμα κλάσεων: συσχετισμοί Ιδιότητα Συσχέτιση

Διάγραμμα κλάσεων: συσχετισμοί Κανόνας 1 1..* Κλάση Συσχέτισης n 2..13 (1,3) *

Διαγράμματα Κλάσεων: Κληρονομικότητα & Γενίκευση Κληρονομικότητα: Κλάση κληρονομεί ιδιότητες & μεθόδους από άλλη (γονική κλάση) Γενίκευση: Το παιδί είναι ειδίκευση του γονέα Μπορεί να εμφανίζεται «αντί» του γονέα Το αντίθετο δεν ισχύει Γενίκευση Amphibian Animal Mammal Reptilian Cat Dog Cow

Πολλαπλή κληρονομικότητα Ένα σύστημα που υποστηρίζει την πολλαπλή κληρονομικότητα Επιτρέπει στις κλάσεις αντικειμένων να κληρονομούν γνωρίσματα και υπηρεσίες από πολλές υπερκλάσεις Και όχι από μία μόνο γονική κλάση Αυτό μπορεί να οδηγήσει σε σημασιολογικές διενέξεις Όταν γνωρίσματα ή υπηρεσίες με το ίδιο όνομα σε διαφορετικές υπερκλάσεις έχουν διαφορετική σημασία. Η πολλαπλή κληρονομικότητα περιπλέκει τη διαδικασία αναδιοργάνωσης της ιεραρχίας των κλάσεων

Πολλαπλή κληρονομικότητα Book Auth or Editio n Pub lication da te ISBN Voice reco rding Speak er Dur ation Recor ding da te Talking book # Tapes Το βιβλίο ήχου κληρονομεί χαρακτηριστικά από (μπορεί να γενικευθεί σε) Βιβλίο Ηχογράφηση

Συνάθροιση αντικειμένων object aggregation Τα μοντέλα συνάθροισης δείχνουν πώς οι κλάσεις-συλλογές αποτελούνται από άλλες κλάσεις Τα μοντέλα συνάθροισης μοιάζουν με τη σχέση "ανήκει σε" (part of) των σημασιολογικών μοντέλων δεδομένων

Συνάθροιση αντικειμένων UML (aggregation or grouping) Το πακέτο μελέτης αποτελείται από Εργασίες Παρουσιάσεις Σημειώσεις Βιντεοταινίες

Συνάθροιση αντικειμένων UML (aggregation or grouping) Το πακέτο μελέτης αποτελείται από Εργασίες Παρουσιάσεις Σημειώσεις Βιντεοταινίες

Διαγράμματα κλάσεων: συναθροίσεις Συνάθροιση (aggregation)

Συνθέσεις αντικειμένων: composites Σύνθεση (composite)

Διεπαφές Διεπαφή: Σύνολο μεθόδων Διεπαφή Ορίζουν κάποια πλευρά της συμπεριφοράς της κλάσης Είναι διαθέσιμες σε άλλες κλάσεις Προσδιοριστικό <<interface>> πάνω από το όνομα της κλάσης Δεν υπάρχουν ιδιότητες

Διαγράμματα ακολουθίας Behavior modelling

Μοντέλα συμπεριφοράς αντικειμένων behavior modelling Απεικονίζουν τις αλληλεπιδράσεις μεταξύ αντικειμένων Που παράγουν κάποια συγκεκριμένη συμπεριφορά του συστήματος Η οποία αποτελεί μια περίπτωση χρήσης Για τη μοντελοποίηση της αλληλεπίδρασης μεταξύ αντικειμένων χρησιμοποιούνται διαγράμματα ακολουθίας (ή διαγράμματα συνεργασίας) στη γλώσσα UML.

Χρήση ειδών σε ηλεκτρονική μορφή μοντέλο συμπεριφοράς σε UML

Χρήση ειδών σε ηλεκτρονική μορφή μοντέλο συμπεριφοράς σε UML

Δομημένες μέθοδοι (η διαδικασία μοντελοποίησης) Οι δομημένες μέθοδοι συμπεριλαμβάνουν τη μοντελοποίηση ως εγγενές μέρος τους Ορίζουν Ένα σύνολο μοντέλων Μια διαδικασία παραγωγής των μοντέλων αυτών Κανόνες και οδηγίες που πρέπει να εφαρμόζονται σε αυτά Τα εργαλεία CASE υποστηρίζουν τη μοντελοποίηση συστημάτων στα πλαίσια των δομημένων μεθόδων.

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

Εργαστήρια εργαλείων CASE Εργαλεία για την υποστήριξη της παραγωγής λογισμικού Ανάλυση, σχεδιασμό, δοκιμές Υποστηρίζουν τη μοντελοποίηση συστημάτων Κατά τη διάρκεια της κατάρτισης απαιτήσεων Κατά το σχεδιασμό των συστημάτων Μπορεί να υποστηρίζουν μια συγκεκριμένη μέθοδο σχεδιασμού Ή μπορεί να υποστηρίζουν τη δημιουργία διάφορων τύπων μοντέλων συστημάτων

Εργαλείο ανάλυσης και σχεδιασμού Data diction ary Structur ed diag rammin g tools Repor t gener ation facilities Code gener ator Centr al infor ma tion repository Query langua ge facilities Forms cr ea tion tools Design, anal ysis and checkin g tools Import/e xport facilities

Συστατικά στοιχεία ενός εργαλείου ανάλυσης Επεξεργαστές διαγραμμάτων Εργαλεία ανάλυσης και ελέγχου σχεδιασμού Γλώσσα ερωτημάτων αποθετηρίου Λεξικό δεδομένων Εργαλεία ορισμού και παραγωγής αναφορών Εργαλεία ορισμού φορμών Βοηθήματα εισαγωγής/εξαγωγής Γεννήτριες κώδικα

Κύρια σημεία Μοντέλο είναι μια αφηρημένη άποψη ενός συστήματος. Μπορούν να αναπτυχθούν συμπληρωματικά μοντέλα ενός συστήματος ώστε να παρουσιαστούν άλλες πληροφορίες σχετικά με αυτό. Τα μοντέλα θεματικού πλαισίου δείχνουν τη θέση του συστήματος που μοντελοποιείται μέσα σε ένα περιβάλλον με άλλα συστήματα και διαδικασίες. Τα μοντέλα ροής δεδομένων μπορούν να χρησιμοποιηθούν για τη μοντελοποίηση της επεξεργασίας δεδομένων που πραγματοποιείται από το σύστημα. Τα μοντέλα μηχανής καταστάσεων μοντελοποιούν τη συμπεριφορά ενός συστήματος σε απόκριση εσωτερικών ή εξωτερικών συμβάντων.

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

C++ σε UML: μια άλλη object oriented περιγραφή Class Customer { public: Customer(); Account* getaccount() {return theaccount;} void setaccount(account *value) {theaccount=value;} private: string lastname; string firstname; Account* theaccount; } Account -number : int -balance : int -branch : String +calcinterest() : double +getbalance() : int 1 1 Customer -lastname : String -firstname : String

C++ σε UML class Car { public: Car(); Engine getengine () ; void setengine(engine value); private: string model; int serialno; Engine theengine; } Car -serialno : int -model : String -End1 1 -End2 1 Engine -serialno : int -horsepower : int

C++ σε UML -FlightNo : int -Date : Date Flight +addpassenger() : bool +removepassenger() : bool Passenger -name : String -passengerid : int class Flight { public: Flight(); bool addpassenger (Passenger p) ; bool removepassenger (Passenger p); private: int flightno; date flightdate; }

C++ σε UML class Employee { public: Employee(); void Hire() ; void Fire(); virtual double getsalary(); private: string firstname; string lastname; } Employee -firstname : String -lastname : String +hire() +fire() +getsalary() : double AdminEmployee -salary : double -bonus : double

C++ σε UML class AdminEmployee: public Employee { public: AdminEmployee(); double getsalary(); private: double salary; double bonus; } Employee -firstname : String -lastname : String +hire() +fire() +getsalary() : double AdminEmployee -salary : double -bonus : double