1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα συστατικών ρ. Πάνος Φιτσιλής
2 Περιεχόµενα Βασικές έννοιες Αναπαράσταση και χρήσεις των συστατικών Είδη και κατηγορίες συστατικών Υλοποίηση διαπροσωπιών Στερεότυπα Παραδείγµατα
3 ιαγράµµατα στοιχείων (component diagrams) Τα διαγράµµατα στοιχείων είναι ένα από τα δύο διαγράµµατα τα οποία χρησιµοποιούνται για να περιγράψουνε την φυσική διάσταση του συστήµατος µε όρους Εκτελέσιµων αρχείων Βιβλιοθηκών κώδικα Σελίδων html Εγγράφων Πίνακες βάσεων δεδοµένων κ.λπ. Τα διαγράµµατα στοιχείων περιέχουν Στοιχεία (components) ιαπροσωπίες (interfaces) Σχέσεις Χρησιµοποιούνται για να µοντελοποιήσουν Τον πηγαίο κώδικα Την παραγωγή των εκτελέσιµων προγραµµάτων Την δοµή της βάσης δεδοµένων Την σχέση του συστήµατος µε άλλα εξωτερικά δυναµικά συστήµατα
4 Ποια είναι η διαφορά µεταξύ πακέτων (packages) και συστατικών (components) Πακέτα Λογικά στοιχεία δεν είναι φυσικά Ορίζουν τη δοµή του συστήµατος Παρουσιάζουν τη δοµή του πηγαίου κώδικα Συστατικά Φυσικά τµήµατα του υλοποιούν το σύστηµα Αρχεία πηγαίου κώδικα Έγγραφα Βιβλιοθήκες Πίνακες βάσεων δεδοµένων ιαπροσωπίες Κ.λπ.
5 Αναπαράσταση συστατικών στην UML στερεότυπα Σχέση αλληλεξάρτησης
Βασικά χαρακτηριστικά των συστατικών Τα συστατικά είναι φυσικές οντότητες εν είναι έννοιες που χρησιµοποιούνται για µοντελοποίηση Είναι αρχεία διαφόρων ειδών Τα συστατικά δεν µπορούν να ζήσουν µόνα τους Είναι πάντα τµήµατα της υλοποίησης ενός συστήµατος 6
Είδη συστατικών Συστατικά διάταξης (deployment components).dll,.class,.exe κ.λπ. Συστατικά εργασίας (work product components) Από αυτά παράγονται τα συστατικά της διάταξης Π.χ. Make files,.jpx Jbuilder project file Συστατικά εκτέλεσης (execution components) Ένα αντικείµενο που αρχικοποιείται κατά την εκτέλεση του κώδικα και υπάρχει στη µνήµη του υπολογιστή Μια διαδικασία που τρέχει 7
8 Σύγκριση συστατικών και κλάσεων Και τα δύο έχουν όνοµα και υλοποιούν διαπροσωπίες (interfaces) Κλάση Είναι µια λογική αφαίρεση Έχει πεδία και µεθόδους Συστατικά Έχει φυσική οντότητα Είναι η φυσική οµαδοποίηση λογικών και συνδεδεµένων πραγµάτων Έχει µόνο λειτουργίες-µεθόδους οι οποίες προσπελαύνονται από τη διαπροσωπία του Μπορούν να αντικατασταθούν Ένα συστατικό προσδιορίζει και µια διαπροσωπία (interface). Μπορεί να αντικατασταθεί από ένα άλλο συστατικό µε την ίδια ακριβώς διαπροσωπία
9 ιαπροσωπίες και συστατικά Οι διαπροσωπίες και τα συστατικά υπάρχουν και έχουν σηµαντικό ρόλο σε όλα τα σύγχρονα περιβάλλοντα ανάπτυξης (.Νet, EJB) ιαπροσωπία (Interface) Πραγµατοποίηση (Realization) ResourcePool resourcepool.java
10 ιαπροσωπίες και συστατικά Οι διαπροσωπίες και τα συστατικά υπάρχουν και έχουν σηµαντικό ρόλο σε όλα τα σύγχρονα περιβάλλοντα ανάπτυξης (.Νet, EJB) Αλληλεξάρτηση (Dependency) ιαπροσωπία (Interface) Πραγµατοποίηση (Realization) ProjectMgt.java ResourcePool resourcepool.java ResourcePool = import interface για ProjectMgt.java ResourcePool = export interface για resourcepool.java
11 Εναλλακτική αναπαράσταση διαπροσωπίας Αλληλεξάρτηση <<interface>> ResourcePool addemployee() Πραγµατοποίηση ProjectMgt.java resourcepool.java ResourcePool = import interface για ProjectMgt.java ResourcePool = export interface για resourcepool.java
Ένα ακόµη παράδειγµα... Αναλυτική µορφή αναπαράστασης Σχέση Πραγµατοποίησης Υλοποιεί 3 υπηρεσίες -ILedger -IReports -IUnknown οποιοσδήποτε µπορεί Τις χρησιµοποιήσει Συνοπτική µορφή αναπαράστασης 12
Ένα ακόµη παράδειγµα... (συνέχεια) Αλληλεξάρτηση Χρειάζεται για την υλοποίηση -ΙStreaming 13
Ένα ακόµη παράδειγµα... (συνέχεια) Import interface Export interface 14
15 Τα στερεότυπα των συστατικών executable (εκτελέσιµο): προσδιορίζει ότι το συστατικό µπορεί να εκτελεσθεί σε ένα κόµβοlibrary - Specifies a static or dynamic object library table (πίνακας): αναπαριστά ένα πίνακα µιας βάσης δεδοµένων file (αρχείο): Προσδιορίζει ένα αρχείο πηγαίου κώδικα ή δεδοµένων document (έγγραφο): Προσδιορίζει ένα έγγραφο της τεκµηρίωσης του συστήµατος
16 Τι να θυµόµαστε... Βασικά χαρακτηριστικά των συστατικών Έχουν φυσική οντότητα Μπορούν να αντικατασταθούν εν µπορούν να ζήσουν µόνα τους Υλοποιούν διαπροσωπίες Πακέτα - Συστατικά Πακέτα Λογική έννοια οµαδοποίησης Συστατικά Φυσικά αρχεία του συστήµατος Κλάσεις - Συστατικά Συστατικά υλοποιούν διαπροσωπίες