A ΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
-
Upload
lael-harrison -
Category
Documents
-
view
21 -
download
3
description
Transcript of A ΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
AΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝAΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ
Εισαγωγή στη UML
Τι είναι ΑντικείμενοΤι είναι Αντικείμενο
Στον πραγματικό κόσμο (ποδήλατο, Στον πραγματικό κόσμο (ποδήλατο, σκύλος)σκύλος)
ΑντικείμενΑντικείμενοο λογισμικού: λογισμικού: Μοντελοποιεί, Μοντελοποιεί, αναπαριστά, αντιστοιχεί σε καποιο αναπαριστά, αντιστοιχεί σε καποιο αντικείμενο του πραγματικού κόσμουαντικείμενο του πραγματικού κόσμου
ΑΑντικείμενο ντικείμενο λογισμικού: λογισμικού: ομαδοποίηση ομαδοποίηση μεταβλητών μεταβλητών (στατικό μέρος) (στατικό μέρος) και και σχετιζομένων μεθόδωνσχετιζομένων μεθόδων (δυναμικό μέρος) (δυναμικό μέρος)
Τι είναι Αντικείμενο (συνέχεια)Τι είναι Αντικείμενο (συνέχεια)
Δημόσιο Μέρος(Public API)
Iδιωτικό Μέρος(Λεπτομέρειες Υλοποίησης)
Παράδειγμα Αντικειμένου: ΠΟΔΗΛΑΤΟΠαράδειγμα Αντικειμένου: ΠΟΔΗΛΑΤΟ
ΑλλαξεΑλλαξεΤαχύτηταΤαχύτητα
Φρέναρε
Ξεκίνα
ΛεπτομέρειεςΥλοποίησης των λειτουργιών
Αντικείμενο (συνέχεια)Αντικείμενο (συνέχεια)
Ολα τα αντικείμενα έχουν Ολα τα αντικείμενα έχουν χαρακτηριστικά καί βρίσκονται σε μιά κατάσταση. π.χ. χαρακτηριστικά καί βρίσκονται σε μιά κατάσταση. π.χ.
Σκυλί: όνομα, χρώμα, πεινασμένο, κλπ. Σκυλί: όνομα, χρώμα, πεινασμένο, κλπ. Ποδήλατο: 2 τροχοί, χρώμα, αριθμ.ταχυτήτων, παρούσα Ποδήλατο: 2 τροχοί, χρώμα, αριθμ.ταχυτήτων, παρούσα
ταχύτητα κλπταχύτητα κλπ
Συμπεριφορά, π.χ.Συμπεριφορά, π.χ. Σκυλί: γαβγίζει, τρέχει γιά να επιτεθεί κλπ.Σκυλί: γαβγίζει, τρέχει γιά να επιτεθεί κλπ. Ποδήλατο: φρενάρει, αυξάνει/ελαττώνει ταχύτητα, αλλάζει Ποδήλατο: φρενάρει, αυξάνει/ελαττώνει ταχύτητα, αλλάζει
ταχύτητα κλπταχύτητα κλπ
Αντικείμενο ΛογισμικούΑντικείμενο Λογισμικού
• Αντιστοιχούν σε αντικείμενα του Αντιστοιχούν σε αντικείμενα του πραγματικού κόσμου, δομές δεδομένων πραγματικού κόσμου, δομές δεδομένων (π.χ. λίστα, ουρά, κλπ.) ή σε μιά έννοια (π.χ. λίστα, ουρά, κλπ.) ή σε μιά έννοια ((event) event) ή σε κάτι πιό αφαιρετικόή σε κάτι πιό αφαιρετικό
• Εχουν επίσης χαρακτηριστικά καί Εχουν επίσης χαρακτηριστικά καί κατάσταση (που δηλώνονται με κατάσταση (που δηλώνονται με μεταβλητές) καθώς καί συμπεριφορά (που μεταβλητές) καθώς καί συμπεριφορά (που υλοποιείται με μεθόδους)υλοποιείται με μεθόδους)
Eγκλεισμός (Εncapsulation)Eγκλεισμός (Εncapsulation)
H H έέννοια του εγκλεισμού (encapsulation)ννοια του εγκλεισμού (encapsulation) ΠλεονΠλεονεκτήματαεκτήματα
Αρθρωτά (modular) προγράμματαΑρθρωτά (modular) προγράμματα: Ο πηγαίος : Ο πηγαίος κώδικας γιά ένα αντικείμενο μπορεί να γραφτεί κώδικας γιά ένα αντικείμενο μπορεί να γραφτεί καί να συντηρηθεί ανεξάρτητα από άλλα καί να συντηρηθεί ανεξάρτητα από άλλα αντικείμενααντικείμενα
Απόκρυψη πληροφορίας (ιδιωτικό Απόκρυψη πληροφορίας (ιδιωτικό μέρος/δημόσιο)μέρος/δημόσιο)
Επικοινωνία Μεταξύ ΑντικειμένωνΕπικοινωνία Μεταξύ Αντικειμένων
ΑλλαξεΑλλαξεΤαχύτηταΤαχύτητα
Φρέναρε
Ξεκίνα
Φρέναρε
ΠΟΔΗΛΑΤΟ
ΠΟΔΗΛΑΤΗΣ
ΜΗΝΥΜΑ
ΜυνήματαΜυνήματα
Τα αντικείμενα επικοινωνούν και αλληλεπιδρούν Τα αντικείμενα επικοινωνούν και αλληλεπιδρούν μεταξύ τους αποστέλλοντας μεταξύ τους αποστέλλοντας μηνύματαμηνύματα..
Επιπλέον πληροφορία που απαιτείται δίνεται ως Επιπλέον πληροφορία που απαιτείται δίνεται ως παράμετροιπαράμετροι των μηνυμάτων. των μηνυμάτων.
ΠλεονεκτήματαΠλεονεκτήματα Όλη η αλληλεπίδραση υποστηρίζεται με μεταβίβαση Όλη η αλληλεπίδραση υποστηρίζεται με μεταβίβαση
μηνυμάτων.μηνυμάτων. Τα αντικείμενα δε χρειάζεται να βρίσκονται στην ίδια Τα αντικείμενα δε χρειάζεται να βρίσκονται στην ίδια
διεργασία, ούτε καν στον ίδιο υπολογιστή.διεργασία, ούτε καν στον ίδιο υπολογιστή.
ΚΛΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝΚΛΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ
Μία κλάση είναι ένα σχέδιο ή πρότυπο που Μία κλάση είναι ένα σχέδιο ή πρότυπο που ορίζει τις κοινές μεταβλητές και μεθόδους ορίζει τις κοινές μεταβλητές και μεθόδους όλων των αντικειμένων που ανήκουν στο όλων των αντικειμένων που ανήκουν στο ίδιο είδος.ίδιο είδος.
Κάθε αντικείμενο είναι Κάθε αντικείμενο είναι στιγμιότυπο στιγμιότυπο μίας μίας κλάσης.κλάσης.
ΠΑΡΑΔΕΙΓΜΑ ΚΛΑΣΗΣ: ΠΟΔΗΛΑΤΟΠΑΡΑΔΕΙΓΜΑ ΚΛΑΣΗΣ: ΠΟΔΗΛΑΤΟ
ΑλλαξεΑλλαξεΤαχύτηταΤαχύτητα
Φρέναρε
Ξεκίνα
Δημόσιο Μέρος(Public API)
Iδιωτικό Μέρος(Λεπτομέρειες Υλοποίησης)
Στατικά Χαρακτηριστικά:Στατικά Χαρακτηριστικά:ΧΡΩΜΑΧΡΩΜΑΜΟΝΤΕΛΟΜΟΝΤΕΛΟ------------------Δυναμικά ΧαρακτηριστικάΣΔυναμικά ΧαρακτηριστικάΣΑΛΛΑΞΕ ΤΑΧΥΤΗΤΑ:ΑΛΛΑΞΕ ΤΑΧΥΤΗΤΑ:(Υλοποίηση)(Υλοποίηση)κλπκλπ
ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
ΠΟΔΗΛΑΤΟ
ΠΟΔΗΛΑΤΟ ΒΟΥΝΟΥ ΑΓΩΝΙΣΤΙΚΟ ΠΟΔΗΛΑΤΟ ΠΟΔΗΛΑΤΟ ΠΟΛΗΣ
ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
ΥποκλάσειςΥποκλάσεις (subclasses) και (subclasses) και υπερκλάσειςυπερκλάσεις (superclasses).(superclasses).
Κάθε υποκλάση κληρονομεί τη συμπεριφορά και Κάθε υποκλάση κληρονομεί τη συμπεριφορά και την κατάσταση της υπερκλάσης της.την κατάσταση της υπερκλάσης της.
Οι υποκλάσεις μπορούν να επανεγγράψουν Οι υποκλάσεις μπορούν να επανεγγράψουν κληροδοτούμενη συμπεριφορά και κατάσταση.κληροδοτούμενη συμπεριφορά και κατάσταση.
Ιεραρχία κλάσεωνΙεραρχία κλάσεων
ΠΛΕΟΝΕΚΤΗΜΑΤΑ ΚΛΗΡΟΝΟΚΙΚΟΤΗΤΑΣΠΛΕΟΝΕΚΤΗΜΑΤΑ ΚΛΗΡΟΝΟΚΙΚΟΤΗΤΑΣ
Οι υποκλάσεις προσφέρουν Οι υποκλάσεις προσφέρουν εξειδικευμένηεξειδικευμένη συμπεριφορά συμπεριφορά από τα κοινά στοιχεία που προσφέρει η υπερκλάση. από τα κοινά στοιχεία που προσφέρει η υπερκλάση. Επαναχρησιμοποίηση του κώδικα της υπερκλάσης.Επαναχρησιμοποίηση του κώδικα της υπερκλάσης.
Οι προγραμματιστές μπορούν να υλοποιήσουν Οι προγραμματιστές μπορούν να υλοποιήσουν υπερκλάσεις που λέγονται υπερκλάσεις που λέγονται αφηρημένες κλάσειςαφηρημένες κλάσεις (abstract (abstract classes)classes) και ορίζουν γενικευμένη συμπεριφορά. Οι και ορίζουν γενικευμένη συμπεριφορά. Οι αφηρημένες υπερκλάσεις ορίζουν και υλοποιούν εν μέρει αφηρημένες υπερκλάσεις ορίζουν και υλοποιούν εν μέρει τη συμπεριφορά. Κάθε προγραμματιστής συμπληρώνει τα τη συμπεριφορά. Κάθε προγραμματιστής συμπληρώνει τα χαρακτηριστικά που επιθυμεί.χαρακτηριστικά που επιθυμεί.
Τι είναι η UMLΤι είναι η UML
• H UML (Unified Modeling Language) H UML (Unified Modeling Language) είναι είναι μιά γλώσσα γιάμιά γλώσσα γιά• Κατάρτιση προδιαγραφών λογισμικού καί Κατάρτιση προδιαγραφών λογισμικού καί
δημιουργία καί τεκμηρίωση τμημάτων δημιουργία καί τεκμηρίωση τμημάτων λογισμικούλογισμικού
• Αναπαράσταση με οπτικό τρόπο (Αναπαράσταση με οπτικό τρόπο (visualization) visualization) τμημάτων λογισμικούτμημάτων λογισμικού
• Μοντελοποίηση εταιρικών καί άλλων Μοντελοποίηση εταιρικών καί άλλων συστημάτων που δεν αφορούν λογισμικούσυστημάτων που δεν αφορούν λογισμικού
KYKΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥKYKΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ
ΑνάλυσηΑνάλυση Εννοιολογικό μοντέλοΕννοιολογικό μοντέλο Απαιτήσεις συστήματοςΑπαιτήσεις συστήματος
ΣχεδιασμόςΣχεδιασμός Σχεδιασμός συστήματοςΣχεδιασμός συστήματος Λεπτομεριακός σχεδιασμόςΛεπτομεριακός σχεδιασμός
ΥλοποίησηΥλοποίηση ΚωδικοποίησηΚωδικοποίηση ΈλεγχοςΈλεγχος
Χρήση της Χρήση της UMLUML
ΠληροφοριακάΠληροφοριακάσυστήματασυστήματα
ΣυστήματαΣυστήματαπραγματικού χρόνουπραγματικού χρόνου
Κατανεμημένα Κατανεμημένα συστήματασυστήματα
Συστήματα Συστήματα επιχειρήσεωνεπιχειρήσεων
Τεχνολογικά Τεχνολογικά συστήματασυστήματα
UMLUML
ΣΤΟΧΟΙ ΤΗΣ UML ΣΤΟΧΟΙ ΤΗΣ UML
H μοντελοποίηση συστημάτων με βάση τις αρχές H μοντελοποίηση συστημάτων με βάση τις αρχές των αντικειμενοστραφών μοντέλωντων αντικειμενοστραφών μοντέλων
Συνταίριασμα σκέψεων και πρακτικής εφαρμογής Συνταίριασμα σκέψεων και πρακτικής εφαρμογής αυτώναυτών
Η δημιουργία μιας μοντελοποιημένης γλώσσας Η δημιουργία μιας μοντελοποιημένης γλώσσας που μπορεί να χρησιμοποιηθεί τόσο από τον που μπορεί να χρησιμοποιηθεί τόσο από τον άνθρωπο όσο κι από τις μηχανέςάνθρωπο όσο κι από τις μηχανές
Η έννοια της ΑφαίρεσηςΗ έννοια της Αφαίρεσης
Εστίαση σε κάποια επιλεγμένα στοιχεία καί Εστίαση σε κάποια επιλεγμένα στοιχεία καί αγνόηση υπόλοιπων λεπτομερειώναγνόηση υπόλοιπων λεπτομερειών
Τα μοντέλα μπορούν να εκφραστούν σε Τα μοντέλα μπορούν να εκφραστούν σε διαφορετικά επίπεδα πιστότητας καί διαφορετικά επίπεδα πιστότητας καί λεπτομέρειαςλεπτομέρειας
Σύνθετα τμήματα περιγράφονται καλύτερα Σύνθετα τμήματα περιγράφονται καλύτερα με μικρά σύνολα ανεξάρτητων όψεωνμε μικρά σύνολα ανεξάρτητων όψεων
ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΩΝ ΜΟΝΤΕΛΩΝΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΩΝ ΜΟΝΤΕΛΩΝ
ΑκρίβειαΑκρίβεια - περιγράφουν με σωστό τρόπο το σύστημα- περιγράφουν με σωστό τρόπο το σύστημα ΣυνέπειαΣυνέπεια - διαφορετικές όψεις χρησιμοποιούν - διαφορετικές όψεις χρησιμοποιούν
ομοιόμορφα αντικείμεναομοιόμορφα αντικείμενα Εύκολη επικοινωνίαΕύκολη επικοινωνία με άλλα διαγράμματα με άλλα διαγράμματα ΕυμετάβληταΕυμετάβλητα Κατανοητά Κατανοητά - τόσα απλά όσο το δυνατό ,αλλά όχι - τόσα απλά όσο το δυνατό ,αλλά όχι
απλουστευμένααπλουστευμένα
ΤΜΗΜΑΤΑ ΤΟΥ ΤΜΗΜΑΤΑ ΤΟΥ UMLUML
Διαγράμματα: είναι τα γραφικά είναι τα γραφικά που περιγράφουν τα περιεχόμεναπου περιγράφουν τα περιεχόμενα
μιας όψηςμιας όψης
Στοιχεία μοντέλουΣτοιχεία μοντέλου::Αυτά Αυτά περιλαμβάνουν τις κλάσεις ,ταπεριλαμβάνουν τις κλάσεις ,τααντικείμενα και τις σχέσεις τουςαντικείμενα και τις σχέσεις τους
OOψεις(ψεις(Views)Views) : :δείχνουνδείχνουναπόψεις του συστήματος που απόψεις του συστήματος που
μοντελοποιούνταιμοντελοποιούνται
Use-caseUse-caseViewView
ComponentComponentviewview
LogicalLogicalviewview
DeploymentDeploymentviewview
ConcurrencyConcurrencyViewView
ΕΙΔΗ ΤΩΝ ΟΨΕΩΝ ΤΟΥ ΕΙΔΗ ΤΩΝ ΟΨΕΩΝ ΤΟΥ UMLUML
Υπογραφή Υπογραφή ασφάλειαςασφάλειας
ΣτατιστικάΣτατιστικά στοιχεία στοιχεία πωλήσεωνπωλήσεων
Στατιστικά στοιχεία Στατιστικά στοιχεία πελατώνπελατώνΠελάτηςΠελάτης Πράκτορας ασφαλειών
USE-CASE DIAGRAMUSE-CASE DIAGRAM
Περιγράφει τη λειτουργικότητα του συστήματοςΠεριγράφει τη λειτουργικότητα του συστήματοςόπως αυτή γίνεται αντιληπτή από τον χρήστη όπως αυτή γίνεται αντιληπτή από τον χρήστη
ΔΙΑΓΡΑΜΜΑΤΑ ΚΛΑΣΕΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΚΛΑΣΕΩΝ (CLASS DIAGRAM)CLASS DIAGRAM)
ΚΑΤΟΧΟΣΚΑΤΟΧΟΣ
Όνομα Όνομα : : ΣυμβολοσειράΣυμβολοσειρά
ΑκέραιοςΑκέραιος
ΥΠΟΛΟΓΙΣΤΗΣΥΠΟΛΟΓΙΣΤΗΣ
όνομόνομαα
::ΣυμβολοσειράΣυμβολοσειρά
Μνήμη Μνήμη : : ΑκέραιοςΑκέραιος0..10..1 1..*1..*::χρησιμοποιείχρησιμοποιεί
ΗλικίαΗλικία::
Οι κλάσεις συσχετίζονται με διάφορους τρόπουςΟι κλάσεις συσχετίζονται με διάφορους τρόπους σύνδεσηςσύνδεσης εξάρτησηςεξάρτησηςειδίκευσης(μια τάξη είναι ειδική περίπτωση κάποιας άλληςειδίκευσης(μια τάξη είναι ειδική περίπτωση κάποιας άλληςομαδοποίησηςομαδοποίησης
Bob-ΚάτοχοςBob-Κάτοχος------------------------------------
όνομαόνομα: ”Bob.j”: ”Bob.j”ηλικία=32ηλικία=32
Bob’s job PCBob’s job PCComputerComputer
------------------------------------ΌνομαΌνομα: “Dell4”: “Dell4”
Μνήμη Μνήμη =64=64
Bob’s HomeBob’s HomePC ComputerPC Computer------------------------------------
ΌνομαΌνομα:”Pentium:”PentiumΜνήμη =32Μνήμη =32
ΔΙΑΓΡΑΜΜΑΤΑ ΑΝΤΙΚΕΙΜΕΝΩΝΔΙΑΓΡΑΜΜΑΤΑ ΑΝΤΙΚΕΙΜΕΝΩΝ
Δίνουν παράδειγμα εμφάνισης στιγμιότυπωνΔίνουν παράδειγμα εμφάνισης στιγμιότυπωντων κλάσεων και τις μεταξύ τους σχέσειςτων κλάσεων και τις μεταξύ τους σχέσεις
ΔΙΑΓΡΑΜΜΑ ΚΑΤΑΣΤΑΣΕΩΝΔΙΑΓΡΑΜΜΑ ΚΑΤΑΣΤΑΣΕΩΝState DiagramsState Diagrams
On first floorOn first floorMoving upMoving up
Moving downMoving down IdleIdle
Moving to 1st floorMoving to 1st floor
Go up (floor)Go up (floor)
arrivedarrived Go up (floor) Go up (floor)
arrivedarrived
Go down (floor)Go down (floor)
Time outTime out
arrivedarrived
:Computer:Computer :Prin:PrinterterServerServer :Printer:Printer :Queue:QueuePrint(file)Print(file)
Print(file)Print(file)[printer free][printer free]Print(file)Print(file)
[printer busy][printer busy]Store(file)Store(file)
ΔΙΑΓΡΑΜΜΑ AΛΛΗΛΟΔΙΑΔΟΧΗΣΔΙΑΓΡΑΜΜΑ AΛΛΗΛΟΔΙΑΔΟΧΗΣ((SEQUENCE DIAGRAM)SEQUENCE DIAGRAM)
:Computer
:PrinterServer:PrinterServer
:Queue
:Printer:Printer
1:1:Print(file)Print(file) [printer busy][printer busy]1.2: Store(file)1.2: Store(file)
[printer free][printer free]1.1: Print(file)1.1: Print(file)
COLLABORATION DIAGRAMCOLLABORATION DIAGRAM
Διαφορές των sequence diagrams και των collaboration diagramsΔιαφορές των sequence diagrams και των collaboration diagrams
Sequence diagramSequence diagram : : Δείχνει την ακολουθία Δείχνει την ακολουθία μηνυμάτων ανάμεσα στα αντικείμενα, με την μηνυμάτων ανάμεσα στα αντικείμενα, με την πάροδο του χρόνουπάροδο του χρόνου
Collaboration diagramCollaboration diagram: : Δίνει μεγαλύτερη έμφαση Δίνει μεγαλύτερη έμφαση στο περιεχόμενο και στις σχέσεις μεταξύ των στο περιεχόμενο και στις σχέσεις μεταξύ των αντικειμένωναντικειμένων
ΑΑCTIVITY DIAGRAMCTIVITY DIAGRAM Δίνει την ακολουθιακή ροή των δραστηριοτήτων Δίνει την ακολουθιακή ροή των δραστηριοτήτων Περιέχει προσδιορισμούς των μηνυμάτων που στέλνονταιΠεριέχει προσδιορισμούς των μηνυμάτων που στέλνονται
Εμφάνισε μύνημαΕμφάνισε μύνημα«Δίσκος γεμάτος»«Δίσκος γεμάτος»
Εμφάνισε μύνημαΕμφάνισε μύνημα«Εκτύπωση»«Εκτύπωση»στην οθόνηστην οθόνη
ΔημιουργησεΔημιουργησεpostscript postscript αρχείουαρχείου
ΜετακίνησεΜετακίνησεκουτιά μηνυμάτωνκουτιά μηνυμάτων
[ Δίσκος γεμάτος ][ Δίσκος γεμάτος ]
[ Ελεύθερος χώρος δίσκου ][ Ελεύθερος χώρος δίσκου ]
ΠαράθυροΠελάτη.Εκτύπωση ( )ΠαράθυροΠελάτη.Εκτύπωση ( )
^Εκτυπωτής.Εκτύπωση()^Εκτυπωτής.Εκτύπωση()
COMPONENT DIAGRAM(διαγρ.εξαρτημάτων)COMPONENT DIAGRAM(διαγρ.εξαρτημάτων)
Δείχνει τα συστατικά μέρη του κώδικα και την Δείχνει τα συστατικά μέρη του κώδικα και την φυσική τους δομήφυσική τους δομή
WindowHandler(wind.cpp)
CommHandler(comm.hnd)
MainClass(main.cpp)
WindowHandler(wind.obj)
Comm Handler (commhnd.obj)
MainClass(main.obj)
Graphiclib(graphic.dll)
ClientProgram(client.exe)
DEPLOYMENT DIAGRAM DEPLOYMENT DIAGRAM (Διάγραμμα ανάπτυξης)(Διάγραμμα ανάπτυξης)
Δείχνει τους υπολογιστές και τις συσκευέςΔείχνει τους υπολογιστές και τις συσκευές(κόμβους ) καθώς και τον τύπο των συνδέσεων(κόμβους ) καθώς και τον τύπο των συνδέσεωνΕκτελέσιμα αντικείμενα φανερώνουν ποιες Εκτελέσιμα αντικείμενα φανερώνουν ποιες
μονάδες λογισμικού εκτελούνται σε κάθε κόμβομονάδες λογισμικού εκτελούνται σε κάθε κόμβο
Client A:Client A:Compaq Pro PCCompaq Pro PC
ApplicationApplicationServer:Server:
Silicon GraphicsSilicon Graphics
«TCP/IP»
«TCP/IP»
«TCP
«TCP
IP /»
IP /»
DatabaseDatabaseSERVER:SERVER:VAXVAX
«Decnet»«Decnet»
Client B:Compaq Pro PC
ΕΙΔΗ ΕΙΔΗ UML UML ΔΙΑΓΡΑΜΜΑΤΩΝΔΙΑΓΡΑΜΜΑΤΩΝ
ΣτατικάΣτατικά
ΔυναμικάΔυναμικά
ΥλοποίησηςΥλοποίησης
Διαγράμματα αντικειμένωνΔιαγράμματα αντικειμένωνκαι κλάσεωνκαι κλάσεων
Kαταστάσεων, Ακολουθίας,Συνεργασίας,Kαταστάσεων, Ακολουθίας,Συνεργασίας,ΔραστηριοτήτωνΔραστηριοτήτων
Εξαρτημάτων,ανάπτυξηςΕξαρτημάτων,ανάπτυξηςΕσ
ωτε
ρικ
ή ό
ψη
Εσ
ωτε
ρικ
ή ό
ψη
Εξωτερική όψηΕξωτερική όψη Use case Use case διάγραμμαδιάγραμμα
ΕΙΔΗ ΕΙΔΗ UML UML ΔΙΑΓΡΑΜΜΑΤΩΝΔΙΑΓΡΑΜΜΑΤΩΝ
Στατική ΆποψηΣτατική Άποψη
Δυναμική ΆποψηΔυναμική Άποψη
Αποψη ΥλοποίησηςΑποψη Υλοποίησης
Διαγράμματα αντικειμένωνΔιαγράμματα αντικειμένωνκαι κλάσεωνκαι κλάσεων
Kαταστάσεων, Ακολουθίας,Συνεργασίας,Kαταστάσεων, Ακολουθίας,Συνεργασίας,ΔραστηριοτήτωνΔραστηριοτήτων
Εξαρτημάτων,ανάπτυξηςΕξαρτημάτων,ανάπτυξης
Λειτουργική ΆποψηΛειτουργική Άποψη Use case Use case διάγραμμαδιάγραμμα
ΟΡΙΣΜΕΝΑ ΚΟΙΝΑ ΣΤΟΙΧΕΙΑ ΜΟΝΤΕΛΟΥΟΡΙΣΜΕΝΑ ΚΟΙΝΑ ΣΤΟΙΧΕΙΑ ΜΟΝΤΕΛΟΥ
ΚατάστασηΚατάσταση
ΚόμβοςΚόμβος((node)node)
PackagePackage ComponentComponent
ΚλάσηΚλάση
ΓνωρίσματαΓνωρίσματα
ΛειτουργίεςΛειτουργίες
ΑντικείμενοΑντικείμενο
ΓνωρίσματαΓνωρίσματα
ΛειτουργίεςΛειτουργίες
Use CaseUse Caseinterfaceinterface
ΥποσημείωσηΥποσημείωση
Παραδείγματα συσχετίσεων μεταξύ κλάσεωνΠαραδείγματα συσχετίσεων μεταξύ κλάσεων
Εξάρτηση(dependency) Εξάρτηση(dependency) (ένα στοιχείο εξαρτάται με κάποιον τρόπο από κάποιο άλλο(ένα στοιχείο εξαρτάται με κάποιον τρόπο από κάποιο άλλο
Κληρονομικότητα ( ένα στοιχείο μπορεί να αποτελεί ειδική περίπτωση κάποιοΚληρονομικότητα ( ένα στοιχείο μπορεί να αποτελεί ειδική περίπτωση κάποιο
Σύνδεση (συνδέει στοιχεία και στιγμιότυπα συνδέσμωνΣύνδεση (συνδέει στοιχεία και στιγμιότυπα συνδέσμων))
Ομαδικότητα (ένα στοιχείο περιέχει άλλα στοιχείαΟμαδικότητα (ένα στοιχείο περιέχει άλλα στοιχεία))
ΕΠΕΚΤΕΙΝΟΝΤΑΣ ΤΗΝ UMLΕΠΕΚΤΕΙΝΟΝΤΑΣ ΤΗΝ UML
ΣτερεότυπαΣτερεότυπα : : ορίζει ένα νέο είδος στοιχείου μοντέλου ορίζει ένα νέο είδος στοιχείου μοντέλου βασισμένο ΄σ’ ένα υπάρχον στοιχείο μοντέλου.βασισμένο ΄σ’ ένα υπάρχον στοιχείο μοντέλου.Είναι Είναι λοιπόν σαν ένα υπάρχον στοιχείο μοντέλου , με κάποια λοιπόν σαν ένα υπάρχον στοιχείο μοντέλου , με κάποια επιπλέον στοιχεία επιπλέον στοιχεία
Tagged valuesTagged values : : Τα στοιχεία μπορούν να έχουν ιδιότητες Τα στοιχεία μπορούν να έχουν ιδιότητες που που περιέχουν ζευγάρια τιμών σχετικά με επιπλέον περιέχουν ζευγάρια τιμών σχετικά με επιπλέον πληροφορίεςπληροφορίες
ΠεριορισμοίΠεριορισμοί : : Θέτουν κάποια βάση που Θέτουν κάποια βάση που περιορίζει είτε την περιορίζει είτε την χρήσηχρήση του στοιχείου είτε την του στοιχείου είτε την σημασία τουσημασία του
ΣΤΕΡΕΟΤΥΠΑΣΤΕΡΕΟΤΥΠΑ
««ActorActor»»ΠελάτηςΠελάτης
ΠελάτηςΠελάτης
ΠελάτηςΠελάτης
Ο πελάτης είναι μια κλάση με το στερεότυπο «Ο πελάτης είναι μια κλάση με το στερεότυπο «ActorActor»»Το στερεότυπο Το στερεότυπο προσθέτει επιπλέον σημασιολογικές προσθέτει επιπλέον σημασιολογικές πληροφορίες σχετικά με την κλάσηπληροφορίες σχετικά με την κλάση.Εδώ η κλάση .Εδώ η κλάση εκπροσωπεί έναν εξωτερικό χρήστη του συστήματοςεκπροσωπεί έναν εξωτερικό χρήστη του συστήματος
Tagged values Tagged values και περιορισμοίκαι περιορισμοί
ΕργαλείοΕργαλείο{{abstract}abstract}
{{συγγραφ.=συγγραφ.=“Hee”}“Hee”}{κατάσταση=draft}{κατάσταση=draft}
Τιμή Τιμή : : ακέραιοςακέραιοςΗμ.λήξηςΗμ.λήξης: : ημερημερ..
O συγγραφέας και η κατάσταση O συγγραφέας και η κατάσταση είναι γνωρίσματα ορισμένα από είναι γνωρίσματα ορισμένα από τον χρήστητον χρήστη
Ομάδα ΗλικιωμένωνΟμάδα Ηλικιωμένωνπολιτώνπολιτών
ΆτομοΆτομο
{Ατομο.Ηλικία>60}{Ατομο.Ηλικία>60}
ΠεριορισμοίΠεριορισμοί
0..10..1
0..*0..*
ΦΑΣΗ ΑΝΑΛΥΣΗΣΦΑΣΗ ΑΝΑΛΥΣΗΣ
Εδώ αναλύονται οι Εδώ αναλύονται οι απαιτήσεις του συστήματοςαπαιτήσεις του συστήματος
ΦΑΣΗ ΣΧΕΔΙΑΣΗΣΦΑΣΗ ΣΧΕΔΙΑΣΗΣ
Eπεκτείνει το μοντέλο ανά-Eπεκτείνει το μοντέλο ανά-λυσης σε μια λειτουργικά λυσης σε μια λειτουργικά τεχνική λύσητεχνική λύση
ΦΑΣΗ ΥΛΟΠΟΙΗΣΗΣΦΑΣΗ ΥΛΟΠΟΙΗΣΗΣ
Το μοντέλο είναι τώρα ο κώ-Το μοντέλο είναι τώρα ο κώ-δικας του προγράμματος ,ο δικας του προγράμματος ,ο οποίος υλοποιεί το σύστημαοποίος υλοποιεί το σύστημα
ΦΑΣΗ ΠΡΑΓΜΑΤΩΣΗΣΦΑΣΗ ΠΡΑΓΜΑΤΩΣΗΣ
Εδώ εξηγείται πως το Εδώ εξηγείται πως το σύστημασύστημααναπτύσσεται σε φυσική αναπτύσσεται σε φυσική αρχιτεκτονικήαρχιτεκτονική
ΜΟΝΤΕΛΟΠΟΙΩΝΤΑΣ ΜΕ ΤΗΝ ΜΟΝΤΕΛΟΠΟΙΩΝΤΑΣ ΜΕ ΤΗΝ UMLUML
Φάση ανάλυσηςΦάση ανάλυσης
Φάση υλοποίησηςΦάση υλοποίησης
Φάση πραγμάτωσηςΦάση πραγμάτωσης
Φάση σχεδίασηςΦάση σχεδίασης
Use-case,class,activityUse-case,class,activity
Class,sequence,stateClass,sequence,stateactivity,componentactivity,component
Εδώ δημιουργούνταιΕδώ δημιουργούνταιελάχιστα διαγράμματαελάχιστα διαγράμματα
Deployment,sequenceDeployment,sequencecollaborationcollaboration
Αντιστοιχία διαγραμμάτων στις διάφορεςΑντιστοιχία διαγραμμάτων στις διάφορεςφάσεις ανάπτυξης ενός συστήματοςφάσεις ανάπτυξης ενός συστήματος
ΛΕΙΤΟΥΡΓΙΕΣ ΤΩΝ ΕΡΓΑΛΕΙΩΝ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ (Case Tools)ΛΕΙΤΟΥΡΓΙΕΣ ΤΩΝ ΕΡΓΑΛΕΙΩΝ ΜΟΝΤΕΛΟΠΟΙΗΣΗΣ (Case Tools)
Σχεδιασμός διαγραμμάτωνΣχεδιασμός διαγραμμάτων που εξασφαλίζουν την που εξασφαλίζουν την σωστή χρήστη των στοιχείων του μοντέλουσωστή χρήστη των στοιχείων του μοντέλου
Αποθήκευση δεδομένωνΑποθήκευση δεδομένων.Αν το όνομα μιας κλάσης .Αν το όνομα μιας κλάσης αλλάζει σ’ ένα διάγραμμα , η αλλαγή αυτή διαδίδεται και αλλάζει σ’ ένα διάγραμμα , η αλλαγή αυτή διαδίδεται και στα υπόλοιπαστα υπόλοιπα
Υποστήριξη διάδοσηςΥποστήριξη διάδοσης ενός στοιχείου από ένα διάγραμμα ενός στοιχείου από ένα διάγραμμα σε ένα άλλο κι επέκταση της περιγραφής του στοιχείουσε ένα άλλο κι επέκταση της περιγραφής του στοιχείου
Υποστήριξη πολλών χρηστώνΥποστήριξη πολλών χρηστών -δίνει την δυνατότητα να -δίνει την δυνατότητα να δουλεύουν πολλοί χρήστες ταυτόχροναδουλεύουν πολλοί χρήστες ταυτόχρονα
Δημιουργία κώδικαΔημιουργία κώδικα
ΆΛΛΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΩΝ CASE TOOLΆΛΛΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΩΝ CASE TOOL
ΑντίστροφηΑντίστροφη παραγωγήπαραγωγή , δηλαδή από τον κώδικα , δηλαδή από τον κώδικα μπορούμε να παράγουμε μοντέλαμπορούμε να παράγουμε μοντέλα
Συμβατότητα με άλλα εργαλείαΣυμβατότητα με άλλα εργαλεία όπως όπως editor, editor, μεταγλωττιστές κι άλλα επιχειρησιακά εργαλείαμεταγλωττιστές κι άλλα επιχειρησιακά εργαλεία
Κάλυψη όλων των επιπέδωνΚάλυψη όλων των επιπέδων , από το επίπεδο , από το επίπεδο περιγραφής του συστήματος στο επίπεδο κώδικαπεριγραφής του συστήματος στο επίπεδο κώδικα
Συναλλαγές ανάμεσα στα μοντέλαΣυναλλαγές ανάμεσα στα μοντέλα.Ένα μοντέλο από .Ένα μοντέλο από κάποιο διάγραμμα θα πρέπει να έχει τη δυνατότητα να κάποιο διάγραμμα θα πρέπει να έχει τη δυνατότητα να εισάγεται από το ένα εργαλείο στο άλλο εισάγεται από το ένα εργαλείο στο άλλο