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

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

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

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

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships)

Σύνθεση και Κληρονομικότητα

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

1 η ΑΣΚΗΣΗ ΕΡΓΑΣΤΗΡΙΟΥ (ομαδική: 2 ή 3 ατόμων) (Ημερομηνία Παράδοσης: 18/11/2017) (Ζητούμενο)

Κανόνες για ανάπτυξη διαγραµµάτων κλάσεων

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

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

Σύνθεση και Κληρονομικότητα

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

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

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

ΠΑΡΑΔΕΙΓΜΑΤΑ USE CASE DIAGRAMS CLASS DIAGRAMS

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

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

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

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Ευάγγελος Γ. Ούτσιος Θεόδωρος Γ. Λάντζος Διάλεξη Νο6

Αντικειµενοστραφής Προγραµµατισµός

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

Διάγραμμα Οντοτήτων - Συσχετίσεων

Βάσεις Δεδομένων. Σταύρος Βαλσαμίδης Βάσεις Δεδομένων Διάγραμμα Ο-Σ 1

Γενικά (για τις γραπτές εξετάσεις)

Ανάλυση και Σχεδιασμός ΠΣ Σχεδίαση: Σχεδίαση Κλάσεων και Μεθόδων

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

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

Παραδείγματα διαγραμμάτων της UML (1ο Μέρος)

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

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

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

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

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

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων ιαχείριση ικτύων ρ.αρίστη Γαλάνη Ακαδημαϊκό Έτος


Αρχική: Μπορείτε να δείτε τα προϊόντα μας με τους εξής δύο τρόπους:

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

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

Μοντέλα Οντοτήτων Συσχετίσεων 2

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 3: Μοντελοποίηση Περιπτώσεων Χρήσης (1ο Μέρος)

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

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

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

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

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

Scheduling έργου 1 Τρίτη, 27 Οκτωβρίου 2015

Κληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1

Μοντέλο Οντοτήτων-Συσχετίσεων

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

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

Ηλεκτρονικό Κατάστημα

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

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


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

Με τι ασχολείται ο αντικειμενοστραφής προγραμματισμός

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

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

Copyright 2007 Ramez Elmasri and Shamkant B. NavatheΕλληνικήΈκδοση ίαυλος. ιαφάνεια 4-1

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

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

Το Μοντέλο Οντοτήτων Συσχετίσεων

ΕΝΝΟΙΟΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΔΕΔΟΜΕΝΩΝ (6)

Certified Java Programmer (CJP)

Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής - Εβδομάδα 1

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

Beauty Center LB. Εφαρμογή διαχείρισης κέντρου αισθητικής. Beauty Center LB v2.0 Εφαρμογή διαχείρισης Κέντρου Αισθητικής

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

Εισαγωγή στα Πληροφοριακά Συστήματα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΛΑΤΦΟΡΜΑΣ B2B

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

ΣΥΝ ΕΣΗ ΣΤΟ ΗΛΕΚΤΡΟΝΙΚΟ ΚΑΤΑΣΤΗΜΑ:

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

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

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

ΠΡΩΤΟ ΜΕΡΟΣ: 13 ΚΕΦΑΛΑΙΟ

Transcript:

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

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

Διαγράμματα Κλάσεων Η κλάση αναπαρίσταται στη UML με ορθογώνιο Το όνομα της κλάσης είναι (από σύμβαση) μια λέξη με το πρώτο γράμμα κεφαλαίο Το πακέτο αναπαρίσταται ως: 3

Συμβολισμός Κλάσης Ο συμβολισμός της κλάσης έχει 3 τμήματα: Το όνομα της κλάσης Τις ιδιότητες (attributes) της κλάσης Τις λειτουργίες (operations) της κλάσης 4

Ιδιότητες Κλάσης Οι ιδιότητες (attributes) παραπέμπουν στα πεδία της Java και σχετίζονται με δεδομένα της κλάσης Τυπική σύνταξη ιδιοτήτων Όνομα : Τύπος = αρχική_τιμή Ο τύπος μπορεί να είναι ένας τύπος της UML, κάποιος τύπος της γλώσσας προγραμματισμού ή κάποια κλάση Παραγόμενες (derived) ιδιότητες είναι αυτές που η τιμή τους προκύπτει από άλλες ιδιότητες της κλάσης. Οι παραγόμενες ιδιότητες έχουν το σύμβολο / πριν από το όνομα. 5

Εμβέλεια Ιδιοτήτων & Λειτουργιών Πρόθεμα Ονομασία Εμβέλεια - Ιδιωτική Ορατότητα μόνο εντός της κλάσης ~ Περιεχόμενη Ορατότητα μόνο στο πακέτο που περιέχει την κλάση + Δημόσια Ορατότητα σε όλο το σύστημα # Προστατευόμενη Ορατότητα μόνο στην κλάση και τους απογόνους της 6

Αντικείμενο Κλάσης Κάθε αντικείμενο της κλάσης έχει συγκεκριμένη τιμή για κάθε ιδιότητα Τυπική σύνταξη Όνομα αντικειμένου : Όνομα κλάσης Το όνομα του αντικειμένου αρχίζει με μικρό γράμμα 7

Λειτουργίες Κλάσης Οι λειτουργίες (operations) παραπέμπουν στις μεθόδους της Java Τυπική σύνταξη Όνομα(Παράμετρος1 : Τύπος1, Παράμετρος2 : Τύπος2, ) : Τύπος_Επιστροφής 8

Συσχετίσεις Κλάσεων Η συσχέτιση (association) αναπαριστά κάποια σύνδεση των αντικειμένων δύο κλάσεων Το βέλος δείχνει πώς διαβάζεται η σχέση Οι συσχετίσεις μεταξύ κλάσεων «μοιάζουν» με τις σχέσεις των πινάκων μίας βάσης δεδομένων 9

Πολλαπλότητα Συσχετίσεων Η πολλαπλότητα αναφέρεται στα άκρα των συσχετίσεων. Ακριβώς ένα 1 Ένα ή περισσότερα 1..* Κανένα ή περισσότερα * Κανένα ή ένα 0..1 10

Πολλαπλότητα Συσχετίσεων Συμβολισμός Πολλαπλότητας Περιγραφή 1 Ακριβώς 1 0 1 0 ή 1 0 * ή * 0 ή πολλά 1 * 1 ή πολλά 0 5 0 έως 5 2 10 2 έως 10 3, 5, 6 3 ή 5 ή 6 11

Συσσώρευση (aggregation) Η συσσώρευση είναι μία ειδική μορφή συσχέτισης. Είναι μία συσχέτιση όλου τμήματος. Η κλάση Α αναπαριστά το «όλο» και η κλάση Β το «τμήμα» Αν η κλάση Α καταστραφεί δεν καταστρέφονται τα περιεχόμενά της. 12

Συσσώρευση Παράδειγμα Το αυτοκίνητο έχει ως τμήμα του ένα κινητήρα. Ο κινητήρας μπορεί να είναι τμήμα πολλών αυτοκινήτων. Σημασιολογική ερμηνεία: «Το αυτοκίνητο δεν μπορεί να λειτουργήσει χωρίς τον κινητήρα». 13

Σύνθεση Η σύνθεση (composition) είναι μία ισχυρή μορφή συσσώρευσης Το όλο ελέγχει πλήρως τα τμήματά του και ιδιαίτερα τον κύκλο ζωής τους. Π.χ. η διαγραφή ενός αντικειμένου «όλου» διαγράφει και τα τμήματά του. Η πρόσβαση σε κάποιο «τμήμα» γίνεται αποκλειστικά μέσω του «όλου» 14

Σύνθεση Παράδειγμα Η εταιρεία θα έχει πάντα τουλάχιστον ένα τμήμα Όταν διαγραφεί η κλάση εταιρεία θα διαγραφούν και τα τμήματά της. 15

Αυτοσυσχέτιση Υπάρχει και η δυνατότητα αυτοσυσχέτισης. Η αυτοσυσχέτιση του σχήματος παράγει ιεραρχία αντικειμένων 16

Κλάση Συσχέτισης Μία κλάση συσχέτισης (association class) αποδίδει ιδιότητες και λειτουργίες σε μία συσχέτιση Η κλάση C είναι η κλάση συσχέτισης των Α και B Χρησιμοποιείται συνήθως σε συσχετίσεις «πολλά-προςπολλά» Σύνδεση με τη γραμμή συσχέτισης με - - - - - 17

Κλάση Συσχέτισης: Παράδειγμα (1/2) Ένας υπάλληλος εργάζεται σε πολλές εταιρείες και κάθε εταιρεία έχει πολλούς υπαλλήλους Ερώτημα: Πώς θα απεικονιστεί ο μισθός που λαμβάνει ένας υπάλληλος από μία εταιρεία? 18

Κλάση Συσχέτισης: Παράδειγμα (2/2) Ο περιορισμός της κλάσης συσχέτισης είναι ότι ο υπάλληλος δεν μπορεί να έχει δύο εργασίες στην ίδια εταιρεία. 19

Γενίκευση Η γενίκευση παραπέμπει στην κληρονομικότητα. Η κλάση Β είναι υποκλάση της κλάσης Α. Η υποκλάση κληρονομεί ιδιότητες συσχετίσεις και λειτουργίες της υπερκλάσης. Μία υποκλάση μπορεί να επαναορίσει (override) λειτουργίες της υπερκλάσης της. 20

Γενίκευση Παραδείγματα 21

Ολοκληρωμένο Παράδειγμα 1 Σ ένα ηλεκτρονικό forum υπάρχει ο απλός χρήστης, ο συγγραφέας και ο διαχειριστής. Ο απλός χρήστης μπορεί να διαβάζει τα άρθρα και να γράφει σχόλια σε κάποια άρθρα. Ο συγγραφέας εκτός από το να διαβάζει άρθρα και να γράφει σχόλια, μπορεί και να γράφει νέα άρθρα. Ο διαχειριστής, διαχειρίζεται τα άρθρα και τα σχόλια. 22

Ολοκληρωμένο Παράδειγμα 1 23

Ολοκληρωμένο Παράδειγμα 2 Σε ένα ηλεκτρονικό κατάστημα υπάρχει ο πελάτης και ο πωλητής Ο πελάτης μπορεί να κάνει αναζήτηση προϊόντος από τον online κατάλογο Ο πελάτης μπορεί να παραγγείλει ένα προϊόν. (για να ολοκληρωθεί η παραγγελία, πρέπει να συμφωνήσει με τους όρους πληρωμής) Οι πιο συνηθισμένες παραγγελίες, είναι οι παραγγελίες υπολογιστών Ο πωλητής συμμετέχει στη διαδικασία παραγγελίας με το να παρέχει πληροφόρηση στον πελάτη 24

Ολοκληρωμένο Παράδειγμα 2 25