Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ανάλυση Απαιτήσεων (3/3) Εμμ.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ανάλυση Απαιτήσεων (3/3) Εμμ."— Μεταγράφημα παρουσίασης:

1 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ανάλυση Απαιτήσεων (3/3) Εμμ. Γιακουμάκης Αναπλ. καθηγητής ΟΠΑ

2 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 2 Σημερινή παρουσίαση Μοντελοποίηση Πεδίου Ανάλυση Περιπτώσεων Χρήσης

3 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 3 Μοντελοποίηση Πεδίου Η μοντελοποίηση πεδίου (domain modeling) είναι μία από τις βασικότερες δραστηριότητες της αντικειμενοστρεφούς ανάλυσης Αφορά στη δημιουργία διαγραμμάτων κλάσεων που απεικονίζουν έννοιες του προβλήματος που εξετάζουμε Οι κλάσεις σε ένα μοντέλο πεδίου καλούνται και εννοιολογικές κλάσεις (conceptual classes)

4 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 4 Κτίσιμο Μοντέλων Πεδίου Τα μοντέλα πεδίου περιλαμβάνουν –Τις εννοιολογικές κλάσεις που αναπαριστούν έννοιες του προβλήματος –Ιδιότητες των εννοιολογικών κλάσεων που σχετίζονται με το πρόβλημα –Σχέσεις μεταξύ των κλάσεων όπως η συσχέτιση και η γενίκευση Στα μοντέλα πεδίου δεν εμφανίζονται λειτουργίες Τα μοντέλα πεδίου περιλαμβάνουν κλάσεις του χώρου του προβλήματος όχι του λογισμικού

5 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 5 Μοντέλα Πεδίου Εννοιολογικές Κλάσεις Οι εννοιολογικές κλάσεις μπορεί να είναι: –Αντικείμενα του φυσικού κόσμου –Προδιαγραφές ή περιγραφές των αντικειμένων του φυσικού κόσμου –Απομνημόνευση δεδομένων και γεγονότων –Οργανωτικές μονάδες –Τοποθεσίες –Ρόλοι προσώπων σε σχέση με το σύστημα –Κατάλογοι πληροφοριών –Κανόνες και πολιτικές –Αφηρημένες έννοιες που διευκολύνουν στην κατανόηση του προβλήματος

6 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 6 Μοντέλα Πεδίου Καθορισμός Εννοιολογικών Κλάσεων Οι εννοιολογικές κλάσεις δημιουργούνται μετά από την μελέτη των απαιτήσεων όπως οι περιπτώσεις χρήσης Απεικονίζουν σημαντικές έννοιες που περιγράφονται στις απαιτήσεις Μπορεί να εξαχθούν και από συνοδευτικά έγγραφα των απαιτήσεων όπως το λεξικό δεδομένων, το γλωσσάρι, κλπ

7 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 7 Μοντέλα Πεδίου Παράδειγμα: Τραπεζικό Σύστημα «Σε ένα τραπεζικό σύστημα οι πελάτες δημιουργούν τραπεζικούς λογαριασμούς. Οι πελάτες μπορούν να πραγματοποιούν καταθέσεις και αναλήψεις χρημάτων. Το τραπεζικό σύστημα καταγράφει κάθε δοσοληψία κατάθεσης ή ανάληψης χρημάτων και ενημερώνει το υπόλοιπο του λογαριασμού του πελάτη. Ένας πελάτης μπορεί να εξυπηρετείται από τραπεζικά υποκαταστήματα. Μπορεί επίσης να πραγματοποιεί καταθέσεις ή αναλήψεις μετρητών μέσω των ΑΤΜ της τράπεζας. Μπορεί να αιτείται και να λαμβάνει από την τράπεζα μία κάρτα ανάληψης μετρητών. Η κάρτα που παραλαμβάνει συνδέεται με κάποιον από τους λογαριασμούς της επιλογής του» Ερώτημα: Η δημιουργία ενός μοντέλου πεδίου για το παραπάνω πρόβλημα.

8 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 8 Μοντέλα Πεδίου Εννοιολογικές Κλάσεις από τις Απαιτήσεις «Σε ένα τραπεζικό σύστημα οι πελάτες δημιουργούν τραπεζικούς λογαριασμούς. Οι πελάτες μπορούν να πραγματοποιούν καταθέσεις και αναλήψεις χρημάτων. Το τραπεζικό σύστημα καταγράφει κάθε δοσοληψία κατάθεσης ή ανάληψης χρημάτων και ενημερώνει το υπόλοιπο του λογαριασμού του πελάτη. Ένας πελάτης μπορεί να εξυπηρετείται από τραπεζικά υποκαταστήματα. Μπορεί επίσης να πραγματοποιεί καταθέσεις ή αναλήψεις μετρητών μέσω των ΑΤΜ της τράπεζας. Μπορεί να αιτείται και να λαμβάνει από την τράπεζα μία κάρτα ανάληψης μετρητών. Η κάρτα που παραλαμβάνει συνδέεται με κάποιον από τους λογαριασμούς της επιλογής του» Οι σημαντικές έννοιες του προβλήματος είναι με έντονη γραφή.

9 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 9 Εννοιολογικές Κλάσεις Τραπεζικού Συστήματος Οι βασικές κλάσεις είναι ο πελάτης, ο λογαριασμός, η δοσοληψία, η Ανάληψη, η Κατάθεση, η Κάρτα

10 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 10 Μοντέλα Πεδίου Συσχετίσεις Για τον καθορισμό των συσχετίσεων μεταξύ των κλάσεων αναζητούμε τη δυνατότητα γνώσης των αντικειμένων μίας κλάσης από μία άλλη Όταν καθορίζουμε τις συσχετίσεις ορίζουμε και τις πολλαπλότητες στα άκρα τους.

11 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 11 Συσχετίσεις Τραπεζικού Συστήματος Το παραπάνω μοντέλο των εννοιολογικών κλάσεων δηλώνει ότι ένας πελάτης μπορεί να έχει κανένα, έναν ή περισσότερους τραπεζικούς λογαριασμούς, ενώ ένας λογαριασμός θα πρέπει να ανήκει σε έναν μόνο πελάτη. Μία τραπεζική δοσοληψία αφορά ένα λογαριασμό, ενώ σε ένα λογαριασμό μπορούν να γίνουν καμία, μία ή περισσότερες τραπεζικές δοσοληψίες.

12 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 12 Μοντέλα Πεδίου Ιδιότητες Οι ιδιότητες μίας εννοιολογικής κλάσης περιγράφουν τα δεδομένα των αντικειμένων της. Βασικό στοιχείο των ιδιοτήτων είναι οι τύποι. Όταν η τιμή μίας ιδιότητας έχει ιδιαίτερη σημασία τότε αποφεύγουμε τους πρωταρχικούς τύπους δεδομένων (String, Integer, Boolean) αλλά δημιουργούμε νέους απλούς τύπους Οι απλοί τύποι ορίζονται ως κλάσεις Οι απλοί τύποι χρησιμοποιούν την έννοια της αφαίρεσης (abstraction)

13 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 13 Μοντέλα Πεδίου Ιδιότητες

14 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 14 Μοντέλα Πεδίου Απλοί Τύποι Οι απλοί τύποι μπορεί να είναι –Ατομικά δεδομένα που συνοδεύονται από κανόνες επαλήθευσης ή αποτελούνται από υποτμήματα. Π.χ ταχυδρομικοί κωδικοί, ημερομηνίες, νούμερα τηλεφώνου, αριθμοί πιστωτικοί καρτών, διευθύνσεις IP, κτλ –Σύνθετα δεδομένα με εννοιολογική ενότητα όπως. Π.χ Βάρος ή ύψος (με διαφορετικές μονάδες μέτρησης), χρήματα, εύρη ημερομηνιών –Απλές απαριθμήσεις. Π.χ. τα χρώματα. Χρησιμοποιούνται οι απαριθμήσεις της UML –Ομαδοποίηση ατομικών δεδομένων που απαρτίζουν μία εννοιολογική οντότητα. Π.χ. ταχυδρομικές διευθύνσεις

15 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 15 Απλοί Τύποι Παραδείγματα

16 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 16 Μοντέλο Πεδίου Τραπεζικού Συστήματος με Απλούς Τύπους Οι τύποι ορισμένων ιδιοτήτων του μοντέλου, είναι απλοί τύποι που ορίζονται ως κλάσεις ( Address, Address, ZipCode)

17 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 17 Απλοί Τύποι και Συσχετίσεις Εναλλακτικά τους απλούς τύπους μπορούμε να τους εμφανίσουμε και ως συσχετίσεις.

18 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 18 Μοντέλο Πεδίου Τραπεζικού Συστήματος με ιδιότητες Χρησιμοποιούνται απλοί τύποι Η ιδιότητα balance (υπόλοιπο λογαριασμού) θεωρείται ως παραγόμενη γιατί προκύπτει από τις διαφορετικές δοσοληψίες

19 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 19 Διάκριση ιδιοτήτων και κλάσεων

20 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 20 Μοντέλα Πεδίου και Γενίκευση Η γενίκευση χρησιμοποιείται στα μοντέλα πεδίου για να υποδείξει μία εννοιολογική σχέση γενίκευσης / εξειδίκευσης Στη σχεδίαση του λογισμικού εφαρμόζονται αυστηροί κανόνες για την εφαρμογή της γενίκευσης. Στη μοντελοποίηση πεδίου όχι.

21 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 21 Χρήση Γενίκευσης σε Μοντέλα Πεδίου Και οι δύο εναλλακτικές είναι κατ’ αρχήν αποδεκτές Θα χρησιμοποιούσαμε τη γενίκευση αν προσθέταμε νέες ιδιότητες ή συσχετίσεις στις υποκλάσεις

22 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 22 Χρησιμότητα των Μοντέλων Πεδίου Επικοινωνία. Ένα μοντέλο πεδίου μπορεί να γίνει η βάση επικοινωνίας μεταξύ αυτών που γνωρίζουν το πρόβλημα και των μηχανικών λογισμικού Απόκτηση γνώσης. Οι μηχανικοί λογισμικού αποκτούν βαθύτερη γνώση του προβλήματος Μείωση του χάσματος αναπαράστασης (representational gap) μεταξύ των εννοιών του προβλήματος και του λογισμικού. Σχεδίαση λογισμικού. Ως συνέπεια της μείωσης του χάσματος αναπαράστασης, τα μοντέλα πεδίου μπορούν να μετασχηματιστούν στη λογική του πεδίου (domain logic ή business logic) του λογισμικού. Οι εννοιολογικές κλάσεις μετασχηματίζονται σε κλάσεις του λογισμικού

23 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 23 Ανάλυση Απαιτήσεων Διαγράμματα Δραστηριότητας. Επιχειρησιακή μοντελοποίηση και ροή εργασιών σε περιπτώσεις χρήσης Μοντελοποίηση Πεδίου. Δημιουργία διαγραμμάτων κλάσεων για τη μοντελοποίηση των βασικών εννοιών του προβλήματος που θέτουν οι απαιτήσεις →Ανάλυση περιπτώσεων χρήσης (use case analysis). Ανάλυση συμπεριφοράς αντικειμένων

24 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 24 Ανάλυση Περιπτώσεων Χρήσης Μία μεθοδική διαδικασία για τον προσδιορισμό της συμπεριφοράς του συστήματος για την κάλυψη των απαιτήσεων που είναι καταγεγραμμένες σε περιπτώσεις χρήσης. Μία πρώτη προσπάθεια μετάφρασης των απαιτήσεων που είναι γραμμένες με την οπτική του πελάτη σε συμπεριφορά αντικειμένων με την οπτική των μηχανικών λογισμικού Μία πρώτη προσπάθεια όχι μόνο για το τι θα κάνει το λογισμικό αλλά και πως θα το κάνει

25 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 25 Ανάλυση Περιπτώσεων Χρήσης Κλάσεις Ανάλυσης Βασικά στοιχεία μίας περίπτωσης χρήσης –Αλληλεπιδράσεις actors και συστήματος –Ροές βημάτων –Διαχείριση πληροφορίας Για τα τρία αυτά στοιχεία δημιουργούνται και τα αντίστοιχα αντικείμενα –Σύνορα (boundary objects). Αντικείμενα διεπαφών με τους actors –Ελεγκτές (controller objects). Εκτέλεση των βημάτων των σεναρίων της περίπτωσης χρήσης –Οντότητες (entity objects). Διαχείρισης πληροφορίας. Προέρχονται κυρίως από το μοντέλο πεδίου Οι κλάσεις των αντικειμένων αυτών καλούνται και κλάσεις ανάλυσης (analysis classes)

26 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 26 Συμβολισμός Κλάσεων Ανάλυσης Γίνεται χρήση των στερεοτύπων της UML για τον διαχωρισμό των κλάσεων

27 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 27 Τραπεζικό Σύστημα με ΑΤΜ Οι κλάσεις του μοντέλου πεδίου θα χρησιμοποιηθούν ως οντότητες στην ανάλυση περιπτώσεων χρήσης

28 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 28 Τραπεζικό Σύστημα με ΑΤΜ Ερώτηση Υπολοίπου ΠΧ1. Ερώτηση Υπολοίπου (σύντομη μορφή) Ο πελάτης εισάγει την κάρτα στον αναγνώστη καρτών του ΑΤΜ. Το σύστημα ζητά το pin της κάρτας και ο πελάτης το πληκτρολογεί. Το σύστημα επαληθεύει τα στοιχεία της κάρτας και την ορθότητα του pin. Το σύστημα αναζητά το υπόλοιπο του λογαριασμού του πελάτη, το οποίο και εμφανίζει και καταγράφει τη δοσοληψία. Το σύστημα επιστρέφει την κάρτα στον πελάτη

29 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 29 Τραπεζικό Σύστημα με ΑΤΜ Σύνορα Η κλάση CardReader αναπαριστά τον αναγνώστη καρτών. Η κλάση Console αναπαριστά την οθόνη και το πληκτρολόγιο του ATM. Οι κλάσεις θα χρησιμοποιηθούν και σε άλλες περιπτώσεις χρήσης

30 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 30 Τραπεζικό Σύστημα με ΑΤΜ Οντότητες Οι οντότητες προέρχονται από το μοντέλο πεδίου. Οι κλάσεις θα χρησιμοποιηθούν και σε άλλες περιπτώσεις χρήσης

31 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 31 Τραπεζικό Σύστημα με ΑΤΜ Ελεγκτής Δημιουργούμε μία κλάση ανάλυσης για τον ελεγκτή, ο οποίος θα χρησιμοποιηθεί μόνο στην περίπτωση χρήσης της ερώτησης υπολοίπου

32 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 32 Ανάλυσης Περίπτωσης Χρήσης Ερώτηση Υπολοίπου «Ο πελάτης εισάγει την κάρτα στον αναγνώστη καρτών του ΑΤΜ….»

33 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 33 Ανάλυσης Περίπτωσης Χρήσης Ερώτηση Υπολοίπου «Το σύστημα ζητά το pin της κάρτας και ο πελάτης το πληκτρολογεί…»

34 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 34 Ανάλυσης Περίπτωσης Χρήσης Ερώτηση Υπολοίπου «Το σύστημα επαληθεύει τα στοιχεία της κάρτας και την ορθότητα του pin….»

35 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 35 Ανάλυσης Περίπτωσης Χρήσης Ερώτηση Υπολοίπου «Το σύστημα αναζητά το υπόλοιπο του λογαριασμού του πελάτη, το οποίο και εμφανίζει και καταγράφει τη δοσοληψία.»

36 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 36 Διάγραμμα Ακολουθίας Ερώτησης Υπολοίπου

37 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 37 Αλληλεπίδραση Αντικειμένων Στην ανάλυση περιπτώσεων χρήσης δίνουμε έμφαση στη βασική ροή (κύριο σενάριο). Τα μηνύματα που ανταλλάσουν τα αντικείμενα έχουν γενικότερο χαρακτήρα και όχι «χαμηλού» επιπέδου κλήσεις των λειτουργιών των κλάσεων. Στη σχεδίαση του λογισμικού τα μηνύματα εξειδικεύονται περισσότερο. Στην ανάλυση μας ενδιαφέρουν περισσότερο οι αρμοδιότητες (responsibilities) των κλάσεων. Οι υποχρεώσεις που έχουν τα αντικείμενα των κλάσεων να εκτελούν μία λειτουργία ή να γνωρίζουν κάποια πληροφορία

38 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 38 Αλληλεπίδραση Αντικειμένων Οι τυπικές ενέργειες σε ένα διάγραμμα ανάλυσης περιπτώσεων χρήσης είναι –Δημιουργία αντικειμένων –Σύνδεση αντικειμένων –Υπολογισμοί –Αναζήτηση και αποθήκευση πληροφοριών –Άλλα μηνύματα για την επίτευξη της επιθυμητής συμπεριφοράς

39 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 39 Τραπεζικό Σύστημα με ΑΤΜ Ανάληψη Μετρητών ΠΧ2 Ανάληψη Μετρητών (σύντομη μορφή) Ο πελάτης εισάγει την κάρτα στον αναγνώστη καρτών του ΑΤΜ. Το σύστημα ζητά το pin της κάρτας και ο πελάτης το πληκτρολογεί. Το σύστημα επαληθεύει τα στοιχεία της κάρτας και την ορθότητα του pin. Ο πελάτης εισάγει το ποσό της ανάληψης. Το σύστημα αποθηκεύει τη δοσοληψία και παραδίδει τα χρήματα στον πελάτη. Το σύστημα επιστρέφει την κάρτα στον πελάτη

40 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 40 Ανάλυση Ανάληψης Μετρητών

41 2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 41 Ανάλυση Κατάθεσης Μετρητών


Κατέβασμα ppt "2009ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ανάλυση Απαιτήσεων (3/3) Εμμ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google