Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων
|
|
- Ξανθίππη Λαιμός
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 31/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια
2 Class Diagrams Διαγράμματα Κλάσεων
3 Διαγράμματα UML Διάγραμμα περιπτώσεων χρήσης (use case diagram) Διάγραμμα κλάσεων (class diagram) Διάγραμμα αντικειμένων (object diagram) Διάγραμμα καταστάσεων (state diagram) Διάγραμμα δραστηριοτήτων (activity diagram) Διαγράμματα αλληλεπίδρασης (interaction diagrams) Διάγραμμα ακολουθίας (sequence diagram) Διάγραμμα επικοινωνίας (communication diagram) Διαγράμματα υλοποίησης (physical diagrams) Διάγραμμα συστατικών (component diagram) Διάγραμμα ανάπτυξης (deployment diagram)
4 Άξονες Μοντελοποίησης Λειτουργικότητα functionality Τι κάνει το σύστημα; Ποιες λειτουργίες υποστηρίζει; Ανάλυση απαιτήσεων Περιγραφές από κείμενο Στατικά διαγράμματα Πώς είναι οργανωμένα τα συστατικά του τμήματα; Δυναμική συμπεριφορά Πώς ανταποκρίνεται και από ποιες καταστάσεις περνάει; Δομή structure Συμπεριφορά behaviour
5 Κατηγοριοποίηση Διαγραμμάτων UML 2.0
6 Μοντελοποίηση με τη γλώσσα UML Περιγραφή Λειτουργίας από την πλευρά του χρήστη Στατική δομή Δυναμικά χαρακτηριστικά - Συμπεριφορά Μοντελοποίηση Απαιτήσεων Μοντελοποίηση στατικής δομής του συστήματος Μοντελοποίηση δυναμικών χαρακτηριστικών του συστήματος Μοντελοποίηση της συμπεριφοράς συγκεκριμένων αντικειμένων Μοντελοποίηση των βημάτων εκτέλεσης μιας διαδικασίας Σενάρια, Διαγράμματα περιπτώσεων χρήσης (Scenaria, Use Case Diagrams) Διαγράμματα Κλάσεων (Class Diagrams) Διαγράμματα Αντικειμένων (Object Diagrams) Διαγράμματα Συστατικών (Component Diagrams) Διαγράμματα Ανάπτυξης (Deployment Diagrams) Διαγράμματα Ακολουθίας (Sequence Diagrams) Διαγράμματα Επικοινωνίας (Collaboration Diagrams Communication Diagrams στη UML 2.0) Διαγράμματα Κατάστασης (State Machine Diagrams) Διαγράμματα Δραστηριότητας (Activity Diagrams)
7 Μοντελοποίηση δομής Σκοπός είναι η περιγραφή της δομής δεδομένων που υποστηρίζουν τις επιχειρηματικές διαδικασίες Εστιάζουμε στην αντικειμενοστρεφή προσέγγιση δεδομένα μαζί με λειτουργίες
8 Γιατί να μοντελοποιήσουμε τη δομή??? Για να μειώσουμε το «σημασιολογικό χάσμα» μεταξύ του πραγματικού κόσμου και του κόσμου του λογισμικού Για να παραστήσουμε πράγματα, ιδέες και έννοιες που είναι σημαντικές για το πεδίο εφαρμογής Για να ορίσουμε ένα κοινό λεξιλόγιο για τους αναλυτές και τους χρήστες
9 Μοντελοποίηση στην Ανάλυση και Σχεδίαση ΠΣ Υψηλού επιπέδου επιχειρηματικές ανάγκες καταγεγραμμένες στην Πρόταση Συστήματος Καθορισμός Απαιτήσεων Αναλυτική Καταγραφή συγκεκριμένων απαιτήσεων Μοντελοποίηση του Συστήματος Λειτουργικότητα / Δομή / Συμπεριφορά (Functionality/Structure/Behavior
10 Εισαγωγή Τα διαγράμματα περιπτώσεων χρήσης είναι διαγράμματα καταγραφής προδιαγραφών! Τα διαγράμματα κλάσεων όμως καταγράφουν τις κλάσεις που ανήκουν σε ένα σύστημα τύπους αντικειμένων και τις στατικές συσχετίσεις που υπάρχουν μεταξύ τους! ΜΗΝ ΞΕΧΝΑΤΕ: Τα αντικείμενα αποτελούν στιγμιότυπα κλάσεων. Η κλάση είναι ένας τύπος από τον οποίο δημιουργούνται κατά τη διάρκεια της εκτέλεσης του προγράμματος αντικείμενα που ανήκουν στον τύπο αυτόν. Δηλ. μία κλάση περιγράφει ένα σύνολο αντικειμένων με: Όμοιες ιδιότητες (similar properties/attributes) Κοινή συμπεριφορά (common behavior/operations) Κοινές συσχετίσεις με άλλα αντικείμενα (common associations to other objects)
11 Διάγραμμα Κλάσεων Αναπαριστά τη στατική δομή του συστήματος σε επίπεδο κλάσεων (class structure) και τα περιεχόμενά τους (contents). Αναπαριστά τις σχέσεις μεταξύ των κλάσεων με τη χρήση σχέσεων όπως είναι η συσχέτιση (association), η σχέση εξειδίκευσης (specialization), η σχέση γενίκευσης (generalization) και άλλες. Ένα σύστημα τυπικά έχει πολλά διαγράμματα κλάσεων. Μια κλάση μπορεί να συμμετέχει σε πολλά διαγράμματα κλάσεων.
12 Τι Προσφέρει το Διάγραμμα Κλάσεων Δίνει μια στατική όψη των στοιχείων που αποτελούν το σύστημα. Όπως το σχέδιο με τα εξαρτήματα μιας μηχανής δείχνει πώς συναρμολογούνται, αλλά όχι πώς συμπεριφέρονται όταν η μηχανή τεθεί σε λειτουργία. Περιλαμβάνει ιδιότητες, λειτουργίες (μεθόδους), συσχετίσεις μεταξύ κλάσεων.
13 Διάγραμμα Κλάσεων Σε ένα διάγραμμα κλάσεων, τα ονόματα των κλάσεων πρέπει να είναι περιγραφικά και να ονομάζονται σύμφωνα με τις επιχειρησιακές οντότητες ΠΡΟΣΟΧΗ πάντα χρησιμοποιούμε ουσιαστικό (ή φράση που περιέχει ουσιαστικό για την ονομασία της κλάσης! Σε ενικό αριθμό! Οι σχέσεις μεταξύ των κλάσεων μπορεί να μην είναι εμφανείς από την αρχή της ανάλυσης του συστήματος Επαναληπτική δραστηριότητα! Σε κάθε επανάληψη διευκρινίζονται περισσότερο οι κλάσεις και οι σχέσεις μεταξύ τους
14 Διάγραμμα Κλάσεων Αρχικά περιλαμβάνει τις βασικές κλάσεις του συστήματος Έπειτα εμπλουτίζεται με νέες κλάσεις που προκύπτουν κατά την ανάλυση του συστήματος Στη συνέχεια, προστίθενται κλάσεις και διεπαφές που σχετίζονται με τον τρόπο υλοποίησης του συστήματος (π.χ. κλάσεις για τη σύνδεση με μια βάση δεδομένων, μια διεπαφή για τη σύνδεση με ένα άλλο σύστημα)
15 Διάγραμμα Κλάσεων Κατά την ανάπτυξη ενός συστήματος (παραγωγή κώδικα), οι αλλαγές που προκύπτουν στις κλάσεις, στις διεπαφές, στα χαρακτηριστικά και στις λειτουργίες των κλάσεων ΠΡΕΠΕΙ πρώτα να αναπαρίστανται στα μοντέλα των κλάσεων και ύστερα αυτές οι αλλαγές να πραγματοποιούνται στον κώδικα του συστήματος. Έτσι πετυχαίνουμε: Σωστή και πλήρης τεκμηρίωση συστήματος (system specification) Σωστά και πλήρη παραδοτέα συστήματος (system deliverables) Διάγραμμα κλάσεων: κατάλληλο σημείο αναφοράς για όλους που εμπλέκονται στην ανάλυση, σχεδιασμό και ανάπτυξη συστήματος Πιο εύκολη συντήρηση συστήματος
16 Οπτική γωνία σχεδίασης Διαγραμμάτων Κλάσεων Ανάλυση προδιαγραφών ΟΔΗΓΕΙ ΣΕ γνώση για το πεδίο του προβλήματος του συστήματος Διάγραμμα κλάσεων: μοντέλο του πεδίου προβλήματος (problem domain model) Καταγραφή κλάσεων ως έννοιες του πεδίου του προβλήματος Μπορεί οι κλάσεις αυτές να μην υπάρχουν στο λογισμικό που θα κατασκευαστεί (έστω και αν, κατά πάσα πιθανότητα, οι περισσότερες από αυτές θα υπάρχουν) Για κάθε κλάση του μοντέλου αυτού ενδεχομένως να αναγραφούν κάποιες υψηλού επιπέδου υποχρεώσεις (σαν λειτουργίες τους) ΟΧΙ απαραίτητο οι λειτουργίες αυτές να εμφανισθούν στο διάγραμμα κλάσεων του λογισμικού ως μέθοδοι των αντίστοιχων κλάσεων ΕΠΟΜΕΝΩΣ αρχικά μοντελοποίηση προβλήματος και όχι λύσης
17 Προοπτικές Διαγράμματος Κλάσεων Εννοιολογική (Conceptual) Ανεξάρτητη υλοποίησης, μοντέλο πεδίου (domain model) Προδιαγραφής (Specification) Αφορά κυρίως στις διεπαφές λογισμικού (interfaces of the software), και δεν αντανακλά την υλοποίηση Υλοποίησης (Implementation) Εδώ μοντελοποιούμε τις συγκεκριμένες κλάσεις υλοποίησης (implementation classes)
18 Παραδοσιακή αναπαράσταση
19 ΟΟ αναπαράσταση
20 Κλάση, ιδιότητες και λειτουργίες Κλάσεις: ενσωματώνουν δεδομένα + λειτουργίες που επενεργούν στα δεδομένα αυτά Όνομα κλάσης Υποχρεωτικό Ορθογώνιο Παραλληλόγραμμο με τρία διαμερίσματα Account - balance: Money + withdraw(amount: Money) + deposit(amount: Money) Ιδιότητες Λειτουργίες Από ποια οπτική γωνία σχεδίασης??? κλάση λογισμικού ή έννοια του πεδίου του προβλήματος Οι λειτουργίες??? μέθοδοι ή υποχρεώσεις υψηλού επιπέδου
21 Ιδιότητες (γνωρίσματα) Υποχρεωτικό Ορθογώνιο Παραλληλόγραμμο με τρία διαμερίσματα Account - balance: Money + withdraw(amount: Money) + deposit(amount: Money) Όνομα κλάσης Ιδιότητες Λειτουργίες Εννοιoλογική: Ιδιότητα Π.χ. Ο «λογαριασμός» (account) έχει «υπόλοιπο» (balance) Προδιαγραφής Π.χ. Ένα αντικείμενο «λογαριασμός» (account) μπορεί να πει ή να θέσει το «υπόλοιπο» (balance) του Υλοποίησης Π.χ. Ενα αντικείμενο «λογαριασμός» (account) έχει ένα πεδίο «υπόλοιπο» (balance)
22 Κλάση, ιδιότητες και λειτουργίες Συνήθως: Iδιότητες ιδιωτικές (private) χαρακτηριστικά μιας κλάσης που δεν είναι προσπελάσιμα από άλλες κλάσεις Λειτουργίες δημόσιες (public) χαρακτηριστικά μιας κλάσης που είναι προσπελάσιμα από άλλες κλάσεις Οι μέθοδοι ουσιαστικά αποτελούν τη διεπαφή (interface) ανάμεσα στην κλάση και το υπόλοιπο σύστημα. Ιδιωτικές??? Δηλαδή??? Τα αντικείμενα άλλων κλάσεων δεν έχουν τη δυνατότητα να προσπελάσουν απευθείας τις ιδιότητες μίας κλάσης, αλλά χρησιμοποιούν για αυτό τις μεθόδους της κλάσης
23 Δομή αντικειμένου Στατικό μέρος (private) Δεδομένα (Μεταβλητές) Δυναμικό μέρος (public) Διαδικασίες (Μέθοδοι)
24 Κλάση, ιδιότητες και λειτουργίες Μια κλάση «Φοιτητής» (Student) αναπαριστά την οντότητα του φοιτητή σε ένα σύστημα Η κλάση «Φοιτητής» ενσωματώνει πληροφορίες για το φοιτητή όπως το μοναδικό κωδικό του φοιτητή, το όνομα του φοιτητή κ.α., τα οποία αποτελούν τα χαρακτηριστικά/ιδιότητες της κλάσης «Φοιτητής» Η κλάση «Φοιτητής» έχει επίσης κάποια λειτουργικότητα, η οποία αναπαρίσταται με λειτουργίες, όπως είναι οι λειτουργίες: getstudentname(), getstudentid() κ.α.
25 Κλάση, ιδιότητες και λειτουργίες Student -StudentId -StudentName -StudentAddress +getstudentid () +getstudentname () +getstudentaddress ()
26 Αναπαράσταση κλάσεων - παράδειγμα Ελέφαντας Χρώμα: string Αριθμός χαυλιοδόντων: integer Τοποθεσία: string Βάρος: real Ύψος: real κίνηση_προς (τοποθεσία) πλύσιμο (ημερομηνία) λήψη_τροφής ( ποσότητα, ημερομηνία, ώρα)
27 Αναπαράσταση κλάσεων - παράδειγμα Μάθημα Κωδικός μαθήματος Θεματική ενότητα Τίτλος Διδάσκων Προσθήκη Μαθήματος () Διαγραφή Μαθήματος () Μεταβολή στοιχείων Μαθήματος () Ανάθεση Μαθήματος ()
28 Αναπαράσταση κλάσεων - παράδειγμα Καθηγητής Αρ. Ταυτότητας Όνομα Επώνυμο Διεύθυνση Τηλέφωνο Προσθήκη Καθηγητή () Διαγραφή Καθηγητή () Μεταβολή στοιχείων Καθηγητή ()
29 Κλάση, ιδιότητες και λειτουργίες Αρχή απόκρυψης των δεδομένων (information hiding principle) ενθυλάκωση (encapsulation) Πλεονεκτήματα: Αλλαγή κατά βούληση της εσωτερικής παράστασης των δεδομένων χωρίς να επηρεάσει τους χρήστες των αντικειμένων της κλάσης (άλλα αντικείμενα που αλληλεπιδρούν με αυτήν) εφόσον η δημόσια διασύνδεση και η σημασιολογία της παραμένουν ίδιες Εφαρμογή πολιτικών ελέγχου από τις μεθόδους της κλάσης για την προσπέλαση της κλάσης Παράδειγμα έλεγχος έγκυρων παραμέτρων κλήσης (π.χ. το ποσό που ζητείται για ανάληψη δεν είναι αρνητικό) και εκτέλεση κώδικα μόνο στην περίπτωση αυτή
30 Προσδιοριστές πρόσβασης / Ετικέτες ορατότητας (visibility tags) " " : ιδιωτική πρόσβαση (by owing class) "+" : δημόσια πρόσβαση (by all used) "#" : προστατευμένη πρόσβαση (by owing class and its subclasses) η ιδιότητα ή λειτουργία είναι προσπελάσιμη από την κλάση και τις τυχόν υποκλάσεις της "~" : πρόσβαση σε επίπεδο πακέτου η ιδιότητα ή λειτουργία είναι προσπελάσιμη από την κλάση στην οποία δηλώνεται και τις άλλες κλάσεις που βρίσκονται στο ίδιο πακέτο με αυτήν
31 Συντακτικό για τη δήλωση ιδιοτήτων (properties) στη UML Προσδιοριστής_πρόσβασης όνομα_ιδιότητας: Τύπος [πολλαπλότητα διάταξη] = Αρχική_τιμή {συμβολοσειρά ιδιοτήτων} Προσδιοριστής_πρόσβασης: +,-,#, ή ~ Τύπος: τύπος δεδομένων (π.χ. String, int, boolean, char, real, πίνακας) Πολλαπλότητα: διάστημα τιμών με κάτω και πάνω όριο (π.χ. 1..5) ή συγκεκριμένη αριθμητική τιμή (π.χ. 1). Αν πάνω όριο αστερίσκος άπειρες τιμές (π.χ. 1...*) Αν μόνο * 0 ή περισσότερα. Διάταξη: μπορεί να μην υπάρχει ή λέξη unordered οπότε θεωρείται πως δεν υπάρχει διάταξη ή λέξη ordered, οπότε υπάρχει διάταξη Η διάταξη αφορά την περίπτωση που έχουμε πολλαπλότητα μεγαλύτερη από 1.
32 Συντακτικό για τη δήλωση ιδιοτήτων (properties) στη UML Προσδιοριστής_πρόσβασης όνομα_ιδιότητας: Τύπος [πολλαπλότητα διάταξη] = Αρχική_τιμή {συμβολοσειρά ιδιοτήτων} Όταν έχουμε πολλές τιμές (π.χ. έναν πίνακα τιμών), η διάταξη σημαίνει πως έχει σημασία η σειρά των τιμών (ποια είναι πρώτη, ποια δεύτερη κ.λπ.) Επομένως στην υλοποίηση της συγκεκριμένης κλάσης με γλώσσα προγραμματισμού ΠΡΕΠΕΙ να χρησιμοποιηθεί συλλογή που σέβεται τη διάταξη (π.χ. λίστα) και όχι κάποια που δεν εγγυάται τη διάταξη (π.χ. σύνολο). Αρχική_τιμή: η τιμή που αποδίδεται στη συγκεκριμένη ιδιότητα (με την οποία "αρχικοποιείται") μετά τη δημιουργία ενός αντικειμένου της κλάσης. Η τιμή θα πρέπει να ανήκει στον τύπο της ιδιότητας. Συμβολοσειρά ιδιοτήτων: περιέχει ιδιότητες για τη συγκεκριμένη δήλωση. Μια ιδιότητα που χρησιμοποιείται συχνά είναι η {frozen}, που χαρακτηρίζει μία ιδιότητα ως αμετάβλητη, δηλαδή αφού πάρει κάποια τιμή για πρώτη φορά, στη συνέχεια δεν μεταβάλλεται.
33 Παραδείγματα Προσδιοριστής_πρόσβασης όνομα-ιδιότητας: Τύπος [πολλαπλότητα διάταξη] = Αρχική_τιμή {συμβολοσειρά ιδιοτήτων} 1. Διατήρηση συλλογής με τα ονόματα των φοιτητών ενός τμήματος με αλφαβητική σειρά: - students : string[* ordered] Πολλαπλότητα * επειδή υπάρχουν πολλοί φοιτητές Διάταξη ordered επειδή η συγκεκριμένη συλλογή τιμών είναι διατεταγμένη
34 Παραδείγματα Προσδιοριστής_πρόσβασης όνομα-ιδιότητας: Τύπος [πολλαπλότητα διάταξη] = Αρχική_τιμή {συμβολοσειρά ιδιοτήτων} 2. Δήλωση σταθεράς για το επιτόκιο καταθέσεων τράπεζας το επιτόκιο είναι πραγματικός αριθμός και, αφού πάρει κάποια τιμή, η τιμή αυτή διατηρείται (δηλαδή είναι σταθερά). Έστω ότι το αρχικό επιτόκιο είναι 3,5% - interestrate : double = {frozen} Χρήση αρχικής τιμής και συμβολοσειράς ιδιοτήτων {frozen} για να υποδηλώσουμε ότι πρόκειται για σταθερά
35 Συντακτικό για τη δήλωση λειτουργιών/μεθόδων στη UML Προσδιοριστής_πρόσβασης όνομα (λίστα_παραμέτρων): Τύπος_επιστροφής {συμβολοσειρά ιδιοτήτων} Προσδιοριστής_πρόσβασης: +,-,#, ή ~ Όνομα: όνομα λειτουργίας, μία συμβολοσειρά... Λίστα_παραμέτρων: προσδιορίζει τις παραμέτρους της λειτουργίας, χωρισμένες με κόμμα. Μπορεί να είναι και κενή Για κάθε παράμετρο, έχουμε direction, όνομα και τύπο: [in out inout] όνομα-παραμέτρου : τύπος = εξ ορισμού τιμή. in η παράμετρος εισάγεται στη λειτουργία αλλά δεν μεταβάλλεται από αυτήν (default τιμή, αν δεν εμφανίζεται κάτι άλλο) out ΔΕΝ εισάγεται κάποια τιμή για την παράμετρο αλλά επιστρέφεται τιμή από τη λειτουργία inout ΚΑΙ εισάγεται τιμή στην παράμετρο, ΚΑΙ η λειτουργία μπορεί να μεταβάλλει την τιμή αυτή Τύπος: τύπος της παραμέτρου και προαιρετικά μπορούμε να δώσουμε και κάποια εξ ορισμού τιμή για την παράμετρο.
36 Συντακτικό για τη δήλωση λειτουργιώνμεθόδων στη UML Προσδιοριστής_πρόσβασης όνομα (λίστα_παραμέτρων): Τύπος_επιστροφής {συμβολοσειρά ιδιοτήτων} Τύπος_επιστροφής: προσδιορίζει τον τύπο των δεδομένων που επιστρέφει η συνάρτηση (π.χ. int, boolean κ.λπ.), αν απαιτείται Συμβολοσειρά ιδιοτήτων: προσδιορίζουμε κάποιες ιδιότητες για τη λειτουργία. Μια πολύ κοινή ιδιότητα είναι η {query} (ερώτημα) με την οποία προσδιορίζεται ότι η λειτουργία είναι ερώτημα, δηλαδή δεν μεταβάλλει την κατάσταση (state) του αντικειμένου όταν καλείται. Ο προσδιορισμός των ερωτημάτων είναι πολύ χρήσιμος στην πράξη, επειδή επισημαίνουν ποιες λειτουργίες δεν χρειάζεται να μας ανησυχούν σε περιπτώσεις πολλαπλών ταυτόχρονων προσπελάσεων (σε ταυτόχρονα συστήματα). Αφού τα ερωτήματα δεν μεταβάλλουν την κατάσταση ενός αντικειμένου, η ταυτόχρονη πρόσβαση σε αυτά δεν μπορεί να οδηγήσει σε ασυνέπειες στην κατάσταση του αντικειμένου.
37 Συντακτικό για τη δήλωση λειτουργιών/μεθόδων στη UML Προσδιοριστής_πρόσβασης όνομα (λίστα_παραμέτρων): Τύπος_επιστροφής {συμβολοσειρά ιδιοτήτων} Συμβολοσειρά ιδιοτήτων: προσδιορίζουμε κάποιες ιδιότητες για τη λειτουργία. {abstract}: χρειάζεται ένα παιδί για την ολοκλήρωση της υλοποίησης {static}: συμπεριφέρεται ως global procedure Το όνομα, ο τύπος επιστροφής και οι παράμετροι μιας λειτουργίας αποτελούν την υπογραφή μιας λειτουργίας (signature of an operation)
38 Παραδείγματα Προσδιοριστής_πρόσβασης όνομα (λίστα_παραμέτρων): Τύπος_επιστροφής {συμβολοσειρά ιδιοτήτων} 1. Λειτουργία για την ανάληψη μετρητών από ένα λογαριασμό: δέχεται το ποσό της ανάληψης ως παράμετρο, επιστρέφει ως αποτέλεσμα μία λογική τιμή (true ή false) ανάλογα με το αν η ανάληψη ήταν επιτυχής ή απέτυχε (π.χ. δεν επαρκεί το υπόλοιπο) + withdraw(in amount: Money) : boolean Παράμετρος: αναφερόμαστε σε τύπο δεδομένων που ονομάζεται Money Έχει σίγουρα δηλωθεί σε άλλο σημείο του συστήματος Παράμετρος in διότι δεν μεταβάλλεται από τη λειτουργία Οι παράμετροι in υλοποιούνται στις γλώσσες προγραμματισμού με "κλήσεις με τιμές" (call by value).
39 Παραδείγματα Προσδιοριστής_πρόσβασης όνομα (λίστα_παραμέτρων): Τύπος_επιστροφής {συμβολοσειρά ιδιοτήτων} 2. Λειτουργία που να επιστρέφει το τρέχον υπόλοιπο ενός τραπεζικού λογαριασμού + getbalance():money {query} Συμβολοσειρά ιδιοτήτων {query} σημαίνει πως η λειτουργία είναι ερώτημα, δεν μεταβάλλει την κατάσταση του αντικειμένου στο οποίο καλείται (δεν αλλάζει το υπόλοιπο)
40 Λειτουργίες και ιδιότητες με εμβέλεια κλάσης Παράδειγμα: θέλουμε να μπορούμε να δημιουργήσουμε αντικείμενα Account διαβάζοντας τα στοιχεία για τη δημιουργία κάθε τέτοιου αντικειμένου από μια βάση δεδομένων +createaccount(accountld : String) : Account Παράμετρος εισόδου: AccountID (αναγνωριστικό λογαριασμού) Γίνεται προσπέλαση βάσης δεδομένων για τη δημιουργία αντικειμένου Account με τα στοιχεία που υπάρχουν αποθηκευμένα με αυτό το AccountlD, και επιστροφή αυτού του αντικειμένου
41 Λειτουργίες και ιδιότητες με εμβέλεια κλάσης Η λειτουργία αυτή δεν έχει σχέση με τα δεδομένα κάποιου συγκεκριμένου αντικειμένου Βρίσκεται όμως στην κλάση «Account», επειδή η κλάση αυτή περιέχει τις πληροφορίες που είναι απαραίτητες για τη δημιουργία ενός λογαριασμού ΑΡΑ δήλωση λειτουργίας με εμβέλεια κλάσης (class scope) στην κλάση «Account» Οι λειτουργίες ή ιδιότητες με εμβέλεια κλάσης στις γλώσσες προγραμματισμού (π.χ. Java) συνήθως ονομάζονται static. Account Υπογράμμιση λειτουργίας με εμβέλεια κλάσης - balance: Money +create(accountid: String) : Account + withdraw(amount: Money) + deposit(amount: Money)
42 Λειτουργίες και ιδιότητες με εμβέλεια κλάσης Βicycle public class Bicycle{ private int gear; private int speed; private int id; private static int numberofbicycles = 0; -gear: int -speed: int -id: int -numberofbicycles: int +getnumberofbicycles(): int +Bicycle(in startspeed:int, in startgear:int) } public Bicycle(int startspeed, int startgear){ gear = startgear; speed = startspeed; // increment number of Bicycles and assign ID number id = ++numberofbicycles; } public static int getnumberofbicycles() { return numberofbicycles; }
43 Συνδέσεις μεταξύ κλάσεων 1. Συσχετίσεις (associations) 2. Γενικεύσεις (generalizations) 3. Συναθροίσεις (aggregations) 4. Συνθέσεις (compositions) 5. Εξαρτήσεις (dependencies)
44 Συσχετίσεις κλάσεων Συσχέτιση (association) μεταξύ δύο κλάσεων: στατική σχέση μεταξύ των δύο κλάσεων ΠΟΤΕ ΧΡΕΙΑΖΕΤΑΙ??? ΟΤΑΝ για τη λειτουργία μιας κλάσης απαιτείται η συνεργασία της με μία ή περισσότερες άλλες κλάσεις Αν αυτή η συνεργασία απαιτείται να είναι: σε μόνιμη βάση, τότε χρησιμοποιούμε συσχέτιση παροδική (π.χ. όταν αντικείμενα της κλάσης «Α» είναι παράμετροι σε μια λειτουργία της κλάσης «Β»), τότε χρησιμοποιούμε εξάρτηση
45 Συσχετίσεις κλάσεων Ένας τραπεζικός λογαριασμός μπορεί να έχει έναν ή περισσότερους δικαιούχους που είναι στιγμιότυπα της κλάσης «Customer». ΤΟΤΕ συσχέτιση μεταξύ των κλάσεων «Account» και «Customer». Account -accounts has -holders 1..* 1..* Customer Ευθεία γραμμή μεταξύ των κλάσεων για την αναπαράσταση της συσχέτισης
46 Συσχετίσεις κλάσεων Προαιρετικά μπορούμε να έχουμε σε μία συσχέτιση τα εξής στοιχεία: Όνομα συσχέτισης Ονόματα άκρων συσχέτισης Πολλαπλότητα (multiplicity) Πλοηγησιμότητα (navigability)
47 Όνομα συσχέτισης Λέξη που υποδηλώνει το νόημα της συσχέτισης Το όνομα, όταν αναγράφεται, θα πρέπει να τοποθετείται στο μέσο του συνδέσμου έτσι ώστε να μη συγχέεται με τα ονόματα που πιθανώς θα υπάρχουν στα άκρα των συσχετίσεων Account -accounts has -holders 1..* 1..* Customer Η λέξη "has" ("έχει") πρέπει να διαβάζεται από την κλάση «Customer» προς την κλάση «Account»: ένας πελάτης έχει λογαριασμούς.
48 Ονόματα άκρων συσχέτισης Σε κάθε άκρο συσχέτισης όνομα που υποδηλώνει το ρόλο της κλάσης στη συσχέτιση Account -accounts has -holders 1..* 1..* Customer Στο άκρο της συσχέτισης που αφορά την κλάση «Customer»: όνομα "holders" ("δικαιούχοι") επειδή η συσχέτιση αφορά τους πελάτες που είναι δικαιούχοι ενός λογαριασμού Το όνομα του άκρου συσχέτισης προσδιορίζει το ρόλο μίας κλάσης στη συσχέτιση (κάποιες φορές αναφέρεται και ως όνομα ρόλου (role name))
49 Ονόματα άκρων συσχέτισης ΟΤΑΝ η ίδια κλάση συσχετίζεται με μία άλλη κλάση με δύο διαφορετικές συσχετίσεις ΤΟΤΕ όνομα άκρου συσχέτισης απαραίτητο για να υποδηλώσει ποιος είναι ο ρόλος της πρώτης συσχέτισης και ποιος της δεύτερης 1 Department -teachers 1..* Teacher 1 -president 1 Κλάση «Department» για τμήμα εκπαιδευτικού ιδρύματος και κλάση «Teacher» για τους εκπαιδευτικούς του τμήματος 1. Συσχέτιση που αφορά τους εκπαιδευτικούς του τμήματος (teachers) 2. Συσχέτιση που αφορά τον πρόεδρο του τμήματος (επίσης εκπαιδευτικός (president).
50 Πολλαπλότητα Αφορά ένα άκρο μίας συσχέτισης Είναι το πλήθος των αντικειμένων που μπορούν να μετέχουν σε μία συσχέτιση. Εκφράζονται με κάτω και πάνω όρια. 1, 1..1 μία και μόνο μία, υποχρεωτική & μονότιμη συσχέτιση *, 0..*, ή περισσότερες ΔΗΛ κανένας περιορισμός 1..* , 4 μία ή περισσότερες, υποχρεωτική & πλειότιμη συσχέτιση 0 ή 1, δηλαδή προαιρετική συσχέτιση κάποιος συγκεκριμένος αριθμός κάποια συγκεκριμένη περιοχή τιμών μη συνεχόμενες σειρές τιμών Παραδείγματα πιο γενικών περιορισμών: (για ποδοσφαιρικές ομάδες) 3..4 (για τροχούς αυτοκινήτων)
51 Πολλαπλότητα Account -accounts has -holders 1..* 1..* Customer Ένας λογαριασμός μπορεί να έχει έναν ή περισσότερους δικαιούχους (1..* στο άκρο holders) και ένας πελάτης μπορεί να έχει έναν ή περισσότερους λογαριασμούς (1..* στο άκρο accounts)
52 Πολλαπλότητα Copy is a copy of 1..* 1 Book Κάθε copy συσχετίζεται μέσω της συσχέτησης is a copy of με ακριβώς ένα book. Για αυτό βάλαμε 1 στο άκρο της συσχέτισης που αφορά την κλάση Book Από την άλλη πλευρά, μπορεί να υπάρχουν πολλά αντόγραφα ενός συγκεκριμένου βιβλίου στο σύστημά μας. Επομένως η πολλαπλότητα στο άκρο της συσχέτισης που αφορά την κλάση Copy είναι 1..*
53 Παραδείγματα Author uses Computer Ένας συγγραφέας (author) χρησιμοποιεί υπολογιστή (computer). Η κλάση author συνδέεται με την κλάση computer. Person owns 1..* * Car Ένας άνθρωπος (person) έχει πολλά (0 ως πολλά) αυτοκίνητα (car). Ένα αυτοκίνητο μπορεί να κατέχεται από πολλούς (1 ως πολλούς) ανθρώπους
54 Παραδείγματα Insurance Company makes 1 * Insurance Contract * concerns 1..* Customer Μία ασφαλιστική εταιρεία (insurance company) έχει πολλά (0 ως πολλά) ασφαλιστικά συμβόλαια (insurance contracts). Ένας πελάτης (customer) μπορεί να έχει από 0 ως πολλά ασφαλιστικά συμβόλαια. Ένα συμβόλαιο σχετίζεται με μία ασφαλιστική εταιρεία. Ένα συμβόλαιο αφορά έναν ή περισσότερους πελάτες
55 Πηγές Ε. Κιουντούζης, Μεθοδολογίες Ανάλυσης και Σχεδιασμού Πληροφοριακών Συστημάτων,Εκδόσεις Α.Σταμούλη, Αθήνα 2002 Γιάννης Τζίτζικας. Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων, Πανεπιστήμιο Κρήτης Shari Lawrence Pfleeger. Τεχνολογία Λογισμικού: Θεωρία και Πράξη, τόμος 1, Κλειδάριθμος, Αθήνα, 2003 Leszek A. Maciaszek, Requirements Analysis and System Design (2nd edition), Addison Wesley, 2005 A.Dennis, B. Haley Wixom, D. Tegarden, Systems Analysis and Design with UML Version 2.0 (2nd edition) Wiley, 2005 Booch G., Rumbaugh J., Jacobson I. Unified Modeling Language User Guide. Addison- Wesley Professional 2 Edition, ISBN Pascal Roques, UML in Practice, John Wiley, 2004 UML Fundamentals & OOAD UML 2.0, Αφροδίτη Τσαλγατίδου. Εισαγωγή στη UML, Καποδιστριακό Πανεπιστήμιο Αθηνών Αντικειμενοστρεφής Ανάπτυξη Λογισμικού με τη UML, επιμέλεια Π. Φιτσιλής, Κλειδάριθμος 2006 Ιωάννης Γαβιώτης. Πληροφοριακά Συστήματα Μοντελοποίηση με UML, Πανεπιστήμιο Αιγαίου
Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων 21/11/2016 Τεχνολογία Λογισμικού & Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Ανάλυση Συστημάτων Object Diagrams Διαγράμματα Αντικειμένων
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Άξονες
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 30/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Διαγράμματα UML Διάγραμμα
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 3/12/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Physical Diagrams Διαγράμματα Υλοποίησης Διαγράμματα UML Διάγραμμα
Διαβάστε περισσότεραΔιαγράμματα Κλάσεων στη Σχεδίαση
Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 26/11/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr State Diagrams Διαγράμματα Καταστάσεων Διαγράμματα UML Διάγραμμα
Διαβάστε περισσότεραUML: Unified modelling language
UML: Διαγράμματα UML: Unified modelling language Γλώσσα μοντελοποίησης για ανάλυση και σχεδιασμό Παρέχει το συμβολισμό για ανάλυση και σχεδιασμό. Είναι γλώσσα συμβολισμού. Δεν είναι ολόκληρη μεθοδολογία.
Διαβάστε περισσότεραΠεριεχόμενο του μαθήματος
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια
Διαβάστε περισσότερα08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο
08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language
Διαβάστε περισσότεραΤεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 9/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων UML - Unified
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 10/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 7/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Άξονες
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 20/11/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr State Diagrams Διαγράμματα Καταστάσεων 1 Διαγράμματα UML Διάγραμμα
Διαβάστε περισσότερα3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Διαβάστε περισσότεραΜοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams
Μοντελοποίηση Συστημάτων Διαγράμματα Κλάσεων ClassDiagrams Διαγράμματα Κλάσεων Χρησιμοποιούνται στα βήματα: Ανάλυση απαιτήσεων Π.Σ. Σχεδιασμός Π.Σ. Είναι στατικά διαγράμματα που δείχνουν: Κλάσεις Ιδιότητες
Διαβάστε περισσότεραΔιαχείριση Πληροφοριακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων 5/12/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων 5/12/2016 Τεχνολογία Λογισμικού & Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Ανάλυση Συστημάτων State Diagrams Διαγράμματα Καταστάσεων
Διαβάστε περισσότεραUML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα
ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την
Διαβάστε περισσότεραΔιαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων
Διαγράμματα UML στην Ανάλυση Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων περιεχόμενα παρουσίασης Διαγράμματα κλάσεων Διαγράμματα αντικειμένων διαγράμματα κλάσεων Χρησιμοποιούνται στην ανάλυση
Διαβάστε περισσότεραΜοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές
Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές Ελληνικό Ανοικτό Πανεπιστήμιο ΓΤΠ61 Πληροφορική Πολυμέσα Αγγελική Μαζαράκη Τι είναι η UML Είναι μια γραφική γλώσσα μοντελοποίησης συστημάτων.
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας
Ανάλυση Πληροφοριακών Συστημάτων «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας 7 12 2005 Περιεχόμενα Παρουσίασης Βασικές Έννοιες Αντικειμενοστραφούς προγραμματισμού
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Unified Modeling Language II Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων Διαγράμματα UML Διάγραμμα περιπτώσεων
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων
ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ Οι Μηχανικοί Λογισμικού παράγουν μοντέλα που βοηθούν στη διατύπωση των απαιτήσεων με τη μορφή προδιαγραφών. Η εργασία της παραγωγής μοντέλων περιγράφεται ως ανάλυση απαιτήσεων. Η ανάλυση
Διαβάστε περισσότεραΕισαγωγή στην αντικειµενοστρεφή τεχνολογία
1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στην αντικειµενοστρεφή τεχνολογία ρ. Πάνος Φιτσιλής Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2 Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης
Διαβάστε περισσότεραΕργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ:
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 06/11/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Class Diagrams Διαγράμματα Κλάσεων 1 Διαγράμματα UML Διάγραμμα
Διαβάστε περισσότερα09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο
09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language
Διαβάστε περισσότεραΔιαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων
Διαγράμματα UML στην Ανάλυση Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων περιεχόμενα παρουσίασης Διαγράμματα επικοινωνίας Διαγράμματα ακολουθίας Διαγράμματα
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 18/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΜοντελοποίηση Πεδίου
Μοντελοποίηση Πεδίου περιεχόμενα παρουσίασης Εννοιολογικές κλάσεις Συσχετίσεις εννοιολογικών κλάσεων Τύποι ιδιοτήτων Γενίκευση Συχνά σφάλματα μοντελοποίησης πεδίου Εννοιολογικές κλάσεις και κλάσεις λογισμικού
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων 21/11/2016 Τεχνολογία Λογισμικού & Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Ανάλυση Συστημάτων Activity Diagrams Διαγράμματα Δραστηριοτήτων
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 24/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 13/11/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Activity Diagrams Διαγράμματα Δραστηριοτήτων Διαγράμματα UML
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 16/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και Διαγράμματα Περιπτώσεων
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 15/10/2018 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και Διαγράμματα Περιπτώσεων
Διαβάστε περισσότεραΑπό τη UML στον Κώδικα. Μέρος Α
Από τη UML στον Κώδικα Μέρος Α περιεχόμενα παρουσίασης Κλάσεις Ισότητα αντικειμένων Μονόδρομες συσχετίσεις με πολλαπλότητα «ένα» Μονόδρομες συσχετίσεις με πολλαπλότητα «πολλά» Συλλογές από το σχέδιο στον
Διαβάστε περισσότεραΠληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)
Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 17/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Use Case Models & Diagrams Μοντέλα και
Διαβάστε περισσότεραΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9)
ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9) ΓΙΩΡΓΟΣ ΜΟΥΡΚΟΥΣΗΣ Μηχανικός Η/Υ & Πληροφορικής
Διαβάστε περισσότεραΑρχές Τεχνολογίας Λογισμικού Εργαστήριο
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?
Διαβάστε περισσότεραΔιάγραμμα Κλάσεων. Class Diagram
Διάγραμμα Κλάσεων Class Diagram Γενικά Ορίζει τις κλάσεις αντικειμένων σε ένα σύστημα, τις μεθόδους και τις συναρτήσεις τους, και τις συσχετίσεις μεταξύ των κλάσεων. Περιγράφουν την δομή και συμπεριφορά
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
Διαβάστε περισσότεραΠληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος)
Πληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων και Τροφίμων
Διαβάστε περισσότεραΑνάλυση Περιπτώσεων Χρήσης
Ανάλυση Περιπτώσεων Χρήσης ανάλυση απαιτήσεων ü Διαγράμματα Δραστηριότητας. Επιχειρησιακή μοντελοποίηση και ροή εργασιών σε περιπτώσεις χρήσης ü Μοντελοποίηση Πεδίου. Δημιουργία διαγραμμάτων κλάσεων για
Διαβάστε περισσότεραΕργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου
Διαβάστε περισσότερα2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Διαβάστε περισσότεραΚλάσεις και αντικείμενα #include <iostream.h<
Κλάσεις και αντικείμενα #include class Person private: char name[30]; int age; public: void readdata() cout > name; cout > age; void
Διαβάστε περισσότεραΠεριεχόμενο του μαθήματος
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος
Διαβάστε περισσότεραΤα διαγράµµατα κλάσεων
1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα κλάσεων ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικές έννοιες µοντέλου κλάσεων Βασικές συσχετίσεις Παραδείγµατα 3 ιαγράµµατα κλάσεων (class diagrams) Είναι το βασικότερο
Διαβάστε περισσότερα. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014
.. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 8 Πακέτα (Packages) Access
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός
Κλάσεις Αντικειμενοστραφής Προγραμματισμός Κλάσεις-Αντικείμενα Ένα παράδειγμα Συναρτήσεις κατασκευής (Constructors) Συνάρτηση καταστροφής (Destructor) Συναρτήσεις πρόσβασης (Access Functions) Συνάρτηση
Διαβάστε περισσότεραΜέθοδοι μοντελοποίησης
Μέθοδοι μοντελοποίησης Ευθύμιος Ταμπούρης tambouris@uom.gr Περιεχόμενα Ο ρόλος των μοντέλων Διαγράμματα Δραστηριοτήτων Διαγράμματα Περιπτώσεων Χρήσης Διαγράμματα Κλάσεων Διαγράμματα Ακολουθίας Διαγράμματα
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Κλάσεων. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Κλάσεων Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Αντικειμενοστρεφής Ανάλυση Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότερα(Διαφάνειες Νίκου Βιδάκη)
(Διαφάνειες Νίκου Βιδάκη) JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο? Ανάλυση αντικειμένων Πραγματικά αντικείμενα Καταστάσεις Συμπεριφορές Αντικείμενα στον προγραμματισμό
Διαβάστε περισσότεραΜέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης
Αντικειµενοστραφής Σχεδίαση Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Μέθοδοι Στα πρώτα στάδια της γράφουµε µόνο τα ονόµατα των µεθόδων Γράφουµε τις
Διαβάστε περισσότεραΔιαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής
Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής περιεχόμενα παρουσίασης Διαγράμματα πακέτων Διαγράμματα συστατικών Διαγράμματα παράταξης Το μοντέλο των 4+1 όψεων τεκμηρίωση αρχιτεκτονικής και UML
Διαβάστε περισσότεραΕισαγωγή στη γλώσσα UML
Κεφάλαιο 1 o Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο Στις πρώτες εποχές των υπολογιστών, οι προγραμματιστές συνήθιζαν να περιορίζονται στην ανάλυση σε βάθος των προβλημάτων που αντιμετώπιζαν.
Διαβάστε περισσότεραΠΑΡΑΔΕΙΓΜΑΤΑ USE CASE DIAGRAMS CLASS DIAGRAMS
ΠΑΡΑΔΕΙΓΜΑΤΑ USE CASE DIAGRAMS CLASS DIAGRAMS Διάγραμμα Περιπτώσεων χρήσης 2 Να κατασκευάσουμε ένα διάγραμμα περιπτώσεων χρήσης για το παρακάτω σύστημα. Το σύστημα τηρεί αρχεία μαθητών, καθηγητών και μαθημάτων.
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2
Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότερα06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός
06 Αντικειμενοστρεφής ανάλυση και σχεδιασμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αφαίρεση Abstraction "Η εννοιολογική
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΤΕΛΑ ΣΥΣΤΗΜΑΤΟΣ Διδάσκων: Γ. Χαραλαμπίδης, Επ. Καθηγητής
Διαβάστε περισσότεραΑνάλυση και Σχεδιασμός ΠΣ Σχεδίαση: Σχεδίαση Κλάσεων και Μεθόδων
Ανάλυση και Σχεδιασμός ΠΣ Σχεδίαση: Σχεδίαση Κλάσεων και Μεθόδων Καθ. Κωνσταντίνος Ταραμπάνης, kat@uom.gr Αν. Καθ. Ευθύμιος Ταμπούρης, tambouris@uom.gr 1 Πρόγραμμα Παραδόσεων 1. Φάσεις ΑΣΠΣ και η Φάση
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Αντικειμενοστρεφής Προγραμματισμός 3/4/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Γιατί έλεγχος πρόσβασης? Προστασία ιδιωτικής πληροφορίας
Διαβάστε περισσότεραΚεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια
Περιεχόμενα Πρόλογος... 11 Κεφάλαιο 1ο. Εισαγωγή στη γλώσσα UML 1.1 Προσθέτοντας μια νέα μέθοδο...13 1.2 Πως αναπτύχθηκε η UML...14 1.3 Κατανοώντας την UML...15 1.4 Αναγνωρίζοντας τα επί μέρους τμήματα
Διαβάστε περισσότεραΚωδικός: <Κωδ.Αρ.Εγγράφου/ΚωδικόΌνομαΈργου/Αρ. Έκδοσης> <Company Name> <Όνομα - Κωδικό Όνομα Έργου> Έγγραφο Περιγραφής Σχεδίου Λογισμικού
Ιστορικό Ημερομηνία Έκδοση Περιγραφή Συγγραφέας Σελ. 2 Πίνακας Περιεχομένων 1. Εισαγωγή xx
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΔιάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII
Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παράδειγμα Διαδικασίας Ανάπτυξης Λογισμικού: Βιβλίο Διευθύνσεων(συν.) - Φάση 3: Υλοποίηση(αναλυτικά
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Διαβάστε περισσότεραΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Μεθοδολογίες Ανάπτυξης Συστημάτων Πληροφορικής Απαντούν στα εξής ερωτήματα Ποιά βήματα θα ακολουθηθούν? Με ποιά σειρά? Ποιά τα παραδοτέα και πότε? Επομένως,
Διαβάστε περισσότερα09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο
09 Η γλώσσα UML II Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση συμπεριφοράς
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Μοντέλα Παράστασης
Διαβάστε περισσότεραΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE
ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE Το path που ακολουθούμε για να ανοίξουμε το εργαλείο είναι: Start All Programs Lab Programs Rational Software Rational Rose Enterprise Edition 1 ο ΔΙΑΓΡΑΜΜΑ:
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
Διαβάστε περισσότεραΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ. Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών
ΑΡΦΕ ΑΝΣΙΚΕΙΜΕΝΟΣΡΕΥΟΤ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Ιωάννης Φατζηλυγερούδης Αναπληρωτής Καθηγητής Τμήμα Μηχ/κών Η/Υ και Πληροφορικής Πανεπιστήμιο Πατρών ΜΟΡΥΕ ΠΡΟΓΡΑΜΜΑΣΙΜΟΤ Διαδικασιακός ή Διαδικαστικός (Procedural)
Διαβάστε περισσότεραΕργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 6 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών
Διαβάστε περισσότεραΠεριεχόμενα. ΚΕΦΑΛΑΙΟ 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
Διαβάστε περισσότεραΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης
ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός
Διαβάστε περισσότεραΕργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:
Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήριο 3 Java Classes Java Objects
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 1 - Εισαγωγή. Χρήστος Γκουμόπουλος. Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων
Δομές Δεδομένων Ενότητα 1 - Εισαγωγή Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Αντικείμενο μαθήματος Δομές Δεδομένων (ΔΔ): Στην επιστήμη υπολογιστών
Διαβάστε περισσότεραΕιδικά θέματα τεχνολογίας λογισμικού
Ειδικά θέματα τεχνολογίας λογισμικού Σχεδιασμός λογισμικού Διομήδης Σπινέλλης Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών dds@aueb.gr http://www.dmst.aueb.gr/dds @CoolSWEng
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python
Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στην Python Β Μέρος Δομή Ελέγχου if-elif-else Επαναληπτική Δομή Ελέγχου while Επαναληπτική Δομή Ελέγχου for Αλληλεπίδραση χρήστη-προγράμματος Συναρτήσεις Η δομή
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.
Διαβάστε περισσότεραΣχεδιασμός Βάσεων Δεδομένων
Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 1 Δρ. Βασιλική Κούφη Περιεχόμενα 1. Εισαγωγή 2. Κύκλος ζωής ανάπτυξης Βάσεως Δεδομένων 3. Oracle SQL Developer Data
Διαβάστε περισσότερα02 Αντικειμενοστρεφής Προγραμματισμός
02 Αντικειμενοστρεφής Προγραμματισμός Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Αντικειμενοστρέφεια Στον προγραμματισμό object
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για τον πίνακα είπαμε ότι
Διαβάστε περισσότεραRational Unified Process:
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ - Μεταπτυχιακό µάθηµα: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΕΙΣ ΜΕΘΟ ΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥ Καθ. Ε. Σκορδαλάκης, ρ. Β. Βεσκούκης Rational Unified
Διαβάστε περισσότερα(Απλή) Κληρονομικότητα
Πολλαπλή κληρονομικότητα, υςχετίςεισ μεταξύ κλάςεων ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡ/ΜΟ C++ Μ. Ρήγκου (rigou@ceid.upatras.gr) (Απλή) Κληρονομικότητα Student + calctuition(): double GraduateStudent + calctuition(): double
Διαβάστε περισσότερα