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

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

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

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


Παρουσίαση με θέμα: "ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης"— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Κατέβασμα ppt "ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης"

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


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