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

Σχετικά έγγραφα
Τεχνολογία Λογισμικού

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

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

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

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

UML: Unified modelling language

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

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

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

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

02α Διαχείριση Έργων Λογισμικού

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

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

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

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

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

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

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

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

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

Rational Unified Process:

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

Αρχιτεκτονική Λογισμικού

05 Ανάλυση απαιτήσεων

11β Δομικά πρότυπα σχεδίασης

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

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

6. Εισαγωγή στη Ενοποιημένη Γλώσσα Μοντελοποίησης UML (Unified Modeling Language)

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

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Διαγράμματα Κλάσεων στη Σχεδίαση

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

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

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

10α Έλεγχος και επαλήθευση λογισμικού

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

Ειδικά θέματα τεχνολογίας λογισμικού

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

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

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

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

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

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

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

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

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

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

02 Αντικειμενοστρεφής Προγραμματισμός

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

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec06 (Εργαστήριο) 26/03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

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

Περιεχόμενα και Διάρθρωση. Interaction Diagrams

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

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

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

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

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

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

05β Η ιδεατή μηχανή της Java

ΤΛΟΠΟΙΗΗ STANDALONE ΕΦΑΡΜΟΓΗ ΚΡΑΣΗΕΩΝ ΔΩΜΑΣΙΩΝ ΞΕΝΟΔΟΧΕΙΟΤ ΜΕ C-SHARP ΚΑΙ SQL-SERVER

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8)

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

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

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

03 Τεχνική διαχείριση έργων λογισμικού

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

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

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

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

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

Μεθοδολογίες Παραγωγής Λογισµικού

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

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

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

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

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

Μοντελοποίηση Πεδίου

Ανάλυση Περιπτώσεων Χρήσης

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗ ΣΧΕΔΙΑΣΗ

Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής

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

05α Αρχιτεκτονικά πρότυπα λογισμικού

BPMN Abstraction Tool ΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ ΑΦΑΙΡΕΣΗΣ ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

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

Ανάλυση / Σχεδίαση και Υλοποίηση Εφαρμογής Υποβοήθησης Καθηγητών

Μοντελοποίηση ροών εργασίας

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Αρχές Τεχνολογίας Λογισμικού

Διάγραμμα Κλάσεων. Class Diagram

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

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

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Transcript:

08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr

Unified Modeling Language UML Γλώσσα μοντελοποίησης γενικής χρήσης που στοχεύει στην παροχή ενός καθιερωμένου τρόπου οπτικοποίησης και επικοινωνίας των σημαντικών χαρακτηριστικών ενός συστήματος λογισμικού. ISO standard 19501:2005 Τελευτία έκδοση 2.5 2015 2

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

Διαγράμματα της UML Το βασικό όχημα έκφρασης των χαρακτηριστικών του υπό μοντελοποίηση συστήματος Μοντελοποίηση τόσο στοιχείων συμπεριφοράς όσο και δομικών στοιχείων 4

5

Μοντελοποίηση συμπεριφοράς Διαγράμματα περιπτώσεων χρήσης Use case diagrams Διαγράμματα δραστηριότητας Activity diagrams Διαγράμματα μηχανών κατάστασης State machine diagrams Διαγράμματα ακολουθίας Sequence diagrams Διαγράμματα επικοινωνίας Communication diagrams Διαγράμματα χρονισμού Timing diagrams 6

Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams Διαγράμματα συστατικών Component diagrams Διαγράμματα πακέτων Package diagrams Διαγράμματα "παράταξης / εγκατάστασης" Deployment diagrams Διαγράμματα σύνθετης δομής Composite structure diagrams 7

Εργαλεία Διάφορα γραφικά εργαλεία ελεύθερα / δωρεάν ή μη : Visio ArgoUML Violet UML editor UMLet κ.ά Δοκιμάστε και επιλέξτε ένα που να ικανοποιεί όλα τα μέλη της ομάδας Προσωπική καθαρά προτίμηση: PlantUML text based δημιουργία UML διαγραμμάτων 8

Διαγράμματα δομής Τα διαγράμματα συμπεριφοράς θα τα κουβεντιάσουμε στην επόμενη διάλεξη 9

Διαγράμματα κλάσεων Class diagrams Διαγράμματα αποτύπωσης του σχεδιασμού των κλάσεων interface, class, abstract class, της δομής τους, των χαρακτηριστικών στοιχείων τους και των σχέσεων μεταξύ τους. Αντικειμενοστραφείς αρχιτεκτονικές object oriented. 10

Βασικά στοιχεία της UML Class / Abstract class / Interface / Stereotype Property attribute, field / Operation method Visibility / Multiplicity / Constraint Association / Aggregation / Composition / Usage Generalization 11

Παραδείγματα 12

13

Συγκεντρωτικά https://www.uml diagrams.org/class reference.html 14

Διαγράμματα συστατικών Component diagrams Διαγράμματα αποτύπωσης των συστατικών του λογισμικού σε ένα υψηλότερο επίπεδο αφαίρεσης, όπου η έμφαση δίνεται στις διεπαφές, αλληλεπιδράσεις και αλληλεξαρτήσεις μεταξύ των συστατικών. Αρχιτεκτονικές επικεντρωμένες στα συστατικά componentoriented. Συστατικό = κλάση ή σύνολο κλάσεων που υλοποιούν μια υψηλού αρχιτεκτονικά επιπέδου λειτουργία 15

Βασικά στοιχεία της UML Συστατικό Μπορεί να είναι μια "λογική" οντότητα π.χ. συστατικά επιχειρησιακής λογικής Μπορεί να είναι μια "φυσική" οντότητα κάποιου συγκεκριμένου framework π.χ. EJB, WSDL, κ.ο.κ 16

Επιπρόσθετα Τα συστατικά παρέχουν provide και απαιτούν require διεπαφές interfaces. Τα συστατικά διαθέτουν επιμέρους "μέρη" parts. Τα συστατικά διαθέτουν θύρες ports για την επικοινωνία με το περιβάλλον τους. Τα συστατικά διαθέτουν συνδέσεις connectors μεταξύ τους μέσω των θυρών ή των διεπαφών. 17

Παράδειγμα 18

Συγκεντρωτικά https://www.uml diagrams.org/component diagramsreference.html 19

Διαγράμματα πακέτων Package diagrams Αποτύπωση του λογισμικού σε επίπεδο πακέτων packages, η οποία στοχεύει κυρίως στην υψηλού αρχιτεκτονικά επιπέδου παρουσίαση των εξαρτήσεων dependencies. Πολυ επίπεδες αρχιτεκτονικές. 20

Βασικά στοιχεία της UML Πακέτα packages που χρησιμοποιούν private / public import, use άλλα πακέτα. Ένωση πακέτων package merge. 21

Παράδειγμα 22

Συγκεντρωτικά https://www.uml diagrams.org/package diagrams reference.html 23

Διαγράμματα "παράταξης / εγκατάστασης" Deployment diagrams Αποτύπωση της αρχιτεκτονικής του συστήματος μέσω της εγκατάστασης deployment των software artifacts σε συγκεκριμένες θέσεις deployment targets. Φυσική αρχιτεκτονική τι εγκαθίσταται που. 24

Βασικά στοιχεία της UML Software artifacts π.χ. αρχεία war, jar Manifestations π.χ. κάποιων components Deployment targets π.χ. εγκαθίστανται σε κάποιον application server 25

Παραδείγματα 26

27

Συγκεντρωτικά https://www.uml diagrams.org/deployment diagramsreference.html 28

Διαγράμματα σύνθετης δομής Composite structure diagrams Αποτύπωση μιας σύνθετης δομής, όπως είναι η εσωτερική δομή ενός συστατικού / πακέτου. Χρήσιμα όταν οι επιμέρους έννοιες/ρόλοι κλάσεις, συστατικά, πακέτα δεν είναι γνωστές ή δεν απαραίτητες για την κατανόηση μια σύνθετης δομής. 29

Παράδειγμα 30

Συγκεντρωτικά https://www.uml diagrams.org/composite structure diagramsreference.html 31

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

Θυμηθείτε Από τη διάλεξη 5 αρχιτεκτονικά πρότυπα 33

Πολλές αρχιτεκτονικές οπτικές 4+1 By mpan Based on File:4+1 Architectural View Model.jpg by User:Mdd, CC BY SA 3.0, https://commons.wikimedia.org/w/index.php? curid=50144028 34

Ειδικότερα Logical view: έμφαση στη λειτουργικότητα του συστήματος σε υψηλό επίπεδο Physical view: έμφαση στην τοπολογία και διασύνδεση των συστατικών του σε φυσικό επίπεδο deployment Development view: έμφαση στην οπτική του προγραμματιστή Process view: έμφαση στη δυναμική συμπεριφορά του συστήματος κατά την εκτέλεσή του απόδοση, κλιμάκωση, κτλ. Scenarios Use case view: έμφαση στη χρηστική πλευρά του συστήματος και στους σχετικούς ελέγχους αποδοχής 35

2ο Παραδοτέο Πληρέστερο αν παρουσιάζει τις 4 οπτικές ΔΕΝ είναι απαραίτητο να ασχοληθείτε με τo process view στο πλαίσιο της εργασίας. 36