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



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

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

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

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

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10

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

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

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

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

Ε ΛΛΗΝΙΚΟ Α ΝΟΙΚΤΟ Π ΑΝΕΠΙΣΤΗΜΙΟ

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

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

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

Τα διαγράµµατα πακέτων

ΟΙΚΟΓΕΝΕΙΑ ΠΡΟΓΡΑΜΜΑΤΩΝ GS SHOP BUILDER

Συστήµατος Συσκευασίας Φακέλων Τσαγιού

Οδοραµα mobile ΑΠΟΘΗΚΗ

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

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

Μετασχηµατισµός διαγράµµατος ER σε σχεσιακό σχήµα Β

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

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

Βελτιώνω μια λεπτομέρεια, σε σχέση με την Ανακοίνωση από 22/6/2009 (1.4.3)

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

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

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

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

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

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

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Οι πράξεις που χρειάζονται για την επίλυση αυτών των προβληµάτων (αφού είναι απλές) µπορούν να τεθούν σε µια σειρά και πάρουν µια αλγοριθµική µορφή.

Περίπτωση Χρήσης Use case

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

Εισαγωγή ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΣΠ

Αντικειµενοστρεφής ανάλυση και σχεδίαση

Τα διαγράµµατα συστατικών


Ε ΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Εφαρµογή Βusiness. ιαδικασίες Μετασχηµατισµών Παραστατικών

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

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

3 ΑΝΑΛΥΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ

- εξίσωση που εκφράζει τον n-οστό όρο a n της ακολουθίας, - µέσω ενός ή περισσότερων όρων από τους a 0, a 1,..., a n 1, - για κάθε n n 0, όπου n 0 N.

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

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού

Πρόβληµα : Πώς θα λύναµε αυτό το πρόβληµα αν είχαµε µόνο χαρτί και µολύβι, και κάποιος µας έλεγε τους αριθµούς προφορικά?

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

CRM. Σηµειώσεις για το σεµινάριο Αθανάσιος Ν. Σταµούλης. Customer Relationship Management

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

(GNU-Linux, FreeBSD, MacOsX, QNX

ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΟ ΜΑΘΗΜΑ "ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ" ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ιδάσκων: Β.Βεσκούκης

Προγραµµατισµός 1 Ταξινόµηση - Αναζήτηση

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων κλάσης (2 ο Μέρος)

Προσοχή: Βεβαιωθείτε ότι έχετε πάρει backup της εφαρμογής πριν την έναρξη της διαδικασίας

website guide B2B e-shop

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ. Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων

Αντικειµενοστρεφής ανάλυση και σχεδίαση

3. Σηµειώσεις Access. # Εισαγωγή ψηφίου ή κενού διαστήµατος. Επιτρέπονται τα ση-

Επιµέλεια Θοδωρής Πιερράτος

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

Requirements Απαιτήσεις

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

Ένα σηµαντικό χαρακτηριστικό γνώρισµα των τελευταίων ετών αλλά και αυτών που ακολουθούν είναι οι αλλαγές που σηµειώνονται στο χώρο των επιχειρήσεων.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

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

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

ΟΝΟΜΑ : ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΩΝΥΜΟ : ΚΟΚΟΛΟΓΟΣ Α.Μ. : Ε11060 ΕΞΑΜΗΝΟ : ΕΠΙ ΠΤΥΧΙΟ ΤΜΗΜΑ : ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ : ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΕΦΑΡΜΟΓΗ

2 ΕΙΣΑΓΩΓΙΚΕΣ ΕΝΝΟΙΕΣ ΙΟΙΚΗΣΗΣ ΕΡΓΩΝ

επιµέλεια Θοδωρής Πιερράτος

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

Διαδικασία σχεδιασμού Β.Δ.

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

Αλλαγή συντελεστών Φ.Π.Α. & μετάβαση σε Νέο Καθεστώς Φ.Π.Α.

3 Αλληλεπίδραση Αντικειμένων

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

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

Δοµές Δεδοµένων. 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων. Ε. Μαρκάκης

ΗΛΕΚΤΡΟΝΙΚΗ ΥΠΟΒΟΛΗ ΤΩΝ ΙΑΓΡΑΜΜΑΤΩΝ. ΤΟΥ ν.4409/2016 ΣΤΟΝ ΥΠΟ ΟΧΕΑ ΤΟΥ ΕΛΛΗΝΙΚΟΥ ΚΤΗΜΑΤΟΛΟΓΙΟΥ. Οδηγίες. για την ψηφιακή υπογραφή.

Φάσμα προπαρασκευή για Α.Ε.Ι. & Τ.Ε.Ι.

Θ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ

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

Week. 6: Java Collections

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες:

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

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

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

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

Εγχειρίδιο Έκδοσης Πράσινων Καρτών

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΑΠΑΝΤΗΣΕΙΣ

Transcript:

1 Ελληνικό Ανοικτό Πανεπιστήµιο Κανόνες για ανάπτυξη διαγραµµάτων κλάσεων ρ. Πάνος Φιτσιλής

2 Περιεχόµενα Προσδιορισµός κλάσεων Πως να ονοµάσουµε τις κλάσεις; Που να τις βρούµε; Τι να κοιτάξουµε; Τι να σκεφτείτε; Προσδιορισµός πεδίων, µεθόδων, σχέσεων Παραδείγµατα

3 Οι κλάσεις Έχουνε κεντρικό ρόλο στην αντικειµενοστρεφή ανάπτυξη συστηµάτων είχνει τη στατική δοµή του συστήµατος Τύπο (!) των αντικειµένων Στατικές σχέσης Σύνδεση (Association) (π.χ.: µια εταιρεία έχει πολλούς εργαζόµενους) Γενίκευση (Generalization) (π.χ.: ένας εργαζόµενος είναι µια κατηγορία ατόµων) Αλληλεξάρτηση (Dependencies) (π.χ.: µια εταιρεία χρησιµοποιεί φορτηγά για να διακινεί προϊόντα)

4 Πως να ονοµάσουµε µια κλάση... Το όνοµα µια κλάσης είναι Ουσιαστικό στον ενικό Επίθετο και ουσιαστικό Πελάτης όχι πελάτες Παραγγελία όχι παραγγελίες Χρησιµοποιούµε ονόµατα απότοπεδίοτουπροβλήµατος Από την ορολογία και το λεξιλόγια του πελάτη Χρησιµοποιούµε στάνταρτ ονοµατολογία Χρήση µικρών κεφαλαίων Χρήση κενών

Που να κοιτάξουµε για να βρούµε κλάσεις... Παρατήρηση του προβλήµατος Συνοµιλία µε του ειδικούς του πεδίου προβλήµατος Αναζήτηση παλιότερων αποτελεσµάτων από αντίστοιχα συστήµατα Μελέτη υπαρχόντων αντίστοιχων συστηµάτων Μελέτη των προδιαγραφών, της προκήρυξης κ.λπ. Μελέτη βιβλιογραφίας, σχετικών επιστηµονικών περιοδικών κ.λπ. 5

6 Για τι ψάχνουµε... οµές, σχέσεις αντικειµένων Άλλα συστήµατα Συσκευές (devices) Πράγµατα ή γεγονότα Ρόλους ιαδικασίες Οργανωτικές µονάδες Τόπους

7 Πως βρίσκουµε δοµές... Για κάθε πράγµα/έννοια/διαδικασία ρωτάµε Από τι αποτελείται (σχέση συναρµολόγησης); Τι περιέχει (σχέση σύνθεσης) Χρειάζεται να ξέρω περισσότερα για τα συστατικά; Με ενδιαφέρει να ξέρω περισσότερες λεπτοµέρειες Με τι µοιάζει (σχέση γενίκευσης) Ποια είναι τα κοινά Χαρακτηριστικά, δεδοµένα, συµπεριφορά Ποιες είναι οι διαφορές

8 Εύρεση συστηµάτων, συσκευών Το σύστηµα θα αλληλεπιδρά µε άλλα συστήµατα Τι είδους θα είναι η αλληλεπίδραση Ηλεκτρονική Σύγχρονη, ασύγχρονη Ποιος την ξεκινά Αλληλεπίδραση ανθρώπου-υπολογιστή Ποια θα είναι η διαπροσωπία χρήστη Αλληλεπιδρά το σύστηµα µε συσκευές Μας ενδιαφέρει η συµπεριφορά τους ή ενσωµατώνεται στην συµπεριφορά τον αντικειµένων Πληκτρολόγιο Αισθητήρας θερµοκρασίας

Πράγµατα ή γεγονότα Προσπαθούµε ναβρούµε αν υπάρχουν Ιστορικά δεδοµένα που πρέπει να χρησιµοποιηθούν και να καταγραφούν Πράγµατα που πρέπει να θυµόµαστε Γεγονότα, ηµεροµηνίες που πρέπει να θυµόµαστε 9

Ποιοι είναι οι ρόλοι των χρηστών στο σύστηµα Ποιος είναι ο ρόλος των ανθρώπων στο σύστηµα Έχουν ήδη καταγραφεί στην ανάλυση των περιπτώσεων χρήσης ως χειριστές Πρέπει επιπλέον να προσδιορίσουµετους διακριτούς τους ρόλους Υπάρχουν διάφορα είδη ανθρώπων Οι χρήστες του συστήµατος (χρησιµοποιούν τις οθόνες του συστήµατος για την καθηµερινή εργασίας) Οι άνθρωποι για τους οποίους φτιάχνετε το σύστηµα (δεν είναι απαραίτητο να το χρησιµοποιούν) Οι άνθρωποι οι οποίοι χρηµατοδοτούν το σύστηµα (διοίκηση ή µέτοχοι) και χρειάζονται να γνωρίζουν την πρόοδο των εργασιών 10

11 Λειτουργικές διαδικασίες και οργανωτικές µονάδες Ποιες είναι οι λειτουργικές-επιχειρηµατικές διαδικασίες που πρέπει να υποστηρίζει το σύστηµα Πρέπει το σύστηµα να διαχειρίζεται τα βήµατα της διαδικασίας ένα προς ένα (workflow) Χρειάζεται το σύστηµα νακαταγράφειτην οργανωτική δοµή της επιχείρησης Χρειάζεται το σύστηµα να καταγράφει τις διαδικασίες που ο κάθε εργαζόµενος της επιχείρησης µπορεί να εκτελέσει Χρειάζεται το σύστηµα να έχει γνώση γεωγραφικών χαρακτηριστικών Για παράδειγµα που βρίσκεται µια αποθήκη Πόσο χρόνος χρειάζεται για τη µεταφορά των προϊόντων Η επιχείρηση είναι εγκατεστηµένη σε ένα κτήριο/µια πόλη/µια χώρα κ.λπ.

Για κάθε κλάση που εντοπίσαµε εξετάζουµε Για κάθε κλάση εξετάζουµε Τι χρειάζεται να θυµόµαστε Ποια είναι η απαιτούµενη συµπεριφορά Υπάρχουν ένα ή περισσότερα πεδία σε κάθε κλάση ένα πεδίο σηµαίνει ότι έχουµε πάεισε µεγάλη λεπτοµέρεια Υπάρχουν πεδία που πάντα έχουν τιµή αν υπάρχουν πεδία που δεν έχουν πάντα τιµές πιθανόν να χρειαζόµαστε σχέση γενίκευσης 12

Για κάθε κλάση που εντοπίσαµε εξετάζουµε (συνέχεια) Για κάθε κλάση εξετάζουµε Υπάρχουν µέθοδοι που χρησιµοποιούνται πάντα αν υπάρχουν µέθοδοι που δεν χρησιµοποιούνται συχνά χρειαζόµαστε σχέση γενίκευσης Υπάρχουν πεδία τα οποία µπορούν να υπολογισθούν από άλλα πεδία 13

Πως προσδιορίζουµε ταπεδία Τα πεδία περιγράφουν µια ιδιότητα του αντικειµένου (π.χ. Χρώµα µέγεθος) Ένα χαρακτηριστικό του πεδίου προβλήµατος (π.χ. ο κωδικός προϊόντος) Υπευθυνότητες του αντικειµένου Το όνοµα του πεδίου είναι ένα ουσιαστικό όσοτοδυνατόνπιοσυγκεκριµένο Προσδιορίζουµε τον τύπο των πεδίων 14

15 Πως προσδιορίζουµε τιςµεθόδους Οι µέθοδοι περιγράφουν τη συµπεριφορά των αντικειµένων Υπάρχουν οι αλγοριθµικά απλές και οι αλγοριθµικά σύνθετες µέθοδοι Αλγοριθµικά απλές είναι τεσσάρων ειδών Create ηµιουργεί ένα καινούργιο αντικείµενο Connect Συνδέει ένα αντικείµενο από ένα άλλο Access Προσπελαύνει τα δεδοµένα ενός αντικειµένου Release Αποσυνδέει ένα αντικείµενο από ένα άλλο ή καταστρέφει ένα αντικείµενο

Πως προσδιορίζουµε τιςµεθόδους (συνέχεια) Οι αλγοριθµικά σύνθετες µέθοδοι είναι δύο ειδών Compute Υπολογισµός της τιµής πεδίων βάση αλγορίθµου Monitoring Παρακολούθηση λειτουργίαςεκτέλεσης συστήµατος, λογισµικού, συσκευής κ.λπ. Ονοµατολογία µεθόδων Ρήµα ενεργητικής φωνής Ονοµατολογία που χρησιµοποιείται στην Java createaccount calculatepriceofproduct Μικρό γράµµα Κεφαλαίο γράµµα 16

17 Ένα παράδειγµα: Σηµείο πώλησης Point Of Sale (POS) Ένα σύστηµα POS είναι ένα σύστηµα υποστήριξης πωλήσεων σαν αυτά που συναντά κανείς στα supermarket Αποτελείτε από ταµειακή µηχανή, Bar code, υπολογιστή, λογισµικό κ.λπ.

18 Ένα παράδειγµα: Σηµείο πώλησης Point Of Sale (POS) (συνέχεια) Περίπτωση Χρήσης: Αγορά Προϊόντος 1. Ο πελάτης φτάνει στο POS µε ταπροϊόντα στο καλάθι 2. Ο ταµίας χρησιµοποιώντας το bar code καταγράφει τα προϊόντα 3. Το σύστηµα βρίσκει τις τιµές των προϊόντων και προσθέτει τη τιµή στολογαριασµό 4. Εάν υπάρχουν πολλά προϊόντα του ιδίου είδους, ο ταµίας µπορεί να εισάγει επίσης την ποσότητα 5. Η σύντοµη περιγραφή και η τιµή του προϊόντος εµφανίζεται στην οθόνη της ταµειακής µηχανής 6....

Κλάσεις που εντοπίσθηκαν 19

20 Εύρεση συνδέσεων Ο προσδιορισµός των συνδέσεων γίνεται µε Προσδιορισµό ρηµάτων και ουσιαστικών που ορίζουν ενέργεια ή διαδικασία Προσδιορισµό τωνσυνδεόµενων κλάσεων Προτιµούµε τις δυαδικές συνδέσεις (δύο κλάσεις) Κατηγοριοποιούµε τις συνδέσεις Ενέργεια (οδηγεί, αγοράζει) Επικοινωνία (µιλάει µε) Ιδιότητα (έχει) Απόσταση (είναι κοντά σε) Γενικής µορφής (εξαρτάται από, είναι παντρεµένος µε)

21 Εύρεση συνδέσεων (συνέχεια) Προσδιορίζουµε τις συνδέσεις Στις περισσότερες περιπτώσεις οι συνδέσεις υπονοούνται από τις κλάσεις Για τον καλύτερο ορισµό χρειάζεται ορισµός Ονόµατος Ρόλου και στα δυο άκρα της σχέσης Πολλαπλότητας (multiplicity) Τίτλου της σχέσης

22 Ορισµός πολλαπλότητας Είναι η σχέση υποχρεωτική; Όταν το αντικείµενο δηµιουργείται πρέπει να δηµιουργηθεί και το άλλο αντικείµενο Πολλαπλότητα = 1 Είναι προαιρετική; Το συνδεόµενο αντικείµενο µπορεί να δηµιουργηθεί οποτεδήποτε Πολλαπλότητα = 0 Είναι ο µέγιστος αριθµός σταθερός ή µεταβλητός; Αν σταθερός τότε Π.χ. πολλαπλότητα = 2 Αν είναι µεταβλητός τότε πολλαπλότητα = n Υπάρχουν ειδικές συνθήκες; Μονός αριθµός αντικειµένων, ελάχιστο κάτω όριο

ιαχωρισµός των σχέσεων σε συνδέσεις (association) και σε συναρµολόγηση (aggregation) 23 Μπορεί η σχέση να περιγραφεί µε τους όρους Γενίκευση ειδίκευση Ολόκληρο τµήµα Οµάδα -µέλη Αποτελείται από Είναι η πολλαπλότητα από τη µια πλευρά της σχέσης 1 ή 0..1 Είναι η διάρκεια ζωής των αντικειµένων η ίδια Μπορούν να υπάρχουν ανεξάρτητα τα αντικείµενα

24 Πίνακας κατάταξης Όταν έχω Οικογένεια/κατηγορία πραγµάτων Ένα όνοµα, ένα ουσιαστικό µε επιθετικό προσδιορισµό Ιδιότητα αντικειµένου Τιµή αντικειµένου Μια συνθήκη Ρήµα ενεργητικής φωνής µετά από αντικείµενο Γεγονός, χρόνος, συµβάν Παράδειγµα Άτοµο, λογιστής, όχηµα, τιµολόγιο, προϊόν Γιώργος, µεγαλύτερο όχηµα, πρώτο τιµολόγιο Ηλικία, Χρώµα 27 ετών, κίτρινο Ηλικία > Γιώργος δίνει αναφορά. Γιώργος αποθηκεύει Χτύπηµα τηλέφωνο, Πάρτι Γενέθλιων Τι µπορεί να είναι Κλάση Αντικείµενο Πεδίο κλάσης Τιµή πεδίου Κατάσταση αντικειµένου Μέθοδος κλάσης Μέθοδος κλάσης, Συνεργασία αντικειµένων

25 Συµπερασµατικά Τα διαγράµµατα κλάσεων είναι η ραχοκοκαλιά της αντικειµενοστρεφούς ανάπτυξης Κατάτηνανάπτυξητουµοντέλου δεν πρέπει να ξεχνάµε: H UML έχει πλούσιο ρεπερτόριο. εν είναι ανάγκη να το χρησιµοποιήσουµε όλο Χρησιµοποιείστε προηγµένα χαρακτηριστικά µόνο όταν δεν γίνεται αλλιώς Ξεκινήστε µε ένα απλό µοντέλο και εµπλουτίστε το στην πορεία Ξεκινήστε να φτιάχνεται το µοντέλο των κλάσεων όσο το δυνατόν πιο γρήγορα Μην ξεχνάτε τις βασικές αρχές της αντικειµενοστρεφούς ανάπτυξης Αφαίρεση (abstraction) Κελυφοποίηση (encapsulation) οµικότητα (modularity) Ιεραρχία (hierarchy)

Όταν ξεκινάτε να φτιάξετε ένα διάγραµµα Ξεκινήστε απλά και γρήγορα Στη συνέχεια προσθέστε Πεδία Σχέσεις, πολλαπλότητα Υπηρεσίες Υπευθυνότητες, ρόλους 26