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

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

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

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

Αντικειµενοστρεφής Σχεδιασµός

Αρ.Ταυτότητας: Α Ονοµα: Νικόλαος Επώνυµο: Νικολάου ιεύθυνση: Αγ.Νικολάου 1 Τηλέφωνο:

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

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

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

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

Εισαγωγή στην Τεχνολογία Λογισµικού

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

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3

Προγραµµατιστικές τεχνικές

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

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21

Εισαγωγή στην πληροφορική

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

Rational Unified Process:

Σκοπός του μαθήματος

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

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

Προγραµµατιστικές τεχνικές

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

ΚΕΦΑΛΑΙΟ 7 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ. Έννοιες-κλειδιά

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

Σενάριο Χρήσης myschool

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

CARDISOFT. User Guide. ClassWeb VERSION 1.1. [February] [2007] Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Υλοποίηση εφαρμογής λογιστικών και στατιστικών δεδομένων μιας επιχείρησης Δ.Ε.Υ.Α.» Αρ. Μητρώου:

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

Γνωριµία µε τη Microsoft Access

Πρόσβαση στην Καταγραφή και Εγχειρίδιο Χρήσης Εφαρµογών για /νσεις και Γραφεία /θµιας Εκπαίδευσης και για Περιφερειακές /νσεις Εκπαίδευσης

Εγχειρίδιο Χρήστη Φάση 2: Αρχική Καταχώρηση Συµβάσεων

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

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΜΟΝΤΕΛΟΠΟΙΗΣΗ Ε ΟΜΕΝΩΝ, ΚΛΑΣΙΚΑ ΜΟΝΤΕΛΑ Ε ΟΜΕΝΩΝ

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

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

11/4/2014 ΤΕΙ Ιονίων Νήσων Πλατφόρµα Ασύγχρονησ Τηλεκπαίδευσησ eclass s ηµιο ι υρ υ γ ρ ία ί Μ αθήµατο τ σ 1

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

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

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

Α. Ερωτήσεις Ανάπτυξης

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

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

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

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

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

ΟΜΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 ΕΡΩΤΗΣΕΙΣ... 5 ΕΡΕΥΝΕΣ... 8

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. έσποινα Τσοµπανούδη, Α.Μ.

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

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

ΕΓΧΕΙΡΙ ΙΟ Ο ΗΓΙΩΝ. Ηλεκτρονική Υποβολή Α.Π.. Κοινών Επιχειρήσεων

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

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

Αικατερίνη Καμπάση, PhD. Τμήμα Προστασίας και Συντήρησης Πολιτισμικής Κληρονομιάς Α.Τ.Ε.Ι. Ιονίων Νήσων

Εισαγωγή στην πληροφορική

Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως:

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

Μόλις ο χρήστης επιλέξει την επιλογή αυτή µεταφέρεται αυτόµατα στο σύστηµα Ηλεκτρονικής Υποβολής των Προτάσεων:

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

Βάσεις εδοµένων Βασίλειος Βεσκούκης Κανονικοποίηση σχήµατος Β Σύνοψη

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

Οδηγίες χρήσης για την εφαρµογή Spot4U

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

ΗΜΟΚΡΙΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΡΑΚΗΣ ΥΠΕΥΘΥΝΟΣ ΈΡΓΟΥ AΝ.KΑΘ.Χ. ΚΟΥΚΟΥΡΛΗΣ ΤΗΛ: , FAX :

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

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

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

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

Ολοκληρωµένο Σύστηµα ιαχείρισης Ασφαλισµένου

Οδηγίες Χρήσης Υπηρεσίας Τηλεδιασκέψεων

Εκπαιδευτικό Εργαλείο Κανονικοποίησης

Περιεχόμενα. 1 Παρεχόμενες Ηλεκτρονικές Υπηρεσίες Απόκτηση Κωδικού Πρόσβασης Πλοήγηση στις Ηλεκτρονικές Υπηρεσίες...

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

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

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

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

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων

ALERTS ή EDA (Event Driven Actions)

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

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

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

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

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

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

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

Δημιουργίας Ενεργειών

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS)

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

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Από τη δοµηµένη στην αντικειµενοστρεφή σκέψη Ηδοµηµένη ανάλυση και σχεδίαση κυριάρχησε για πολλά χρόνια. Ο όρος «κρίση λογισµικού» εµφανίστηκε το 968 (!) Αντικειµενοστρεφής ανάλυση και σχεδίαση Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr Οι αδυναµίες και τα προβλήµατα έγιναν αδιέξοδα όταν η πολυπλοκότητα του λογισµικού µεγάλωσε υπερβολικά. Θεωρητικές αδυναµίες Τα δεδοµένα είναι ανεξάρτητα από τις ενεργές µονάδες του λογισµικού, γεγονός που δεν αντιστοιχεί στον πραγµατικό κόσµο εν µπορούµε εύκολα να αντιστοιχίσουµε την επιχειρησιακή λογική (business logic) σε δεδοµένα και συναρτήσεις εντελώς ανεξάρτητα µεταξύ τους. Από τη δοµηµένη στην αντικειµενοστρεφή σκέψη Πρακτικές αδυναµίες Ο προσδιορισµός των απαιτήσεων είναι δύσκολος και έχει σηµαντικές επιπτώσεις στη συνέχεια. Η διατήρηση ενηµερωµένων µοντέλων παράστασης λογισµικού είναι πρακτικά πολύ δύσκολη. Το κόστος συντήρησης είναι µη αποδεκτό. Η επαναχρησιµοποίηση έτοιµων και δοκιµασµένων συστατικών δεν ενθαρρύνεται, παρά µόνο σε ειδικές περιπτώσεις. Αναζητάται µια νέα φιλοσοφία ανάπτυξης λογισµικού Εννοιες στην αντικειµενοστρεφή τεχνολογία Αντικειµενοστρεφής (object-oriente) σηµαίνει "στραµµένος (προσανατολισµένος) σε αντικείµενα" και χαρακτηρίζει την ανάπτυξη λογισµικού, όταν οι βασικές δοµικές µονάδες είναι τα "αντικείµενα". Αντικείµενο (object) Ένα δοµικό συστατικό λογισµικού, µε κατάσταση, συµπεριφορά και ταυτότητα. Η κατάσταση περιγράφει όλες τις στατικές ιδιότητες του αντικειµένου, όπως τιµές σε µεταβλητές µνήµης. Η συµπεριφορά είναι ο τρόπος µε τον οποίο αυτό ανταποκρίνεται σε κλήσεις από το περιβάλλον του. Η ταυτότητα είναι η µοναδική διάκριση του αντικειµένου από τα οµοειδή του. Εννοιες στην αντικειµενοστρεφή τεχνολογία Κλάση (class) Το σύνολο των αντικειµένων που έχουν την ίδια δοµή και την ίδια συµπεριφορά. Στιγµιότυπο, εκδοχή (instance) Κάθε αντικείµενο αποτελεί ένα µοναδικό και συγκεκριµένο στιγµιότυπο (ισοδύναµα εκδοχή), της κλάσης στην οποία ανήκει. Πεδίο (iel, attribute) Μια µεταβλητή η οποία παριστάνει ένα ιδίωµα του αντικειµένου. Το σύνολο των τιµών όλων των πεδίων αποτελεί την κατάσταση του αντικειµένου. Μέθοδος (metho, member unction) Ενα ενεργό συστατικό λογισµικού (συνάρτηση, διαδικασία), η οποία υλοποιεί ένα στοιχείο συµπεριφοράς ενός αντικειµένου. Το σύνολο όλων των µεθόδων ενός αντικειµένου καθορίζει την συµπεριφορά του. Εννοιες στην αντικειµενοστρεφή τεχνολογία Κελυφοποίηση, απόκρυψη πληροφοριών (encapsulation, inormation hiing) Η απόκρυψη των λεπτοµερειών υλοποίησης ενός αντικειµένου από το περιβάλλον του. Ισοδύναµα: η ελεγχόµενη ορατότητα των πεδίων και των µεθόδων ενός αντικειµένου από άλλα αντικείµενα. ΑΝΤΙΚΕΙΜΕΝΟ ΠΕ ΙΑ ΜΕΘΟ ΟΙ

Σχέσεις µεταξύ κλάσεων Κλάσεις Καθηγητής Αρ.Ταυτ ότητας Ονοµα Επώνυµο ιεύθυνση Τηλέφωνο ιαγραφή Καθηγητή() Μεταβολή σχοιχείων Καθηγητή() Μάθηµα Κωδικός Μαθήµατος Θεµατική ενότητα Τίτλος ιδάσκων Προσθήκη Μαθήµατος() ιαγραφή Μαθήµατος() Μεταβολή στοιχείων Μαθήµατος() Ανάθεση Μαθήµατος() Συσχέτιση (association) Μια γενική σχέση µεταξύ κλάσεων Περιγραφή συσχέτισης (όνοµα) Πολλαπλότητα Ρόλοι Αντικείµενα Καθηγητής_0 Αρ.Ταυτότητας: Α23456 Ονοµα: Βασίλειος Επώνυµο: Βασιλείου ιεύθυνση: Αγ.Βασιλείου Τηλέφωνο: 9876543 ιαγραφή Καθηγητή() Μεταβολή στοιχείων Καθηγητή() Καθηγητής_02 Αρ.Ταυτότητας: Β987654 Ονοµα: Γεώργιος Επώνυµο: Γεωργίου ιεύθυνση: Αγ.Γεωργίου Τηλέφωνο: 765432 ιαγραφή Καθηγητή() Μεταβολή στοιχείων Καθηγητή() Μάθηµα 0 Κωδικός µαθήµατος: ΠΛ-034 Θεµατική ενότητα: Πληροφορική Τίτλος: Προγραµµατισµός Η/Υ ιδάσκων: Β987654 Προσθήκη Μαθήµατος() ιαγραφή Μαθήµατος() Μεταβολή στοιχείων Μαθήµατος() Ανάθεση Μαθήµατος() Καθηγητής Αρ.Τα υτότ ητας Ονοµα Επώνυµο ιεύθυνση + ιδάσκων Τηλέφωνο ιδάσκει ιαγραφή Καθηγητή() Μεταβολή σχοιχείων Καθηγητή() Μάθηµα Κωδικός Μαθήµατος Θεµατική ενότητα Τίτλος +Αντικείµενο ιδάσκων..3 Προσθήκη Μαθήµατος() ιαγραφή Μαθήµατος() Μεταβολή στοιχείων Μαθήµατος() Ανάθεση Μαθήµατος() Σχέσεις µεταξύ κλάσεων Κληρονοµικότητά ή γενίκευση (inheritance, generalisation) Η απόδοση χαρακτηριστικών από µια κλάση (πατέρας) σε άλλες (παιδιά). Απλή: κάθε κλάση έχει έναν «πατέρα» Πολλαπλή: κάθε κλάση έχει πάνω από έναν «πατέρα» ύο όψεις: Η κλάση-παιδί είναι εξειδίκευση της κλάσης-πατέρα Σχέσεις µεταξύ κλάσεων κληρονοµικότητας Κάθε κλάση-παιδί έχει όλα τα χαρακτηριστικά της κλάσης-πατέρα και ορισµένα επιπλέον Φυσικό Πρόσωπο Αρ.Ταυτότητας Ονοµα Επώνυµο ιεύθυνση Τηλέφωνο Η κλάση-πατέρας είναι γενίκευση της κλάσης-παιδί Κληρονοµικότητα και γενίκευση αποτελούν τις δύο όψεις ενός µηχανισµού ταξινόµησης (classiication) οντοτήτων του πεδίου του προβλήµατος. Σπουδαστής Τµήµα Προσθήκη Σπουδαστή() ιαγραφή Σπουδαστή() Μεταβολή στοιχείων Σπουδαστή() Καθηγητής Ειδικότητα Βαθµίδα ιαγραφή Καθηγ ητή() Μεταβολή σχοιχείων Καθηγητή() Σχέσεις µεταξύ κλάσεων Συναρµολόγηση (aggregation) Η σχέση που συνδέει κλάσεις που περιγράφουν τη σύνθεση συνόλων από απλούστερα µέρη Αεροσκάφος ελφίνι, Φάλαινα, Ψάρι, Θηλαστικό, Αρκούδα, Ανθρωπος, Προγραµµατιστής, Εργαζόµενος, Καθηγητής, Ζωντανός οργανισµός, Συνταξιούχος, Καθηγητής πιάνου, Πέστροφα, Τσιπούρα Θηλαστικό Ζωντανός Οργανισµός ελφίνι Φάλαινα Ανθρωπος Αρκούδα Ψάρι Πέστροφα Τσιπούρα 2 2 Ατρακτος Φτερό Κινητήρας Σύστηµα τροχών οµικό τµήµα φτερού εξαµενή καυσίµων Υδραυλικό σύστηµα Σύστηµα πλοήγησης Εργαζόµενος Συνταξιούχος Καθηγητής Προγραµµατιστής Καθηγητής Πιάνου 2

Αντικειµενοστρεφής σκέψη Η αντικειµενοστρεφής τεχνολογία Είναι ένας νέος τρόπος παράστασης ενός προβλήµατος και απεικόνισης της λύσης του σε συστατικά λογισµικού. εν αφορά µόνο τον προγραµµατισµό Μπορεί να ιδωθεί ως µια γενίκευση του τρόπου σκέψης της δοµηµένης ανάλυσης και σχεδίασης Μια έννοια-κλειδί Η έννοια της αφαίρεσης (abstraction): η νοητική εκείνη λειτουργία όπου από το σύνολο των λεπτοµερειών µιας οντότητας ή ενός γεγονότος, επιλέγουµε να επικεντρώσουµε την προσοχή µας µόνο σε κάποιες, «αφαιρώντας» τις υπόλοιπες. Η αφαίρεση δεν αφορά µόνο τον προγραµµατισµό Ηαφαίρεση στην αντικειµενοστρεφή τεχνολογία Αφαίρεση ως προς τα δεδοµένα (ata abstraction) Η αναζήτηση, κατά την ανάλυση ενός προβλήµατος, πρωτίστως δεδοµένων και δευτερευόντως συναρτήσεων Functional abstraction Data abstraction Σύνοψη Στην αντικειµενοστρεφή τεχνολογία αναλύουµε το πρόβληµα και παριστάνουµε τη λύση του µε τη βοήθεια ενός Η/Υ χρησιµοποιώντας ως δοµικές µονάδες: Κλάσεις Σχέσεις µεταξύ κλάσεων Πρόβληµα του Πρόβληµα του πραγµατικού πραγµατικού κόσµου κόσµου ως µηχανισµούς σκέψης: Αφαίρεση ως προς τα δεδοµένα Ταξινόµηση Κελυφοποίηση ως εργαλεία: Κατάλληλα περιβάλλοντα που υποστηρίζουν τα παραπάνω Αντικειµενοστρεφείς µεθοδολογίες ανάπτυξης λογισµικού Ηιδέα έχει τις ρίζες της στο 968, για ειδικές εφαρµογές λογισµικού. Το ενδιαφέρον των κατασκευαστών λογισµικού εστιάστηκε στην αντικειµενοστρεφή τεχνολογία από το τέλος της δεκαετίας του 80. Παρουσιάστηκαν πολλές προσεγγίσεις Επικρατέστερες οι OMT, Booch, και OOSE Από τη σύγκλιση των οποίων προέκυψε η Ενοποιηµένη Προσέγγιση Ανάπτυξης Λογισµικού (Uniie Sotware Development Methoology USDM) Ηενοποιηµένη προσέγγιση ανάπτυξης λογισµικού Χρησιµοποιεί την UML για την παράσταση των µοντέλων λογισµικού που κατασκευάζονται κατά την ανάπτυξη. Αντιµετωπίζει το λογισµικό ως ένα σύνολο συστατικών που ικανοποιούν απαιτήσεις των χρηστών µε αναφορά στις οποίες πραγµατοποιεί όλες τις δραστηριότητες ανάπτυξης. Αντιµετωπίζει την αρχιτεκτονική του λογισµικού ως κεντρική έννοια στην ανάπτυξη, η οποία είναι δυναµικά αλληλεξαρτώµενη µε τις απαιτήσεις των χρηστών, δηλαδή καθορίζεται από αυτές, αλλά και τις επηρεάζει. Είναι µια επαναληπτική και επαυξητική προσέγγιση, δηλαδή χτίζει το τελικό προϊόν ως συσσωρευτικό αποτέλεσµα επαναλήψεων δραστηριοτήτων ανάπτυξης λογισµικού. 3

Μια γενική προσέγγιση στην ανάπτυξη λογισµικού Ηενοποιηµένη προσέγγιση ανάπτυξης λογισµικού κύκλου ζωής Σύλληψη της ιδέας Επεξεργασία της λύσης Κατασκευή Μετάβαση # #2 #Κ #Ν- #Ν ΚΥΚΛΟΙ ΑΝΑΠΤΥΞΗΣ ΓΕΝΙΚΕΣ ΦΑΣΕΙΣ Απαιτήσεις Ανάλυση Σχεδίαση Υλοποίηση Έλεγχος ΕΡΓΑΣΙΕΣ Απαιτήσεις Ανάλυση Σχεδίαση Υλοποίηση Έλεγχος ΧΡΟΝΟΣ Βασικές έννοιες Συµβολισµοί Περίπτωση χρήσης (use case) µια αλληλουχία ενεργειών που εκτελεί το λογισµικό αλληλεπιδρώντας µε τον χρήστη ή µε εξωτερικά συστήµατα, προκειµένου να ικανοποιήσει µία λειτουργική απαίτηση. Χειριστής (actor) µια κατηγορία χρηστών ή µια εξωτερική οντότητα µε την οποία αλληλεπιδρά το λογισµικό κατά την εκτέλεση των ενεργειών µιας Περίπτωσης Χρήσης. Οταν ένας Χειριστής αντιστοιχεί σε κατηγορία χρηστών λογισµικού - φυσικών προσώπων, τότε η έννοια του Χειριστή είναι ισοδύναµη µε την έννοια ενός Ρόλου (role) των χρηστών του λογισµικού. Τίτλος περίπτωσης χρήσης Περιγ ραφή Χειριστή Μια περίπτωση χρήσης παριστάνεται µε µια έλλειψη, στο κάτω µέρος της οποίας αναγράφεται ο τίτλος της. Ενας χειριστής παριστάνεται µε ένα "ανθρωπάκι" κάτω από τα πόδια του οποίου αναγράφεται το όνοµά του. Το σύµβολο αναφέρεται και σε εξωτερικά συστήµατα, όχι µόνο σε φυσικά πρόσωπα. Η συσχέτιση µιας περίπτωσης χρήσης µε έναν χειριστή παριστάνεται µε το γενικό σύµβολο της κατευθυνόµενης συσχέτισης στη UML. Το σύνολο των Χειριστών µιας εφαρµογής λογισµικού αποτελεί το περιβάλλον λειτουργίας της. Χειριστής Περίπτωση Χρήσης Σχόλια χρησιµοποιούνται κατά βούληση Ησηµασία των Απαιτήσεις περιπτώσεων Σύστηµα καταγραφής και επεξεργασίας µετεωρολογικών µετρήσεων Ανάλυση Σχεδίαση χρήσης ΠΡΟ ΙΑΓΡΑΦΕΤΑΙ ΑΠΟ ανάλυσης ΕΦΑΡΜΟΖΕΤΑΙ ΑΠΟ σχεδίασης ΚΑΤΑΝΕΜΕΤΑΙ ΑΠΟ ανάπτυξης ΥΛΟΠΟΙΕΙΤΑΙ ΑΠΟ ΕΠΑΛΗΘΕΥΕΤΑΙ ΑΠΟ Ζητείται η κατασκευή ενός συστήµατος παρακολούθησης µετεωρολογικών µετρήσεων, το οποίο µε χρήση ειδικών αισθητηρίων οργάνων συλλέγει από διάφορα γεωγραφικά σηµεία δεδοµένα θερµοκρασίας, ατµοσφαιρικής πίεσης και υγρασίας. Κάθε αισθητήρας, δίνει τις µετρήσεις του αυτόµατα, µέσω ειδικού λογισµικού (river) που τον συνδέει στον υπολογιστή. Το σύστηµα αποθηκεύει τα στοιχεία αυτά και κατόπιν εξάγει στατιστικά αποτελέσµατα, όπως µέση τιµή και τυπική απόκλιση για κάθε γεωγραφικό σηµείο. Υλοποίηση Έλεγχος υλοποίησης ελέγχου Λειτουργικές απαιτήσεις:. Αποθήκευση µετρήσεων θερµοκρασίας. 2. Αποθήκευση µετρήσεων πίεσης. 3. Αποθήκευση µετρήσεων υγρασίας. 4. Επεξεργασία µετρήσεων θερµοκρασίας. 5. Επεξεργασία µετρήσεων πίεσης. 6. Επεξεργασία µετρήσεων υγρασίας. Εργασία Προϊόν 4

Προδιαγραφή ΠΡΟ ΙΑΓΡΑΦΗ ΠΕΡΙΠΤΩΣΗΣ ΧΡΗΣΗΣ Οι χειριστές αυτοί δεν Αποθήκευση µετρήσεων Driver αισθητήρα αντιστοιχούν σε κατηγορίες θερµοκρασίας θερµοκρασίας φυσικών προσώπων, αλλά σε εξωτερικά συστήµατα λογισµικού, τους rivers των αισθητήρων Αποθήκευση µετρήσεων πίεσης Driver αισθητήρα πίεσης Αποθήκευση µετρήσεων υγρασίας Driver αισθητήρα υγρασίας Επεξεργασία µετρήσεων θερµοκρασίας Μετεωρολόγος. Τίτλος περίπτωσης χρήσης Αναγράφεται ο τίτλος της περίπτωσης χρήσης 2. Σύντοµη περιγραφή ίνεται µια πολύ σύντοµη περιγραφή της περίπτωσης χρήσης σε 2-3 προτάσεις. 3. Ροή γεγονότων 3. Βασική ροή Κάθε περίπτωση χρήσης ξεκινά µε µια ενέργεια ενός Χειριστή. Στην παράγραφο αυτή περιγράφεται τι κάνει ο χειριστής και ποια είναι η ακολουθία των ενεργειών του λογισµικού µε τις οποίες επιτυγχάνεται ο σκοπός της περίπτωσης χρήσης, χωρίς να περιγράφεται το γιατί ή το πώς πραγµατοποιούνται οι ενέργειες αυτές. Μπορούν να χρησιµοποιηθούν σχήµατα ή εικόνες που συµβάλουν στην κατανόηση της ροής. 3.2 Εναλλακτικές ροές 3.2. Εναλλακτική ροή 3.2.2 Εναλλακτική ροή 2 Επεξεργασία µετρήσεων πίεσης Ο χειριστής αυτός αντιστοιχεί στα φυσικά πρόσωπα - χρήστες του συστήµατος, που συνήθως είναι µετεωρολόγοι Εδώ περιγράφονται τυχόν εναλλακτικές ροές ενεργειών που µπορεί να συµβούν κατά την υλοποίηση της περίπτωσης χρήσης, όπως η απαιτούµενη συµπεριφορά του λογισµικού σε περίπτωση κάποιου σφάλµατος. Επεξεργασία µετρήσεων υγ ρασίας Προδιαγραφή Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό. Εισαγωγή 4. Μη λειτουργικές απαιτήσεις 4. Απαίτηση 4.2 Απαίτηση 2 Εδώ περιγράφονται οι µη λειτουργικές απαιτήσεις που σχετίζονται µε την περίπτωση χρήσης, όπως απαιτήσεις επίδοσης ή περιβάλλοντος ("Τεχνολογία Λογισµικού ", Ενότητα 3..3, σελίδα 58). 5. Κατάσταση εισόδου 5. Συνθήκη εισόδου 5.2 Συνθήκη εισόδου 2 Στην ενότητα αυτή αναφέρονται οι συνθήκες που θα πρέπει να ισχύουν (προαπαιτήσεις, pre-conitions) για την εφαρµογή της περίπτωσης χρήσης, όπως τα αναγκαία δικαιώµατα χρήστη ή οι συσκευές που πρέπει να είναι διαθέσιµες. 6. Κατάσταση εξόδου 6. Συνθήκη εξόδου 6.2 Συνθήκη εξόδου 2 Στην ενότητα αυτή αναφέρονται οι συνθήκες που ισχύουν (αποτελέσµατα, post-conitions) µετά την εφαρµογή της περίπτωσης χρήσης, όπως µεταβολές στην κατάσταση πόρων του συστήµατος, συσκευών, κ.ά... Σκοπός.2 Εµβέλεια.3 Ορισµοί, ακρωνύµια, συντοµογραφίες.4 Αναφορές.5 Γενική εικόνα 2. Το µοντέλο 2. Στίγµα 2.2 Προοπτική 2.3 Περιορισµοί 2.4 Γενική εικόνα 2.5 Παραδοχές και εξαρτήσεις Μέχρι το σηµείο αυτό το έγγραφο είναι παρόµοιο µε το αντίστοιχο έγγραφο που χρησιµοποιείται στη δοµηµένη ανάλυση / σχεδίαση 3. Ανάλυση 3. Προδιαγραφές 3.. Περίπτωση χρήσης 3..2 Περίπτωση χρήσης 2 Εδώ τοποθετούνται όλες οι προδιαγραφές των σύµφωνα µε τη δοµή που δόθηκε προηγουµένως 4. Συµπληρωµατικά στοιχεία 4. Περιγραφή διαπροσωπειών 4.2 Παραρτήµατα ιάγραµµα δραστηριοτήτων (UML) Παράλληλη ε κτέλεση, 2 Εφαρµογή λογισµικού υποστήριξης εργασιών εκπαιδευτικής µονάδας Σηµεία έναρξης και λήξης. Συµβολισµός όπως στο διάγραµµα καταστάσεων 2 Ο χειριστής είναι ένας υπάλληλος της του εκπαιδευτικού φορέα 2 Τίτλος Ορισµός δραστηριότητας Τήρηση αρχείου σπουδαστών ιαγραφή καθηγητή Η ροή συνεχίζε ται µετά την ολοκλήρωση και 2 Ροή εργασιών. Μετάβαση στη 2 µετά την ολοκλήρωση της 2 Συνθήκη Συνθήκη 2 Κοµβος απόφασης. Μπορεί να περιλαµβάνει οσεσδήποτε µεταβάσεις Τήρηση αρχείου καθηγητών Τήρηση αρχείου µαθηµάτων Χειριστής ιαγραφή σπουδαστή ιαγραφή µαθήµατος 2 5

. Τίτλος περίπτωσης χρήσης Τήρηση αρχείου σπουδαστών 2. Σύντοµη περιγραφή Η εφαρµογή εµφανίζει µια φόρµα διαλόγου µέσω της οποίας ο χρήστης ενηµερώνει το αρχείο σπουδαστών. 3. Ροή γεγονότων 3. Βασική ροή. Ο Χειριστής "χειριστής " επιλέγει από το µενού της εφαρµογής την "τήρηση αρχείου σπουδαστών". 2. Ο "ΕΠΙΚΟΥΡΟΣ" ανοίγει το αρχείο σπουδαστών. 3. Ο "ΕΠΙΚΟΥΡΟΣ" εµφανίζει φόρµα διαλόγου µε τα πεδία που περιλαµβάνονται στο αρχείο, καθώς και δύο κουµπιά (buttons) µε χαρακτηρισµούς "αποδοχή" και "ακύρωση". 4. Ο Χειριστής δίνει τα στοιχεία σπουδαστή που περιέχονται στην φόρµα και πατάει το κουµπί "αποδοχή". 5. Ο "ΕΠΙΚΟΥΡΟΣ" ελέγχει την εγκυρότητα των στοιχείων. 6. Ο "ΕΠΙΚΟΥΡΟΣ" εισάγει µια νέα εγγραφή στο αρχείο σπουδαστών. 7. Ο έλεγχος επανέρχεται στο βήµα 2. 3.2 Εναλλακτικές ροές 3.2. Εναλλακτική ροή 4α. Ο χειριστής επιλέγει "ακύρωση". 5α. Ο "ΕΠΙΚΟΥΡΟΣ" κλείνει τη φόρµα και τερµατίζει την εργασία. 3.2.2 Εναλλακτική ροή 2 6α. Τα στοιχεία που δόθηκαν είναι ελλιπή. 7α. Ο "ΕΠΙΚΟΥΡΟΣ" εµφανίζει µήνυµα στον χρήστη και επανέρχεται στο βήµα 2. 4. Μη λειτουργικές απαιτήσεις εν υπάρχουν για αυτή την περίπτωση χρήσης. 5. Κατάσταση εισόδου εν υπάρχουν ιδιαίτερες απαιτήσεις εισόδου στην περίπτωση χρήσης. 6. Κατάσταση εξόδου Εχουν προστεθεί 0-Ν νέες εγγραφές στο αρχείο σπουδαστών. Εµφάνιση µηνύµατος Αρχή περίπτωσης χρήσης Επιλογή εργασίας "τήρηση αρχείου σπουδαστών" Ανοιγµα αρχείου σπουδαστών Εµφάνιση φόρµας διαλόγου Εισαγωγή στοιχείων από τον χρήστη ΑΚΥΡ Ο περίπτωσης χρήσης ΟΚ Ελεγχος εγκυρότητας στοιχείων ΑΚΥΡΑ ΕΓΚΥΡΑ ηµιουργία νέας εγγραφής σπουδαστή. Τίτλος περίπτωσης χρήσης ιαγραφή σπουδαστή 2. Σύντοµη περιγραφή Η εφαρµογή εµφανίζει µια φόρµα η οποία περιέχει αλφαβητικά ταξινοµηµένη λίστα όλων των σπουδαστών. Ο χειριστής επιλέγει τον σπουδαστή που θέλει να διαγράψει και επιβεβαιώνει τη διαγραφή. Η εργασία επαναλαµβάνεται µέχρι ο Χειριστής να πατήσει "ακύρωση". 3. Ροή γεγονότων 3. Βασική ροή. Ο Χειριστής "χειριστής " επιλέγει από το µενού της εφαρµογής την εργασία "διαγραφή σπουδαστών". 2. Ο "ΕΠΙΚΟΥΡΟΣ" εντοπίζει τους σπουδαστές των οποίων η διαγραφή επιτρέπεται δηλαδή αυτούς που δεν έχουν εγγραφεί σε κανένα µάθηµα και τους τοποθετεί σε αλφαβητικά ταξινοµηµένη λίστα. 3. Η εφαρµογή εµφανίζει φόρµα που περιέχει την λίστα που δηµιουργήθηκε στο βήµα 2, καθώς και δύο κουµπιά (buttons) µε χαρακτηρισµούς "διαγραφή" και "ακύρωση". 4. Αν ο χειριστής επιλέξει "ακύρωση" τότε η εργασία τερµατίζεται. 5. Ο χειριστής επιλέγει έναν σπουδαστή από τη λίστα και πατάει το κουµπί "διαγραφή". 6. Η εφαρµογή εµφανίζει παράθυρο διαλόγου µε την ερώτηση "Επιβεβαίωση;" και δύο κουµπιά, "Ναι" και "Οχι". 6. Αν ο χειριστής επιλέξει "Ναι", η επιλεγµένη εγγραφή διαγράφεται από το αρχείο σπουδαστών, διαφορετικά δεν συµβαίνει τίποτε. 7. Ο έλεγχος επανέρχεται στο βήµα 2. Α ρχή ιαγραφή σπουδαστή Κύρια ροή 3.2 Εναλλακτικές ροές 3.2. Εναλλακτική ροή 3α. εν υπάρχει κανένας σπουδαστής του οποίου η διαγραφή να επιτρέπεται. 4α. Ο "ΕΠΙΚΟΥΡΟΣ" εµφανίζει παράθυρο διαλόγου που ενηµερώνει σχετικά τον χειριστή και, αφού αυτός πατήσει "αποδοχή", η εργασία τερµατίζεται. 4. Μη λειτουργικές απαιτήσεις εν υπάρχουν για αυτή την περίπτωση χρήσης 5. Κατάσταση εισόδου εν υπάρχουν ιδιαίτερες απαιτήσεις εισόδου στην περίπτωση χρήσης 6. Κατάσταση εξόδου Εχουν διαγραφεί 0-Ν εγγραφές από το αρχείο σπουδαστών. ΟΧΙ Επιλογή εργασίας " ιαγραφή σπ ουδαστή" Εντοπισµός σπουδαστών που µπο ρούν να διαγραφούν Ε µφάνιση φόρµας επιλογής σπουδαστή ΑΚΥΡΩΣΗ ΧΡ Η Σ ΤΗ ΣΥΝΕΧΕΙΑ Επιλογή σπουδαστή και εντολή διαγραφής Ε µφάνιση διαλόγου επιβεβαίωσης Αρχή Επιλογή εργασίας " ιαγραφή σπουδαστή" Εντοπισµός σπουδαστών που µπορούν να διαγραφούν Εµφάνιση φόρµας ενηµέρωσης χρήστη για τη µη ύπαρξη εγγραφών ιαγραφή σπουδαστή ευτερεύουσα ροή ΝΑΙ ιαγραφή εγγραφής σπουδαστή 6

Οι λειτουργικές απαιτήσεις ως περιπτώσεις χρήσης Οι λειτουργικές απαιτήσεις ως περιπτώσεις χρήσης Αρχή Αρχή Εντοπισµός Χειριστών και Καθορισµός Χειρισ τ ών - χρηστών Καθορισµ ός Χειρισ τών - ε ξωτερικών συστηµ άτων Ιεράρχηση ηµιουργία µοντέλου Καθορισµός περιπτώσεων χρήσης για έναν Χε ιρισ τή Προδιαγραφή Υπάρχουν άλλοι χειριστές Τέ λ ος Χει ρισ τ ών Προδιαγραφή της διαπροσωπείας χρήστη Ελεγχος ύπαρξης και άλλων Υπάρχουν νέε ς περιπτώσεις χρήσης Συσχέτιση µε υπάρχοντες ή µ ε νέ ου ς Χε ιρι σ τέ ς Οχι Το µοντέλο ανάλυσης Κλάσεις του µοντέλου ανάλυσης Συνοριακές ΜΟΝΤΕΛΟ ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ ΜΟΝΤΕΛΟ ΑΝΑΛΥΣΗΣ Ανάλυσης Χρησιµεύουν στην παράσταση της αλληλεπίδρασης του λογισµικού µε τους Χειριστές του και σχετίζονται τουλάχιστον µε έναν από αυτούς. Π.χ.: παράθυρα διαλόγου, οδηγοί συσκευών, πρωτόκολλα επικοινωνιών Οντοτήτων Περίπωση χρήσης * Περίπτωση χρήσης πεδίου ανάλυσης * Πακέτο Ανάλυσης * Αντιστοιχούν σε πληροφορίες, οντότητες και συµβάντα του πεδίου ενδιαφέροντος της εφαρµογής λογισµικού. Ελέγχου * Κλάση Ανάλυσης Χρησιµεύουν στο συντονισµό και τη διαχείριση δοσοληψιών (transactions) και γεγονότων (events) καθώς και στον έλεγχο ροής προγράµµατος και την πραγµατοποίηση υπολογισµών οι οποίοι δεν µπορούν να αποδοθούν ούτε σε συνοριακές, ούτε σε κλάσεις οντοτήτων. Κλάσεις του µοντέλου ανάλυσης κλάσεων ανάλυσης Κλάση Μερικές κλάσεις ανάλυσης: ανάλυσης Συνοριακή Οντοτήτων Εναλλακτικά σύµβολα για τις κατηγορίες κλάσεων ανάλυσης Ελέγχου. ιδάσκων 2. Σπουδαστής 3. Φόρµα εισαγωγής στοιχείων 4. Παράθυρο επιβεβαίωσης διαγραφής 5. Μάθηµα 6. ιαχειριστής συστήµατος backup 7. Βαθµολογία µαθήµατος 8. Οδηγός αισθητήρα θερµοκρασίας 9. ιαχειριστής εκτυπώσεων συστήµατος 0. ιαχειριστής τραπεζικών δοσοληψιών Συνοριακή Οντοτήτων Ελέγχου 7

Η διαδικασία της ανάλυσης Πακέτα ανάλυσης Αρχή Αρχιτεκτονική ανάλυση Ένα πακέτο αντιστοιχεί σε περιπτώσεις χρήσης που είναι σηµασιολογικά συναφείς στο πεδίο του προβλήµατος. Ένα πακέτο αντιστοιχεί σε περιπτώσεις χρήσης που σχετίζονται µε έναν Χειριστή. Περιπτώσεων Χρήσης Ανάλυση Ανάλυση κλάσεων Ανάλυσης Ένα πακέτο είναι όσο το δυνατόν περισσότερο ανεξάρτητο από τα υπόλοιπα. Ανάλυσης Ανάλυση πακέτων Περιπτώσεις χρήσης πεδίου ανάλυσης ιαχείριση οργάνων Επικοινωνία χρήστη ιαχείριση µετρήσεων Αισθητήρας θερµοκρασίας Αισθητήρας πίεσης Αισθητήρας υγρασίας Πακέτα ανάλυσης ιαγράµµατα συνεργασίας οµή του µοντέλου ανάλυσης της εφαρµογής "ΕΠΙΚΟΥΡΟΣ" Στο διάγραµµα συνεργασίας εµφανίζονται µόνο αντικείµενα, όχι κλάσεις. Το βελάκι υποδηλώνει την αποστολή µηνύµατος (συνεργασία) µεταξύ αντικειµένων. Οαριθµός υποδηλώνει την σειρά µε την οποία συµβαίνει η αποστολή µηνυµάτων. Τήρηση αρχείων Περιπτώσεις χρήσης: - Τήρηση αρχείου καθηγητών - Τήρηση αρχείου Σπουδαστών - Τήρηση αρχείου µαθηµάτων : Μήνυµα Αντικείµενο 2 Παρακολούθηση εκπαιδευτικής διαδικασίας Περιπτώσεις χρήσης: - Ανάθεση διδασκαλίας - Βαθµολόγ ηση µαθηµάτων - Καταχώρηση εγγραφών σε µαθήµατα - Εκτύπωση καθηγητών - Εκτύπωση σπουδαστών - Εκτύπωση βαθµολογία µαθήµατος - Εκτύπωση βαθµολογίας σπουδαστή - Εκτύπωση εγγεγραµµένων σπουδαστών Αντικείµενο : Κλάση οντοτήτων Αντικείµενο 4 2: Μήνυµα2 3: Μήνυµα3 Αντικείµενο 3 : Κλάση ελέγχου Ειδικές εργασίες Περιπτώσεις χρήσης: - ιαγραφή σπουδαστή - ιαγραφή καθηγητή - ιαγραφή µαθήµατος Για τα αντικείµενα χρησιµοποιείται το σύµβολο των κλάσεων µε υπογραµµισµένο το όνοµα, µε τη µορφή "(ονοµα αντικειµένου) : (όνοµα κλάσης)" Μπορεί να χρησιµοποιείται ο συµβολισµός των κλάσεων ανάλυσης. Αν δεν είναι γνωστή η κλάση, αναγράφεται µόνο το όνοµα του αντικειµένου. Ανάλυση Εντοπισµός κλάσεων Εντοπισµός συνεργασίας : επιλογή 2: αρχικοποίηση 4: στοιχεία σπουδαστή : Χειριστής : ActorInterace Χειριστή : (Ελεγχος) τήρηση αρχείου σπουδαστών 3: εµφάνιση φόρµας 5: εµφάνιση µηνύµατος : Εισαγωγή δεδοµένων σπουδαστή : Μήνυµα ακυρότητας δεδοµένων Εντοπισµός κλάσεων Ανάλυση κάθε περίπτωσης χρήσης µε σκοπό τον εντοπισµό των κλάσεων που απαιτούνται για να υλοποιηθεί. Βήµατα στον εντοπισµό κλάσεων: εδοµένα που σχετίζονται µε την περίπτωση χρήσης κλάσεις οντοτήτων Για κάθε κλάση οντοτήτων ορίζουµε µία συνοριακή κλάση Για κάθε χειριστή ορίζουµε µία συνοριακή κλάση Για την περίπτωση χρήσης ορίζουµε µία κλάση ελέγχου Ετσι κάνουµε έναν πρώτο εντοπισµό των απαραίτητων κλάσεων 8

ανάλυσης περίπτωσης χρήσης Περίπτωση χρήσης: τήρηση αρχείου σπουδαστών Βήµα. Προφανή δεδοµένα που σχετίζονται µε την περίπτωση χρήσης είναι οι σπουδαστές Σπουδαστές Βήµα 3. Ο χειριστής, το κύριο Βήµα 2. Η απαραίτητη συνοριακή παράθυρο επικοινωνίας της εφαρµογής κλάση. µε αυτόν, ο διάλογος εισόδου δεδοµένων και το µήνυµα σε περίπτωση ClassInterace Σπουδαστή άκυρων δεδοµένων Χειριστής ActorInterace Χειριστή Μήνυµα ακυρότητας δεδοµένων Εισαγωγή δεδοµένων σπουδαστή Εντοπισµός της συνεργασίας Ζητούµενο είναι η συνεργασία των κλάσεων που προσδιορίστηκαν στο προηγούµενο βήµα, έτσι ώστε να επιτυγχάνεται η λειτουργική συµπεριφορά που περιγράφεται ως απαίτηση στην προδιαγραφή της περίπτωσης χρήσης Ενας χειριστής απευθύνει µήνυµα σε µια συνοριακή κλάση Συνεργάζονται όλες οι κλάσεις Καταγράφονται µηνύµατα που αφορούν την ποιοτική ικανοποίηση των απαιτήσεων της περίπτωσης χρήσης Λεπτοµέρειες είναι αδιάφορες σε αυτό το σηµείο Βήµα 4. Η κλάση ελέγχου (Ελεγχος) τήρηση αρχείου σπουδαστών εντοπισµού συνεργασίας εντοπισµού συνεργασίας : Χειριστής : επιλογή εργασίας 8: επιλογή σπουδαστή 0: επιβεβαίωση διαγραφής : ActorInterace Χειριστή 2: αρχικοποίηση : (Ελεγχος) διαγραφή σπουδαστή 3: διαµόρφωση αναζήτησης 7: εµφάνιση λίστας 9: εµφάνιση διαλόγου 4: αναζήτηση 5: διαµόρφωση αναζήτησης : Εγγραφές : ClassInterace εγγραφής : ετοιµασία διαγραφής : Εγγραφές 4: αναζήτηση : επιλογή εργασίας : Χειριστής 3: διαµόρφωση αναζήτησης : ClassInterace εγγραφής 2: αρχικοποίηση 5: διαµόρφωση αναζήτησης : ActorInterace Χειριστή : (Ελεγχος) διαγραφή σπουδαστή : ClassInterace Σπουδαστή 6: αναζήτηση 7: εµφάνιση : ClassInterace Σπουδαστή : Εντολή διαγραφής : Επιβεβαίωση διαγραφής 2: διαγραφή 6: αναζήτηση : Μήνυµα µη ύπαρξης εγγραφών : Σπουδαστές : Σπουδαστές Ανάλυση κλάσεων Τα πεδία περιγράφουν την κατάσταση της κλάσης Οι µέθοδοι περιγράφουν τη συµπεριφορά της Προσδιορισµός πεδίων Κλάσεις οντοτήτων: ιδιώµατα που προκύπτουν από το πεδίο του προβλήµατος Συνοριακές: στοιχεία διαπροσωπείας Ελέγχου: συνήθως δεν έχουν πεδία Πρακτικοί κανόνες Αναζήτηση σύνθετων ιδιωµάτων «Λογικός» αριθµός πεδίων Ανάλυση κλάσεων Προσδιορισµός σχέσεων µεταξύ κλάσεων Συσχέτιση Από το θεµατικό πεδίο του προβλήµατος ως σχέσεις µεταξύ δεδοµένων Από τη συνεργασία που έχει καθοριστεί Συναρµολόγηση Ένα αντικείµενο περιέχει ένα άλλο Ένα αντικείµενο αποτελείται από ένα άλλο Σχέση ιεραρχίας Γενίκευση Κοινός παράγοντας δοµής και συµπεριφοράς 9