Αντικειμενοστρεφής Ανάλυση

Σταμέλος Ιωάννης

Περιγραφή

Θεωρία Αντικειμενοστρέφειας, Στοιχεία Αντικειμενοστρεφούς Ανάλυσης (Πακέτα, Κλάσεις, Αντικείμενα, Σχέσεις, Μέθοδοι, Χαρακτηριστικά), Αντικειμενοστρεφής Ανάλυση με UML, Περιπτώσεις Χρήσης, Μοντέλο Περιπτώσεων Χρήσης. Διαγράμματα Κλάσεων, Δραστηριότητας, Ακολουθίας, Συνεργασίας, Καταστάσεων. Αντικειμενοστρεφείς Μεθοδολογίες Ανάπτυξης (RUP, ICONIX), Κριτική αναθεώρηση σχεδίων, Αντικειμενοστρεφή Πρότυπα

 

Λέξεις Κλειδιά: UML, Περιπτώσεις χρήσης, RUP(Rational Unified Process), Σχεδιαστικά Πρότυπα, Θεωρία Αντικειμενοστρέφειας, Στοιχεία Αντικειμενοστρεφούς Ανάλυσης (Πακέτα, Κλάσεις, Αντικείμενα, Σχέσεις, Μέθοδοι, Χαρακτηριστικά), Αντικειμενοστρεφής Ανάλυση με UML, Περιπτώσεις Χρήσης, Μοντέλο Περιπτώσεων Χρήσης. Διαγράμματα Κλάσεων, Δραστηριότητας, Ακολουθίας, Συνεργασίας, Καταστάσεων. Αντικειμενοστρεφείς Μεθοδολογίες Ανάπτυξης (RUP, ICONIX), Κριτική αναθεώρηση σχεδίων, Αντικειμενοστρεφή Πρότυπα

CC - Αναφορά - Παρόμοια Διανομή
Διδάσκοντες

Διδάσκων: Ιωάννης Σταμέλος, Αναπληρωτής Καθηγητής 

 

Συνεργάτης Ανάπτυξης Περιεχομένου: Κολοφωτιάς Βάιος

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

Ενότητα 1η- Εισαγωγή στην Αντικειμενοστρεφή Ανάλυση/UML

Ενότητα2η- Rational Unified Process

Ενότητα 3η- Περιπτώσεις Χρήσης

Ενότητα 4η- Διαγράμματα Κλάσεων

Ενότητα 5η- Διαγράμματα Συνεργασίας

Ενότητα 6η- Διαγράμματα Ακολουθίας

Ενότητα 7η- Πρότυπα Σχεδίασης

Ενότητα 8η- Διεργασία ICONIX

Ενότητα 9η- Επιχειρηματική Μοντελοποίηση

Ενότητα 10η- Υλοποίηση Σχεδίασης με Java

Ενότητα 11η- Μετρικές Αντικειμενοστραφούς Σχεδίασης

Ενότητα 12η- Επισκόπηση

Μαθησιακοί στόχοι

Ο χρήστης μελετάει τις βασικές αρχές και έννοιες της Αντικειμενοστρεφούς Ανάλυσης. Αναλύονται οι βασικές δραστηριότητες (εντοπισμός κλάσεων, σχεδίαση στατικών και δυναμικών διαγραμμάτων) που προβλέπονται από τις διεργασίες RUP και ICONIX. Μέσα από διάφορες ασκήσεις εκπαιδεύεται στην επίλυση πρακτικών προβλημάτων της Αντ/φούς Ανάλυσης.

Προαπαιτούμενα

Προαπαιτούνται γνώσεις προγραμματισμού και βάσεων δεδομένων.

Βιβλιογραφία
  • Β. Γερογιάννη, Γ. Κακαρόντζα, Α. Καμέα, Γ. Σταμέλου, Π. Φιτσιλή, Αντικειμενοστρεφής Ανάπτυξη Λογισμικού με τη UML,  Εκδόσεις Κλειδάριθμος, 2006.
  • Grady Booch. "Object-oriented Analysis and Design with Applications, 3rd edition":http://www.informit.com/store/product.aspx?isbn=020189551X Addison-Wesley 2007.
  • Ray Buhr. "Systems Design with Ada" Prentice Hall, 1984.
  • Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener. Designing Object Oriented Software. Prentice Hall, 1990. [A down-to-earth introduction to the object-oriented programming and design.]
  • A Theory of Object-Oriented Design: The building-blocks of OOD and notations for representing them (with focus on design patterns.)
  • Martin FowlerAnalysis Patterns: Reusable Object Models. Addison-Wesley, 1997. [An introduction to object-oriented analysis with conceptual models]
  • Bertrand MeyerObject-oriented software construction. Prentice Hall, 1997
  • Brett McLaughlinGary PolliceDavid WestHead First Object-Oriented Analysis and Design. O'Reilly, 2006.
  • Craig LarmanApplying UML and Patterns - Introduction to OOA/D & Iterative Development. Prentice Hall PTR, 3rd ed. 2005.,mnnm,n,nnn
  • Setrag Khoshafian. Object Orientation.
  • Norbisrath Zündorf Jubeh, Ulrich Albert Ruben (2013). Story Driven Modeling. Amazon Createspace. p. 333. ISBN 9781483949253.

Ενότητες

Στην ενότητα αυτή θα εξετάσουμε βασικές έννοιες τις Αντικειμενοστραφούς Ανάλυσης. Θα δούμε τι είναι η γλώσσα μοντελοποίησης UML(τύπους διαγραμμάτων της,..) και πως μπορούμε να την χρησιμοποιήσουμε αναπτύσσοντας λογισμικό. Γιατί επιλέγουμε το αντικειμενοστραφές λογισμικό και μεθοδολογίες ανάπτυξης λογισμικού κατά τα στάδια ανάλυσης, σχεδίασης, κατασκευής και εξέλιξης ενός έργου πληροφορικής.

 

Λέξεις Κλειδιά: uml, τεχνολογίες ανάπτυξης λογισμικού, μοντελοποίηση, διαγράμματα uml

Σε αυτή την ενότητα θα δούμε την RUP (Rational Unified Process) μια διαδικασία τεχνολογίας λογισμικού που διασφαλίζει την ποιότητα του καθόλου τον κύκλο ζωής του. Θα αναλύσουμε τις φάσεις σύλληψης, επεξεργασίας και μετάβασης και θα μάθουμε πως ορίζονται ο ρόλος, η δραστηριότητα και το αρχέτυπο στον κόσμο της RUP.

 

Λέξεις Κλειδιά: Rational Unified Process, software process, role-activity-artifact

Σε αυτή την ενότητα θα μάθουμε τους actors που παίζουν το ρόλο τους στις περιπτώσεις χρήσης (use cases) ενός λογισμικού. Σε ένα πλαίσιο συστήματος, σχέσεις αναπτύσσονται μεταξύ χειριστών (actors) και ενεργειών. Θα αναλύσουμε συχνά λάθη στα διαγράμματα περιπτώσεων χρήσης και πως να ακολουθούμε το πρότυπο, ενώ παρατίθεται και μια άσκηση με την λύση της.

 

Λέξεις Κλειδιά: ανάλυση προδιαγραφών χρήσης λογισμικού, System Startup, System Shutdown, Session, Transaction, Withdrawal, Deposit, Transfer, Inquire

Σε αυτή την ενότητα θα δούμε τις κλάσεις του αντικειμενοστραφούς προγραμματισμού και τα διαγράμματα τους, τα οποία απεικονίζουν μια στατική δομή τους. Θα αναλύσουμε τις ιδιότητες αλλά και τις λειτουργίες των κλάσεων, όπως η ορατότητα, οι σχέσεις, οι συσχετίσεις, οι συναθροίσεις και οι συνθέσεις (με τα αντίστοιχα γραφικά τους στα διαγράμματα). Θα επιλέξουμε τις κατάλληλες κλάσεις για το διάγραμμα μας αποκαλώντας τες συνοριακές, ελέγχου και οντοτήτων. Παραθέτονται και δύο βοηθητικές ασκήσεις.

 

Λέξεις Κλειδιά:Διαγράμματα κλάσεων, Class Diagrams

Σε αυτή την ενότητα θα μάθουμε να μοντελοποιούμε μια αλληλεπίδραση του συστήματος και να σχεδιάζουμε διαγράμματα συνεργασίας. Πως να απεικονίζουμε περιπτώσεις χρήσης με αυτά καθώς και κριτήρια για τη συνδεσιμότητα και τις συνοριακές κλάσεις. Παραθέτονται και σχετικές ασκήσεις με την λύση τους.

 

Λέξεις Κλειδιά:Διαγράμματα συνεργασίας, μοντελοποίηση αλληλεπίδρασης, συνοριακές κλάσεις

Στην ενότητα αυτή, θα μάθουμε να υλοποιούμε τα διαγράμματα ακολουθίας, τα οποία δίνουν έμφαση στη χρονική ακολουθία των μηνυμάτων μεταξύ των αντικειμένων. Θα δούμε το συντακτικό και σύμβολα μετάδοσης των μηνυμάτων. Είδη ενεργειών όπως κλήσης, επιστροφής, δημιουργίας, διαγραφής και αποστολής. Μαθαίνουμε στην πράξη με αρκετά παραδείγματα.

 

Λέξεις Κλειδιά: Διαγράμματα αλληλεπίδρασης, συντήρηση αντικειμενοστρεφούς λογισμικού

Στην ενότητα αυτή, θα ασχοληθούμε με τα πρότυπα σχεδίασης και τις κατηγορίες στις οποίες τα οργανώνουμε. Θα δούμε αναλυτικά τα adapter, Bridge, Composite, Visitor, Abstract Factory και μια μέθοδο υπόδειγμα.

 

Λέξεις Κλειδιά:Πρότυπα σχεδίασης, κατηγορίες προτύπων σχεδίασης, γενικοί κανόνες προτύπων σχεδίασης

Στην ενότητα αυτή θα εξετάσουμε την μεθοδολογία ICONIX η οποία είναι απλούστερη και συντομότερη από την RUP, που εξετάσαμε νωρίτερα. Στη μεθοδολογία αυτή χρησιμοποιούμε μόνο 4 UML διαγράμματα. Ακολουθούμε τα βήματα του σχεδιασμού και της ανάλυσης απαιτήσεων και στη συνέχεια κάνουμε επισκόπηση του σχεδιασμού με πλήθος ελέγχων για την ποιότητα, το συντακτικό την σημασιολογία κ.ά.

 

Λέξεις Κλειδιά: Μεθοδολογία ICONIX, κρίσιμη επισκόπηση σχεδιασμού, έλεγχοι CDR

Στην ενότητα αυτή θα δούμε τους βασικούς τύπους των πληροφοριακών συστημάτων, επιχειρηματικές διεργασίες, επιχειρηματική μοντελοποίηση. Θα δούμε τρία επιχειρηματικά μοντέλα (επιχειρηματικού περιβάλλοντος, περιπτώσεων χρήσης, ανάλυσης).

 

Λέξεις Κλειδιά: Επιχειρηματικές διεργασίες, επιχειρηματική μοντελοποίηση, μοντέλο επιχειρηματικού περιβάλλοντος

Στην ενότητα αυτή, αφού ορίσουμε την μέτρηση στο λογισμικό θα δούμε τις μετρικές που χρησιμοποιούνται στην αντικειμενοστραφή σχεδίαση. Στη συνέχεια, εξετάζουμε αναλυτικά τις μετρικές πολυπλοκότητας: cyclomatic complexity, Weighted Method per Class 1-2, Response for class. Βλέπουμε ακόμα δύο μετρικές κληρονομικότητας: Depth of Inheritance Tree και Number of Child Classes. Δύο μετρικές μεγέθους, τέσσερις μετρικές σύζευξης και τρεις μετρικές συνοχής.

 

Λέξεις Κλειδιά: Java, συσχετίσεις, συνάθροιση, κόμβοι

Στην ενότητα αυτή, αφού ορίσουμε την μέτρηση στο λογισμικό θα δούμε τις μετρικές που χρησιμοποιούνται στην αντικειμενοστραφή σχεδίαση. Στη συνέχεια, εξετάζουμε αναλυτικά τις μετρικές πολυπλοκότητας: cyclomatic complexity, Weighted Method per Class 1-2, Response for class. Βλέπουμε ακόμα δύο μετρικές κληρονομικότητας: Depth of Inheritance Tree και Number of Child Classes. Δύο μετρικές μεγέθους, τέσσερις μετρικές σύζευξης και τρεις μετρικές συνοχής.

 

Λέξεις Κλειδιά:Μετρικές λογισμικού, μετρικές πολυπλοκότητας, μετρικές κληρονομικότητας, μετρικές σύζευξης

Στην ενότητα αυτή θα ολοκληρώσουμε την περιήγηση μας στον κόσμο της Αντικειμενοστρεφούς Ανάλυσης. Θα επανεξετάσουμε έννοιες που μάθαμε και θα δημιουργήσουμε διαγράμματα στα πλαίσια ασκήσεων-πρότυπα.

 

Λέξεις Κλειδιά: UML, RUP, περιπτώσεις χρήσης, διαγράμματα κλάσεων, διαγράμματα ακολουθίας, διαγράμματα συνεργασίας, ICONIX, επιχειρηματική μοντελοποίηση, μετρικές

Ανοικτό Ακαδ. Μάθημα

Ανοικτά Ακαδημαϊκά Μαθήματα
Επίπεδο: A-

Αρ. Επισκέψεων :  7482
Αρ. Προβολών :  37923