1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής
Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2
3 Η ανάλυση και ο σχεδιασµός και ο κύκλος ζωής Βασικές Ροές Εργασιών Σύλληψη Επεξεργασία Κατασκευή Φάσεις Μετάβαση Επιχειρηµατικών ιαδικασιών Απαιτήσεις και Υλοποίηση ιάταξη (deployment) Υποστηρικτικές Ροές Εργασιών ιαχείριση Σχηµατισµών ιαχείριση έργου Περιβάλλον Επαν. Επαν. #1 Επαν. #2 Επαν. #n Επαν. #n+1 Επαν. #n+2 Επαν. #m Επαν. #m+1 Επαναλήψεις
4 Ο στόχος της ροής εργασιών της ανάλυσης και σχεδιασµού Ο στόχος της ροής των εργασιών της ς και του Σχεδιασµού είναι: να µετασχηµατίσει τις απαιτήσεις στο σχεδιασµό τουσυστήµατος Να εξελίξει την αρχιτεκτονική του συστήµατος Να προσαρµόσουµε τοσχεδιασµό του συστήµατος στις ανάγκες της υλοποίησης Τα βασικά παραδοτέα είναι: To µοντέλο του σχεδιασµού Την αρχιτεκτονική του συστήµατος Το µοντέλο δεδοµένων
Βάσης εδοµένων 5 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
6 Τα παραδοτέα της ανάλυσης και του σχεδιασµού Η UP έχει ένα µεγάλο αριθµό διαφορετικών παραδοτέων για την ανάλυση και τον σχεδιασµό.
Μοντέλο απαιτήσεων Μοντέλο ανάλυσης Μοντέλο απαιτήσεων Περιγράφει το σύστηµα χρησιµοποιώντας τη γλώσσα του πελάτη Παρουσιάζει την εικόνα του συστήµατος από έξω Είναι δοµηµένο γύρω από τις περιπτώσεις χρήσης Χρησιµοποιείται για την επικοινωνία µέσα στο έργο και έχει την αξία συµβολαίου µεταξύ της οµάδας ανάπτυξης και του πελάτη του έργου Το µοντέλο µπορεί να περιέχει ανακρίβειες και επικαλύψεις Μοντέλο ανάλυσης Περιγράφει το σύστηµα χρησιµοποιώντας τη γλώσσα του τεχνικού Παρουσιάζει την εικόνα του συστήµατος εσωτερικά Είναι δοµηµένο γύρω από τις κλάσεις Χρησιµοποιείται κυρίως από την οµάδα του έργου για την καλύτερη κατανόηση του συστήµατος Το µοντέλο πρέπει να είναι όσο το δυνατόν πιο σαφές και ακριβές 7
Βάσης εδοµένων 8 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
Αρχιτεκτονική Ο στόχος της ανάλυσης είναι να δηµιουργήσει ένα πλαίσιο αναφοράς για το µοντέλο της ανάλυσης µε τον προσδιορισµό των πακέτων ανάλυσης των κλάσεων ανάλυσης και την περιγραφή της 9
Η αρχιτεκτονική ορίζεται από 4+1 µοντέλα (όψεις) Λογική όψη Όψη Υλοποίησης οµή Λειτουργικότητα Όψη περιπτώσεων χρήσης ιαχείριση Λογισµικού Όψη διαδικασιών Όψη ιάταξης Αποδοτικότητα Τοπολογία συστήµατος
11 Αρχιτεκτονικοί Μηχανισµοί Αρχιτεκτονικοί Μηχανισµοί ς (Λογικοί) πιο γενικοί Σχεδιασµού (Λογικοί) πιο συγκεκριµένοι Υλοποίησης (Πραγµατικοί) Είναι πρότυπα δοµής συµπεριφοράς ή και των δύο
Παραδείγµατα µηχανισµών ανάλυσης Αποθήκευσης δεδοµένων (Persistency) Επικοινωνίας (Communication IPC, RPC) ροµολόγησης µηνυµάτων (Message routing) ιαχείρισης συναλλαγών (Transaction management) Ασφάλειας (Security) ιαχείριση λαθών (Error management) 12
Βάσης εδοµένων 13 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
14 Περιγράφουµε συµπληρωµατικά τις περιπτώσεις χρήσης Για κάθε περίπτωση χρήσης Βρίσκουµε τιςκλάσειςπουσυµµετέχουν Κατανέµουµε την συµπεριφορά που περιγράφεται στις περιπτώσεις χρήσης στις κλάσεις Συνοριακές, οντοτήτων, ελέγχου Για κάθε κλάση ανάλυσης Περιγράφουµε τις υπευθυνότητες Περιγράφουµε πεδία και σχέσεις µεταξύ των κλάσεων Εξετάζουµε ποιους µηχανισµούς ανάλυσης πρέπει να χρησιµοποιήσουµε Ενοποιούµε το µοντέλο της ανάλυσης
Βάσης εδοµένων 15 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
Αρχιτεκτονικός Στον αρχιτεκτονικό σχεδιασµό ορίζουµε: Ποια είναι τα επίπεδα και τα τµήµατα που απαρτίζουν το σύστηµα Ποιες είναι οι σχέσεις µεταξύ τους Ο αρχιτεκτονικός σχεδιασµός αποτελεί τη συνέχεια της ανάλυσης όπου έχουµε ήδη ορίσει τη βασική αρχιτεκτονική του συστήµατος. 16
Βάσης εδοµένων 17 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
18 ταυτόχρονων (concurrent) διαδικασιών Οι απαιτήσεις για ταυτόχρονες διαδικασίες προέρχονται από: Το βαθµό που το σύστηµα πρέπειναείναι κατανεµηµένο Το βαθµό που το σύστηµα εξαρτάται από γεγονότα (είναι event driven) Τις ανάγκες σε υπολογιστική ισχύ των αλγορίθµων Το βαθµό παραλληλισµού που απαιτείται Υπάρχουν τρεις προσεγγίσεις Μια διαδικασία, ένα νήµα (uni-process) Μια διαδικασία, πολλά νήµατα (uni-process, multithreat) Πολλές διαδικασίες (multi-process) Οι διαδικασίες µοντελοποιούνται µε Ενεργές κλάσεις (active classes) Συστατικά (components)
Βάσης εδοµένων 19 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
Ηδιάταξη(deployment) του συστήµατος Η περιγραφή της διάταξης του συστήµατος επιτρέπει να εξετάσουµε θέµατα όπως Θέµατα φόρτου του συστήµατος Ειδικές απαιτήσεις επεξεργασίας Επεκτασιµότητα ως προς το µέγεθος του συστήµατος (scaling) Σχέση απόδοσης του συστήµατος µε το κόστος οικονοµικά θέµατα 20
Πρότυπα διάταξης Τα πιο βασικά πρότυπα διάταξης είναι τα ακόλουθα: Πελάτη/Εξυπηρετητή (Client/Server) 3-tier(τριών επιπέδων) Fat-Client (χοντρού πελάτη) Web Application... Οµότιµων υπολογιστών (Peer-topeer) 21
22 Πελάτης/Εξυπηρετητής: Web εφαρµογή Πελάτης WWW Browser Workstation Εφαρµογή Web Server Java Επιχειρηµατικές λειτουργίες Business Services Βάση εδοµένων
Θέµατα που πρέπει να εξετάσουµε στη διάταξη Την απόκριση (response time) του συστήµατος και την απόδοση (throughput) Την ελαχιστοποίηση του φόρτου του δικτύου Την αξιοπιστία του συστήµατος (reliability) Την ανοχή στα σφάλµατα (fault tolerance) 23
Βάσης εδοµένων 24 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
25 υποσυστηµάτων Ο στόχος του σχεδιασµού των υποσυστηµάτων είναι: Να ορίσουµε τη συµπεριφορά του υποσυστήµατος όπως αυτή ορίζεται στις διαπροσωπία (interface) του Να τεκµηριώσουµε την εσωτερική δοµή του υποσυστήµατος Να ορίσουµε τον τόπο µε τον οποίο πραγµατοποιούνται οι διαπροσωπίες από τις κλάσεις που περιέχονται Να καθορίσουµε τις εξαρτήσεις από άλλα υποσυστήµατα
Βάσης εδοµένων 26 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
27 κλάσεων Σκοπός αυτού του βήµατος είναι να εξασφαλίσουµε ότι οι κλάσεις έχουν την απαιτούµενη συµπεριφορά, ότι οι µη λειτουργικές απαιτήσεις ικανοποιούνται ότι έχουν χρησιµοποιηθεί πρότυπα συµπεριφοράς Ο σχεδιασµός των κλάσεων γίνεται µε τον ορισµό Των πεδίων Των µεθόδων Των σχέσεων µεταξύ τους και µε ορισµό διαγραµµάτων κατάστασης όπου είναι αναγκαίο.
Βάσης εδοµένων 28 Ροή εργασιών στην ανάλυση & σχεδιασµό Αρχιτέκτων Αρχιτεκτονική Αρχιτεκτονικός Ταυτόχρονων ιαδικασιών ιάταξης Σχεδιαστής Υποσυστηµάτων Κλάσεων Σχεδιασµού σχεδιασµού
29 Οσχεδιασµός των περιπτώσεων χρήσης Ο σχεδιασµός των περιπτώσεων χρήσης είναι αυτό που εξασφαλίζει ότι η συµπεριφορά που απαιτείται από το σύστηµα έχει σχεδιαστεί σωστά Περιλαµβάνει τρία βήµατα: Τον ορισµό της αλληλεπίδρασης των αντικειµένων Την εκλέπτυνση (καλύτερη περιγραφή) της ροής των γεγονότων Την ενοποίηση του µοντέλου των κλάσεων και των υποσυστηµάτων
30 Η ανάλυση και ο σχεδιασµός στην UP εν υπάρχει σαφής διαχωρισµός µεταξύ αυτών των δύο ροών εργασιών δηλαδή της ανάλυσης και του σχεδιασµού
31 Η ανάλυση και ο σχεδιασµός στην UP Μοντέλο ανάλυσης Παράγει το ιδεατό µοντέλο (conceptual model) όπου δεν περιγράφουµε τις λεπτοµέρειες υλοποίησης Το µοντέλο της ανάλυσης λόγω της γενικότητάς του µπορεί υλοποιηθεί από πολλά διαφορετικά εναλλακτικά µοντέλα σχεδιασµού Το µοντέλο της ανάλυσης είναι γενικό και βασίζεται στα τρία στερεότυπα των κλάσεων (συνοριακές, ελέγχου και οντοτήτων) εν είναι τόσο αυστηρά ορισµένο Στο µοντέλο της ανάλυσης παρουσιάζονται λίγα αρχιτεκτονικά επίπεδα Περιγράφει την αρχιτεκτονική του συστήµατος Μοντέλο σχεδιασµού Παράγει το φυσικό µοντέλο (physical model) πο είναι λεπτοµερές µια και είναι αυτό που καθοδηγε την ανάπτυξη Tο µοντέλο σχεδιασµού είναι ένα κα συγκεκριµένο. Όλες οι εναλλακτικές λύσεις έχου αξιολογηθεί και έχει επιλεγεί η βέλτιστη Το µοντέλο του σχεδιασµού βασίζεται στ στερεότυπα της υλοποίησης Είναι αυστηρά ορισµένο Στο µοντέλο του σχεδιασµού παρουσιάζοντα πολλά αρχιτεκτονικά επίπεδα και η συγκεκριµέν αρχιτεκτονική έχει επιλεγεί Ορίζει την αρχιτεκτονική του συστήµατος
Συµπεράσµατα Είδαµε τη ροή των εργασιών για την ανάλυση και το σχεδιασµό Αρχιτεκτονική του συστήµατος των υποσυστηµάτων/κλάσεων της αλληλεπίδρασης Βασική θέση έχει το µοντέλο περιπτώσεων χρήσης 32