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



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

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

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

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

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

Rational Unified Process:

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

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

UML: Unified modelling language

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

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

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

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

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

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Τα διαγράµµατα UML. ρ. Πάνος Φιτσιλής

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

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

Ανάλυση Πληροφοριακών Συστημάτων. «Εισαγωγή στην UML» Βασίλειος Καρακόιδας

Τα διαγράµµατα συστατικών

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

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

Εισαγωγή στη UML. Περιεχόμενα. Γενικά χαρακτηριστικά. Στοιχεία μοντέλων. Συσχετίσεις. Διαγράμματα. Παραδείγματα. Γλώσσες Προδιαγραφής 1

Εισαγωγή στη γλώσσα µοντελοποίησης UML

Εισαγωγή στη γλώσσα UML

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

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

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

Εισαγωγή στη γλώσσα µοντελοποίησης UML

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

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

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

Εισαγωγή στη γλώσσα µοντελοποίησης UML

Τα διαγράµµατα ακολουθίας

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

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

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

Τι είναι η UML. H UML (Unified Modeling Language) είναι µιά γλώσσα µοντελοποίησης γιά

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός

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

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

Οι περιπτώσεις χρήσης

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

Εισαγωγή στη UML ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ 1

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

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

Εισαγωγή στη γλώσσα µοντελοποίησης UML

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

Τα διαγράµµατα κλάσεων

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII

Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό

Tεχνολογία Λογισµικού II

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

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

Τα διαγράµµατα πακέτων

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

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

Τεχνολογία λογισμικού στην πράξη

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

Ανάλυση Πληροφοριακών Συστημάτων. «Διαγράμματα περιπτώσεων χρήσης» Βασίλειος Καρακόιδας

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

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

ΧΡΟΝΟΔΙΑΓΡΑΜΜΑ ΜΕΛΕΤΗΣ ΤΗΣ Θ.Ε. ΠΛΗ24

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)

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

Μέθοδοι μοντελοποίησης

Σχεδιασµός βασισµένος σε συνιστώσες

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

ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

Υποστηρικτικό υλικό Σημειώσεις

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

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

Μοτίβα Σχεδίασης (Design Patterns)

UML: Introduction and Overview

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

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

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Σχεδιασµός Λογισµικού

Τα διαγράµµατα καταστάσεων

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

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

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

Πληροφοριακό σύστημα για online βιβλιοθήκη

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

ΚΕΦΑΛΑΙΑ. 1. εξιότητες ιαχειριστή Έργων Σχεδιασµός και Αναφορά Έργου 10. Specialization) 3. Οµάδες Έργου (Project Teams) 15

GIS: Εισαγωγή στα Γεωγραφικά Συστήµατα Πληροφοριών

Περιεχόµενα. Πληροφοριακά Συστήµατα: Κατηγορίες και Κύκλος Ζωής. Π.Σ. ιαχείρισης Πράξεων. Π.Σ. ιοίκησης. Κατηγορίες Π.Σ. Ο κύκλος ζωής Π.Σ.

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

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

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας

Transcript:

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

Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2

Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης Οι τέσσερις βασικές αρχές της µοντελοποίησης Ηαντικειµενοστρεφής µοντελοποίηση 3

Πραγµατικότητα - Μοντέλο Ferrari Πραγµατικότητα Σπίτι Γιώργος ΣΗΜΑΣΙΟΛΟΓΙΚΟ ΧΑΣΜΑ Μοντέλο Σπίτι ζει οδηγεί Αυτοκίνητο Γιώργος 4

5 Λόγοι που µοντελοποιούµε Τα µοντέλα µας επιτρέπουν να οπτικοποιήσουµε τοσύστηµα που θέλουµε ναφτιάξουµε Τα µοντέλα µας επιτρέπουν να προσδιορίσουµε την δοµή και τη συµπεριφορά του συστήµατος Τα µοντέλα µας δίνουν πρότυπα που µας καθοδηγούν στην κατασκευή του συστήµατος Με τα µοντέλα τεκµηριώνουµε τις αποφάσεις που έχουµε λάβει

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

7 Αντικειµενοστρεφή µοντέλα Ανάλυση Σχεδιασµός Υλοποίηση Τι θέλουµε να φτιάξουµε Πως θα το φτιάξουµε Κώδικας Αντικειµενοστρεφής Ανάλυση Αντικειµενοστρεφής Σχεδιασµός Java, C#

Εισαγωγή στην UML -1 UML (Unified Modeling Language) Είναι το στάνταρτ De jure (Object Management Group OMG) De facto γιατί χρησιµοποιείται παγκοσµίως και από όλες τις εταιρείες πληροφορικής Είναι µια διαγραµµατική γλώσσα εν είναι µέθοδος εν είναι διαδικασία 8

Η ιστορία της UML Χρόνος Έτος Έκδοση 2003: UML 2.0 2001: UML 1.4 1999: UML 1.3 1997: UML 1.0, 1.1 1996: UML 0.9 & 0.91 1995: Unified Method 0.8 Άλλες µέθοδοι Booch 93 Grady Booch 91 OMT - 2 OMT 1 Objectory Ivar Jacobson James Rumbaugh 9

Εισαγωγή στην UML - 2 Η UML είναι µια γλώσσα για Οπτικοποίηση του συστήµατος(visualisation) ηµιουργία προδιαγραφών (specifications) Κατασκευή του συστήµατος (construction) Τεκµηρίωση του συστήµατος (documentation) 10

Που µπορεί να χρησιµοποιηθεί η UML Πληροφοριακά συστήµατα επιχειρήσεων Τραπεζικά και οικονοµικά συστήµατα Τηλεπικοινωνίες Internet Συστήµατα πραγµατικού χρόνου και κατανεµηµένα συστήµατα Ιατρικές εφαρµογές κ.λπ. 11

Βασικά δοµικά συστατικά της UML Τα βασικά δοµικά συστατικά της UML είναι: Στοιχεία (things) Σχέσεις ιαγράµµατα 12

Τα στοιχεία της γλώσσας Είναι τα στοιχεία µε ταοποία χτίζουµε ταµοντέλα Τα στοιχεία είναι 4 ειδών οµικά στοιχεία Στοιχεία συµπεριφοράς Στοιχεία οµαδοποίησης Στοιχεία σχολιασµού 13

14 οµικά στοιχεία Χρησιµοποιούνται για την κατασκευή των στατικών µοντέλων και είναι είτε λογικά (conceptual) είτε φυσικά Υπάρχουν 7 είδη δοµικών στοιχείων Κλάσεις (class) ιαπροσωπίες (interfaces) Συνεργασίες (collaborations) Περιπτώσεις χρήσης (use cases) Ενεργές κλάσεις (active classes) Συστατικά (components) Κόµβοι (nodes)

15 Στοιχεία συµπεριφοράς Τα στοιχειά συµπεριφοράς περιγράφουν την δυναµική συµπεριφορά του συστήµατος στον χρόνο ύο είναι τα στοιχεία συµπεριφοράς: Οι αλληλεπιδράσεις ένα σύνολο µηνυµάτων που ανταλλάσσεται µε σκοπό την επίτευξη µιας συµπεριφοράς Οι µηχανές καταστάσεων Περιγράφουν τις καταστάσεις ενός αντικείµένου Περιγράφουν τον κύκλο ζωής ενός αντικειµένου

Στοιχεία οµαδοποίησης και σχολιασµού Τα στοιχεία οµαδοποίησης χρησιµοποιούνται για την οργάνωση των UML µοντέλων σε λογικές ενότητες Πακέτα (packages) Τα στοιχεία σχολιασµού χρησιµοποιούνται για να επεξηγήσουν τα UML µοντέλα. 16

Βασικά δοµικά συστατικά της UML Στοιχεία (things) Σχέσεις ιαγράµµατα 17

Σχέσεις της UML Υπάρχουν τεσσάρων ειδών σχέσεις: Συσχέτισης (dependency) Σύνδεσης (association) Γενίκευσης (generalisation) Πραγµατοποίησης (realisation) 18

Βασικά δοµικά συστατικά της UML Στοιχεία (things) Σχέσεις ιαγράµµατα 19

20 ιαγράµµατα της UML ιάγραµµα Κλάσεων (Class Diagram) ιάγραµµα Αντικειµένων (Object Diagram) ιάγραµµα ΠεριπτώσεωνΧρήσης(Use Case Diagram) ιάγραµµα Ακολουθίας (Sequence Diagram) ιάγραµµα Επικοινωνίας (Communication Diagram) ιάγραµµα Καταστάσεων/Πρωτοκόλλου (State Machine Diagram/ Protocol State Machine Diagram) ιάγραµµα ραστηριοτήτων (Activity Diagram) ιάγραµµα ιάταξης (Deployment Diagram) ιάγραµµα Συστατικών(Component Diagram)

21 Ο κύκλος ανάπτυξης λογισµικού Η UML δεν περιέχει διαδικασία και είναι ανεξάρτητη Ενοποιηµένη προσέγγιση (Unified Process) Για να την εφαρµόσουµε πρέπει να ορίσουµε µια διαδικασία η οποία πρέπει Να βασίζεται σε περιπτώσεις χρήσης για να περιγράψουµε την συµπεριφορά του συστήµατος (use case driven) Να περιλαµβάνει µια αρχιτεκτονική για την περιγραφή και κατασκευή του συστήµατος (architecture based) Να είναι επαναλαµβανόµενη (iterative)

22 Αρχιτεκτονική Αρχιτεκτονική είναι το σύνολο των αποφάσεων σχετικά µε Τηνοργάνωσητουσυστήµατος Τηνεπιλογήτωνδοµικών στοιχείων και των διαπροσωπιών από τα οποία αποτελείται το σύστηµα Την συµπεριφορά των στοιχείων ώστε να επιτύχουν συνεργασίες Την σύνθεση των στοιχείων (δοµικών και συµπεριφοράς) σε υποσυστήµατα) Η αρχιτεκτονική ασχολείται επίσης µε θέµατα όπως Χρηστικότητα Απόδοση Αξιοπιστία κ.λπ.

23 Αρχιτεκτονική συστήµατος Λειτουργικότητα Σχεδιασµός Υλοποίηση Σύνθεση συστήµατος ιοίκηση σχηµατισµώ Περιπτώσεις Χρήσης ιαδικασία ιάταξη Απόδοση Αξιοπιστία Τοπολογία Παράδοση Εγκατάσταση

Φάσεις κύκλου ζωής Οι φάσεις του κύκλου ζωής είναι τέσσερις: Σύλληψη Επεξεργασία Κατασκευή Μετάβαση 24

Ο κύκλος ζωής λογισµικού ΕΡΓΑΣΙΕΣ ΦΑΣΕΙΣ Σύλληψη Επεξεργασία Κατασκευή Μετάβαση Μοντελοποίηση επιχειρηµατικών διαδικασιών Προδιαγραφές Ανάλυση και σχεδίαση Υλοποίηση Έλεγχος ιάταξη ιοίκηση Σχηµατισµών ιαχείριση Έργου Περιβάλλον 25

Τοπιοαπλόπαράδειγµα Ο µόνος τρόπος για να µάθεις µια γλώσσα είναι να αρχίσεις να την χρησιµοποιείς Brian Kernighan Dennis Ritchie Να φτιάξουµε το πρόγραµµα που τυπώνει hello world 26

Ο κώδικας java import java.awt.graphics; class HelloWorld extends java.applet.applet { public void paint (Graphics g) { g.drawstring("hello, World!", 10, 10); } } 27

Ο κώδικας java import java.awt.graphics; class HelloWorld extends java.applet.applet { public void paint (Graphics g) { g.drawstring("hello, World!", 10, 10); } } 28

Ο κώδικας java import java.awt.graphics; class HelloWorld extends java.applet.applet { public void paint (Graphics g) { g.drawstring("hello, World!", 10, 10); } } 29

Ο κώδικας java import java.awt.graphics; class HelloWorld extends java.applet.applet { public void paint (Graphics g) { g.drawstring("hello, World!", 10, 10); } } 30

31 ΗκλάσηHelloWorld Όνοµα κλάσης Μέθοδος

32 Σχέσεις κλάσης HelloWorld Σχέση Γενίκευσης Συσχέτιση

Ιεραρχία κλάσεων java 33

Ιεραρχία πακέτων 34

Τα συστατικά (components) 35

Τι είναι σηµαντικό... Είναι σηµαντικές Ικανότητα ανάλυσης Ικανότητα σχεδιασµού Γνώση Αντικειµενοστρεφούς ανάπτυξης συστηµάτων Ικανότητα ανάπτυξης κώδικα εν είναι σηµαντικό Απλή γνώση διαγραµµάτων UML 36

Παρουσιάσαµε Γιατί µοντελοποιούµε... Βασικές έννοιες UML Ένα απλό παράδειγµα Τι είναι σηµαντικό 37