UML (Unified Modeling Language)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Advertisements

AΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Εισαγωγή στη UML.
Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
POINTERS, AGGREGATION, COMPOSITION. POINTERS TO OBJECTS.
Διαχείριση Έργου Οργάνωση, σχεδιασμός και προγραμματισμός έργων ανάπτυξης λογισμικού.
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Χαρακτηριστικά συνθετικής κίνησης 1 Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Εξελικτική πορεία της Διοίκησης Ολικής Ποιότητας (ΔΟΠ)
MySQL + Γλώσσα Προγραμματισμού
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 3: Υλοποίηση μεθόδων.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Μονάδα Διασφάλισης Ποιότητας του ΤΕΙ Σερρών
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
Σχεδίαση διδακτικών συστημάτων στον Ιστό Παγκόσμιας Εμβέλειας Βασική αρχή –“... Design is a complex human process, subjected to continuing change (which.
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
Ανακεφαλαίωση Προβλήματος Βιβλιοθήκης
Μεθοδολογίες Προγραμματισμού ΙΙ
ΑΠΕΙΚΟΝΙΣΗ ΕΝΝΟΙΩΝ 1. 2 Χρήστης Στόχος Ταμίας διενέργεια πώλησης διενέργεια ενοικίασης εισαγωγή ταμείου εξαγωγή ταμείου * 1 Μοντέλο Πεδίου Προβλήματος.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Μηχανική Οδηγούμενη από Μοντέλα Δρ Νικόλαος Σπανουδάκης ΕΕΔΙΠ ΙΙ Γενικό Τμήμα Πολυτεχνείου Κρήτης Χανιά, 6 Φλεβάρη /1/20151.
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Μοντελοποίηση συμπεριφοράς. Συμβάντα - Καταστάσεις - Μεταβάσεις Στην UML για παράσταση συμβάντων και καταστάσεων σε αντικείμενα. Συμβάν Πρόκληση λειτουργίας.
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος:
Συνδυαστικά Κυκλώματα
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
1 HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
Ανάπτυξη Πρωτοτύπου Λογισμικού
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
Ημέρα 1η.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών – Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1 Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού Προπτυχιακό.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Προγραμματισμός Η / Υ 6 η Διάλεξη.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ
Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Λογισμικού ATM loop Print_input_message (” Welcome - Please enter your card”) ; exit when Card_input ; end loop.
Παράδειγμα Εφαρμογής Σύστημα για Online Αγορές Αθανασόπουλος Γιώργος ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ.
Εφαρμογές Πληροφοριακών Συστημάτων
ANAΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Aντικειμενοστρεφής Ανάπτυξη Συστημάτων Εισαγωγή στη UML.
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο 1: Εισαγωγή.
1 Εργαστήριο MIS Use Cases. 2 ΆνθρωποιΔεδομένα Λογισμικό Υλικό Διαδικασίες.
Διαγράμματα Πακέτων (Package Diagrams)
ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
Διαγράμματα Κλάσεων Ανάλυση Συστημάτων 2007.
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ (SOFTWARE ENGINEERING) UML – διαγράμματα περιπτώσεων χρήσης, διαγράμματα κλάσεων, διαγράμματα ακολουθίας, διαγράμματα δραστηριότητας,
Ασκήσεις Κεφάλαιο 14.
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ
Software Engineering for Web Applications
Ασκήσεις Κεφάλαιο 11.
Βάσεις Δεδομένων Ι Επανάληψη
Σχεδιασμός Λογισμικού – ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ
ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ
Γιώργος Θάνος Παρασκευή 5 Δεκεμβρίου 2008
Σχεδιασμός Λογισμικού – ΠΛΗ24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΙΙ
Εισαγωγή στη VHDL 5/8/2018 Εισαγωγή στη VHDL.
Διδάσκων: Κων/νος Κώτης
Πρακτική Εφαρμογή.
Προχωρημένος Προγραμματισμός
ΕΙΣΑΓΩΓΗ ΣΤΗ UML ΕΙΣΑΓΩΓΗ ΣΤΗ UML.
Πληροφοριακά Συστήματα: Μοντελοποίηση με UML
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ Σύστημα για Online Αγορές
Μεταγράφημα παρουσίασης:

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

Τι είναι μοντέλο; Η απλοποίηση της πραγματικότητας Τα Μοντέλα: Βοηθούν στην απεικόνιση ενός συστήματος στην ιδανική του μορφή Συμβάλλουν στην σχεδίαση της επιθυμητής δομής και συμπεριφοράς Είναι οδηγοί ανάπτυξης ενός συστήματος Καταγράφουν τις σχεδιαστικές αποφάσεις

Γιατί μοντελοποιούμε; Να συλλάβουμε, αναπαραστήσουμε και επικοινωνήσουμε, την επιθυμητή συμπεριφορά Να διερευνήσουμε τις έννοιες του συστήματος πριν το υλοποιήσουμε Να δημιουργήσουμε ένα συστηματικό σχέδιο υλοποίησης – παράδοσης Τα πιο επιτυχημένα έργα λογισμικού βασίζονται αποδεδειγμένα στην μοντελοποίηση Για λιγότερη κωδικοποίηση

Τι είναι η UML Γλώσσα μοντελοποίησης για σχεδιασμό λογισμικού Διαθέτει λεξιλόγιο και κανόνες Δημιουργεί εννοιολογικές και φυσικές παραστάσεις ενός υπό ανάπτυξη συστήματος Παγκόσμια διαδεδομένη γλώσσα μοντελοποίησης λογισμικού Η γλώσσα επιτρέπει: Την απεικόνιση Δημιουργία Τεκμηρίωση Ορισμό προδιαγραφών

Τι δεν είναι η UML Γλώσσα ορισμού αλγορίθμων Διεργασία ή Μέθοδος ανάπτυξης Γλώσσα προγραμματισμού Εργαλείο CASE ΕΙΝΑΙ τυπική γλώσσα (formal)

Τι προάγει η UML; Κατανόηση Αφαίρεση Επικοινωνία γλώσσα μοντελοποίησης για προδιαγραφές του λογισμικού Η διεργασία μοντελοποίησης διευκολύνει την κατανόηση Αφαίρεση Επιτρέπει την παράσταση ενός συστήματος από διαφορετικά επίπεδα αφαίρεσης (Πακέτα, Συστατικά, Διάταξη συστήματος) Επικοινωνία Ο κώδικας συνήθως είναι πολύ λιτός για την ικανοποιητική περιγραφή ενός προβλήματος

Ιστορικά... Αναπτύχθηκε από τους Booch, Jacobson, Rumbaugh, από την «ενοποίηση» των μεθόδων τους: OOSE (Jackobson)  Περιπτώσεις χρήσης ΟΜΤ (Rumbaugh)  Ανάλυση Booch  Σημασιολογία, Αρχιτεκτονική Η εταιρεία Rational Software υπέβαλε αρχικά για έγκριση την UML 1.0 στην OMG (Object Management Group) Η OMG υιοθέτησε την UML • UML 2.0 τυποποίηση σήμερα

Πως χρησιμοποιείται; • Από διάφορες μεθοδολογίες: RUP (Rational Unified Process) Agile (eXtreme Programming) ICONIX Άτυπα • Η UML δεν αποτελεί κάποια διεργασία, αλλά ενσωματώνεται σε διεργασίες

UML Συμβολισμοί και διαγράμματα

UML έννοιες και συμβολισμοί Class Name Package Component Name Attributes (private) Operations (public) Respon- sibilities Analysis Entity Class Analysis Boundary Class Analysis Control Class Use case Actor Action Relationships Association Dependency or Flow Realization Generalization Composition Aggregation Textual content Note

UML Class Diagram Theatre Customer Reservation 1..* Performance SeatingCapacity: Integer Offering( Id: String): Bool Availability(): Dates[] 1 Customer Name: String Phone: String Add(name, phone) class Reservation 1 aggregation 1 holds * association aplace: Theatre 1..* generalization Performance Id: String Start: Date End: Date Times: Hours[] Seasonal One_Time Constraint {xor} Make( D: Date, T: Hours ) Period: Date[] Make( D: Date[], T: Hours[] ) 0..1 BuyTickets( N: Integer) Available(): Integer GetTimes(): Hours[] GetDates(): Date[] 0..1 Ticket 1 Show: String ShowDate: Date ShowTime: Hours Seat: Location 6..12 Instance attributes 1 multiplicities Class methods SetShow( Pid: String ) SetDate( D: Date) … 0 .. SeatCapacity

Use Case Diagram Box Office actor system Buy tickets Clerk * * system Buy tickets Clerk Buy subscription «include» * * relationships * * «include» Make charges Credit card service Kiosk * * Use case Survey sales Supervisor

Sequence Diagram Kiosk Box office Credit card service Request(count, performance) Show availability(seat-list) Select(seats) Demand payment(cost) Insert card(card number) Charge (card number, cost) authorized Print tickets(performance, seats) Eject card

Collaboration Diagram: Design Active object Kiosk 1:request(count, performance) 4:offer(seat-list) 5:buy(seats) 8:confirm(seats,cost) link messages 3: seat-list:=lock(count)  6: claim(seats)  7: unlock(seat-list)  Passive object ticketSeller db:PerformanceDB «local» db Transient link 2: db:=findDB(performance) multiobject Known dbs performanceGuide :PerformanceDB

StateChart Initial state Assign to subscription Timed out state lock Locked buy Available Sold unlock transition exchange Trigger event

Activity Diagram Pick Show activity Schedule Show fork Publicize Show Buy scripts and music Hire Artists Build Sets Design Lighting Make Costumes Sell tickets join Completion transition rehearse Dress rehearse Perform

Component Diagram actor «database» supplier purchase status interface * * actor «database» TicketDB supplier CreditCardCharges CreditCardAgency purchase status interface groupSales TicketSeller client ManageInterface subscriptionSales individualSales * * Supervisor ClerkInterface KioskInterface * * * * Clerk Customer

Deployment Diagram actor component dependency * * CreditCardAgency actor Manager component dependency communication association CreditCardCharges ManagerInterface TicketSeller «database» TicketDB TicketServer node Customer Clerk CustomerInterface ClerkInterface Kiosk SalesTerminal 1 *