ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (Πάτρας) ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ (Εργαστήριο) Δρ. Χρήστος Πιερρακέας

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (Πάτρας) ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ (Εργαστήριο) Δρ. Χρήστος Πιερρακέας"

Transcript

1 ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (Πάτρας) ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ (Εργαστήριο) Δρ. Χρήστος Πιερρακέας

2 ΤΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ (Εργαστήριο) Βασικές έννοιες αντικειμενοστρεφούς Τεχνολογίας. (αντικειμενοστρεφής ανάλυση και σχεδιασμός) Unified Modeling Language (UML). Τύποι διαγραμμάτων. Διαγράμματα κλάσεων. Σχέσεις κλάσεων. Διαγράμματα περιπτώσεων χρήσης. Σχέσεις. Διαγράμματα ακολουθίας. Διαγράμματα καταστάσεων. Διαγράμματα δραστηριοτήτων. 2

3 Πληροφοριακό Σύστημα Aktas (1987), Ahitur και Neumann (1990): «Ένα σύστημα το οποίο δέχεται πληροφορίες, τις αποθηκεύει, τις ανακτά, τις μετασχηματίζει, τις επεξεργάζεται και τις διανέμει στους διάφορους χρήστες του οργανισμού, χρησιμοποιώντας υπολογιστές ή άλλα μέσα». 3

4 Συνιστώσες Πληροφοριακού Συστήματος 1. Άνθρωποι 2. Διαδικασίες 3. Δεδομένα 4. Λογισμικό 5. Υλικός εξοπλισμός 4

5 1. Διερευνητική μελέτη 2. Μελέτη σκοπιμότητας 3. Ανάλυση απαιτήσεων 4. Σχεδιασμός συστήματος 5. Υλοποίηση 6. Εγκατάσταση 7. Λειτουργία-Συντήρηση Στάδια Κύκλου Ζωής ΠΣ Αυτά τα στάδια μαζί αναφέρονται συχνά ως: «συμβατική ανάλυση συστημάτων», ή «παραδοσιακή ανάλυση συστημάτων», ή «κύκλος ανάπτυξης και ζωής πληροφοριακών συστημάτων», ή μοντέλο καταρράκτη 5

6 Τεχνολογία Πληροφοριακών Συστημάτων Ο κλάδος της Πληροφορικής που ονομάζεται Τεχνολογία Πληροφοριακών συστημάτων / Λογισμικού αφορά στην εφαρμογή επιστημονικών αρχών για το μεθοδικό μετασχηματισμό ενός προβλήματος σε μια λειτουργούσα λύση πληροφοριακού συστήματος / λογισμικού και για τη μετέπειτα συντήρηση του για το διάστημα που αυτό είναι χρήσιμο. Φάση Ανάλυσης (Analysis), η οποία περιλαμβάνει την κατανόηση του προβλήματος (απαιτήσεων) και καταγραφή των προδιαγραφών του συστήματος Φάση Σχεδιασμού (Design), η οποία περιλαμβάνει το σχεδιασμό μιας λειτουργούσας λύσης Φάση Υλοποίησης (Implementation), η οποία περιλαμβάνει την ανάπτυξη του εκτελέσιμου κώδικα. Φάσεις ελέγχου και συντήρησης 6

7 Δομημένη Αντικειμενοστρεφής προσέγγιση της Τεχνολογίας Υπάρχουν δύο γενικές προσεγγίσεις: Η δομημένη προσέγγιση είναι βασισμένη σε δεδομένα και διαδικασίες που προκύπτουν από την αποσύνθεση του προβλήματος και τα οποία μελετώνται ανεξάρτητα και χρησιμοποιούνται για τη υλοποίηση της εφαρμογής λογισμικού. Η αντικειµενοστρεφής προσέγγιση (object oriented) βασίζεται στην ιδέα ότι στον πραγµατικό κόσµο δεδοµένα και διαδικασίες µπορούν να ιδωθούν ενιαία µε βάση το πεδίο ευθύνης κάποιων «αντικειµένων». Κάθε αντικείµενο παρέχει στο περιβάλλον του ένα σύνολο υπηρεσιών της ευθύνης του. Η συνεργασία του συνόλου των αντικειµένων του πεδίου µιας εφαρµογής λογισµικού παράγει το επιθυµητό αποτέλεσµα. 7

8 Η δομημένη προσέγγιση και οι Τεχνικές της (1/2) Οι πρώτες μεθοδολογίες περιελάμβαναν τεχνικές όπως: διαφόρων τύπων διαγράμματα ροής (π.χ. για να βοηθήσουν τον αναλυτή να κατανοήσει τη ροή των εγγράφων μέσα σε ένα τμήμα) διαγράμματα οργάνωσης (π.χ. για να αναπαραστήσουν την ιεραρχία των υπαλλήλων σε μια επιχείρηση) προδιαγραφές εγγράφων (παρέχουν τις λεπτομέρειες των εγγράφων που χρησιμοποιούνται στο σύστημα) διαγράμματα πλέγματος (περιγράφουν πως αλληλεπιδρούν τα επιμέρους υποσυστήματα) 8

9 Η δομημένη προσέγγιση και οι Τεχνικές της (2/2) Οι περισσότερες από τις παραπάνω τεχνικές έχουν αντικατασταθεί στις σύγχρονες μεθοδολογίες, οι οποίες συνήθως βασίζονται σε: Διαγράμματα Ροής Δεδομένων ροές δεδομένων από το περιβάλλον στο σύστημα, ροές δεδομένων από το σύστημα στο περιβάλλον, διαδικασίες που αλλάζουν τα δεδομένα στα πλαίσια του συστήματος αποθήκευση δεδομένων στο σύστημα, τα όρια και την εμβέλεια του συστήματος Διάγραμμα οντοτήτων συσχετίσεων Λεξικά δεδομένων και Διαγράμματα Δομής 9

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

11 Οφέλη Αντικειμενοστρεφούς Τεχνολογίας Η δομική μονάδα της αντικειμενοστρεφούς τεχνολογίας ενσωματώνει δεδομένα και διεργασίες. Ο δομική μονάδα της αντικειμενοστρεφούς τεχνολογίας κρύβει τις λεπτομέρειες της εσωτερικής δομής πίσω από μια δημόσια διεπαφή παρέχοντας τη δυνατότητα εύκολης συναρμολόγησης (modularity). Οι χρησιμοποιούμενες δομικές μονάδες είναι εύκολα μεταφέρσιμες από μια εφαρμογή σε μια άλλη (επαναχρησιμοποιησιμότητα (reusability)). Επεκτασιμότητα (extensibility): Νέο λογισμικό μπορεί να κατασκευασθεί εύκολα από ήδη υπάρχον. Συντήρηση (maintenance): Διευκολύνεται σημαντικά. Ελάττωση κόστους και χρόνου ανάπτυξης 11

12 Αντικείμενο Τα αντικείμενα είναι στοιχεία ή οντότητες που χρησιμοποιούνται για την αναπαράσταση του (πραγματικού) κόσμου που μας περιβάλλει (ποδήλατο, σκύλος). Αντικείμενο λογισμικού: Μοντελοποιεί, αναπαριστά, αντιστοιχεί σε κάποιο αντικείμενο του πραγματικού κόσμου. 12

13 Αντικείμενο λογισμικού Αντικείμενο λογισμικού: Μοντελοποιεί, αναπαριστά, αντιστοιχεί σε κάποιο αντικείμενο του πραγματικού κόσμου. Αντιστοιχούν επίσης σε άλλες έννοιες του πραγματικού κόσμου όπως δομές δεδομένων (π.χ. λίστα, ουρά, κλπ.) ήσε κάτι πιο αφαιρετικό. Έχουν χαρακτηριστικά και κατάσταση (που δηλώνονται με μεταβλητές) καθώς και συμπεριφορά (που υλοποιείται με μεθόδους). Ένα αντικείμενο μοντελοποιείται με ιδιότητες ή πεδία (attributes) και μεθόδους / λειτουργίες (methods / operations), που ανήκουν στο αντικείμενο. 13

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

15 Αντικείμενο λογισμικού Δημόσιο Μέρος (Public API) Ιδιωτικό Μέρος (Λεπτομέρειες Υλοποίησης) 15

16 Παράδειγμα αντικειμένου: ποδήλατο Άλλαξε Ταχύτητα Φρέναρε Ξεκίνα Λεπτομέρειες Υλοποίησης των λειτουργιών 16

17 Παράδειγμα αντικειμένου Για παράδειγμα, ένα αντικείμενο που παριστάνει έναν πελάτη μπορεί να μοντελοποιηθεί ως εξής: Όνομα αντικειμένου Ιδιότητες Μέθοδοι customer1 ID number = 4357 name = Tony Blair address = 10 Downing St credit limit = change address increase credit limit Ποιάς εφαρμογής αντικείμενο θα μπορούσε να είναι το παραπάνω; 17

18 Επικοινωνία Μεταξύ Αντικειμένων Τα αντικείμενα επικοινωνούν και αλληλεπιδρούν μεταξύ τους αποστέλλοντας μηνύματα. Επιπλέον πληροφορία που απαιτείται παρέχεται ως παράμετρος των μηνυμάτων. Πλεονεκτήματα Όλη η αλληλεπίδραση υποστηρίζεται με μεταβίβαση μηνυμάτων. Τα αντικείμενα δε χρειάζεται να βρίσκονται στην ίδια διεργασία, ούτε καν στον ίδιο υπολογιστή. 18

19 Επικοινωνία Μεταξύ Αντικειμένων ΠΟΔΗΛΑΤΗΣ ΠΟΔΗΛΑΤΟ Άλλαξε Ταχύτητα Φρέναρε Φρέναρε ΜΗΝΥΜΑ Ξεκίνα 19

20 Κλάση (Class) Μια συλλογή από παρόμοια αντικείμενα ονομάζεται κλάση (class). Όλα τα αντικείμενα μιας κλάσης έχουν τα ίδια χαρακτηριστικά και τις ίδιες μεθόδους, αλλά οι τιμές των χαρακτηριστικών (είναι δυνατό να) διαφέρουν. Μια κλάση είναι ένα εργοστάσιο (factory) που παράγει αντικείμενα. Ένα συγκεκριμένο αντικείμενο αποτελεί στιγμιότυπο (instance) μιας κλάσης. Ο μηχανισμός της κλάσης επιτρέπει τη δημιουργία νέων τύπων. Είναι ένα περίγραμμα / μια φόρμα (template) για τον προσδιορισμό των ιδιοτήτων και των μεθόδων ενός συνόλου από αντικείμενα. Η σχέση ενός αντικειμένου με μια κλάση είναι παρόμοια με τη σχέση μιας μεταβλητής με τον τύπο της μεταβλητής σε μια γλώσσα προγραμματισμού. 20

21 Κλάση (Class) Μια κλάση προσδιορίζει: - Το όνομα της κλάσης. - Το όνομα (και τον τύπο) κάθε ιδιότητας. - Το όνομα (και τις παραμέτρους) κάθε μεθόδου. Customer ID number : integer name : string address : string credit limit : integer change address (new_addrs : string) increase credit limit (new_lim : integer) 21

22 Βασικά Χαρακτηριστικά μιας Κλάσης Προσδιορίζει τη γενική μορφή ενός συνόλου αντικειμένων Διαφορετικά στιγμιότυπα (instances) τηςκλάσηςείναιδυνατό να κατασκευασθούν από το γενικό περίγραμμα. Οι μέθοδοι χαρακτηρίζουν την κλάση και αποτελούν τη διεπαφή (interface) ανάμεσα στην κλάση και στο υπόλοιπο σύστημα. Όνομα Ιδιότητες Μέθοδοι Επικοινωνία με το υπόλοιπο σύστημα 22

23 Προσδιορισμός Ιδιοτήτων Κάθε ιδιότητα έχει: Ένα όνομα. Έναν τύπο. Ο τύπος μπορεί να είναι: Απλός (π.χ. integer, char, real). Μια κάπως πολύπλοκη δομή δεδομένων (π.χ. πίνακας array). Μια άλλη κλάση. Στααρχικάστάδιατηςμοντελοποίησης... Αρκεί ο προσδιορισμός μόνο των βασικών ιδιοτήτων με το όνομά τους. Περισσότερες λεπτομέρειες μπορούν να προστεθούν σταδιακά κατά τη βελτίωση / εκλέπτυνση της σχεδίασης. 23

24 Λεπτομερής σύνταξη ιδιοτήτων Κλάσεων Person Λεπτομέρειες Ιδιοτήτων - first_name[1..3] : String - last_name : String - address : String - phone_no[0..*] : Integer - date_of_birth : Date - yr_of_birth : Integer = 0 change_address age 24

25 Προσδιορισμός Μεθόδων Μια μέθοδος προσδιορίζεται με τον καθορισμό της υπογραφής της (signature) ήτηςεπικεφαλίδας της (header), ηοποία αποτελείται από: Το όνομα της μεθόδου. Μια λίστα από παραμέτρους (που ίσως είναι κενή). Έναν τύπο επιστροφής (return type), αν απαιτείται. Η λίστα των παραμέτρων αποτελείται από τα ονόματα των παραμέτρων και τους τύπους τους. Στα αρχικά στάδια της μοντελοποίησης αρκεί ο προσδιορισμός μόνο των βασικών μεθόδων με το όνομά τους περισσότερες λεπτομέρειες μπορούν να προστεθούν σταδιακά κατά τη βελτίωση / εκλέπτυνση της σχεδίασης. Ο κώδικας των μεθόδων δεν χρειάζεται κατά τη μοντελοποίηση. 25

26 Λεπτομερής Σύνταξη Μεθόδων Person - first_name[1..3] : String - last_name : String - address : String - phone_no[0..*] : Integer - date_of_birth : Date - yr_of_birth : Integer = 0 Λεπτομέρειες Μεθόδων change_address (new:string) age (today:date) : Integer Ημέθοδοςchange_address δέχεται μία παράμετρο, new τύπου String και η μέθοδος age έχει έναν τύπο επιστροφής,integer. 26

27 Ενθυλάκωση ή Eγκλεισμός (Εncapsulation) Η κλάση υποκρύπτει λεπτομέρειες υλοποίησης. Ηιδιότητααυτήονομάζεταιενθυλάκωση ή εγκλεισμός (encapsulation). Είναι χωρίς αμφιβολία το πιο ισχυρό χαρακτηριστικό της αντικειμενοστρεφούς προσέγγισης. Ποιες είναι οι λεπτομέρειες οι οποίες υποκρύπτονται; Οι ιδιότητες. Ο κώδικας που υλοποιεί κάθε μέθοδο. Πλεονεκτήματα: Αρθρωτά (modular) προγράμματα: Ο πηγαίος κώδικας για ένα αντικείμενο μπορεί να γραφτεί και να συντηρηθεί ανεξάρτητα από άλλα αντικείμενα 27

28 Ενθυλάκωση ή Eγκλεισμός (Εncapsulation) Account balance : integer deposit( amount : integer ) withdraw( amount : integer) void withdraw (int amount) { if (amount<0) cout<< error ; else if (amount>balance) cout<< error ; else balance -= amount; } Κόκκινο (italic) = κρυφό Μαύρο = ορατό void deposit (int amount) { if (amount<0) cout<< error ; else balance += amount; } 28

29 Ορατότητα (Visibility) Η ενθυλάκωση μπορεί να εξεταστεί με βάση την ορατότητα που επιτρέπει στον εξωτερικό (της κλάσης) κόσμο. Η ορατότητα ελέγχεται χρησιμοποιώντας τις λέξεις κλειδιά: private (ιδιωτικό)(συμβολίζεται με -). public (δημόσιο)(συμβολίζεται με +). Οτιδήποτε δηλωθεί ως ιδιωτικό είναι ορατό μόνο στο εσωτερικό της κλάσης και όχι έξω από την κλάση. Οι ιδιότητες πρέπει να δηλώνονται πάντα ως ιδιωτικές. Επομένως, γιαναπροσδιοριστείητιμήτους, αλλά και για να αλλάξει από τον εξωτερικό (της κλάσης) κόσμο, πρέπει να παρέχονται ειδικές για το σκοπό αυτό μέθοδοι. 29

30 Εισαγωγή στη UML Τι είναι η UML;; H UML (Unified Modeling Language) είναι μια γλώσσα για: Κατάρτιση προδιαγραφών λογισμικού και τεκμηρίωση τμημάτων λογισμικού Αναπαράσταση με οπτικό τρόπο (visualization) τμημάτων λογισμικού Οργάνωση της διαδικασίας σχεδίασης Δημιουργία κοινής γλώσσας για πελάτες, προγραμματιστές, σχεδιαστές, αναλυτές, manager καιέχειωςστόχο: Τη μοντελοποίηση συστημάτων με βάση τις αρχές των αντικειμενοστραφών μοντέλων Τη δημιουργία μιας μοντελοποιημένης γλώσσας που μπορεί να χρησιμοποιηθεί τόσο από τον άνθρωπο όσο κι από τις μηχανές 30

31 Ιστορική εξέλιξη Η ευρεία εξάπλωση του αντικειμενοστραφούς προγραμματισμού κατά τη δεκαετία του '90, είχε ως αποτέλεσμα να αναπτυχθούν διάφορες πρότυπες γλώσσες μοντελοποίησης λογισμικού οι οποίες τυποποιούσαν οπτικά σύμβολα και συμπεριφορές με στόχο την αφαιρετική περιγραφή της λειτουργίας και της δομής ενός πληροφοριακού συστήματος. Οι γλώσσες αυτές είχαν εξαρχής έναν εμφανή αντικειμενοστρεφή προσανατολισμό. Οι πιο δημοφιλείς από αυτές ενοποιήθηκαν στο κοινό πρότυπο UML που η πρώτη του έκδοση οριστικοποιήθηκε το : Unified Method : UML 0.9 & : UML 1.0 & : UML : UML : UML

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

33 Διαγράμματα της UML Υπάρχουν 13 διαγράμματα χωρισμένα σε 3 βασικές κατηγορίες Structure diagrams (Στατικής δομής) Behavior diagrams (Συμπεριφοράς) Interaction diagrams (Αλληλεπίδρασης) Structure diagrams Διάγραμμα Κλάσεων (Class Diagram) Διάγραμμα Αντικειμένων (Object Diagram) Διάγραμμα Διάταξης (Deployment Diagram) Διάγραμμα Συστατικών (Component Diagram) Διαγράμματα Πακέτων Package Diagram Composite Structure Diagram 33

34 Διαγράμματα της UML Behavior diagrams Διάγραμμα Περιπτώσεων Χρήσης (Use CaseDiagram) Διάγραμμα Δραστηριοτήτων (Activity Diagram) Διάγραμμα Καταστάσεων/Πρωτοκόλλου (State Diagram/ Protocol State Diagram) Interaction diagrams Διάγραμμα Ακολουθίας (Sequence Diagram) Διάγραμμα Επικοινωνίας (Communication Diagram) Διάγραμμα Συγχρονισμού (Timing Diagram) Διάγραμμα Διαδραστικότητας (Interaction Overview Diagram) 34

35 Συστατικά Στοιχεία Ανάλυσης και Σχεδίασης Υπάρχουν πολλές διαφορετικές μέθοδοι για αντικειμενοστρεφή ανάλυση και σχεδίαση συστημάτων. Όλες οι μέθοδοι πρέπει να υποστηρίζουν τις πιο κάτω ενέργειες: Προσδιορισμός αντικειμένων. Προσδιορισμός κλάσεων (ταξινόμηση των αντικειμένων). Ορισμός της συμπεριφοράς των αντικειμένων (μέθοδοι). Αναπαράσταση της κατάστασης των αντικειμένων (ιδιότητες και γεγονότα που οδηγούν σε αλλαγή της κατάστασης). 35

36 Διαφορές Ανάλυσης και Σχεδίασης Η αντικειμενοστρεφής ανάλυση (OO analysis) επιδιώκει τη δημιουργία ενός μοντέλου του προβλήματος: Με τον προσδιορισμό / αναγνώριση των αντικειμένων, καθώς και των σχετικών κλάσεων. Τα αντικείμενα και οι κλάσεις προέρχονται από το πεδίο του προβλήματος. Η αντικειμενοστρεφής σχεδίαση (OO design) προσδιορίζει τον τρόπο με τον οποίο οι πιο πάνω αφηρημένες έννοιες: Είναι δυνατό να αναπαρασταθούν και να αλληλεπιδρούν μεταξύ τους σε επίπεδο λογισμικού. Είναι δυνατό να ενταχθούν σε ένα γενικότερο πλαίσιο που να μοντελοποιεί το υπό εξέταση σύστημα. Σε μικρού και μεσαίου μεγέθους έργα πολλές φορές γίνεται συνένωση τηςανάλυσηςκαιτηςσχεδίασης. 36

37 Αντιστοιχία Διαγραμμάτων στις Διάφορες Φάσεις Ανάπτυξης ενός Συστήματος Φάση ανάλυσης Διαγράμματα Περιπτώσεων Χρήσης, Κλάσεων, Δραστηριοτήτων Φάση σχεδίασης Διαγράμματα Κλάσεων, Ακολουθίας, Καταστάσεων, Δραστηριοτήτων, Συστατικών 37

38 Διαγράμματα της UML Εξωτερική όψη Διάγραμμα Περιπτώσεων Χρήσης Στατικά Διαγράμματα αντικειμένων και κλάσεων Εσωτερική όψη Δυναμικά Υλοποίησης Kαταστάσεων, Ακολουθίας, Συνεργασίας, Δραστηριοτήτων Διάγραμμα Διάταξης 38

39 Διάγραμμα Περίπτωσης Χρήσης (Use-Case Diagram) Περιγράφει τη λειτουργικότητα του συστήματος όπως αυτή γίνεται αντιληπτή από τον χρήστη Στοιχεία συμβολαίων Στατιστικά στοιχεία πωλήσεων Πελάτης Στατιστικά στοιχεία πελατών Πράκτορας ασφαλειών 39

40 Διαγράμματα Κλάσεων (Class Diagram) ΚΑΤΟΧΟΣ ΥΠΟΛΟΓΙΣΤΗΣ name : string age : integer : χρησιμοποιεί * Name : string memory : integer Οι κλάσεις συσχετίζονται με διάφορους τρόπους: σύνδεσης εξάρτησης ειδίκευσης ομαδοποίησης 40

41 Διαγράμματα Αντικειμένων Δείχνουν Συσχετίσεις μεταξύ Συγκεκριμένων στιγμιοτύπων Bob-Κάτοχος όνομα: Bob.j ηλικία=32 Bob s job PC Computer Όνομα: Dell4 Μνήμη =64 Bob s Home PC Computer Όνομα: Pentium Μνήμη =32 41

42 Διάγραμμα Καταστάσεων (State Diagram) Τα διαγράμματα κατάστασης περιγράφουν την εσωτερική κατάσταση ενός αντικειμένου On first floor Go up (floor) Moving up arrived Moving to 1st floor arrived Go up (floor) Moving down arrived Idle Go down (floor) Time out 42

43 Διάγραμμα Ακολουθίας (Sequence Diagram) Δείχνει την ακολουθία μηνυμάτων ανάμεσα στα αντικείμενα, με την πάροδο του χρόνου (προγραμματιστές) Print(file) :Computer :PrinterServer :Printer :Queue Print(file) [printer free] Print(file) [printer busy] Store(file) 43

44 Διάγραμμα Συνεργασίας (Collaboration Diagram) Δίνει μεγαλύτερη έμφαση στο περιεχόμενο και στις σχέσεις μεταξύ των αντικειμένων (πελάτες) :Computer :Queue 1:Print(file) [printer busy] 1.2: Store(file) :PrinterServer [printer free] 1.1: Print(file) :Printer 44

45 Διάγραμμα Δραστηριοτήτων (Activity Diagram) Δίνει την ακολουθιακή ροή των δραστηριοτήτων Χρησιμοποιούνται για την περιγραφή ροών εργασιών. Περιέχει προσδιορισμούς των μηνυμάτων που στέλνονται ΠαράθυροΠελάτη.Εκτύπωση ( ) [ Δίσκος γεμάτος ] Εμφάνισε μήνυμα «Δίσκος γεμάτος» [ Ελεύθερος χώρος δίσκου ] Εμφάνισε μήνυμα «Εκτύπωση» στην οθόνη Μετακίνησε κουτιά μηνυμάτων Εκτυπωτής.Εκτύπωση() Δημιούργησε postscript αρχείου 45

46 Εισαγωγή στο Visual Paradigm for UML

47 Εισαγωγή στο Visual Paradigm for UML

48 Διάγραμμα Κλάσεων Το διάγραμμα κλάσεων (class diagram) είναι ένα διάγραμμα που χρησιμοποιείται για την απεικόνιση κλάσεων και των μεταξύ τους σχέσεων. Αποτελεί ένα από τα κυριότερα παραδοτέα της αντικειμενοστρεφούς ανάλυσης και σχεδίασης (OOA&D). Κατά τη μετάβαση από τη φάση ανάλυσης στη φάση σχεδίασης γίνεται προσθήκη περισσότερων λεπτομερειών στο διάγραμμα κλάσεων. Αρχικά (κατά τη φάση της ανάλυσης) γίνεται μοντελοποίηση του προβλήματος και όχι της λύσης. 48

49 Ονομασία Κλάσης Πρέπει να γίνεται πάντα χρήση ουσιαστικού (ήφράσηςπου περιέχει ουσιαστικό) η χρήση ρήματος είναι ένδειξη ότι έχει γίνει κάποιο λάθος: Print λάθος, αλλά Report σωστό. Withdraw λάθος, αλλά Withdrawal ή Withdraw Transaction σωστό. Πρέπει πάντα να γίνεται χρήση του ουσιαστικού σε ενικό αριθμό: Messages λάθος, Message σωστό. 49

50 Συσχετίσεις (κανονικές normal) Συσχετίσεις (associations) είναι δυνατό να υπάρχουν ανάμεσα σε κλάσεις. Μπορούν να οριστούν ως μια εννοιολογική σύνδεση ή σχέση ανάμεσα σε δύο ή περισσότερες κλάσεις. Παράδειγμα: Employer employs employed by Employee Η συσχέτιση ανάμεσα στην κλάση Εργοδότης (Employer) και στην κλάση Υπάλληλος (Employee) είναι ότι ο Εργοδότης προσλαμβάνει ( employs ) τον Υπάλληλο ή εναλλακτικά ότι ο Υπάλληλος έχει προσληφθεί από ( employed by ) τον Εργοδότη. 50

51 Πολλαπλότητα Η πολλαπλότητα (multiplicity) μιας συσχέτισης προσδιορίζει αν είναι 1 προς 1, 1 προς πολλά, κ.λπ.: Ένα και μόνο ένα 1 Κανένα ή ένα 0..1 Μηδέν ή οποιοσδήποτε αριθμός 0..* Οποιοσδήποτε αριθμός * Ένα ή περισσότερα 1..* Από ένα έως εννιά 1..9 Μη συνεχόμενες σειρές τιμών 3..5,8, Η πολλαπλότητα μπορεί επίσης να απεικονισθεί (σε αγκύλες) στις ιδιότητες, π.χ. middle_name[0..2] ή order_line[*]. 51

52 Συναρμολόγηση (aggregation) Η συναρμολόγηση (aggregation) είναι μια ιδιαίτερη περίπτωση συσχέτισης. Απεικονίζει τη σχέση: Αποτελείται-από ( consists-of ). Περιέχει ( contains ). Έχει ( has ). Είναι-ένα-άθροισμα-από ( is-an-aggregation-of ). Παραδείγματα: Αυτοκίνητο μηχανή, κιβώτιο ταχυτήτων, ρόδες. Η/Υ οθόνη, ποντίκι, κυρίως-κουτί, πληκτρολόγιο. 52

53 Απεικόνιση Συναρμολόγησης Για την απεικόνισή της χρησιμοποιείται το σύμβολο του διαμαντιού (ρόμβου). Το διαμάντι είναι προσαρτημένο στην κλάση που απεικονίζει την οντότητα που είναι το αποτέλεσμα της συναρμολόγησης (aggregating entity) (σύνθετη κλάση). car engine body windscreen Μεταβατικότητα: Αν τα αντικείμενα της κλάσης C είναι part-of των αντικειμένων της κλάσης B και η B είναι part-of ΑΤΟΤΕηC είναι part-of Α. Αντι-συμμετρικότητα: Αν η Β είναι part-of ΑΤΟΤΕηΑδεν είναι part-of B 53

54 Σύνθεση (composition) Οόροςσυναρμολόγηση (aggregation) χρησιμοποιείται όταν οι επιμέρους απλούστερες (συνιστώσες) κλάσεις έχουν διάρκεια ζωής ανεξάρτητη από αυτή της σύνθετης κλάσης. Π.χ. Μια μηχανή αυτοκινήτου είναι δυνατό να υπάρξει και έξω από ένα αυτοκίνητο. Αν οι επιμέρους απλούστερες κλάσεις έχουν διάρκεια ζωής που συμπίπτει με αυτή της σύνθετης κλάσης, τότε χρησιμοποιείται ο όρος σύνθεση (composition). Π.χ. Οι συνιστώσες που αποτελούν ένα αντικείμενο που παριστάνει ένα παράθυρο (Window) έχουν διάρκεια ζωής που συμπίπτει με αυτή του παραθύρου. Ησύνθεση(composition) συνήθως σημαίνει is made up of «είναι φτιαγμένο από». 54

55 Απεικόνιση Σύνθεσης Για το διαγραμματικό διαχωρισμό συναρμολόγησης και σύνθεσης χρησιμοποιείται το σύμβολο του διαμαντιού (ρόμβου) γεμάτο (filled) για την απεικόνιση της σύνθεσης. window scrollbar panel 55

56 Κληρονομικότητα (inheritance) Η κληρονομικότητα (inheritance) είναι μια (σημαντική) ιδιαίτερη μορφή συσχέτισης, η οποία απεικονίζει και εκφράζει τη σχέση: είναι-ένα-είδος ( is-a-kind-of, AKO ). Παραδείγματα Οσκύλος, η γάτα, η φάλαινα είναι ένα είδος Θηλαστικού. Ένα διθέσιο αυτοκίνητο, ένα φορτηγάκι είναι είδη Αυτοκινήτου. Αντιπαράδειγμα: Οποιαδήποτε συναρμολόγηση (τμήματα ενός όλου), π.χ. Αυτοκίνητο μηχανή, κιβώτιο ταχυτήτων, ρόδες. Η κληρονομικότητα (inheritance) επιτρέπει: Ειδίκευση (specialisation): Επέκταση της λειτουργικότητας μιας υπάρχουσας κλάσης. Γενίκευση (generalisation): Μοίρασμα κοινών στοιχείων ανάμεσα σε 2 ή περισσότερες κλάσεις. Είναι ένας από τους βασικούς μηχανισμούς για την επαναχρησιμοποίηση του κώδικα (code reuse). 56

57 Απεικόνιση Κληρονομικότητας & Βασική Ορολογία Απεικονίζεται με ένα (κλειστό) βέλος τριγωνικής μορφής. Χρησιμοποιούνται οι ακόλουθοι όροι (Γενίκευση Ειδίκευση (Generalization-Specialization)): Κλάση βάσης (base class) και παραγόμενη κλάση (derived class). Υπερκλάση (super class) και pet υποκλάση (sub class). Πατρική κλάση (parent class) και cat dog κλάση παιδί (child class). Το τριγωνικό βέλος που χρησιμοποιείται για την απεικόνιση της κληρονομικότητας δείχνει προς την υπερκλάση. 57

58 Τι Κληρονομείται; Σεμιαιεραρχίακληρονομικότητας, όλες οι ιδιότητες και οι μέθοδοι κληρονομούνται από μια υπερκλάση σε όλες τις υποκλάσεις της. Στο διάγραμμα κλάσεων, προσδιορίζονται μόνο οι νέες ιδιότητες και οι νέες μέθοδοι που έχουν προστεθεί σε αυτές που κληρονομούνται. Συνήθως οι ιδιότητες προσδιορίζονται ως ιδιωτικές (private) για λόγους που επιβάλλει η ενθυλάκωση. Έτσι, οι ιδιότητες είναι ορατές στο εσωτερικό της κλάσης και όχι έξω από αυτή. 58

59 Προστατευμένες Ιδιότητες Στα πλαίσια μιας ιεραρχίας κληρονομικότητας απαιτείται ασθενέστερος περιορισμός της ορατότητας. Γιατολόγοαυτόοιιδιότητεςπροσδιορίζονταιως προστατευόμενες (protected), δηλαδή ως ορατές στο εσωτερικό της κλάσης και σε όλες τις υποκλάσεις της. Το σύμβολο # δηλώνει ότι η συγκεκριμένη ιδιότητα είναι προστατευόμενη. 59

60 Δημιουργία Διαγράμματος Κλάσεων Προσδιορισμός Αντικειμένων / Κλάσεων Οποιαδήποτε οντότητα του πραγματικού κόσμου μπορεί να παρασταθεί ως αντικείμενο. Οτιδήποτε μπορεί να εκφραστεί με χρήση ουσιαστικού μπορεί να είναι αντικείμενο. Ένα αντικείμενο μπορεί να είναι: Κάτι χειροπιαστό, π.χ. ένα αυτοκίνητο. Μια διεργασία, π.χ. ο έλεγχος μιας μηχανής (engine test). Μια σχέση, π.χ. ένα συμβόλαιο. Μια θεωρητική έννοια, π.χ. οι μιγαδικοί αριθμοί. 60

61 Ανάλυση Κειμένου (1) Απαιτείται τουλάχιστον μια αρχική περιγραφή του προβλήματος: Σε μια μόνο παράγραφο. Ως αποτέλεσμα συνεντεύξεων. Προερχόμενη από κάποιον ειδικό του πεδίου προβλήματος. Τα ουσιαστικά συνήθως αντιστοιχούν σε αντικείμενα και ιδιότητες: Στο κείμενο που προσδιορίζει τις απαιτήσεις και περιγράφει το σύστημα εντοπίζονται οι φράσεις που περιέχουν ουσιαστικά: Κάποιες θα είναι ξεκάθαρο ότι αντιστοιχούν σε κλάσεις. Κάποιες θα είναι ξεκάθαρο ότι δεν αντιστοιχούν σε τίποτα. Κάποιες θα αναφέρονται σε ιδιότητες. 61

62 Ανάλυση Κειμένου (2) Τα ρήματα αντιστοιχούν σε συσχετίσεις ή σε μεθόδους. Αν περισσότερες από μία λέξεις ταιριάζουν σε μια έννοια θα πρέπει να επιλεγεί αυτή που έχει πιο πολύ νόημα. Problem Statement (Problem description) Verbs Nouns Associations Operations Objects Attributes 62

63 Σχεδίαση Διαγράμματος Κλάσεων (Visual Paradigm) Κλάση Γενίκευση Συσχέτιση Συναρμολόγηση Σύνθεση Όνομα κλάσης / Ιδιότητες Μέθοδοι Σχέσεις / Πολλαπλότητα 63

64 Χειριστές και Περιπτώσεις Χρήσεις Για την ανάλυση των (λειτουργικών) απαιτήσεων στα πλαίσια μιας αντικειμενοστρεφούς μεθοδολογίας χρησιμοποιούνται περιπτώσεις χρήσης (use cases). Ως βάση χρησιμοποιούνται σενάρια χρήσης που παρέχονται από χειριστές (actors) σε ένα πολύ αρχικό στάδιο της ανάλυσης και περιγράφουν τί προορίζεται το σύστημα να κάνει. Ένας χειριστής παριστάνει μια οντότητα εξωτερική του συστήματος που αλληλεπιδρά με αυτό. Είναι μια ιστορία χρήσης του συστήματος σε απάντηση εξωτερικού γεγονότος. Παραδείγματα: «Δήλωση μαθημάτων», «Δημιουργία Παραγγελίας». 64

65 Χειριστές (actors) Κάθε διαφορετική κατηγορία χρηστών αναπαρίσταται µεένα χειριστή (actor). Επιπλέον κάθε εξωτερικό σύστηµαπου αλληλεπιδρά µε το υπό ανάπτυξη σύστηµα αναπαρίσταται µε ένα χειριστή. Η αναζήτηση και ο καθορισμός των σωστών χειριστών είναι πολύ σημαντική εργασία στην ανάλυση. Βασικές έννοιες Πελάτες (customers): Οοργανισµός που χρηµατοδοτεί την ανάπτυξη του συστήµατος. Χρήστες (users): Οι εργαζόµενοι του οργανισµού για τον οποίο φτιάχνεται το σύστηµακαιοιπελάτες(clients) του οργανισµού που χρηµατοδοτεί την ανάπτυξη του συστήµατος (οι πελάτες του πελάτη). Χειριστές (actors): Είναιοιχρήστεςτουσυστήµατος καθώς και τα εξωτερικά συστήµατα µε τα οποία αλληλεπιδρά το σύστηµα. Είναι αυτοί που περιγράφονται στο µοντέλο των περιπτώσεων χρήσης του συστήµατος. Στις περισσότερες περιπτώσεις οι χειριστές είναι οι άνθρωποι που αλληλεπιδρούν µετοσύστηµα, δηλαδή οι χρήστες. 65

66 Περιπτώσεις Χρήσεις (Use cases) Το µοντέλο των περιπτώσεων χρήσης περιγράφει το πώς συµπεριφέρεται το σύστηµα για κάθε τύπο χειριστή. Οι περιπτώσεις χρήσης προκύπτουν από τις (λειτουργικές) απαιτήσεις του υπό ανάπτυξη συστήματος. Όταν το μοντέλο των περιπτώσεων χρήσης καθοριστεί για κάθε περίπτωση χρήσης γίνεται η (τεκμηρίωση) προδιαγραφή της (το πιο σημαντικό). Η καταγραφή της Βασικής Ροής γίνεται με την καταγραφή των διαδοχικών ενεργειών του χρήστη και τις διαδοχικές αποκρίσεις του συστήματος. Το στερεότυπο που χρησιμοποιείται για την αναπαράσταση στη UML μιας περίπτωσης χρήσης είναι: 66

67 Περιπτώσεις Χρήσεις (Use cases) Προδιαγραφή περίπτωσης χρήσης (το πιο σημαντικό). 1. Τίτλος περίπτωσης χρήσης 2. Σύντομη περιγραφή 3. Ροή γεγονότων 3.1. Βασική ροή 3.2. Εναλλακτικές ροές Εναλλακτική ροή Εναλλακτική ροή 2 4. Μη λειτουργικές απαιτήσεις 5. Προϋποθέσεις (pre-conditions) 6. Μετασυνθήκες (post-conditions) 67

68 Σχέσεις Ανάμεσα σε Περιπτώσεις Χρήσης Σχέση αλληλεπίδρασης (Association): απλή σχέση ανάμεσα σε χειριστή και σε περίπτωση χρήσης. Σχέση γενίκευσης: Εκφράζει την εμφάνιση κληρονομικότητας (inheritance). Χρησιμοποιείται, τόσο ανάμεσα σε περιπτώσεις χρήσης, όσο και ανάμεσα σε χειριστές (το γνωστό βελάκι) (γενίκευση). Σχέση περιλαμβάνει : Είναι κάποια περίπτωση χρήσης που εκτελείται «υποχρεωτικά» (περιλαμβάνεται) πριν την ολοκλήρωση άλλης περίπτωσης χρήσης (την περιλαμβάνει). Παράδειγμα: H είσοδος στο σύστημα ενός εξουσιοδοτημένου χρήστη <<περιλαμβάνει>> (<<include>>) την περίπτωση χρήσης login. Σχέση επεκτείνει : Οι προεκτάσεις φανερώνουν κάποια εναλλακτική (δλδ προαιρετική) λειτουργικότητα μιας περίπτωσης χρήσης που περιγράφεται από τις προεκτάσεις. Παράδειγμα: αποθήκευση στοιχείων φοιτητή <<επεκτείνει>> (<<extends>>) την περίπτωση χρήσης τροποποίηση καρτέλας φοιτητή. 68

69 Σχέση Γενίκευσης 69

70 Σχέση <<περιλαμβάνει>> (<<include>>) 70

71 Σχέση <<επεκτείνει>> (<<extends>>) Μια περίπτωση χρήσης επεκτείνει κάποια άλλη προσθέτοντας επιπλέον προαιρετικές ενέργειες στη γενική περίπτωση χρήσης. 71

72 Διάγραμμα Δραστηριοτήτων (Activity Diagram) Περιγράφουν τη ροή των δραστηριοτήτων. Χρησιμοποιούνται για την περιγραφή ροών εργασιών. Ένα βασικό χαρακτηριστικό που πολλές φορές χρησιμοποιείται είναι οι swimlanes. Μια swimlane είναι ένας τρόπος να ομαδοποιείς ενέργειες που γίνονται από τον ίδιο χειριστή (actor) σε ένα διάγραμμα δραστηριοτήτων ή για ομαδοποίηση ενεργειών σε κάποιο τμήμα (thread) Γενικά ένα activity diagram χρησιμοποιείται εάν μια εργασία / διαδικασία είναι πολύ περίπλοκη οπότε θα πρέπει να περιγραφεί ώστε να απλοποιηθεί για την περίπτωση που θέλει ανακατασκευή (refactoring). 72

73 Διάγραμμα Δραστηριοτήτων (Ορολογία) Η Διακλάδωση αφορά σε ενέργειες / εργασίες που θα πρέπει να γίνουν και οι οποίες θα πρέπει να έχουν ολοκληρωθεί όλες ώστε να μπορούμε να συνεχίσουμε μετά τη Σύνδεση. Ενώ η απόφαση είναι εναλλακτικές ροές ενεργειών / εργασιών. 73

74 Σχεδιάζοντας ένα Διάγραμμα Δραστηριοτήτων (Visual Paradigm) Επιλέγοντας Activity diagram από το πτυσσόμενο μενού εμφανίζεται η παραπλεύρως Γραμμή Εργαλείων στην οποία βλέπετε με τη σειρά τα πλήκτρα: Αρχικού κόμβου Initial node, Ενέργειας / Δραστηριότητας Activity, Τέλους του Διαγράμματος Activity final node, Ροής μεταφοράς ελέγχου CF Control Flow Απόφασης Decision node Συγχώνευσης Merge node Διακλάδωσης Fork node Σύνδεσης Join node 74

75 Διαγράμματα Ακολουθίας (Sequence Diagrams) Δείχνουν τη συμπεριφορά των αντικειμένων μέσα σε μια περίπτωση χρήσης. Στον οριζόντιο άξονα παρουσιάζονται τα αντικείμενα που συμμετέχουν. Στον κάθετο άξονα παρουσιάζονται τα μηνύματα που ανταλλάσσονται (χρονική αλληλουχία). 75

76 Σχεδιάζοντας ένα Διάγραμμα Ακολουθίας (Sequence Diagram) (Visual Paradigm) Τα Sequence Diagrams έχουν τα παραπλεύρως πλήκτρα στη Γραμμή Εργαλείων που εμφανίζεται:

77 Δημιουργώντας αντικείμενα με dragging Βλέπετε με τη σειρά τα πλήκτρα Δημιουργίας Lifeline Αντικειμένων, Δημιουργίας Μηνύματος κλπ. Εάν έχουμε δημιουργημένο (όπως θα έπρεπε) το Διάγραμμα Περιπτώσεων Χρήσης και το Διάγραμμα Κλάσεων τότε μπορούμε να δημιουργήσουμε τα Αντικείμενα απλά «σύροντάς» τα μέσα στο Διάγραμμα Ακολουθίας. 77

78 Σχεδιάζοντας ένα Διάγραμμα Ακολουθίας (Sequence Diagram) Ας σχεδιάσουμε ένα μήνυμα από τον "Player" στο "Ball Throw Checker" κάνοντας κλικ στο Message και επιλέγοντας το αντικείμενο του "Ball Throw Checker". Γράψτε ως όνομα μηνύματος το "Throw" (παρατηρήστε ότι παίρνει αρίθμηση 1). 78

79 Σχεδιάζοντας ένα Διάγραμμα Ακολουθίας (Sequence Diagram) Δημιουργήστε τώρα το μήνυμα (self message) "1.1 Count number of knocked down pins" όπως το προηγούμενο. Απλά επιλέξτε Self Message και όχι απλά Message. Παρατηρήσεις: Για να συνεχίζει η αρίθμηση σωστά πρέπει να επιλέγετε σωστά το «Πλαίσιο ενεργοποίησης» (activation box). Μερικές φορές ένα μήνυμα στέλνεται υπό συνθήκη (guard) ([Strike]). 79

80 Ορισμοί και στοιχεία Η διακεκομμένη γραμμή κάτω από κάθε αντικείμενο λέγεται Γραμμή Ζωής (Lifeline). Το λεπτό παραλληλόγραμμο που καλύπτει σε κάποιο σημείο τη Lifeline λέγεται Πλαίσιο ενεργοποίησης (activation box) και μας δείχνει για πόσο είναι ενεργό στη μνήμη RAM το αντικείμενο. Αντίστοιχα τα μηνύματα αντιστοιχούν σε μεθόδους άρα εδώ ουσιαστικά συμπληρώνουμε τις μεθόδους της εφαρμογής μας. Άρα το :Ball throw checker ποιες μεθόδους περιλαμβάνει?? Throw() και Calculate knocked down pins(). 80

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

Τι είναι η UML. H UML (Unified Modeling Language) είναι µιά γλώσσα µοντελοποίησης γιά Εισαγωγή στη UML 1 Τι είναι η UML H UML (Unified Modeling Language) είναι µιά γλώσσα µοντελοποίησης γιά Κατάρτιση προδιαγραφών λογισµικού και τεκµηρίωση τµηµάτων λογισµικού Αναπαράσταση µε οπτικό τρόπο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εισαγωγή στη UML ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ 1 Εισαγωγή στη UML ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ 1 Τι είναι η UML H UML (Unified Modeling Language) είναι µιά γλώσσα µοντελοποίησης γιά Κατάρτιση προδιαγραφών λογισµικού και τεκµηρίωση τµηµάτων λογισµικού Αναπαράσταση

Διαβάστε περισσότερα

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

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο 09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Περιεχόμενο του μαθήματος ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια Περιεχόμενα Πρόλογος... 11 Κεφάλαιο 1ο. Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο...13 1.2 Πως αναπτύχθηκε η UML...14 1.3 Κατανοώντας την UML...15 1.4 Αναγνωρίζοντας τα επί μέρους τμήματα

Διαβάστε περισσότερα

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

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

Διαχείριση Πληροφοριακών Συστημάτων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 6 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

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

Διαγράμματα Κλάσεων στη Σχεδίαση Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν

Διαβάστε περισσότερα

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Unified Modeling Language II Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 7: Εισαγωγή στη UML Τι είναι η UML; 2 Βασικό πρόβλημα τεχνολογίας λογισμικού Έλλειψη κοινά αποδεκτής «γλώσσας» για την έκφραση των σχεδίων λογισμικού. Το

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων και Τροφίμων

Διαβάστε περισσότερα

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams Μοντελοποίηση Συστημάτων Διαγράμματα Κλάσεων ClassDiagrams Διαγράμματα Κλάσεων Χρησιμοποιούνται στα βήματα: Ανάλυση απαιτήσεων Π.Σ. Σχεδιασμός Π.Σ. Είναι στατικά διαγράμματα που δείχνουν: Κλάσεις Ιδιότητες

Διαβάστε περισσότερα

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

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.

Διαβάστε περισσότερα

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας Διαγράμματα Αλληλεπίδρασης Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας 1 Διαγράμματα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειμένων μέσω μηνυμάτων Η ανάθεση αρμοδιοτήτων περιλαμβάνει

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

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

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού UML Διαγράμματα Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία Προγραμματισμού

Διαβάστε περισσότερα

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

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Sites:

Διαβάστε περισσότερα

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

. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014 .. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Μέθοδοι μοντελοποίησης Μέθοδοι μοντελοποίησης Ευθύμιος Ταμπούρης tambouris@uom.gr Περιεχόμενα Ο ρόλος των μοντέλων Διαγράμματα Δραστηριοτήτων Διαγράμματα Περιπτώσεων Χρήσης Διαγράμματα Κλάσεων Διαγράμματα Ακολουθίας Διαγράμματα

Διαβάστε περισσότερα

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

Διάγραμμα Κλάσεων. Class Diagram Διάγραμμα Κλάσεων Class Diagram Γενικά Ορίζει τις κλάσεις αντικειμένων σε ένα σύστημα, τις μεθόδους και τις συναρτήσεις τους, και τις συσχετίσεις μεταξύ των κλάσεων. Περιγράφουν την δομή και συμπεριφορά

Διαβάστε περισσότερα

Η γλώσσα μοντελοποίησης UML. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Η γλώσσα μοντελοποίησης UML. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Η γλώσσα μοντελοποίησης UML 1 Περιεχόμενα Διαγράμματα περιπτώσεων χρήσης Διαγράμματα ακολουθίας Διαγράμματα συνεργασίας Διαγράμματα καταστάσεων Διαγράμματα κλάσεων 2 Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης

Διαβάστε περισσότερα

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

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την

Διαβάστε περισσότερα

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

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής

Διαβάστε περισσότερα

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων Διαγράμματα UML στην Ανάλυση Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων περιεχόμενα παρουσίασης Διαγράμματα κλάσεων Διαγράμματα αντικειμένων διαγράμματα κλάσεων Χρησιμοποιούνται στην ανάλυση

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Μοντέλα Παράστασης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου Αντικειμενοστρέφεια Henri Matisse, Harmony in Red, 1908 Κωστής Σαγώνας Νίκος Παπασπύρου Ορισμοί αντικειμενοστρέφειας Ποιοι είναι οι ορισμοί των παρακάτω; Αντικειμενοστρεφής

Διαβάστε περισσότερα

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

Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παράδειγμα Διαδικασίας Ανάπτυξης Λογισμικού: Βιβλίο Διευθύνσεων(συν.) - Φάση 3: Υλοποίηση(αναλυτικά

Διαβάστε περισσότερα

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

Διαβάστε περισσότερα

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

Εισαγωγή στη γλώσσα UML Κεφάλαιο 1 o Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο Στις πρώτες εποχές των υπολογιστών, οι προγραμματιστές συνήθιζαν να περιορίζονται στην ανάλυση σε βάθος των προβλημάτων που αντιμετώπιζαν.

Διαβάστε περισσότερα

Η γλώσσα μοντελοποίησης UML. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 7

Η γλώσσα μοντελοποίησης UML. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 7 Η γλώσσα μοντελοποίησης UML 1 Περιεχόμενα Διαγράμματα περιπτώσεων χρήσης Διαγράμματα ακολουθίας Διαγράμματα συνεργασίας Διαγράμματα καταστάσεων Διαγράμματα κλάσεων 2 Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ. Ι. Ψαρομήλιγκος Χ. Κυτάγιας ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Προγραμματισμός Η/Υ Ενότητα 6 η : Εισαγωγή στον Αντικειμενοστραφή Προγραμματισμό Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Λογιστικής

Διαβάστε περισσότερα

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

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης Αντικειµενοστραφής Σχεδίαση Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Μέθοδοι Στα πρώτα στάδια της γράφουµε µόνο τα ονόµατα των µεθόδων Γράφουµε τις

Διαβάστε περισσότερα

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

ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9) ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9) ΓΙΩΡΓΟΣ ΜΟΥΡΚΟΥΣΗΣ Μηχανικός Η/Υ & Πληροφορικής

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE

ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE Το path που ακολουθούμε για να ανοίξουμε το εργαλείο είναι: Start All Programs Lab Programs Rational Software Rational Rose Enterprise Edition 1 ο ΔΙΑΓΡΑΜΜΑ:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ ΥΛΟΠΟΙΗΣΗ ΣΤΟΙΧΕΙΩΝ ΑΝΑΛΥΣΗΣ UML ΜΕ JAVA. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ ΥΛΟΠΟΙΗΣΗ ΣΤΟΙΧΕΙΩΝ ΑΝΑΛΥΣΗΣ UML ΜΕ JAVA Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

UML: Unified modelling language

UML: Unified modelling language UML: Διαγράμματα UML: Unified modelling language Γλώσσα μοντελοποίησης για ανάλυση και σχεδιασμό Παρέχει το συμβολισμό για ανάλυση και σχεδιασμό. Είναι γλώσσα συμβολισμού. Δεν είναι ολόκληρη μεθοδολογία.

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα #8: Μοντέλο σχεδίασης Σταμέλος Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Άξονες

Διαβάστε περισσότερα

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

Τα διαγράµµατα κλάσεων 1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα κλάσεων ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικές έννοιες µοντέλου κλάσεων Βασικές συσχετίσεις Παραδείγµατα 3 ιαγράµµατα κλάσεων (class diagrams) Είναι το βασικότερο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Μοντελοποίηση Πεδίου Μοντελοποίηση Πεδίου περιεχόμενα παρουσίασης Εννοιολογικές κλάσεις Συσχετίσεις εννοιολογικών κλάσεων Τύποι ιδιοτήτων Γενίκευση Συχνά σφάλματα μοντελοποίησης πεδίου Εννοιολογικές κλάσεις και κλάσεις λογισμικού

Διαβάστε περισσότερα

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

Διαβάστε περισσότερα

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

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 5 Ημερομηνία: 01/12/2006 Θεματική

Διαβάστε περισσότερα

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

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής Απαντούν στα εξής ερωτήματα Ποιά βήματα θα ακολουθηθούν? Με ποιά σειρά? Ποιά τα παραδοτέα και πότε? Επομένως,

Διαβάστε περισσότερα

Υποδείγματα Ανάπτυξης

Υποδείγματα Ανάπτυξης Υποδείγματα Ανάπτυξης περιεχόμενα παρουσίασης Αποσύνθεση Αφαίρεση Μοντελοποίηση Η δεδομένο λειτουργική προσέγγιση Η αντικειμενοστρεφής προσέγγιση αποσύνθεση Όταν επιχειρούμε τη λύση ενός προβλήματος, πρώτα

Διαβάστε περισσότερα

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

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στην αντικειµενοστρεφή τεχνολογία ρ. Πάνος Φιτσιλής Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2 Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης

Διαβάστε περισσότερα

περιεχόμενα παρουσίασης

περιεχόμενα παρουσίασης Ανάλυση Απαιτήσεων περιεχόμενα παρουσίασης Δημιουργία μοντέλου Προσεγγίσεις Μοντελοποίησης Μοντελοποίηση δεδομένων Διαγράμματα ροής δεδομένων Μη διαγραμματικά μοντέλα ανάλυσης Διαγράμματα δραστηριότητας

Διαβάστε περισσότερα

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

Ειδικά θέματα τεχνολογίας λογισμικού Ειδικά θέματα τεχνολογίας λογισμικού Σχεδιασμός λογισμικού Διομήδης Σπινέλλης Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών dds@aueb.gr http://www.dmst.aueb.gr/dds @CoolSWEng

Διαβάστε περισσότερα

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

Διαβάστε περισσότερα

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13 Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις

Διαβάστε περισσότερα

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

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19 Περιεχόμενα ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19 1.1 Εισαγωγή... 19 1.2 Η γλώσσα UML... 20 1.2.1 Μεθοδολογίες ανάπτυξης λογισμικού... 21 1.2.2 Τύποι διαγραμμάτων της UML... 22 1.3 Διαγράμματα της UML... 24

Διαβάστε περισσότερα

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών

ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΜΟΡΥΕ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Διαδικασιακός ή Διαδικαστικός (Procedural)

Διαβάστε περισσότερα

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

Ανάλυση Περιπτώσεων Χρήσης Ανάλυση Περιπτώσεων Χρήσης ανάλυση απαιτήσεων ü Διαγράμματα Δραστηριότητας. Επιχειρησιακή μοντελοποίηση και ροή εργασιών σε περιπτώσεις χρήσης ü Μοντελοποίηση Πεδίου. Δημιουργία διαγραμμάτων κλάσεων για

Διαβάστε περισσότερα

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

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 15: Σχεδίαση Εφαρμογών Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων,

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων, Περιπτώσεις Χρήσης (Προδιαγραφές Απαιτήσεων) Ιδέα του Jacobson ( 92, OOSE) μηχανισμός ανακάλυψης και καταγραφής των λειτουργικών απαιτήσεων ιστορίες χρήσης του συστήματος εργαλείο ανάλυσης ακόμη και σε

Διαβάστε περισσότερα

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Κληρονομικότητα ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

Διαβάστε περισσότερα

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής περιεχόμενα παρουσίασης Διαγράμματα πακέτων Διαγράμματα συστατικών Διαγράμματα παράταξης Το μοντέλο των 4+1 όψεων τεκμηρίωση αρχιτεκτονικής και UML

Διαβάστε περισσότερα

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

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

Διαβάστε περισσότερα

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης 4η ιάλεξη UML ιαγράμματα αλληλεπίδρασης ιαγράμματα αλληλεπίδρασης Τα διαγράμματα αλληλεπίδρασης είναι μοντέλα που περιγράφουν κάποιες ομάδες αντικειμένων Μπορούν να χρησιμοποιηθούν για να δείξουν ένα σχέδιο

Διαβάστε περισσότερα

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

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

Περιεχόμενα και Διάρθρωση. Interaction Diagrams Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Interaction Diagrams Περιεχόμενα και Διάρθρωση Εισαγωγή Διαγράμματα

Διαβάστε περισσότερα

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

Οι περιπτώσεις χρήσης 1 Ελληνικό Ανοικτό Πανεπιστήµιο Οι περιπτώσεις χρήσης ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Το µοντέλο των περιπτώσεων χρήσης Τα διαγράµµατα των περιπτώσεων χρήσης Λεκτική περιγραφή των περιπτώσεων χρήσης Τρόπος

Διαβάστε περισσότερα

Γραφικά υπολογιστών Εργαστήριο 9 Κλάσεις στην Python. Σκοπός της 9ης άσκησης είναι να μάθουμε αντικειμενοστρεφή προγραμματισμό στην Python.

Γραφικά υπολογιστών Εργαστήριο 9 Κλάσεις στην Python. Σκοπός της 9ης άσκησης είναι να μάθουμε αντικειμενοστρεφή προγραμματισμό στην Python. Γραφικά υπολογιστών Εργαστήριο 9 Κλάσεις στην Python Σκοπός της 9ης άσκησης είναι να μάθουμε αντικειμενοστρεφή προγραμματισμό στην Python. 1. Εισαγωγή Κάθε χαρακτήρας σε ένα παιχνίδι χρειάζεται κάποια

Διαβάστε περισσότερα

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

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML για το µάθηµα ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ Ακαδηµαϊκό Έτος 2012-2013 «Αντικειµενοστρεφής Ανάλυση Ηλεκτρονικού Καταστήµατος Προσφορών (e-shop)» Η άσκηση αφορά στη χρήση της

Διαβάστε περισσότερα

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

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας 1 ιαγράµµατα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειµένων µέσω µηνυµάτων Η ανάθεση αρµοδιοτήτων περιλαµβάνει µεγάλο

Διαβάστε περισσότερα

Εννοιολογικό Μοντέλο. Conceptual Model

Εννοιολογικό Μοντέλο. Conceptual Model Εννοιολογικό Μοντέλο Conceptual Model 1 Εννοιολογικό Μοντέλο (1/2) Αποτελεί: βασικό εργαλείο για τη σχεδίαση εισαγωγή σε διάφορα μέσα τεκμηρίωσης (artifacts) απεικόνιση σημαντικών εννοιολογικών κλάσεων

Διαβάστε περισσότερα

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

06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός 06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αφαίρεση Abstraction "Η εννοιολογική

Διαβάστε περισσότερα

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

6. Εισαγωγή στη Ενοποιημένη Γλώσσα Μοντελοποίησης UML (Unified Modeling Language) 6. Εισαγωγή στη Ενοποιημένη Γλώσσα Μοντελοποίησης UML (Unified Mdeling Language) Χειμερινό εξάμηνο 2016 Πέτρος Κωμοδρόμος kmdrms@ucy.ac.cy http://www.eng.ucy.ac.cy/petrs 1 Θέματα Εισαγωγή στη Unified Mdeling

Διαβάστε περισσότερα

Wrapper Classes, Abstract Classes and Interfaces

Wrapper Classes, Abstract Classes and Interfaces Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους

Διαβάστε περισσότερα

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 Μ6. Φάσεις ανάπτυξης λογισμικού: προδιαγραφές, σχεδίαση, υλοποίηση, επαλήθευση, τεκμηρίωση, συντήρηση προγραμμάτων Δρ. Γεώργιος Παπαλάμπρου Επικ.

Διαβάστε περισσότερα

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016 Μ6. Φάσεις ανάπτυξης λογισμικού: προδιαγραφές, σχεδίαση, υλοποίηση, επαλήθευση, τεκμηρίωση, συντήρηση προγραμμάτων Δρ. Γεώργιος Παπαλάμπρου Επικ.

Διαβάστε περισσότερα

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός

Διαβάστε περισσότερα