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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Rational Unified Process:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UML: Unified modelling language

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΉΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΣΥΣΤΗΜΑ ONLINE ΑΞΙΟΛΟΓΗΣΗΣ ΚΑΘΗΓΗΤΩΝ/ Ι ΑΣΚΟΝΤΩΝ

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

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

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

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

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

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

4. ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ

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

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

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

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

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

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

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

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

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Αντικειµενοστρεφής ανάλυση και σχεδίαση Βασίλειος Βεσκούκης v.vescoukis@cs.ntua.gr

Από τη δοµηµένη στην αντικειµενοστρεφή σκέψη Ηδοµηµένη ανάλυση και σχεδίαση κυριάρχησε για πολλά χρόνια. Ο όρος «κρίση λογισµικού» εµφανίστηκε το 1968 (!) Οι αδυναµίες και τα προβλήµατα έγιναν αδιέξοδα όταν η πολυπλοκότητα του λογισµικού µεγάλωσε υπερβολικά. Θεωρητικές αδυναµίες Τα δεδοµένα είναι ανεξάρτητα από τις ενεργές µονάδες του λογισµικού, γεγονός που δεν αντιστοιχεί στον πραγµατικό κόσµο εν µπορούµε εύκολα να αντιστοιχίσουµε την επιχειρησιακή λογική (business logic) σε δεδοµένα και συναρτήσεις εντελώς ανεξάρτητα µεταξύ τους.

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

Εννοιες στην αντικειµενοστρεφή τεχνολογία Αντικειµενοστρεφής (object-oriented) σηµαίνει "στραµµένος (προσανατολισµένος) σε αντικείµενα" και χαρακτηρίζει την ανάπτυξη λογισµικού, όταν οι βασικές δοµικές µονάδες είναι τα "αντικείµενα". Αντικείµενο (object) Ένα δοµικό συστατικό λογισµικού, µε κατάσταση, συµπεριφορά και ταυτότητα. Η κατάσταση περιγράφει όλες τις στατικές ιδιότητες του αντικειµένου, όπως τιµές σε µεταβλητές µνήµης. Η συµπεριφορά είναι ο τρόπος µε τον οποίο αυτό ανταποκρίνεται σε κλήσεις από το περιβάλλον του. Η ταυτότητα είναι η µοναδική διάκριση του αντικειµένου από τα οµοειδή του.

Εννοιες στην αντικειµενοστρεφή τεχνολογία Κλάση (class) Το σύνολο των αντικειµένων που έχουν την ίδια δοµή και την ίδια συµπεριφορά. Στιγµιότυπο, εκδοχή (instance) Κάθε αντικείµενο αποτελεί ένα µοναδικό και συγκεκριµένο στιγµιότυπο (ισοδύναµα εκδοχή), της κλάσης στην οποία ανήκει. Πεδίο (field, attribute) Μια µεταβλητή η οποία παριστάνει ένα ιδίωµα του αντικειµένου. Το σύνολο των τιµών όλων των πεδίων αποτελεί την κατάσταση του αντικειµένου. Μέθοδος (method, member function) Ενα ενεργό συστατικό λογισµικού (συνάρτηση, διαδικασία), η οποία υλοποιεί ένα στοιχείο συµπεριφοράς ενός αντικειµένου. Το σύνολο όλων των µεθόδων ενός αντικειµένου καθορίζει την συµπεριφορά του.

Εννοιες στην αντικειµενοστρεφή τεχνολογία Κελυφοποίηση, απόκρυψη πληροφοριών (encapsulation, information hiding) Η απόκρυψη των λεπτοµερειών υλοποίησης ενός αντικειµένου από το περιβάλλον του. Ισοδύναµα: η ελεγχόµενη ορατότητα των πεδίων και των µεθόδων ενός αντικειµένου από άλλα αντικείµενα. ΑΝΤΙΚΕΙΜΕΝΟ ΠΕ ΙΑ ΜΕΘΟ ΟΙ

Παράδειγµα Κλάσεις Αρ. Ταυτ ότητας Ονοµα Επώνυµο ιεύθυνση Τηλέφωνο Καθηγητής Προσθήκη Καθηγητή() ιαγραφή Καθηγητή() Μεταβολή σχοιχείων Καθηγητή() Μάθηµα Κωδικός Μαθήµατος Θεµατική ενότητα Τίτλος ιδάσκων Προσθήκη Μαθήµατος() ιαγραφή Μαθήµατος() Μεταβολή στοιχείων Μαθήµατος() Ανάθεση Μαθήµατος() Αντικείµενα Καθηγητής_01 Καθηγητής_02 Μάθηµα 01 Αρ.Ταυτότητας: Α123456 Ονοµα: Βασίλειος Επώνυµο: Βασιλείου ιεύθυνση: Αγ.Βασιλείου 1 Τηλέφωνο: 9876543 Προσθήκη Καθηγητή() ιαγραφή Καθηγητή() Μεταβολή στοιχείων Καθηγητή() Αρ.Ταυτότητας: Β987654 Ονοµα: Γεώργιος Επώνυµο: Γεωργίου ιεύθυνση: Αγ.Γεωργίου 1 Τηλέφωνο: 7654321 Προσθήκη Καθηγητή() ιαγραφή Καθηγητή() Μεταβολή στοιχείων Καθηγητή() Κωδικός µαθήµατος: ΠΛ-034 Θεµατική ενότητα: Πληροφορική Τίτλος: Προγραµµατισµός Η/Υ ιδάσκων: Β987654 Προσθήκη Μαθήµατος() ιαγραφή Μαθήµατος() Μεταβολή στοιχείων Μαθήµατος() Ανάθεση Μαθήµατος()

Σχέσεις µεταξύ κλάσεων Συσχέτιση (association) Μια γενική σχέση µεταξύ κλάσεων Περιγραφή συσχέτισης (όνοµα) Πολλαπλότητα Ρόλοι Καθηγητής Μάθηµα Αρ. Ταυτότ ητας Ονοµα Επώνυµο ιεύθυνση Τηλέφωνο Προσθήκη Καθηγητή() ιαγραφή Καθηγητή() Μεταβολή σχοιχείων Καθηγητή() + ιδάσκων 1 ιδάσκει +Αντικείµενο 1..3 Κωδικός Μαθήµατος Θεµατική ενότητα Τίτλος ιδάσκων Προσθήκη Μαθήµατος() ιαγραφή Μαθήµατος() Μεταβολή στοιχείων Μαθήµατος() Ανάθεση Μαθήµατος()

Σχέσεις µεταξύ κλάσεων Κληρονοµικότητά ή γενίκευση (inheritance, generalisation) Η απόδοση χαρακτηριστικών από µια κλάση (πατέρας) σε άλλες (παιδιά). Απλή: κάθε κλάση έχει έναν «πατέρα» Πολλαπλή: κάθε κλάση έχει πάνω από έναν «πατέρα» ύο όψεις: Η κλάση-παιδί είναι εξειδίκευση της κλάσης-πατέρα Η κλάση-πατέρας είναι γενίκευση της κλάσης-παιδί Κληρονοµικότητα και γενίκευση αποτελούν τις δύο όψεις ενός µηχανισµού ταξινόµησης (classification) οντοτήτων του πεδίου του προβλήµατος.

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

Σχέσεις µεταξύ κλάσεων Συναρµολόγηση (aggregation) Η σχέση που συνδέει κλάσεις που περιγράφουν τη σύνθεση συνόλων από απλούστερα µέρη Αεροσκάφος 1 1 1 1 1 1 2 2 1 Ατρακτος Φτερό Κινητήρας Σύστηµα 1 τροχών 1 1 1 Σύστηµα πλοήγησης 1 οµικό τµήµα φτερού 1 εξαµενή καυσίµων 1 Υδραυλικό σύστηµα

Παράδειγµα ελφίνι, Φάλαινα, Ψάρι, Θηλαστικό, Αρκούδα, Ανθρωπος, Προγραµµατιστής, Εργαζόµενος, Καθηγητής, Ζωντανός οργανισµός, Συνταξιούχος, Καθηγητής πιάνου, Πέστροφα, Τσιπούρα Θηλαστικό Ζωντανός Οργανισµός ελφίνι Φάλαινα Ανθρωπος Αρκούδα Ψάρι Πέστροφα Τσιπούρα Εργαζόµενος Συνταξιούχος Καθηγητής Προγραµµατιστής Καθηγητής Πιάνου

Αντικειµενοστρεφής σκέψη Η αντικειµενοστρεφής τεχνολογία Είναι ένας νέος τρόπος παράστασης ενός προβλήµατος και απεικόνισης της λύσης του σε συστατικά λογισµικού. εν αφορά µόνο τον προγραµµατισµό Μπορεί να ιδωθεί ως µια γενίκευση του τρόπου σκέψης της δοµηµένης ανάλυσης και σχεδίασης

Μια έννοια-κλειδί Η έννοια της αφαίρεσης (abstraction): η νοητική εκείνη λειτουργία όπου από το σύνολο των λεπτοµερειών µιας οντότητας ή ενός γεγονότος, επιλέγουµε να επικεντρώσουµε την προσοχή µας µόνο σε κάποιες, «αφαιρώντας» τις υπόλοιπες. Η αφαίρεση δεν αφορά µόνο τον προγραµµατισµό

Η αφαίρεση στην αντικειµενοστρεφή τεχνολογία Αφαίρεση ως προς τα δεδοµένα (data abstraction) Η αναζήτηση, κατά την ανάλυση ενός προβλήµατος, πρωτίστως δεδοµένων και δευτερευόντως συναρτήσεων Functional abstraction Data abstraction f f f f f f Πρόβληµα του Πρόβληµα του πραγµατικού πραγµατικού κόσµου κόσµου d f d f d f d d d d f f d d

Σύνοψη Στην αντικειµενοστρεφή τεχνολογία αναλύουµε το πρόβληµα και παριστάνουµε τη λύση του µε τη βοήθεια ενός Η/Υ χρησιµοποιώντας ως δοµικές µονάδες: Κλάσεις Σχέσεις µεταξύ κλάσεων ως µηχανισµούς σκέψης: Αφαίρεση ως προς τα δεδοµένα Ταξινόµηση Κελυφοποίηση ως εργαλεία: Κατάλληλα περιβάλλοντα που υποστηρίζουν τα παραπάνω

Αντικειµενοστρεφείς µεθοδολογίες ανάπτυξης λογισµικού Η ιδέα έχει τις ρίζες της στο 1968, για ειδικές εφαρµογές λογισµικού. Το ενδιαφέρον των κατασκευαστών λογισµικού εστιάστηκε στην αντικειµενοστρεφή τεχνολογία από το τέλος της δεκαετίας του 80. Παρουσιάστηκαν πολλές προσεγγίσεις Επικρατέστερες οι OMT, Booch, και OOSE Από τη σύγκλιση των οποίων προέκυψε η Ενοποιηµένη Προσέγγιση Ανάπτυξης Λογισµικού (Unified Software Development Methodology USDM)

Η ενοποιηµένη προσέγγιση ανάπτυξης λογισµικού Χρησιµοποιεί την UML για την παράσταση των µοντέλων λογισµικού που κατασκευάζονται κατά την ανάπτυξη. Αντιµετωπίζει το λογισµικό ως ένα σύνολο συστατικών που ικανοποιούν απαιτήσεις των χρηστών µε αναφορά στις οποίες πραγµατοποιεί όλες τις δραστηριότητες ανάπτυξης. Αντιµετωπίζει την αρχιτεκτονική του λογισµικού ως κεντρική έννοια στην ανάπτυξη, η οποία είναι δυναµικά αλληλεξαρτώµενη µε τις απαιτήσεις των χρηστών, δηλαδή καθορίζεται από αυτές, αλλά και τις επηρεάζει. Είναι µια επαναληπτική και επαυξητική προσέγγιση, δηλαδή χτίζει το τελικό προϊόν ως συσσωρευτικό αποτέλεσµα επαναλήψεων δραστηριοτήτων ανάπτυξης λογισµικού.

Μια γενική προσέγγιση στην ανάπτυξη λογισµικού Μοντέλο κύκλου ζωής Σύλληψη της ιδέας Επεξεργασία της λύσης Κατασκευή Μετάβαση #1 #2............... #Κ...... #Ν-1 #Ν... ΚΥΚΛΟΙ ΑΝΑΠΤΥΞΗΣ ΓΕΝΙΚΕΣ ΦΑΣΕΙΣ Απαιτήσεις Ανάλυση Σχεδίαση Υλοποίηση Έλεγχος ΕΡΓΑΣΙΕΣ... Απαιτήσεις Ανάλυση Σχεδίαση Υλοποίηση Έλεγχος ΧΡΟΝΟΣ...

Η ενοποιηµένη προσέγγιση ανάπτυξης λογισµικού

Βασικές έννοιες Περίπτωση χρήσης (use case) µια αλληλουχία ενεργειών που εκτελεί το λογισµικό αλληλεπιδρώντας µε τον χρήστη ή µε εξωτερικά συστήµατα, προκειµένου να ικανοποιήσει µία λειτουργική απαίτηση. Χειριστής (actor) µια κατηγορία χρηστών ή µια εξωτερική οντότητα µε την οποία αλληλεπιδρά το λογισµικό κατά την εκτέλεση των ενεργειών µιας Περίπτωσης Χρήσης. Οταν ένας Χειριστής αντιστοιχεί σε κατηγορία χρηστών λογισµικού - φυσικών προσώπων, τότε η έννοια του Χειριστή είναι ισοδύναµη µε την έννοια ενός Ρόλου (role) των χρηστών του λογισµικού. Το σύνολο των Χειριστών µιας εφαρµογής λογισµικού αποτελεί το περιβάλλον λειτουργίας της.

Συµβολισµοί Τίτλος περίπτωσης χρήσης Μια περίπτωση χρήσης παριστάνεται µε µια έλλειψη, στο κάτω µέρος της οποίας αναγράφεται ο τίτλος της. Περιγ ραφή Χειριστή Ενας χειριστής παριστάνεται µε ένα "ανθρωπάκι" κάτω από τα πόδια του οποίου αναγράφεται το όνοµά του. Το σύµβολο αναφέρεται και σε εξωτερικά συστήµατα, όχι µόνο σε φυσικά πρόσωπα. Η συσχέτιση µιας περίπτωσης χρήσης µε έναν χειριστή παριστάνεται µε το γενικό σύµβολο της κατευθυνόµενης συσχέτισης στη UML. Χειριστής Περίπτωση Χρήσης Σχόλια χρησιµοποιούνται κατά βούληση

Η σηµασία των περιπτώσεων χρήσης Απαιτήσεις Μοντέλο περιπτώσεων χρήσης Ανάλυση ΠΡΟ ΙΑΓΡΑΦΕΤΑΙ ΑΠΟ... Μοντέλο ανάλυσης ΕΦΑΡΜΟΖΕΤΑΙ ΑΠΟ... ΚΑΤΑΝΕΜΕΤΑΙ ΑΠΟ... ΥΛΟΠΟΙΕΙΤΑΙ ΑΠΟ... ΕΠΑΛΗΘΕΥΕΤΑΙ ΑΠΟ... Σχεδίαση Μοντέλο σχεδίασης Μοντέλο ανάπτυξης Υλοποίηση Μοντέλο υλοποίησης Έλεγχος Μοντέλο ελέγχου Εργασία Προϊόν

Παράδειγµα περιπτώσεων χρήσης Σύστηµα καταγραφής και επεξεργασίας µετεωρολογικών µετρήσεων Ζητείται η κατασκευή ενός συστήµατος παρακολούθησης µετεωρολογικών µετρήσεων, το οποίο µε χρήση ειδικών αισθητηρίων οργάνων συλλέγει από διάφορα γεωγραφικά σηµεία δεδοµένα θερµοκρασίας, ατµοσφαιρικής πίεσης και υγρασίας. Κάθε αισθητήρας, δίνει τις µετρήσεις του αυτόµατα, µέσω ειδικού λογισµικού (driver) που τον συνδέει στον υπολογιστή. Το σύστηµα αποθηκεύει τα στοιχεία αυτά και κατόπιν εξάγει στατιστικά αποτελέσµατα, όπως µέση τιµή και τυπική απόκλιση για κάθε γεωγραφικό σηµείο. Λειτουργικές απαιτήσεις: 1. Αποθήκευση µετρήσεων θερµοκρασίας. 2. Αποθήκευση µετρήσεων πίεσης. 3. Αποθήκευση µετρήσεων υγρασίας. 4. Επεξεργασία µετρήσεων θερµοκρασίας. 5. Επεξεργασία µετρήσεων πίεσης. 6. Επεξεργασία µετρήσεων υγρασίας.

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

Προδιαγραφή περιπτώσεων χρήσης ΠΡΟ ΙΑΓΡΑΦΗ ΠΕΡΙΠΤΩΣΗΣ ΧΡΗΣΗΣ 1. Τίτλος περίπτωσης χρήσης Αναγράφεται ο τίτλος της περίπτωσης χρήσης 2. Σύντοµη περιγραφή ίνεται µια πολύ σύντοµη περιγραφή της περίπτωσης χρήσης σε 2-3 προτάσεις. 3. Ροή γεγονότων 3.1 Βασική ροή Κάθε περίπτωση χρήσης ξεκινά µε µια ενέργεια ενός Χειριστή. Στην παράγραφο αυτή περιγράφεται τι κάνει ο χειριστής και ποια είναι η ακολουθία των ενεργειών του λογισµικού µε τις οποίες επιτυγχάνεται ο σκοπός της περίπτωσης χρήσης, χωρίς να περιγράφεται το γιατί ή το πώς πραγµατοποιούνται οι ενέργειες αυτές. Μπορούν να χρησιµοποιηθούν σχήµατα ή εικόνες που συµβάλουν στην κατανόηση της ροής. 3.2 Εναλλακτικές ροές 3.2.1 Εναλλακτική ροή 1 3.2.2 Εναλλακτική ροή 2... Εδώ περιγράφονται τυχόν εναλλακτικές ροές ενεργειών που µπορεί να συµβούν κατά την υλοποίηση της περίπτωσης χρήσης, όπως η απαιτούµενη συµπεριφορά του λογισµικού σε περίπτωση κάποιου σφάλµατος.

Προδιαγραφή περιπτώσεων χρήσης 4. Μη λειτουργικές απαιτήσεις 4.1 Απαίτηση 1 4.2 Απαίτηση 2... Εδώ περιγράφονται οι µη λειτουργικές απαιτήσεις που σχετίζονται µε την περίπτωση χρήσης, όπως απαιτήσεις επίδοσης ή περιβάλλοντος ("Τεχνολογία Λογισµικού 1", Ενότητα 3.1.3, σελίδα 58). 5. Κατάσταση εισόδου 5.1 Συνθήκη εισόδου 1 5.2 Συνθήκη εισόδου 2... Στην ενότητα αυτή αναφέρονται οι συνθήκες που θα πρέπει να ισχύουν (προαπαιτήσεις, pre-conditions) για την εφαρµογή της περίπτωσης χρήσης, όπως τα αναγκαία δικαιώµατα χρήστη ή οι συσκευές που πρέπει να είναι διαθέσιµες. 6. Κατάσταση εξόδου 6.1 Συνθήκη εξόδου 1 6.2 Συνθήκη εξόδου 2... Στην ενότητα αυτή αναφέρονται οι συνθήκες που ισχύουν (αποτελέσµατα, post-conditions) µετά την εφαρµογή της περίπτωσης χρήσης, όπως µεταβολές στην κατάσταση πόρων του συστήµατος, συσκευών, κ.ά..

Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό 1. Εισαγωγή 1.1 Σκοπός 1.2 Εµβέλεια 1.3 Ορισµοί, ακρωνύµια, συντοµογραφίες 1.4 Αναφορές 1.5 Γενική εικόνα 2. Το µοντέλο περιπτώσεων χρήσης 2.1 Στίγµα 2.2 Προοπτική 2.3 Περιορισµοί 2.4 Γενική εικόνα 2.5 Παραδοχές και εξαρτήσεις Μέχρι το σηµείο αυτό το έγγραφο είναι παρόµοιο µε το αντίστοιχο έγγραφο που χρησιµοποιείται στη δοµηµένη ανάλυση / σχεδίαση 3. Ανάλυση περιπτώσεων χρήσης 3.1 Προδιαγραφές περιπτώσεων χρήσης 3.1.1 Περίπτωση χρήσης 1 3.1.2 Περίπτωση χρήσης 2... Εδώ τοποθετούνται όλες οι προδιαγραφές των περιπτώσεων χρήσης σύµφωνα µε τη δοµή που δόθηκε προηγουµένως 4. Συµπληρωµατικά στοιχεία 4.1 Περιγραφή διαπροσωπειών 4.2 Παραρτήµατα

ιάγραµµα δραστηριοτήτων (UML) Παράλληλη ε κτέλ εσ η 1, 2 Σηµεία έναρξης και λήξης. Συµβολισµός όπως στο διάγραµµα καταστάσεων 1 2 1 2 Τίτλος Ορισµός δραστηριότητας Η ροή συνεχίζε ται µετά την ολοκλήρωση 1 και 2 Ροή εργασιών. Μετάβαση στη 2 µετά την ολοκλήρωση της 1 1 2 Συνθήκη 1 Συνθήκη 2 Κοµβος απόφασης. Μπορεί να περιλαµβάνει οσεσδήποτε µεταβάσεις 1 2

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

Παράδειγµα 1. Τίτλος περίπτωσης χρήσης Τήρηση αρχείου σπουδαστών 2. Σύντοµη περιγραφή Η εφαρµογή εµφανίζει µια φόρµα διαλόγου µέσω της οποίας ο χρήστης ενηµερώνει το αρχείο σπουδαστών. 3. Ροή γεγονότων 3.1 Βασική ροή 1. Ο Χειριστής "χειριστής γραµµατείας" επιλέγει από το µενού της εφαρµογής την "τήρηση αρχείου σπουδαστών". 2. Ο "ΕΠΙΚΟΥΡΟΣ" ανοίγει το αρχείο σπουδαστών. 3. Ο "ΕΠΙΚΟΥΡΟΣ" εµφανίζει φόρµα διαλόγου µε τα πεδία που περιλαµβάνονται στο αρχείο, καθώς και δύο κουµπιά (buttons) µε χαρακτηρισµούς "αποδοχή" και "ακύρωση". 4. Ο Χειριστής δίνει τα στοιχεία σπουδαστή που περιέχονται στην φόρµα και πατάει το κουµπί "αποδοχή". 5. Ο "ΕΠΙΚΟΥΡΟΣ" ελέγχει την εγκυρότητα των στοιχείων. 6. Ο "ΕΠΙΚΟΥΡΟΣ" εισάγει µια νέα εγγραφή στο αρχείο σπουδαστών. 7. Ο έλεγχος επανέρχεται στο βήµα 2.

Παράδειγµα 3.2 Εναλλακτικές ροές 3.2.1 Εναλλακτική ροή 1 4α. Ο χειριστής επιλέγει "ακύρωση". 5α. Ο "ΕΠΙΚΟΥΡΟΣ" κλείνει τη φόρµα και τερµατίζει την εργασία. 3.2.2 Εναλλακτική ροή 2 6α. Τα στοιχεία που δόθηκαν είναι ελλιπή. 7α. Ο "ΕΠΙΚΟΥΡΟΣ" εµφανίζει µήνυµα στον χρήστη και επανέρχεται στο βήµα 2. 4. Μη λειτουργικές απαιτήσεις εν υπάρχουν για αυτή την περίπτωση χρήσης. 5. Κατάσταση εισόδου εν υπάρχουν ιδιαίτερες απαιτήσεις εισόδου στην περίπτωση χρήσης. 6. Κατάσταση εξόδου Εχουν προστεθεί 0-Ν νέες εγγραφές στο αρχείο σπουδαστών.

Παράδειγµα Αρχή περίπτωσης χρήσης Επιλογή εργασίας "τήρηση αρχείου σπουδαστών" Ανοιγµα αρχείου σπουδαστών Εµφάνιση φόρµας διαλόγου Εισαγωγή στοιχείων από τον χρήστη ΑΚΥΡΟ Τέ λος πε ρίπτωσης χρήσης ΟΚ Ελεγχος εγκυρότητας στοιχείων Εµφάνιση µηνύµατος ΑΚΥΡΑ ΕΓΚΥΡΑ ηµιουργία νέας εγγραφής σπουδαστή

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

Παράδειγµα 3.2 Εναλλακτικές ροές 3.2.1 Εναλλακτική ροή 1 3α. εν υπάρχει κανένας σπουδαστής του οποίου η διαγραφή να επιτρέπεται. 4α. Ο "ΕΠΙΚΟΥΡΟΣ" εµφανίζει παράθυρο διαλόγου που ενηµερώνει σχετικά τον χειριστή και, αφού αυτός πατήσει "αποδοχή", η εργασία τερµατίζεται. 4. Μη λειτουργικές απαιτήσεις εν υπάρχουν για αυτή την περίπτωση χρήσης 5. Κατάσταση εισόδου εν υπάρχουν ιδιαίτερες απαιτήσεις εισόδου στην περίπτωση χρήσης 6. Κατάσταση εξόδου Εχουν διαγραφεί 0-Ν εγγραφές από το αρχείο σπουδαστών.

Παράδειγµα Α ρχή ιαγραφή σπουδαστή Κύρια ροή Επιλογή εργασίας " ιαγραφή σπ ουδαστή" Εντοπισµός σπουδαστών που µπο ρούν να διαγραφούν Ε µφάνιση φόρµας επιλογής σπουδαστή Α ΚΥΡΩΣΗ ΧΡ Η Σ ΤΗ Τέλος Αρχή ιαγραφή σπουδαστή ευτερεύουσα ροή ΣΥΝΕΧΕΙΑ Επιλογή εργασίας " ιαγραφή σπουδαστή" ΟΧΙ Επιλογή σπουδαστή και εντολή διαγραφής Ε µφάνιση διαλόγου επιβεβαίωσης Εντοπισµός σπουδαστών που µπορούν να διαγραφούν Εµφάνιση φόρµας ενηµέρωσης χρήστη για τη µη ύπαρξη εγγραφών ΝΑΙ ιαγραφή εγγραφής σπουδαστή Τέλος

Οι λειτουργικές απαιτήσεις ως περιπτώσεις χρήσης Αρχή Εντοπισµός Χειριστών και περιπτώσεων χρήσης Ιεράρχηση περιπτώσεων χρήσης ηµιουργία µοντέλου περιπτώσεων χρήσης Προδιαγραφή περιπτώσεων χρήσης Τέλος Προδιαγραφή της διαπροσωπείας χρήστη

Οι λειτουργικές απαιτήσεις ως περιπτώσεις χρήσης Α ρχή Καθορισµός Χε ιρισ τ ών - χρηστών Καθορισµ ός Χειριστών - ε ξωτερικών συστηµάτων Καθορισµός περιπτώσεων χρήσης για έναν Χειριστή Υπάρχουν άλλοι χειριστές Τέ λος Χει ρισ τ ών Ελεγχος ύπαρξης και άλλων περιπτώσεων χρήσης Υπάρχουν νέε ς περιπτώσεις χρήσης Συσχέτιση µε υπάρχοντες ή µ ε νέ ου ς Χε ιρι σ τέ ς Οχι Τέλος

Το µοντέλο ανάλυσης ΜΟΝΤΕΛΟ ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ ΜΟΝΤΕΛΟ ΑΝΑΛΥΣΗΣ Μοντέλο Ανάλυσης * * Πακέτο Ανάλυσης Περίπωση χρήσης Περίπτωση χρήσης πεδίου ανάλυσης * * Κλάση Ανάλυσης

Κλάσεις του µοντέλου ανάλυσης Συνοριακές Χρησιµεύουν στην παράσταση της αλληλεπίδρασης του λογισµικού µε τους Χειριστές του και σχετίζονται τουλάχιστον µε έναν από αυτούς. Π.χ.: παράθυρα διαλόγου, οδηγοί συσκευών, πρωτόκολλα επικοινωνιών Οντοτήτων Αντιστοιχούν σε πληροφορίες, οντότητες και συµβάντα του πεδίου ενδιαφέροντος της εφαρµογής λογισµικού. Ελέγχου Χρησιµεύουν στο συντονισµό και τη διαχείριση δοσοληψιών (transactions) και γεγονότων (events) καθώς και στον έλεγχο ροής προγράµµατος και την πραγµατοποίηση υπολογισµών οι οποίοι δεν µπορούν να αποδοθούν ούτε σε συνοριακές, ούτε σε κλάσεις οντοτήτων.

Κλάσεις του µοντέλου ανάλυσης Κλάση ανάλυσης Συνοριακή Οντοτήτων Ελέγχου Εναλλακτικά σύµβολα για τις κατηγορίες κλάσεων ανάλυσης Συνοριακή Οντοτήτων Ελέγχου

Παράδειγµα κλάσεων ανάλυσης Μερικές κλάσεις ανάλυσης: 1. ιδάσκων 2. Σπουδαστής 3. Φόρµα εισαγωγής στοιχείων 4. Παράθυρο επιβεβαίωσης διαγραφής 5. Μάθηµα 6. ιαχειριστής συστήµατος backup 7. Βαθµολογία µαθήµατος 8. Οδηγός αισθητήρα θερµοκρασίας 9. ιαχειριστής εκτυπώσεων συστήµατος 10. ιαχειριστής τραπεζικών δοσοληψιών

Η διαδικασία της ανάλυσης Αρχή Αρχιτεκτονική ανάλυση Ανάλυση περιπτώσεων χρήσης Μοντέλο Ανάλυσης Μοντέλο Περιπτώσεων Χρήσης Ανάλυση κλάσεων Ανάλυση πακέτων Περιπτώσεις χρήσης πεδίου ανάλυσης Τέλος

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

Πακέτα ανάλυσης οµή του µοντέλου ανάλυσης της εφαρµογής "ΕΠΙΚΟΥΡΟΣ" Τήρηση αρχείων Περιπτώσεις χρήσης: - Τήρηση αρχείου καθηγητών - Τήρηση αρχείου Σπουδαστών - Τήρηση αρχείου µαθηµάτων Παρακολούθηση εκπαιδευτικής διαδικασίας Περιπτώσεις χρήσης: - Ανάθεση διδασκαλίας - Βαθµολόγηση µαθηµάτων - Καταχώρηση εγγραφών σε µαθήµατα - Εκτύπωση καθηγητών - Εκτύπωση σπουδαστών - Εκτύπωση βαθµολογία µαθήµατος - Εκτύπωση βαθµολογίας σπουδαστή - Εκτύπωση εγγεγραµµένων σπουδαστών Ειδικές εργασίες Περιπτώσεις χρήσης: - ιαγραφή σπουδαστή - ιαγραφή καθηγητή - ιαγραφή µαθήµατος

ιαγράµµατα συνεργασίας Στο διάγραµµα συνεργασίας εµφανίζονται µόνο αντικείµενα, όχι κλάσεις. Το βελάκι υποδηλώνει την αποστολή µηνύµατος (συνεργασία) µεταξύ αντικειµένων. Οαριθµός υποδηλώνει την σειρά µε την οποία συµβαίνει η αποστολή µηνυµάτων. 1: Μήνυµα1 Αντικείµενο 2 Αντικείµενο 1 : Κλάση οντοτήτων 2: Μήνυµα2 3: Μήνυµα3 Αντικείµενο 4 Αντικείµενο 3 : Κλάση ελέγχου Για τα αντικείµενα χρησιµοποιείται το σύµβολο των κλάσεων µε υπογραµµισµένο το όνοµα, µε τη µορφή "(ονοµα αντικειµένου) : (όνοµα κλάσης)" Μπορεί να χρησιµοποιείται ο συµβολισµός των κλάσεων ανάλυσης. Αν δεν είναι γνωστή η κλάση, αναγράφεται µόνο το όνοµα του αντικειµένου.

Ανάλυση περιπτώσεων χρήσης Εντοπισµός κλάσεων Εντοπισµός συνεργασίας 1: επιλογή 4: στοιχεία σπουδαστή 2: αρχικοποίηση : Χειριστής γραµµατείας : ActorInterface Χειριστή γραµµατείας : (Ελεγχος) τήρηση αρχείου σπουδαστών 3: εµφάνιση φόρµας : Εισαγωγή δεδοµένων σπουδαστή 5: εµφάνιση µηνύµατος : Μήνυµα ακυρότητας δεδοµένων

Εντοπισµός κλάσεων Ανάλυση κάθε περίπτωσης χρήσης µε σκοπό τον εντοπισµό των κλάσεων που απαιτούνται για να υλοποιηθεί. Βήµατα στον εντοπισµό κλάσεων: εδοµένα που σχετίζονται µε την περίπτωση χρήσης κλάσεις οντοτήτων Για κάθε κλάση οντοτήτων ορίζουµε µία συνοριακή κλάση Για κάθε χειριστή ορίζουµε µία συνοριακή κλάση Για την περίπτωση χρήσης ορίζουµε µία κλάση ελέγχου Ετσι κάνουµε έναν πρώτο εντοπισµό των απαραίτητων κλάσεων

Παράδειγµα ανάλυσης περίπτωσης χρήσης Περίπτωση χρήσης: τήρηση αρχείου σπουδαστών Βήµα 1. Προφανή δεδοµένα που σχετίζονται µε την περίπτωση χρήσης είναι οι σπουδαστές Σπουδαστές ClassInterface Σπουδαστή Βήµα 2. Η απαραίτητη συνοριακή κλάση. Χειριστής γραµµατείας Βήµα 3. Ο χειριστής, το κύριο παράθυρο επικοινωνίας της εφαρµογής µε αυτόν, ο διάλογος εισόδου δεδοµένων και το µήνυµα σε περίπτωση άκυρων δεδοµένων ActorInterface Χειριστή γραµµατείας Μήνυµα ακυρότητας δεδοµένων Εισαγωγή δεδοµένων σπουδαστή Βήµα 4. Η κλάση ελέγχου (Ελεγχος) τήρηση αρχείου σπουδαστών

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

Παράδειγµα εντοπισµού συνεργασίας : Χειριστής γραµµατείας 1: επιλογή εργασίας 8: επιλογή σπουδαστή 4: αναζήτηση : Εγγραφές 10: επιβεβαίωση διαγραφής 2: αρχικοποίηση 3: διαµόρφωση αναζήτησης : ClassInterface εγγραφής : ActorInterface Χειριστή γραµµατείας : (Ελεγχος) διαγραφή σπουδαστή 5: διαµόρφωση αναζήτησης 11: ετοιµασία διαγραφής 7: εµφάνιση λίστας 9: εµφάνιση διαλόγου : ClassInterface Σπουδαστή : Εντολή διαγραφής : Επιβεβαίωση διαγραφής 6: αναζήτηση 12: διαγραφή : Σπουδαστές

Παράδειγµα εντοπισµού συνεργασίας : Εγγραφές : Χειριστής γραµµατείας 1: επιλογή εργασίας 2: αρχικοποίηση 3: διαµόρφωση αναζήτησης 4: αναζήτηση : ClassInterface εγγραφής : ActorInterface Χειριστή γραµµατείας : (Ελεγχος) διαγραφή σπουδαστή 5: διαµόρφωση αναζήτησης 7: εµφάνιση : ClassInterface Σπουδαστή 6: αναζήτηση : Μήνυµα µη ύπαρξης εγγραφών : Σπουδαστές

Ανάλυση κλάσεων Τα πεδία περιγράφουν την κατάσταση της κλάσης Οι µέθοδοι περιγράφουν τη συµπεριφορά της Προσδιορισµός πεδίων Κλάσεις οντοτήτων: ιδιώµατα που προκύπτουν από το πεδίο του προβλήµατος Συνοριακές: στοιχεία διαπροσωπείας Ελέγχου: συνήθως δεν έχουν πεδία Πρακτικοί κανόνες Αναζήτηση σύνθετων ιδιωµάτων «Λογικός» αριθµός πεδίων

Ανάλυση κλάσεων Προσδιορισµός σχέσεων µεταξύ κλάσεων Συσχέτιση Από το θεµατικό πεδίο του προβλήµατος ως σχέσεις µεταξύ δεδοµένων Από τη συνεργασία που έχει καθοριστεί Συναρµολόγηση Ένα αντικείµενο περιέχει ένα άλλο Ένα αντικείµενο αποτελείται από ένα άλλο Σχέση ιεραρχίας Γενίκευση Κοινός παράγοντας δοµής και συµπεριφοράς