UML: Introduction and Overview

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

Download "UML: Introduction and Overview"

Transcript

1 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design UML: Introduction and Overview Εισαγωγή στη Μοντελοποίηση και στη UML Γιάννης Τζίτζικας ιάλεξη : 7 Ημερομηνία : ιάρθρωση Μοντελοποίηση Πως προέκυψε η UML? Επισκόπηση των τεχνικών της UML και των χρήσεων της Γιατί να κάνουμε ανάλυση και σχεδίαση με τη UML? Hello World! σε UML U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

2 UML = Unified Modeling Language Ενοποιημένη Γλώσσα Μοντελοποίησης Τι είναι μοντελοποίηση? Τι είναι μοντέλο και γιατί μοντελοποιούμε Μοντέλο: Μια αφαίρεση (απλούστευση) της πραγματικότητας εστιάζει στα σημαντικά, κρύβει τις άσχετες πλευρές και τις δευτερεύουσας σημασίας λεπτομέρειες Γιατί μοντελοποιούμε; Ένα μοντέλο μας επιτρέπει την καλύτερη κατανόηση ενός συστήματος Συνήθως φτιάχνουμε μοντέλα σύνθετων συστημάτων τα οποία δεν μπορούμε να κατανοήσουμε στην πληρότητα τους (ένεκα των περιορισμένων μας αντιληπτικών και διανοητικών ικανοτήτων) Μοντελοποιώντας περιορίζουμε το πρόβλημα εστιάζοντας σε επιμέρους πλευρές του συστήματος (διαίρει και βασίλευε) και κλίμακες αφαίρεσης. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

3 Βασικές Αρχές Μοντελοποίησης Η επιλογή του τύπου μοντέλου καθορίζει τον τρόπο μελέτης του συστήματος και τη μορφή της λύσης που θα επιτευχθεί. Αντί αρχιτεκτονικού σχεδίου, μαθηματικές φόρμουλες πίεσης στους πυλώνες Κάθε μοντέλο μπορεί να παρασταθεί σε διαφορετικά επίπεδα ακρίβειας Καλά μοντέλα είναι εκείνα που συνδέονται με την πραγματικότητα Κανένα μοντέλο από μόνο του δεν είναι επαρκές. Κάθε μη τετριμμένο σύστημα προσεγγίζεται καλύτερα από ένα (σχετικά μικρό) σύνολο ανεξάρτητων μοντέλων από διαφορετικές σκοπιές. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Βασικές Αρχές Μοντελοποίησης Κανένα μοντέλο από μόνο του δεν είναι επαρκές. Κάθε μη τετριμμένο σύστημα προσεγγίζεται καλύτερα από ένα (σχετικά μικρό) σύνολο ανεξάρτητων μοντέλων από διαφορετικές σκοπιές. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

4 Μοντελοποίηση στην Ανάλυση και Σχεδίαση Πλ. Συστημάτων Μοντελοποίηση στην Ανάλυση και Σχεδίαση Πλ. Συστ.: Βοηθά στην οπτικοποίηση ενός (υπαρκτού ή προς κατασκευή) συστήματος Βοηθά στην προδιαγραφή της δομής ήσυμπεριφοράςενός συστήματος Αποτελεί οδηγό για την κατασκευή ενός συστήματος Τεκμηριώνει τις αποφάσεις που έχουμε πάρει U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Ηθέσητηςμοντελοποίησης στην Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Υψηλού επιπέδου επιχειρηματικές ανάγκες καταγεγραμμένες στην Πρόταση Συστήματος Καθορισμός Απαιτήσεων Αναλυτική Καταγραφή Συγκεκριμένων απαιτήσεων Επόμενο βήμα Μοντελοποίηση του Συστήματος Λειτουργική /Δομική/Συμπεριφοράς (Functional/Structural/Behavioral) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

5 UML = Unified Modeling Language Ενοποιημένη Γλώσσα Μοντελοποίησης δηλαδή; Εισαγωγή στη UML Διάδοχος των μεθόδων αντικειμενοστρεφούς ανάλυσης και σχεδίασης (object-oriented analysis and design, OOA&D) που εμφανίστηκαν στα τέλη της δεκαετίας του 80 και αρχές του 90 Ενοποιεί τις μεθόδους του Booch Rumbaugh (OMT) Jacobson Πλέον είναι πρότυμο OMG (Object Management Group standard) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

6 1980: C++ Πως φθάσαμε στη UML; Need to adapt the design methods of ( 70s- 80s) for the object-oriented world Recursive Design Approach (Sally Shlaew, Steve Meller) P. Coad and Ed. Yourdon (books 1991, 1991b, 1995,1999) Responsibility-Driven Design (Wirfs-Brock 90) Class-Responsibility-Collaboration (CRC Cards) Beck and Cunnigham Grady Booch: work with Rational Software (for Ada systems) Jim Rumbaugh: Object-Modeling Technique (OMT) The most conceptual of these books: Martin and Odell, 94 Ivar Jacobson (introduced the concept of Use Cases) Γενικά δεν υπήρχε διάθεση για ενοποίηση ή τυποποίηση (standardization) Κάθε ένας χρησιμοποιούσε τους δικούς του συμβολισμούς και μεθοδολογία Famous joke: - What is the difference between a methodologist and a terrorist? - You can negotiate with a terrorist! U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Η γέννηση της UML Jim Rumbaugh and G. Booch => Rational Software 1996: The 3 amigos (James Rumbaugh, Grady Booch, Ivar Jacobson) UML Version 1.1 Became OMG standard Τρέχουσα έκδοση: UML Version 2.0, 2003 UML (early 2007) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

7 ΟσκοπόςτηςUML Να ορίσει ένα κοινό λεξιλόγιο για τον αντικειμενοστρεφισμό και να προσφέρει διαγραμματικές τεχνικές ικανές να μοντελοποιήσουν οποιοδήποτε σύστημα από την ανάλυση έως και την υλοποίησή του. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall ΟσκοπόςτηςUML Να ορίσει ένα κοινό λεξιλόγιο για τον αντικειμενοστρεφισμό και να προσφέρει διαγραμματικές τεχνικές ικανές να μοντελοποιήσουν οποιοδήποτε σύστημα από την ανάλυση έως και την υλοποίησή του. Για να απαγκιστρωθούμε από την ορολογία και τις λεπτομέρειες της κάθε αντικειμενοστρεφούς γλώσσας (C++, Java, Eiffel, Smalltalk, C#, ή όποιας άλλης προκύψει στο μέλλον) ή άλλης τεχνολογίας. Είναι χρήσιμο να έχουμε μια κοινή γλώσσα επικοινωνίας και σχεδιασμού αντικειμενοστρεφών συστημάτων. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

8 ΟσκοπόςτηςUML Να ορίσει ένα κοινό λεξιλόγιο για τον αντικειμενοστρεφισμό και να προσφέρει διαγραμματικές τεχνικές ικανές να μοντελοποιήσουν οποιοδήποτε σύστημα από την ανάλυση έως και την υλοποίησή του. Είναι πολύ βολικό να έχουμε την ίδια γλώσσα από την αρχή έως το τέλος. Θυμηθείτε τα πλεονεκτήματα των εξελικτικών μεθοδολογιών ανάπτυξης λογισμικού. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall ΟσκοπόςτηςUML Να ορίσει ένα κοινό λεξιλόγιο για τον αντικειμενοστρεφισμό και να προσφέρει διαγραμματικές τεχνικές ικανές να μοντελοποιήσουν οποιοδήποτε σύστημα από την ανάλυση έως και την υλοποίησή του. Τα διαγράμματα βοηθούν πολύ την επικοινωνία. Logicians may reason about abstractions. But the great mass of men must have images. The strong tendency of the multitude in all ages and nations to idolatry can be explained on no other principle. - Thomas Macaulay U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

9 Γιατί διαγράμματα; create table Component ( -- Constraints Section create table Project ( -- C_P_ID_Par char(10) not null, ID_Pro char(10) not null, ID_Par char(10) not null, ProjId char(1) not null, alter table Component add constraint FKconsistsOf Quantity char(1) not null, Title char(1) not null, foreign key (ID_Par) constraint ID_Component primary ID_Emp key char(10), references Part; (C_P_ID_Par, ID_Par)); constraint ID primary key (ID_Pro)); alter table Component add constraint FKCom_Par create table Proj_Work ( foreign key (C_P_ID_Par) create table Deparment ( ID_Emp char(10) not null, references Part; ID_Dep char(10) not null, ID_Pro char(10) not null, alter table Dependent add constraint FKEmp_Dep DepId char(1) not null, timepercentage char(1) not null, foreign key (Supporter) DepName char(1) not null, constraint ID_Proj_Work primary key references Employee; (ID_Pro, ID_Emp)); Address char(1) not null, create table Supplier ( constraint ID primary key (ID_Dep)); ID_Sup char(10) not null, create table Dependent ( FirstName char(1) not null, LastName char(1) not null, YearOfBirth char(1) not null, Supporter char(10) not null); create table Employee ( ID_Emp char(10) not null, EmpId char(1) not null, FirstName char(1) not null, LastName char(1) not null, MiddleName char(1) not null, YearOfBirth char(1) not null, Salary char(1) not null, ID_Dep char(10), constraint ID primary key (ID_Emp)); create table Part ( ID_Par char(10) not null, PartNo char(1) not null, PartDescription char(1) not null, QuantityOnHand char(1) not null, constraint ID primary key (ID_Par)); SupId char(1) not null, Name char(1) not null, Status char(1) not null, Address char(1) not null, constraint ID primary key (ID_Sup)); create table Supp_Part ( ID_Par char(10) not null, ID_Sup char(10) not null, constraint ID_Supp_Part primary key (ID_Par, ID_Sup)); create table Supp_Part_Proj ( ID_Par char(10) not null, ID_Pro char(10) not null, ID_Sup char(10) not null, Quantity char(1) not null, constraint ID_Supp_Part_Proj primary key (ID_Par, ID_Sup, ID_Pro)); alter table Employee add constraint FKDept_Emp foreign key (ID_Dep) references Deparment; alter table Project add constraint FKProj_Manager foreign key (ID_Emp) references Employee; alter table Proj_Work add constraint FKPro_Pro foreign key (ID_Pro) references Project; alter table Proj_Work add constraint FKPro_Emp foreign key (ID_Emp) references Employee; alter table Supp_Part add constraint FKSup_Sup_1 foreign key (ID_Sup) references Supplier; alter table Supp_Part add constraint FKSup_Par_1 foreign key (ID_Par) references Part; alter table Supp_Part_Proj add constraint FKSup_Sup foreign key (ID_Sup) references Supplier; alter table Supp_Part_Proj add constraint FKSup_Pro foreign key (ID_Pro) references Project; alter table Supp_Part_Proj add constraint FKSup_Par foreign key (ID_Par) references Part; Το ίδιο σχήμα εκφρασμένο σε SQL και στη μορφή διαγράμματος ER Μια εικόνα αξίζει όσο χίλες λέξεις U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Γιατί διαγράμματα; create table Component ( -- Constraints Section C_P_ID_Par char(10) not null, create table Project ( -- ID_Pro char(10) not null, ID_Par char(10) not null, ProjId char(1) not null, alter table Component add constraint FKconsistsOf Quantity char(1) not null, Title char(1) not null, foreign key (ID_Par) constraint ID_Component primary key (C_P_ID_Par, ID_Emp char(10), references Part; ID_Par)); constraint ID primary key (ID_Pro)); alter table Component add constraint FKCom_Par create table Deparment ( ID_Dep char(10) not null, create table Proj_Work ( ID_Emp char(10) not null, foreign key (C_P_ID_Par) references Part; DepId char(1) not null, ID_Pro char(10) not null, alter table Dependent add constraint FKEmp_Dep timepercentage char(1) not null, foreign key (Supporter) DepName char(1) not null, constraint ID_Proj_Work primary key (ID_Pro, references ID_Emp)); Employee; Address char(1) not null, create table Supplier ( alter table Employee add constraint FKDept_Emp constraint ID primary key (ID_Dep)); ID_Sup char(10) not null, foreign key (ID_Dep) create table Dependent ( FirstName char(1) not null, LastName char(1) not null, YearOfBirth char(1) not null, SupId char(1) not null, Name char(1) not null, Status char(1) not null, Address char(1) not null, references Deparment; alter table Project add constraint FKProj_Manager foreign key (ID_Emp) references Employee; Supporter char(10) not null); constraint ID primary key (ID_Sup)); alter table Proj_Work add constraint FKPro_Pro create table Supp_Part ( foreign key (ID_Pro) create table Employee ( ID_Par char(10) not null, references Project; ID_Emp char(10) not null, ID_Sup char(10) not null, alter table Proj_Work add constraint FKPro_Emp EmpId char(1) not null, constraint ID_Supp_Part primary key (ID_Par, foreign ID_Sup)); key (ID_Emp) FirstName char(1) not null, create table Supp_Part_Proj ( references Employee; LastName char(1) not null, ID_Par char(10) not null, alter table Supp_Part add constraint FKSup_Sup_1 ID_Pro char(10) not null, foreign key (ID_Sup) MiddleName char(1) not null, ID_Sup char(10) not null, references Supplier; YearOfBirth char(1) not null, Quantity char(1) not null, alter table Supp_Part add constraint FKSup_Par_1 Salary char(1) not null, constraint ID_Supp_Part_Proj primary key (ID_Par, foreign key (ID_Par) ID_Dep char(10), constraint ID primary key (ID_Emp)); create table Part ( ID_Par char(10) not null, ID_Sup, ID_Pro)); references Part; alter table Supp_Part_Proj add constraint FKSup_Sup foreign key (ID_Sup) references Supplier; PartNo char(1) not null, alter table Supp_Part_Proj add constraint FKSup_Pro PartDescription char(1) not null, foreign key (ID_Pro) references Project; QuantityOnHand char(1) not null, alter table Supp_Part_Proj add constraint FKSup_Par constraint ID primary key (ID_Par)); foreign key (ID_Par) references Part; ποιο μπορεί να κατανοηθεί γρηγορότερα; σε ποιο μπορούν να γίνουν αλλαγές πιο γρήγορα; με ποιο θα μπορούσαν (>2) άνθρωποι να συμφωνήσουν πιο γρήγορα και πιο εύκολα; ποιο μπορεί να κατανοηθεί πιο εύκολα από κάποιον που δεν ξέρει πολλά από πληροφορική; ποιο έχει μεγαλύτερη πιθανότητα να είναι κατανοήσιμο και μετά από 10 χρόνια; U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

10 Γιατί όχι φυσική γλώσσα; Οι περιγραφές σε φυσική γλώσσα συχνά υποφέρουν από ασάφεια. Η περιγραφή σύνθετων εννοιών δεν είναι ούτε εύκολη ούτε ευέλικτη. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Γιατί όχι τυπικές μεθόδους (formal methods); Ακόμα και αν αποδείξουμε ότι ένα πρόγραμμα ικανοποιεί μια μαθηματική προδιαγραφή, δεν μπορούμε να αποδείξουμε ότι η μαθηματική προδιαγραφή αντικατοπτρίζει τις πραγματικές απαιτήσεις του συστήματος. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

11 How the Analyst designed it Το Τονα ναπεριγράψουμε με μετυπικό τρόπο τις τις προδιαγραφές και να νααποδείξουμε ότι ότιο κώδικας που παράχθηκε τις τιςικανοποιεί, δεν συνεπάγεται ότι ότιτο τοπαραχθέν σύστημα είναι ικανοποιητικό How the Programmer wrote it What the customer really needed U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Γιατί όχι τυπικές μεθόδους (formal methods); Άλλα προβλήματα των τυπικών μεθόδων: Συχνά η ουσία «χάνετε» εν μέσω δευτερεύουσας σημασίας (για το πρόβλημα που μελετάμε) λεπτομέρειες. Οι περιγραφές που προκύπτουν κατανοούνται δύσκολα και η διαχείριση τους είναι εξίσου δύσκολη. Η σύνταξη τους είναι συχνά δυσκολότερη απ ότι ο προγραμματισμός στις γλώσσες προγραμματισμού. Και δεν είναι ουτε καν εκτελέσιμες U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

12 Προδιαγραφές: Η ΓενικήΕικόνα ακρίβεια Τυπικές Μέθοδοι Κώδικας Διαγραμματικές τεχνικές ασάφεια Φυσική Γλώσσα UML Αδυναμία εκτέλεσης Δυνατότητα εκτέλεσης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Η Γενική Εικόνα ακρίβεια ασάφεια Τυπικές Μέθοδοι Φυσική Γλώσσα Κώδικας και OCL CASE tools UML Αδυναμία εκτέλεσης Δυνατότητα εκτέλεσης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

13 Γιατί να κάνουμε Ανάλυση και Σχεδίαση με τη UML; Η ανάπτυξη λογισμικού έχει ως στόχο την παραγωγή εκτελέσιμου κώδικα Κάποιος θα μπορούσε να πει: «τα διαγράμματα είναι.. απλώς διαγράμματα, τίποτα παραπάνω από όμορφες εικόνες» Άρα πρέπει να αναρωτηθούμε Γιατί να χρησιμοποιήσουμε UML; Πως θα μας βοηθήσει όταν θα πρέπει να γράψουμε κώδικα; Οι 3 κυριότεροι λόγοι [A] Επικοινωνία [B] Εκμάθηση Αντικειμενοστρεφισμού [C] Επικοινωνία με τους ειδικούς του πεδίου εφαρμογής U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Γιατί να κάνουμε Ανάλυση και Σχεδίαση με τη UML; [A] Επικοινωνία Θεμελιώδης λόγος για χρήση της UML Η καλή επικοινωνία μεταξύ των εμπλεκομένων σε ένα έργο αποτελεί καθοριστικό παράγοντα για την έκβαση του. Η UML υπερτερεί στο θέμα αυτό από άλλες εναλλακτικές Φυσική Γλώσσα (ασάφειες), Κώδικας (υπερβολικά λεπτομερής, δεν προσφέρει εποπτική εικόνα), Τυπικές Μέθοδοι (δυσχρηστες) Υπό αυτήν την έννοια μπορούμε να πούμε ότι χρησιμοποιούμε UML όταν ναι μεν θέλουμε να είμαστε ακριβείς αλλά δεν θέλουμε να χαθούμε στις λεπτομέρειες. Αυτό δεν σημαίνει αποφυγή των λεπτομερειών. Απλά μπορούμε να τονίσουμε τις σημαντικές λεπτομέρειες. Επίσης επιτρέπει την επαναληπτική/αυξητική διαδικασία (η ίδια γλώσσα μπορεί να χρησιμοποιηθεί τόσο στο αρχικό και αφηρημένο επίπεδο όσο και στο λεπτομερέστατο επίπεδο του κώδικα. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

14 Γιατί να κάνουμε Ανάλυση και Σχεδίαση με τη UML? [A] Επικοινωνία: Παραδείγματα Παραδείγματα Εργάζεστε ως σύμβουλος πληροφορικής και θέλετε σε πολύ μικρό χρονικό διάστημα να κατανοήσετε ένα μεγάλο έργο Η UML σας δίνει την συνολική εικόνα του συστήματος Τα διαγράμματα κλάσεων σας λένε τι είδους αφαιρέσεις (abstractions) έχουν γίνει και μπορείτε γρήγορα να εντοπίσετε τα τμήματα που έχουν προβλήματα ή απαιτούν επιπλέον εργασία/βελτίωση. Αν θέλετε μια βαθύτερη εικόνα για το πώς οι κλάσεις συνεργάζονται, τότε μπορείτε να δείτε τα σχετικά διαγράμματα αλληλεπiδρασης (interaction diagrams) Εργάζεστε σε έναν οργανισμό ως αναλυτής/σχεδιαστής συστημάτων. Μπορείτε να εκφράσετε την ανάλυση και τη σχεδίαση σε UML και μια άλλη εταιρία να αναλάβει την υλοποίηση του συστήματος. Εργάζεστε σε ένα έργο το οποίο πρέπει να βασιστεί σε υπάρχοντα εξαρτήματα (components). Με τη UML μπορείτε να τα κατανοήσετε γρήγορα και εν συνεχεία να εκφράσετε την ανάλυση και τη σχεδίαση του συστήματος λαμβάνοντας υπόψη τη λειτουργικότητα που αυτά παρέχουν. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Γιατί να κάνουμε Ανάλυση και Σχεδίαση με τη UML? [A] Επικοινωνία: Παραδείγματα Για τους ίδιους λόγους η UML είναι χρήσιμη και στα πλαίσια μιας ομάδας ανάπτυξης λογισμικού: Τα μέλη της ομάδας έχουν μια κοινή εικόνα (σημείο αναφοράς) Τα νέα μέλη της ομάδας μπαίνουν γρήγορα στο παιχνίδι Μειώνεται το ρίσκο από τις πιθανές αποχωρήσεις μελών από την ομάδα U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

15 Γιατί να κάνουμε Ανάλυση και Σχεδίαση με τη UML? [B] Εκμάθηση αντικειμενοστρεφισμού (Learning OO) Η εκμάθηση και καλή χρήση του απαιτεί χρόνο Διαγράμματα Αλληλεπίδρασης (Interaction diagrams) Κάνουν εμφανή τον τρόπο ανταλλαγής μηνυμάτων και άρα είναι χρήσιμα για τον εντοπισμό των υπερβολικά κεντρικοποιημένων σχεδίων Πρότυπα (Patterns): Αποτελούν καλά παραδείγματα σχεδιασμού και προγραμματισμού. Η έκφραση τους σε UML βοηθάει πολύ την κατανόηση και την εκμάθησή τους CRC cards αποτελούν χρήσιμη τεχνική για την εκμάθηση του αντικειμενοστρεφικού (δεν είναι τυπικά τμήμα της UML) Διαγράμματα Κλάσεων Παρόμοια με τα μοντέλα δεδομένων Κίνδυνος: ανάπτυξη ενός μοντέλου κλάσεων που είναι δεδομενο-κεντρικό (data orinted) αντί για υπευθυνο-κεντρικό (responsibility oriented) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Γιατί να κάνουμε Ανάλυση και Σχεδίαση με τη UML? [Γ] Επικοινωνία με τους ειδικούς του πεδίου εφαρμογής Περιπτώσεις Χρήσης (Use Cases): Περίπτωση Χρήσης: Ένα στιγμιότυπο μιας πλευράς της λειτουργικότητας του συστήματος Το σύνολο όλων των Περιπτώσεων Χρήσης μας δίνει την εξωτερική εικόνα του συστήματος Είναι ένα πολύ καλό εργαλείο για την κατανόηση του τι θέλουν οι χρήστες Διαγράμματα Κλάσεων (Class diagrams) Βοηθούν τον εντοπισμό των κυρίαρχων εννοιών. Άρα βοηθούν πολύ την κατανόηση του πεδίου εφαρμογής (πολύ βασικό στην αρχή ενός έργου) Διαγράμματα Δραστηριοτήτων (Activity diagrams) Χρήσιμα αν οι ροές εργασιών (workflow processes) είναι σημαντικό κομμάτι του κόσμου των χρηστών Το ότι επιτρέπουν παραλληλία μας βοηθά να αποφύγουμε την καταγραφή περιττών ακολουθιών U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

16 Πόσοι τύποι διαγραμμάτων υπάρχουν; Υψηλού επιπέδου επιχειρηματικές ανάγκες καταγεγραμμένες στην Πρόταση Συστήματος Καθορισμός Απαιτήσεων Αναλυτική Καταγραφή Συγκεκριμένων απαιτήσεων Επόμενο βήμα Μοντελοποίηση του Συστήματος Λειτουργική /Δομική/Συμπεριφοράς (Functional/Structural/Behavioral) Η UML 2.0 ορίζει 14 διαγραμματικές τεχνικές για τη μοντελοποίηση ενός συστήματος U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Πόσοι τύποι διαγραμμάτων υπάρχουν; Η UML 2.0 ορίζει 14 διαγραμματικές τεχνικές για τη μοντελοποίηση ενός συστήματος. Λειτουργική Περιπτώσεων Χρήσης (Use Case), Δραστηριοτήτων (Activity), Δομή Κλάσεων (Class), Αντικειμένων (Object), Πακέτων (Package), Παράταξης (Deployment), Εξαρτημάτων (Component), Σύνθετης Δομής (Composite Structure) Συμπεριφορά Sequence (Αλληλουχίας), Επικοινωνίας (Communication), Χρονισμού (Timing), Καταστάσεων (State), Interaction Overview, Protocol State Machine U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

17 Μια άλλη κατηγοριοποίηση των διαγραμματικών τεχνικών της UML U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Πότε (σε ποιες φάσεις) χρησιμοποιούμε ένα διάγραμμα; (when we use what diagram?) Διαφορετικές φάσεις του έργου συνήθως συνοδεύονται από διαφορετικού τύπου διαγράμματα Μερικοί τύποι διαγραμμάτων μπορούν να χρησιμοποιηθούν σε παραπάνω από μια φάση. Για παράδειγμα μπορεί να έχουμε ένα διάγραμμα που αρχικά είναι πολύ αφηρημένο (και φτιαγμένο από την εννοιολογική σκοπιά) που στη συνέχεια του προσθέσουμε λεπτομέρειες και εν τέλει από αυτό καταλήγουμε στην παραγωγή κώδικα. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

18 Πόσο αυστηρά πρέπει να ακολουθούμε τους κανόνες της γλώσσας μοντελοποίησης; Εξαρτάται από το σκοπό: Αν θέλουμε από τα διαγράμματα να παράγουμε κώδικα αυτομάτως (μέσω ενός εργαλείου CASE), τότε πρέπει να είμαστε ακριβείς και να λάβουμε υπόψη τον τρόπο με τον οποίο το εργαλείο ερμηνεύει τα διαγράμματα της UML και παράγει κώδικα. Αν θέλουμε να χρησιμοποιήσουμε τα διαγράμματα μόνο για να επικοινωνήσουμε με άλλους, μπορούμε να είμαστε αρκετά χαλαροί και να παρεκκλίνουμε. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Hello World! σε UML

19 Hello World! σε UML Use Case and Use Case Diagram Use Case Use Case Diagram Print HelloWorld 1. O χρήστης ξεκινά έναν πλοηγητή του ιστού 2. Πληκτρίζει τη διεύθυνση 3. Ο πλοηγητής εμφανίζει στην οθόνη τη φράση HelloWorld! U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Hello World! σε UML Class Diagram Appplet Graphics import java.applet.applet; import java.awt.graphics; HelloWorld paint() public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); } } Γενίκευση/Εξειδίκευση Εξάρτηση (διότι δέχεται ως παράμετρο ένα αντικείμενο τύπου Graphics) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

20 Hello World! σε UML Class Diagram Μελετώντας την βιβλιοθήκη της Java, μπορούμε να απεικονίσουμε ολόκληρη την ιεραρχία γενίκευσης της κλάσης Applet Im ageobserver Object Component Container Panel Appplet HelloWorld paint() U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Hello World! σε UML Package Diagrams Μπορούμε να απεικονίσουμε τον τρόπο με τον οποίο οι κλάσεις της Java έχουν πακεταριστεί με ένα διάγραμμα συσκευασίας. Το διάγραμμα αυτό απεικονίζει και τις εξαρτήσεις. java Hello World applet awt import java.applet.applet; import java.awt.graphics; lang public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); } } U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

21 Hello World! σε UML Πως συνεργάζονται οι κλάσεις; Πως η λειτουργία (operation) paint καλείται; Μελετώντας το διάγραμμα κλάσεων της βιβλιοθήκης μπορούμε να δούμε ότι η paint κληρονομείται από από την κλάση component Im ageobserver Object Component Container paint() Panel import java.applet.applet; import java.awt.graphics; Appplet public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); } } HelloWorld paint() U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Hello World! σε UML Interaction Diagram Μελετώντας τον τρόπο με τον οποίο οι κλάσεις της Java συνεργάζονται, μπορούμε να δούμε ότι η λειτουργία paint καλείται ως εξής: Καλείται από το thread που εγκλείει το applet : root:thread :Toolkit ComponentPeer target: HelloWorld run run callbackloop handleexpose paint U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

22 Hello World! σε UML: Ηφυσικήάποψη HelloWorld Λογική όψη της κλάσης "manifests" "manifests" manifests: physically implements Τεχνουργήματα (Artifacts), π.χ. αρχεία HelloWorld.class HelloWorld.java Hellopage.html Εξάρτηση (διότι αν αλλάξει το.java πρέπει να ξανακάνουμε compile) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Hello World! σε UML: Ηφυσικήάποψηωςcomponent diagram <<source>> HelloWorld.java HelloWorld.java import java.applet.applet; import java.awt.graphics; <<bytecode>> HelloWorld.class <<webpage>> Hellopage.html εξάρτηση εξάρτηση public class HelloWorld extends Applet { public void paint(graphics g) { g.drawstring("hello world!", 50, 25); } } Hellopage.html <html> <body> <APPLET CODE="HelloWorld.class"> </APPLET> </body> </html> U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

23 Hello World! σε UML Deployment Diagram Web Server Client Web server {OS=Unix} {mainmemory=2gb} {web server=apache} Hellopage.html HelloWorld.class Internet/http Client {OS=Windows} firefox.exe or Iexplore.exe printer U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Επισκόπηση των διαγραμματικών τεχνικών της UML

24 Λίστα των κυριότερων διαγραμματικών τεχνικών της UML και των χρήσεων τους Use Case Diagram (διάγραμμα περιπτώσεων χρήσης) Activity Diagram (διάγραμμα δραστηριοτήτων) Class Diagram (διάγραμμα κλάσεων) Interaction Diagram (διάγραμμα αλληλεπίδρασης) Sequence Diagrams (διαγράμματα αλληλουχίας) Communication Diagrams (διαγράμματα επικοινωνίας) State Diagram (διάγραμμα καταστάσεων) Component Diagram (διάγραμμα εξαρτημάτων) Package Diagram (διάγραμμα πακέτων/συσκευασίας) Deployment Diagram (διαγράμματα παράταξης) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Περιπτώσεις Χρήσης (Use Cases) Περίπτωση Χρήσης (Use Case) = ένα σύνολο σεναρίων για την επίτευξη ενός σκοπού του χρήστη Σενάριο = μια ακολουθία βημάτων που περιγράφουν την αλληλεπίδραση μεταξύ χρήστη και συστήματος Αγορά Προϊόντος 1. Ο Πελάτης πλοηγείται στον κατάλογο και επιλέγει τα προϊόντα που επιθυμεί να αγοράσει 2. Ο Πελάτης επιλέγει τη λειτουργία «Παραγγελία» 3. Ο Πελάτης συμπληρώνει τα στοιχεία αποστολής (δνση, παράδοση σε 24 ώρες, παράδοση σε 3 ημέρες) 4. Το Σύστημα του παρουσιάζει αναλυτικά την τιμή της παραγγελίας (περιλαμβανομένων των εξόδων αποστολής) 5. Ο Πελάτης συμπληρώνει τα στοιχεία της πιστωτικής του κάρτας 6. Το Σύστημα ελέγχει τα στοιχεία της κάρτας (εξουσιοδότηση, πιστωτικό όριο,..) 7. Το Σύστημα επιβεβαιώνει την πώληση αμέσως 8. Το Σύστημα στέλνει ένα η-μήνυμα επιβεβαίωσης στον Πελάτη Εναλλακτική: Authorization Failure Στο βήμα 6, το Σύστημα αποτυγχάνει να εγκρίνει την αγορά μέσω πιστωτικής. Ο Πελάτης μπορεί να ξαναδώσει τα στοιχεία της πιστωτικής του κάρτας και να ξαναπροσπαθήσει U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

25 UML Techniques Use Case Diagrams (διαγρ. περιπτώσεων χρήσης) Used for: Analysis Concerns: Behavior Παρουσιάζει τους τύπους χρηστών (actors), τις περιπτώσεις χρήσης και τιςμεταξύτουςσυσχετίσεις. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Appointment System Make appointment Patient Management Produce schedule information Doctor Record Availability U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

26 UML Techniques Activity Diagrams (διαγρ. δραστηριοτήτων) Used for: Analysis/Design Concerns: Behavior Περιγράφουν τη ροή των εργασιών. Μπορούν να χρησιμοποιηθούν για να περιγράψουν τη ροή εργασιών: σε έναν οργανισμό σε μια περίπτωση χρήσης Fill Order Receive Order Send Invoice σε μια μέθοδο μιας κλάσης [ rush order ] [ else ] Overnight Deli very Regular Delivery Receive Payment Ο τρόπος διεκπεραίωσης των παραγγελιών ενός οργανισμού Cl ose Order End U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall UML Techniques Class Diagrams (διαγράμματα κλάσεων) Used for: Analysis/Design Concerns: Structure Παρουσιάζουν τη στατική δομή εννοιών, τύπων και κλάσεων. Οι έννοιες δείχνουν πως οι χρήστες βλέπουν τον κόσμο, οι τύποι τιςδιεπαφέςτωνεξαρτημάτων λογισμικού, οι κλάσεις των τρόπο υλοποίησης των εξαρτημάτων. Customer customername : String customeraddress : String phonenumber : String address : String 1..1 Invoice invoicenumber : String invoicedate : Date invoicetotal : float ConfigurationItem itemtype : String itemdescr : String 1..n 0..n 0..1 Order ordernumber : String orderdate : Date shipaddress : String ordertotal : float orderstatus : String salespersonname : String n 1..n Computer computername : String Payment paymentmethod : String datereceived : Date amountreceived : float ConfiguredComputer configuredprice : float StandardComputer standardprice : float U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

27 UML Techniques Object Diagrams (διαγράμματα aντικειμένων) Παρουσιάζουν τη δομή των αντικειμένων στο σύστημα Used for: Analysis/Design Concerns: Structure Class diagram Object diagram Party location * children engineering:organization Location= Athens parent Person Organization 1 parent tools:organization Location= Heraklio Yannis:Person Location= Heraklion parent apps:organization Location= Rethimno Nikos:Person Location= Moires U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall UML Techniques Ιnteraction Diagrams (διαγρ. αλληλεπίδρασης) Used for: Analysis/Design Concerns: Behavior Παρουσιάζουν τον τρόπο με τον οποίο πολλά αντικείμενα συνεργάζονται σε μια Περίπτωση Χρήσης (A) Sequence Diagrams (διαγράμματα αλληλουχίας) : Order : Order Line a : Product : Customer calculateprice getquantity getproduct getpricingdetails Υπολογισμός Τιμής calculatebaseprice calculatedis counts getdiscountinfo U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

28 UML Techniques Ιnteraction Diagrams (διαγρ. αλληλεπίδρασης) Αποστολή παραγγελίας dispatch :Order careful: Distributor regular: Distributor : Messenger loop alt [for each line item] [value>10k] dispatch [else] dispatch opt [needsconfirm] confirm U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall UML Techniques Ιnteraction Diagrams (διαγρ. αλληλεπίδρασης) Sequence Diagram Communication Diagram : Department : Course : Student 1: Find( ) : Department Addition of a new student : Lecturer Find( ) Find( ) Add( ) : Lecturer 2: Find( ) : Course 3: Add( ) : Student U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

29 UML Techniques State Diagrams (διάγρ. καταστάσεων) Used for: Analysis/Design Concerns: Behavior Παρουσιάζει τις καταστάσεις που μπορεί να έχει ένα αντικείμενο (σε όλη τη διάρκεια ζωής του) και πως αυτές αλλάζουν ανάλογα με τα γεγονότα (events) που φθάνουν στο αντικείμενο άρα δεν περιοριζόμαστε σε μια Use Case Unpaid partial payment Partly Paid Οι καταστάσεις μιας Παραγγελίας: final payment final payment Fully Paid U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall UML Techniques State Diagrams (διάγρ. καταστάσεων) Rejected Unpaid partial payment Partly Paid final payment final payment Fully Paid Delivered Checking Dispatching Cancelled Waiting U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

30 UML Techniques Package Diagrams (διαγρ. συσκευασίας) Used for: Analysis/Design/Implenent Concerns: Structure Είναι ένας μηχανισμός ομαδοποίησης. Παρουσιάζει τις ομάδες κλάσεων και τις εξαρτήσεις μεταξύ τους. (μπορεί επίσης να ομαδοποιήσει και διαγράμματα της UML) applet java awt lang U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall UML Techniques Package Diagrams Cinterface <<subsystem>> presentation <<subsystem>> presentation configuration view order view Cinterface <<subsystem>> control configuration provider <<subsystem>> control order monitor Minterface Minterface <<subsystem>> mediator data mapper lazy load unit of work <<subsystem>> mediator Einterface Einterface identity map <<subsystem>> entity Finterface orders <<subsystem>> entity Finterface customers computers <<subsystem>> foundation crud <<subsystem>> foundation schema connection U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

31 UML Techniques Component Diagrams (διαγρ. εξαρτημάτων) Used for: Phys./Design/Implenent Concerns: Structure Εξάρτημα: ένα λογικό και αντικαταστάσιμο τμήμα του συστήματος το οποίο συμμορφώνεται με και πραγματώνει ένα σύνολο από διεπαφές (interfaces) Component: a logical and replaceable part of a system that conforms to and provides the realization of a set of interfaces. ProductList ProductDisplay Configuration Purchase OrderTracking U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall UML Techniques Component Diagrams (διαγρ. εξαρτημάτων) port name Interface name Booking attractions normal sales Ticket Sales Load Attractions Ticket Seller Credit Cards Ticket Sales charging priority sales U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

32 UML Techniques Deployment Diagrams (διαγρ. παράταξης) Used for: Phys./Design/Implenent Concerns: Structure Παρουσιάζει την φυσική τοποθέτηση των εξαρτημάτων στους κόμβους υλικού. Client Browser HTTP Web Server JDBC, SQLJ Database Server U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall UML Techniques Deployment Diagrams (διαγρ. παράταξης) Browser Client browser Rich Client {OS=Windows} Lala.exe http/internet http/lan Application Server Web server {OS=Solaris} {web server=apache} {number deployed =3} Lala.war Java RMI/LAN Appl JDBC Oracle DBMS U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

33 Βιβλία και Πηγές για την UML Η σχετική σελίδα της OMG: UML Resource Page: The UML 2.0 Specification: Βιβλία UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) by Martin Fowler, Addison Wesley, The Unified Modeling Language User Guide (3rd edition) by G. Booch, J. Rumbaugh, I. Jacobson, Addison Wesley, 2005 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall Βιβλία και Πηγές για την UML Υπάρχουν πολλές εκπαιδευτικές παρουσιάσεις (tutorials) στο διαδίκτυο: m Google: UML Tutorial U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 3/12/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Physical Diagrams Διαγράμματα Υλοποίησης Διαγράμματα UML Διάγραμμα

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UML: Unified modelling language

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

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

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

Ανάλυση Πληροφοριακών Συστημάτων. «Εισαγωγή στην UML» Βασίλειος Καρακόιδας 26 10 2005 Ανάλυση Πληροφοριακών Συστημάτων «Εισαγωγή στην UML» Βασίλειος Καρακόιδας 26 10 2005 Περιεχόμενα Παρουσίασης Εισαγωγικά Προαπαιτούμενα Πρόγραμμα διαλέξεων Εργασίες Λογισμικό Εισαγωγή στην UML Βιβλιογραφία

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

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

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

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

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

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

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

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

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

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

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

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

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

Περίπτωση Χρήσης Use case

Περίπτωση Χρήσης Use case Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2007 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Use Cases & Use Case Diagrams Περίπτωση Χρήσης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HelloApplet. Παύλος Εφραιμίδης Java Applets 1 HelloApplet Παύλος Εφραιμίδης pefraimi@ee.duth.gr Java Applets 1 Applets Τα Applets είναι προγράμματα Java που μπορούν να εκτελεστούν μέσα στο περιβάλλον ενός Browser (Firefox, Internet Explorer, Netscape,

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

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

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

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

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 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

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

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

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

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

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

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

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

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

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

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

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 9/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων UML - Unified

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

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

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

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

UML

UML Εισαγωγή στη UML UML Μοντέλο Μοντελοποίηση Εισαγωγή στη UML Πως φθάσαμε στη UML Γέννηση της UML Σκοπός της UML Γιατί Διαγράμματα Τυπικές Μέθοδοι (Formal Methods) Γενικά Ανάλυση και Σχεδίαση με UML [Α]

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

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 Use Cases: μια σύντομη εισαγωγή Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002 (γενικές εισαγωγικές ιδέες) ΣΥΛΛΟΓΗ ΑΠΑΙΤΗΣΕΩΝ 2 Ανάλυση απαιτήσεων Λειτουργικές απαιτήσεις: τι

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

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

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

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

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

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

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

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

Ανάλυση Πληροφοριακών Συστημάτων. «Διαγράμματα περιπτώσεων χρήσης» Βασίλειος Καρακόιδας 2 11 2005 Ανάλυση Πληροφοριακών Συστημάτων «Διαγράμματα περιπτώσεων χρήσης» Βασίλειος Καρακόιδας 2 11 2005 Περιεχόμενα Παρουσίασης Εργασίες Εισαγωγή στην UML Διαγράμματα περιπτώσεων χρήσης Άσκηση στην τάξη Μελέτη

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

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

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής oard Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Πρόγραµµα Μεταπτυχιακών Σπουδών «Πληροφορική» Μεταπτυχιακή ιατριβή Τίτλος ιατριβής Masters Thesis Title Ονοµατεπώνυµο Φοιτητή Πατρώνυµο Ανάπτυξη διαδικτυακής

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

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

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

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

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

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

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

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

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

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

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

Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων. Εισαγωγή στην UML. Βασίλειος Βεσκούκης Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων Εισαγωγή στην UML Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@unipi.gr v.vescoukis@cs.ntua.gr

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ 2015-2016

Βάσεις Δεδομένων. Εισαγωγή για το Εργαστήριο. Δρ. Τιάκας Ελευθέριος. Τμήμα Πληροφορικής ΑΠΘ 2015-2016 Βάσεις Δεδομένων Εισαγωγή για το Εργαστήριο Δρ. Τιάκας Ελευθέριος Τμήμα Πληροφορικής ΑΠΘ 2015-2016 2 Βασικοί στόχοι Μερικοί βασικοί στόχοι του εργαστηρίου είναι: Η ικανότητα ανάλυσης των απαιτήσεων, κατασκευής

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

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

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

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

Rational Unified Process:

Rational Unified Process: ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ - Μεταπτυχιακό µάθηµα: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΕΙΣ ΜΕΘΟ ΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥ Καθ. Ε. Σκορδαλάκης, ρ. Β. Βεσκούκης Rational Unified

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

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις

Σχεδιασμός Πληροφοριακών Συστημάτων. Σημειώσεις Σχεδιασμός Πληροφοριακών Συστημάτων Σημειώσεις Συμπλήρωμα για τις Εκδόσεις 4 (4.1) και 4.2 των Σημειώσεων Έκδοση 19/2/2011 Μάριος Μάντακας mmantak@gmail.com Διαφορά από την προηγούμενη Έκδοση: Προσθήκη

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

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 03: Εννοιολογική Σχεδίαση Βάσης Δεδομένων I (Entity Relationship Modelling) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: Μεθοδολογία Ανάπτυξης Βάσεων Δεδομένων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης Περιπτώσεις Χρήσης περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης περιπτώσεις χρήσης Τι θα κάνει το λογισμικό για κάποιον

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

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

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

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

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Oracle SQL Developer An Oracle Database stores and organizes information. Oracle SQL Developer is a tool for accessing and maintaining the data

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

Τμήμα Διοίκησης Επιχειρήσεων

Τμήμα Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE

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

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 Μοντελοποίηση συμπεριφοράς

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

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων

Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων ΕΣΔ516 Τεχνολογίες Διαδικτύου Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων Περιεχόμενα - Βιβλιογραφία Ενότητας Περιεχόμενα Ορισμοί Συστατικά στοιχεία εννοιολογικής σχεδίασης Συστατικά

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

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

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

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

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

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

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

Σχεδίαση Περιβάλλοντος εργασίας ενός Οργανισμού και Σχεδίαση Χάρτη διαδικασιών ενός Οργανισμού και

Σχεδίαση Περιβάλλοντος εργασίας ενός Οργανισμού και Σχεδίαση Χάρτη διαδικασιών ενός Οργανισμού και ΜΕΘΟΔΟΛΟΓΙΕΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΔΙΑΔΙΚΑΣΙΩΝ ΔΗΜΟΣΙΩΝ ΥΠΗΡΕΣΙΩΝ Σχεδίαση Περιβάλλοντος εργασίας ενός Οργανισμού και Σχεδίαση Χάρτη διαδικασιών ενός Οργανισμού και ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ

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

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

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

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ (5) ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ I ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ (5) ΓΙΩΡΓΟΣ ΜΟΥΡΚΟΥΣΗΣ Μηχανικός

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

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

Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό Ενότητα 9: Αρχιτεκτονική Λογισμικού, Όψεις Αρχιτεκτονικής Λογισμικού, Διαγράμματα UML Σταύρος

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2013 - ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΒΔ - ΕΙΣΑΓΩΓΗ ΣΤΟ ΜΟΝΤΕΛΟ ΟΝΤΟΤΗΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Αρχιτεκτονική

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

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

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

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

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

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

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

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Βασικά θέματα Βάσεων Δεδομένων Ένα Σύστημα Βάσης Δεδομένων

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

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

Tεχνολογία Λογισµικού II Tεχνολογία Λογισµικού II ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Σχολή Θετικών Επιστηµών και Τεχνολογίας Πρόγραµµα Σπουδών ΠΛHPOΦOPIKH Θεµατική Ενότητα ΣΧΕ ΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ Τόµος B' Tεχνολογία Λογισµικού II BAΣIΛEIOΣ

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

Architecture οf Integrated Ιnformation Systems (ARIS)

Architecture οf Integrated Ιnformation Systems (ARIS) Architecture οf Integrated Ιnformation Systems (ARIS) Η αρχιτεκτονική ARIS (ARchitecture οf Integrated information Systems) έχει ως στόχο της την περιγρφή όλων των όψεων ή οπτικών ενός επιχειρηματικού

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

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 16/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και Διαγράμματα Περιπτώσεων

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

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

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 15/10/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και Διαγράμματα Περιπτώσεων

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

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

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

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

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Βάσεις Δεδομένων 2η εργαστηριακή άσκηση Εισαγωγή στο περιβάλλον της oracle Δημιουργία πινάκων Δρ. Εύη Φαλιάγκα 1. Login Χρησιμοποιώντας έναν web explorer, μπαίνετε στο http://10.0.0.6:8080/apex και συμπληρώνετε

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

Μοντελοποίηση Λειτουργιών (Functional Modeling)

Μοντελοποίηση Λειτουργιών (Functional Modeling) Management Doctor Make payment arrangements Produce schedule information Record Availability «extend» «include» Manage schedule «include» Make old pat. app Make appointment Make new pat. app «include»

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

Σχεδίαση Βάσεων Δεδομένων

Σχεδίαση Βάσεων Δεδομένων Σχεδίαση Βάσεων Δεδομένων Η ιστορία των Βάσεων Δεδομένων History of the Database 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved. Στόχοι Το μάθημα αυτό καλύπτει τους ακόλουθους στόχους:

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

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

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

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

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Διαστημικό εστιατόριο του (Μ)ΑστροΈκτορα Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Μόλις μια παρέα πελατών κάτσει σε ένα

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

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

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

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

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

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

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

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

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

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

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model

Department of Computer Science University of Cyprus. EPL342 Databases. Lecture 4: ER I. Data Modeling Using the ER Model Department of Computer Science University of Cyprus EPL342 Databases Lecture 4: ER I Data Modeling Using the ER Model (Chapter 3.1-3.3, Elmasri-Navathe 5ED) ιδάσκων: Παναγιώτης Ανδρέου http://www.cs.ucy.ac.cy/courses/epl342

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

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

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

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

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

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

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

Σχεδιασμός Βάσεων Δεδομένων

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

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

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

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

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

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

Εισαγωγή στη γλώσσα µοντελοποίησης UML Εθνικό Μετσόβιο Πολυτεχνείο Σχολή ΗMMY Εισαγωγή στη γλώσσα µοντελοποίησης UML Ανδρέας Παπασαλούρος andpapas@softlab.ntua.gr Περίγραµµα Γενικά οµικά στοιχεία Τύποι διαγραµµάτων Παραδείγµατα Ειδικά θέµατα

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

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

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

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

Διάθρωση. HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design

Διάθρωση. HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2007 HΥ35 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Διάθρωση Άσκηση : Multiplicity constraints using

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου. Σχεδίαση Συστήματος

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

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

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

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

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

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

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

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

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

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

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

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

Μοτίβα Σχεδίασης (Design Patterns) Ενότητα 6 Μοτίβα Σχεδίασης (Design Patterns) Ορισµοί βασικές έννοιες. Σηµαντικά µοτίβα σχεδίασης: Παρατηρητής (Observer). Πρόσοψη (Façade). Προσαρµογέας (Adapter). Πληρεξούσιος (Proxy). Μοναχοπαίδι (Singleton).

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

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

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

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

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

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

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

How to register an account with the Hellenic Community of Sheffield.

How to register an account with the Hellenic Community of Sheffield. How to register an account with the Hellenic Community of Sheffield. (1) EN: Go to address GR: Πηγαίνετε στη διεύθυνση: http://www.helleniccommunityofsheffield.com (2) EN: At the bottom of the page, click

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