ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. της φοιτήτριας του Τμήματος Ηλεκτρολόγων Μηχανικών και. Τεχνολογίας Υπολογιστών της Πολυτεχνικής σχολής του Πανεπιστημίου Πατρών:

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

Download "ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. της φοιτήτριας του Τμήματος Ηλεκτρολόγων Μηχανικών και. Τεχνολογίας Υπολογιστών της Πολυτεχνικής σχολής του Πανεπιστημίου Πατρών:"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: ΗΛΕΚΤΡΟΝΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ της φοιτήτριας του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής σχολής του Πανεπιστημίου Πατρών: Αρετάκ η Αι κ ατ ερ ί ν η Αριθμό ς Μ ητρ ώου:55 91 Θέμα: «Η UM L στην ανάπτ υξη ενσ ωματ ωμένων συστ ημάτ ων» Επιβλέπων: Κλεάνθης Θραμπουλίδης ΠΑΤΡΑ, ΙΟΥΛΙΟΣ 2009

2 1

3 ΠΙΣΤΟΠΟΙΗΣΗ Πιστοποιείται ότι η διπλωματική εργασία με θέμα: «Η UM L στην ανάπτ υξη ενσ ωματ ωμένων συστ ημάτ ων» της φοιτήτριας του τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Αρετάκη Αικατερίνη του Δημητρίου (Α.Μ. 5591) παρουσιάστηκε δημόσια και εξετάστηκε στο τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών στις 10/07/2009 Ο Επιβλέπων Τομέα Ο Διευθυντής του Κ. Θραμπουλίδης K. Γκούτης Καθηγητής Kαθηγητής 2

4 3

5 Αριθμός Διπλωματικής Εργασίας: Τί τλος: Η UM L στην ανάπτυξη ενσωματωμένων συστημάτων Φ ο ιτητής: Αρετ άκη Αι κατ ερ ίν η Ε πι βλέ πων: Κλεάν θ ης Θρ αμπο υ λίδ ης Περ ί λ η ψη H Ενοποιημένη Γλώσσα Μοντελοποίησης (Unified Modeling Language) αποτελεί την πρότυπη και πλέον δημοφιλή γλώσσα για την οπτικοποίηση, προσδιορισμό, ανάπτυξη και τεκμηρίωση συστημάτων λογισμικού και όχι μόνο. Η πλούσια γραφική σημειολογία της UML σε συνδυασμό με τις δυνατότητες μοντελοποίησης που παρέχει, την καθιστούν ικανή να χρησιμοποιηθεί στην ανάπτυξη ενσωματωμένων συστημάτων. Ωστόσο, στα ενσωματωμένα συστήματα, αλλά και γενικότερα σε συστήματα συγκεκριμένου πεδίου υπάρχουν κάποιοι επιπλέον παράγοντες που πρέπει να ληφθούν υπόψη. Οι επεκτάσεις της UML δίνουν τη δυνατότητα αναπαράστασης των βασικών χαρακτηριστικών των ενσωματωμένων συστημάτων. Επιπλέον, παρέχουν νέες μεθόδους σχεδιασμού που επιτρέπουν τον διαμερισμό εφαρμογής και αρχιτεκτονικής, για ένα πιο αποδοτικό και επαναχρησιμοποιήσιμο σύστημα. Στην παρούσα εργασία μελετώνται τα βασικά στοιχεία της UML καθώς και η χρήση της στην ανάπτυξη ενσωματωμένων συστημάτων. Στη συνέχεια, χρησιμοποιώντας τη UML μοντελοποιείται και αναπτύσσεται η εφαρμογή ελέγχου ενός συστήματος γραμμής παραγωγής, του Festo MPS. Επιπλέον, αναπτύσσεται και υλοποιείται εφαρμογή εξομοίωσης του φυσικού συστήματος Festo MPS για την επιβεβαίωση της σωστής λειτουργίας της εφαρμογής ελέγχου. 4

6 5

7 Πίνακας περιεχομένων Εισαγωγή...10 Κεφάλαιο 1 Περιγραφή του Συστήματος FestoMPS Γενική περιγραφή Μονάδα διανομής Μονάδα ελέγχου Μονάδα επεξεργασίας Μονάδα αποθήκευσης...20 Κεφάλαιο 2 Εισαγωγή στη UML Εισαγωγή Ιστορία Οι όψεις της UML Τα διαγράμματα της UML Η UML στην ανάπτυξη ενσωματωμένων συστημάτων...39 Κεφάλαιο 3 Ανάλυση και σχεδιασμός του συστήματος Γενικά Ανάλυση του συστήματος Μοντέλο απαιτήσεων Μοντέλο ανάλυσης Σχεδιασμός του συστήματος Μοντελοποίηση της δυναμικής συμπεριφοράς Μοντελοποίηση του υποσυστήματος επικοινωνίας της εφαρμογής με τον εξομοιωτή του φυσικού συστήματος Μοντελοποίηση της αρχιτεκτονικής δομής

8 Κεφάλαιο 4 Υλοποίηση του συστήματος Υλοποίηση της διεπαφής της εφαρμογής ελέγχου με την εφαρμογή εξομοίωσης Υλοποίηση του υποσυστήματος ελέγχου της μονάδας διανομής Υλοποίηση του υποσυστήματος ελέγχου της μονάδας ελέγχου Υλοποίηση του υποσυστήματος ελέγχου της μονάδας επεξεργασίας Υλοποίηση του ελέγχου των υποσυστημάτων διανομής, ελέγχου και επεξεργασίας...77 Κεφάλαιο 5 Εξομοίωση του συστήματος...80 Συμπεράσματα...90 Αναφορές

9 Πρόλογος Η UML δεν πρόκειται μόνο για μια τυποποίηση και ανακάλυψη μιας κοινής σημειολογίας. Περιέχει νέες και ενδιαφέρουσες έννοιες που δεν υπάρχουν εν γένει στο πεδίο της αντικειμενοστρεφούς ανάπτυξης, όπως για παράδειγμα η περιγραφή και χρησιμοποίηση προτύπων (patterns) σε μια γλώσσα μοντελοποίησης, η χρησιμοποίηση της έννοιας του στερεοτύπου (stereotype) για την επέκταση της γλώσσας, καθώς και η παροχή πλήρους ιχνηλασιμότητας (traceability) από τα εννοιολογικά μοντέλα ενός συστήματος στα εκτελέσιμα συστατικά της φυσικής αρχιτεκτονικής. Σε αυτό το σημείο, θα ήθελα να ευχαριστήσω θερμά τον κ. Κλεάνθη Θραμπουλίδη. Η συνεργασία μας ήταν άριστη και ιδιαίτερα εποικοδομητική και μέσα από αυτή κέρδισα πολύτιμες εμπειρίες που θα με συνοδεύσουν στη μελλοντική μου καριέρα ως μηχανικού λογισμικού. 8

10 9

11 Εισαγωγή Τα τελευταία χρόνια η κυρίαρχη προσέγγιση για την ανάπτυξη λογισμικού είναι η αντικειμενοστρεφής προσέγγιση, η οποία διαθέτει τα πλεονεκτήματα της απλότητας στην ανάπτυξη, της καλύτερης ποιότητας και αξιοπιστίας των παραγόμενων συστημάτων, καθώς και τη δυνατότητα επαναχρησιμοποίησης των συστατικών τους. Με βάση τα παραπάνω ο αντικειμενοστρεφής προγραμματισμός αποτελεί ένα εξαιρετικό υπόδειγμα για τη δημιουργία σύγχρονων συστημάτων λογισμικού. Ωστόσο, για την ανάπτυξη έργων λογισμικού μεγάλης κλίμακας, δεν επαρκεί η υλοποίηση λειτουργικού κώδικα. Απαιτείται μοντελοποίηση και συστηματική σχεδίαση του συστήματος πριν από την κωδικοποίηση. Ο κύριος άξονας της επίλυσης ενός αντικειμενοστρεφούς προβλήματος είναι η κατασκευή ενός μοντέλου του συστήματος. Η μοντελοποίηση του συστήματος παρέχει αφαιρετικότητα για τη διαχείριση πολύπλοκων συστημάτων. Επιπλέον, επιτυγχάνει τη μείωση του κόστους, του χρόνου ανάπτυξης, καθώς και την εύκολη διαχείριση σφαλμάτων του συστήματος. Όσο πιο πολύπλοκο είναι το σύστημα, τόσο πιο σημαντική είναι η επικοινωνία των εμπλεκομένων στην κατασκευή και ανάπτυξή του. Η μοντελοποίηση του συστήματος δίνει τη δυνατότητα του ακριβούς καθορισμού των απαιτήσεων, έτσι ώστε όλοι οι εμπλεκόμενοι να τις κατανοήσουν με κοινό τρόπο και να μπορούν να συμφωνήσουν σε αυτές. Στα πλαίσια αυτά, η Ενοποιημένη Γλώσσα Μοντελοποίησης (Unified Modeling Language), η οποία αποτελεί την πλέον δημοφιλή και πρότυπη γραφική γλώσσα μοντελοποίησης, χρησιμοποιείται για την απεικόνιση του σχεδιασμού και την τεκμηρίωση των συστατικών του συστήματος. Είναι ιδιαίτερα αποδοτική για την ανάπτυξη μεγάλων, πολύπλοκων συστημάτων. Βασικό χαρακτηριστικό της είναι ότι είναι ανεξάρτητη από οποιαδήποτε μεθοδολογία ή διαδικασία ανάπτυξης και μπορεί να προσδιορίσει το σύστημα με ένα τρόπο ανεξάρτητο της υλοποίησης. Η επικράτηση του λογισμικού στο σχεδιασμό ενσωματωμένων συστημάτων απαιτεί μια προσεκτική εξέταση των πιο σύγχρονων μεθόδων ανάλυσης και τεκμηρίωσης λογισμικού. Η πλούσια γραφική σημειολογία της UML σε συνδυασμό με τις δυνατότητες μοντελοποίησης που παρέχει, την καθιστούν ικανή να χρησιμοποιηθεί στην ανάπτυξη ενσωματωμένων συστημάτων για τη μοντελοποίηση και την τεκμηρίωσή τους. Επιπλέον, οι επεκτάσεις της UML δίνουν τη δυνατότητα μοντελοποίησης των βασικών χαρακτηριστικών των εφαρμογών συγκεκριμένου πεδίου και παρέχουν νέες μεθόδους σχεδιασμού για τον διαμερισμό της εφαρμογής από την αρχιτεκτονική. Στην παρούσα εργασία μελετώνται τα βασικά στοιχεία της UML καθώς και η χρήση της στην ανάπτυξη ενσωματωμένων συστημάτων. Στη συνέχεια, χρησιμοποιώντας τη σημειολογία της UML μοντελοποιείται και αναπτύσσεται η εφαρμογή ελέγχου ενός συστήματος γραμμής παραγωγής, του Festo MPS, για να υλοποιηθεί στην συνέχεια σε Java κώδικα. Η επιβεβαίωση της σωστής λειτουργίας 10

12 της εφαρμογής ελέγχου επιτυγχάνεται μέσα από την ανάπτυξη της εφαρμογής εξομοίωσης του φυσικού συστήματος Festo MPS. Στο Κεφάλαιο 1 δίνεται η περιγραφή του συστήματος FestoMPS. To Festo MPS είναι ένα σύστημα γραμμής παραγωγής το οποίο αναπτύχθηκε από την εταιρεία Festo και χρησιμοποιείται για εκπαιδευτικούς και ερευνητικούς σκοπούς. Αποτελείται από τρία υποσυστήματα, τη μονάδα διανομής, τη μονάδα ελέγχου και τη μονάδα επεξεργασίας. Αρχικά δίνεται μια γενική περιγραφή του συστήματος και στη συνέχεια περιγράφεται η κάθε μονάδα αναλυτικά. Το Κεφάλαιο 2 αναφέρεται στη UML και στη χρήση της στην ανάπτυξη ενσωματωμένων συστημάτων. Αρχικά, δίνεται μια σύντομη εισαγωγή για τη UML και παρουσιάζονται κάποια ιστορικά στοιχεία. Ακολουθεί η περιγραφή των όψεων της UML και στη συνέχεια η περιγραφή των κυριοτέρων διαγραμμάτων της UML 2.0. Τέλος, μελετάται η χρήση της UML στην ανάπτυξη ενσωματωμένων συστημάτων, χρησιμοποιώντας μηχανισμούς επέκτασης της γλώσσας. Το Κεφάλαιο 3 περιλαμβάνει την περιγραφή των φάσεων της ανάλυσης και του σχεδιασμού του συστήματος Festo MPS με τη χρήση της UML. Στη φάση της ανάλυσης το σύστημα μοντελοποιείται μέσα από το μοντέλο απαιτήσεων και το μοντέλο ανάλυσης του συστήματος. Στη φάση του σχεδιασμού μοντελοποιείται η δυναμική συμπεριφορά του συστήματος, η αρχιτεκτονική δομή του και σχεδιάζεται το υποσύστημα επικοινωνίας της εφαρμογής ελέγχου με την εφαρμογή εξομοίωσης του φυσικού συστήματος Festo MPS. Το Κεφάλαιο 4 περιλαμβάνει την υλοποίηση σε Java κώδικα της εφαρμογής ελέγχου του συστήματος Festo MPS. Η υλοποίηση διακρίνεται στα εξής μέρη: την υλοποίηση του υποσυστήματος ελέγχου της μονάδας διανομής, την υλοποίηση του υποσυστήματος ελέγχου της μονάδας ελέγχου, την υλοποίηση του υποσυστήματος ελέγχου της μονάδας επεξεργασίας και την υλοποίηση του ελέγχου των τριών υποσυστημάτων. Το Κεφάλαιο 5 περιλαμβάνει την εξομοίωση του φυσικού συστήματος Festo MPS. Η εφαρμογή εξομοίωσης του συστήματος Festo MPS κατασκευάστηκε για τον έλεγχο της ορθότητας της εφαρμογής ελέγχου. Για τη επικοινωνία της εφαρμογής εξομοίωσης με την εφαρμογή ελέγχου χρησιμοποιήθηκε η κατασκευή του Socket. Το κεφάλαιο αυτό περιλαμβάνει το σχεδιασμό και την υλοποίηση σε Java κώδικα της εφαρμογής εξομοίωσης. 11

13 Κεφάλαιο 1 Περιγραφή του Συστήματος Festo MPS 1.1 Γενική περιγραφή Το Festo MPS σύστημα (Modular Production System) είναι ένα σύστημα γραμμής παραγωγής που αναπτύχθηκε από την εταιρία Festo για εκπαιδευτικούς και ερευνητικούς σκοπούς (Σχήμα 1.1). Το σύστημα απαρτίζεται από τις ακόλουθες μονάδες: Μονάδα διανομής (Distribution station ) Μονάδα ελέγχου (Test station) Μονάδα επεξεργασίας (Processing station) Μονάδα αποθήκευσης (Warehouse station) Κυλινδρικά κομμάτια χρησιμοποιούνται σαν δείγματα (workpieces), τα οποία διαφέρουν στο χρώμα τους (κόκκινο, μαύρο, ασημί), στο υλικό τους (αλουμίνιο, πλαστικό) και στο ύψος τους. Το σύστημα περιλαμβάνει πνευματικές συσκευές παραγωγής ευθύγραμμης και περιστροφικής κίνησης όπως επίσης και ηλεκτρικές (actuators). Οι αισθητήρες (sensors) για τον έλεγχο ύπαρξης αντικειμένου, την αναγνώριση χρώματος, υλικού και τη μέτρηση ύψους βασίζονται σε μηχανικές, οπτικές, επαγωγικές και χωρητικές διαδικασίες μέτρησης. 12

14 Σχήμα 1.1 Το πραγματικό Festo Modular Production System Παρακάτω θα περιγράψουμε αναλυτικά την κάθε μονάδα του συστήματος [1]. 1.2 Μονάδα διανομής Εδώ τα προϊόντα εξάγονται ξεχωριστά το καθένα από μία στοίβα. Αυτό γίνεται μέσω ενός πνευματικού κυλίνδρου (push out cylinder / feeder), ο οποίος με την εφαρμογή πεπιεσμένου αέρα προκαλεί την έκταση του εμβόλου του εκτοπίζοντας έτσι το κομμάτι από τη στοίβα. Στο τέλος αυτής της διαδικασίας η νέα θέση του προϊόντος (θέση Α) αναγνωρίζεται από έναν αισθητήρα. Το επόμενο βήμα είναι το προϊον αυτό να μεταφερθεί στη μονάδα ελέγχου με τη βοήθεια ενός μεταφορέα (Converter). Στο Σχήμα 1.2 δίνεται η μονάδα διανομής με τη στοίβα και τον πνευματικό κύλινδρο. 13

15 Σχήμα 1.2 Μονάδα διανομής Ο Converter λειτουργεί με πεπιεσμένο αέρα χαμηλής πίεσης. Μόλις η πίεση φτάσει στο επιθυμητό επίπεδο ο Converter ανασηκώνει το κομμάτι και το μεταφέρει από τη μονάδα διανομής στη μονάδα ελέγχου (θέση Β). (Σχήμα 1.3) Σχήμα 1.3 Ο μεταφορέας Converter Οι αισθητήρες και οι ενεργοποιητές (actuators) της μονάδας διανομής δίνονται αναλυτικά στον Πίνακα 1.1: 14

16 Πίνακας 1.1 Οι αισθητήρες και ενεργοποιητές της μονάδας διανομής 1.3 Μονάδα ελέγχου Η παρουσία ενός προϊόντος στη μονάδα ελέγχου καθώς επίσης το χρώμα και υλικό του γίνονται γνωστά μέσω οπτικών και επαγωγικών αισθητήρων. Με την άφιξη του προϊόντος σε αυτή τη νέα θέση (θέση Β) ελέγχονται οι ιδιότητές του (χρώμα, υλικό). Στην περίπτωση που είναι αποδεκτές η πλατφόρμα διακίνησης (Elevating platform) πάνω στην οποία βρίσκεται το προϊόν ανυψώνεται με τη βοήθεια κυλίνδρου (pneumatic cylinder for the elevator platform / Elevator) και ταυτόχρονα γίνεται η μέτρηση του ύψους του προϊόντος (Σχήμα 1.4). Όταν η πλατφόρμα διακίνησης αποκτήσει την ανώτερη θέση της, γίνεται ο έλεγχος του ύψους του προϊόντος. Αν το ύψος του προϊόντος είναι αποδεκτό τότε το κομμάτι μεταφέρεται πάνω σε μία κυλιόμενη ζώνη μεταφοράς (Transport belt) μέσω της έκτασης του εμβόλου ενός πνευματικού κυλίνδρου (Shift out cylinder). 15

17 Σχήμα 1.4 Μονάδα ελέγχου Η κυλιόμενη ζώνη μεταφοράς βοηθάει στη μετακίνηση του προϊόντος με τις αποδεκτές ιδιότητες και ύψος στη μονάδα επεξεργασίας. Στο Σχήμα 1.5 φαίνεται αυτή η κυλιόμενη ζώνη με τον περιστρεφόμενο δίσκο της μονάδας επεξεργασίας. Σχήμα 1.5 Μεταφορά από τη μονάδα ελέγχου στη μονάδα επεξεργασίας 16

18 Το προϊόν που φέρει μη-αποδεκτές ιδιότητες (δηλαδή έχει μη αποδεκτό χρώμα ή μη-αποδεκτό υλικό ή και τα δύο) εκτοπίζεται από τη μονάδα ελέγχου με τη βοήθεια του Shift out cylinder. Στην περίπτωση που το προϊόν φέρει μη-αποδεκτό ύψος, τότε πραγματοποιείται η εξής διαδικασία : Η πλατφόρμα διακίνησης όπου βρίσκεται το κομμάτι κατέρχεται και όταν φτάσει στην κατώτερη θέση της ενεργοποιείται ο Shift out cylinder κύλινδρος και το απομακρύνει από τη μονάδα ελέγχου. Οι αισθητήρες και οι ενεργοποιητές (actuators) της μονάδας ελέγχου δίνονται αναλυτικά στον Πίνακα 1.2 Πίνακας 1.2 Οι αισθητήρες και ενεργοποιητές της μονάδας ελέγχου 1.4 Μονάδα επεξεργασίας Στη μονάδα επεξεργασίας υπάρχει ένας περιστρεφόμενος δίσκος τεσσάρων θέσεων. Το προϊόν καταφθάνει αρχικά στην θεση-1 του δίσκου και σταδιακά επισκέπτεται και τις υπόλοιπες θέσεις του ενώ ταυτόχρονα υφίσταται επεξεργασία διαφορετική για κάθε θέση. Στη θέση-1 το προϊόν δεν υφίσταται κάποια επεξεργασία. Με μία στροφή του δίσκου κατα 90 μεταφέρεται στη θεση-2 όπου υπάρχει ένα ηλεκτρικό τρυπάνι (Drilling machine) (Σχήμα 1.6). Η ύπαρξη του προϊόντος στη θέση-2 αναγνωρίζεται από αισθητήρα και αρχίζει η διαδικασία επεξεργασίας του. Το προϊόν αρχικά σταθεροποιείται στη θέση του μέσω ενός μηχανισμού (holder) που το συγκρατεί εκεί (brack in). Στη συνέχεια ενεργοποιείται το τρυπάνι και πραγματοποιεί μία οπή στο κέντρο κάθε κομματιού μεσω ενός κυλίνδρου (pneumatic lifting cylinder). Αφού τελειώσει η διαδικασία τρυπήματος του προϊόντος το τρυπάνι απενεργοποιείται όπως επίσης και ο μηχανισμός συγκράτησης του κομματιού (brack out). Έπειτα ακολουθεί μία στροφή του δίσκου κατα 90 και το προϊόν μεταφέρεται στη θεση-3 (Σχήμα 1.7). 17

19 Σχήμα 1.6 Διαδικασία τρυπήματος κομματιού Στη θέση-3 ελέγχεται αν έχει γίνει σωστά η οπή του προϊόντος μέσω του κατάλληλης συσκευής (Checking machine). Η συσκευή αυτή έχει έναν κύλινδρο (pneumatic testing cylinder) ο οποίος με την κατερχόμενη κίνηση του ελέγχει την ορθότητα της οπής. Έπειτα πραγματοποιείται περιστροφή του δίσκου κατα 90 και το προϊόν μεταφέρεται στη θεση-4. Σχήμα 1.7 Έλεγχος της οπής του κομματιού 18

20 Όταν το προϊόν φτάσει στη θέση-4 με τη βοήθεια ενός πνευματικού κυλίνδρου (Warehouse Cylinder) απομακρύνεται από την τελική θέση του κυκλικού δίσκου και μεταφέρεται στη μονάδα αποθήκευσης. Οι αισθητήρες και οι ενεργοποιητές (actuators) της μονάδας ελέγχου δίνονται αναλυτικά στον Πίνακα 1.3. Πίνακας 1.3 Οι αισθητήρες και ενεργοποιητές της μονάδας επεξεργασίας 19

21 1.5 Μονάδα αποθήκευσης Μετά την απομάκρυνση από τη μονάδα επεξεργασίας το προϊόν μεταφέρεται σε μία από τις τρεις στοίβες που υπάρχουν στη μονάδα αποθήκευσης ανάλογα με το χρώμα και το υλικό τους. Στο παρακάτω σχήμα φαίνεται η μονάδα αποθήκευσης. (Σχήμα 1.8) Σχήμα 1.8 Μονάδα αποθήκευσης 20

22 21

23 Κεφάλαιο 2 Εισαγωγή στη UML 2.1 Εισαγωγή Σύμφωνα με το επίσημο εγχειρίδιο αναφοράς, η Ενοποιημένη Γλώσσα Μοντελοποίησης (Unified Modeling Language ή UML) είναι μια γραφική γλώσσα γενικού σκοπού, η οποία χρησιμοποιείται για τον προσδιορισμό, οπτικοποίηση, ανάπτυξη και τεκμηρίωση των κατασκευασμάτων (artifacts) ενός συστήματος λογισμικού [2]. Η UML αποτελεί industry standard για τη μοντελοποίηση συστημάτων λογισμικού και χρησιμοποιείται στη μοντελοποίηση συστημάτων βασισμένων σε αντικείμενα (αντικειμενοστρεφή συστήματα). Βασικό χαρακτηριστικό της είναι ότι αποτελεί μια γλώσσα μοντελοποίησης ανεξάρτητη από τις μεθοδολογίες που χρησιμοποιούνται κατά την ανάπτυξη συστημάτων λογισμικού. Επιπλέον, δεν πρόκειται μόνο για μια τυποποίηση και ανακάλυψη μιας κοινής σημειολογίας. Περιέχει νέες και ενδιαφέρουσες έννοιες που δεν υπάρχουν εν γένει στο πεδίο της αντικειμενοστρεφούς ανάπτυξης, όπως για παράδειγμα η περιγραφή και χρησιμοποίηση προτύπων (patterns) σε μια γλώσσα μοντελοποίησης, η χρησιμοποίηση της έννοιας του στερεοτύπου (stereotype) για την επέκταση της γλώσσας, η παροχή πλήρους ιχνηλασιμότητας (traceability) από τα εννοιολογικά μοντέλα ενός συστήματος στα εκτελέσιμα συστατικά της φυσικής αρχιτεκτονικής. Συνεπώς, η κατανόηση της UML δεν περιορίζεται στην εκμάθηση των συμβόλων και της σημασίας τους, αλλά εκτείνεται σε ευρύτερο πλαίσιο στη μάθηση της αντικειμενοστρεφούς μοντελοποίησης.[3] Η UML χρησιμοποιείται για τη μοντελοποίηση μεγάλου εύρους συστημάτων. Ο στόχος της UML είναι να περιγράφει κάθε τύπο συστήματος, μέσα από αντικειμενοστρεφή διαγράμματα. Η πιο συνήθης χρήση της είναι η παραγωγή μοντέλων συστημάτων λογισμικού, πέρα απο αυτό όμως χρησιμοποιείται για την περιγραφή συστημάτων που δεν αφορούν λογισμικό, όπως για παράδειγμα μηχανικών συστημάτων. Οι κυριότερες κατηγορίες συστημάτων στα οποία χρησιμοποιείται η UML είναι οι εξής: πληροφοριακά συστήματα, τεχνολογικά συστήματα, συστήματα λογισμικού, ενσωματωμένα συστήματα πραγματικού χρόνου, κατανεμημένα συστήματα, καθώς και συστήματα επιχειρήσεων. 22

24 2.2 Ιστορία Μεθοδολογίες ανάπτυξης λογισμικού για συμβατικές διαδικαστικές γλώσσες, όπως η Fortran, η Pascal και η C, εμφανίστηκαν τη δεκαετία του 1970 με σκοπό να αντιμετωπίσουν τη λεγόμενη «κρίση λογισμικού» (software crisis). Η πιο ευρέως διαδεδομένη μεθοδολογία ήταν η Δομημένη Ανάλυση και Σχεδίαση (Structured Analysis and Design) και αργότερα η Σύγχρονη Δομημένη Ανάλυση. Ως πρώτη αντικειμενοστρεφής γλώσσα προγραμματισμού αναγνωρίζεται η Simula (1967), αλλά η ευρεία διάδοση της αντικειμενοστρεφούς ανάπτυξης λογισμικού άρχισε στις αρχές της δεκαετίας του 1980 με γλώσσες όπως η Smalltalk, C++ και στη συνέχεια με τη Java. Στη συνέχεια δημοσιεύτηκαν και οι πρώτες μεθοδολογίες ανάπτυξης λογισμικού βασισμένες στο αντικειμενοστρεφές μοντέλο, καταλήγοντας στις αρχές της δεκαετίας του 90 σε μια πληθώρα τεχνικών, ορισμών, συμβολισμών και ορολογίας. [4] Η πρώτη επιτυχής προσπάθεια ενοποίησης των διαφόρων μεθοδολογιών ξεκίνησε από την Rational Software Corporation το 1994 με επικεφαλής τους Grady Booch και James Rumbaugh. Στόχος τους ήταν η δημιουρία μιας νέας μεθόδου, της «Ενοποιημένης Μεθόδου», η οποία θα ένωνε τη μέθοδο του Booch και την ΟΜΤ-2 μέθοδο στην ανάπτυξη της οποίας επικεφαλής ήταν ο James Rumbaugh. Το 1995 ο Ivar Jacobson, ο άνθρωπος πίσω από τις μεθόδους OOSE και Objectory προστέθηκε στην ομάδα. Οι μελλοντικοί σχεδιαστές της UML συνειδητοποίησαν ότι η δουλειά τους δε στόχευε στη δημιουργία μιας πρότυπης μεθόδου, αλλά μιας πρότυπης γλώσσας μοντελοποίησης και μετονόμασαν τη δουλειά τους σε «Unified Modeling Language». Οι στόχοι της UML, όπως τέθηκαν από τους σχεδιαστές είναι οι εξής: Η μοντελοποίηση συστημάτων (όχι μόνο λογισμικού) χρησιμοποιώντας αντικειμενοστρεφείς έννοιες. Η καθιέρωση μιας ρητής σύνδεσης σε εννοιολογικά καθώς και εκτελέσιμα κατασκευάσματα (artifacts). Η αντιμετώπιση θεμάτων κλίμακας, τα οποία είναι εγγενή σε σύνθετα, κρίσιμα συστήματα. Και τέλος, η δημιουργία μιας γλώσσας μοντελοποίησης χρησιμοποιήσιμης τόσο από ανθρώπους, όσο και από υπολογιστικές μηχανές. [3] Το πρώτο πρότυπο της UML (UML 1.1) δημοσιεύτηκε τον Ιανουάριο του Ακολούθησαν μερικές ήσσονος σημασίας εκδόσεις (UML 1.3, UML 1.4, UML 1.5), οι οποίες διόρθωσαν κάποιες ελλείψεις και σφάλματα της πρώτης έκδοσης. Στη συνέχεια ακολούθησε η κύρια αναθεώρηση με τη UML 2.0, η οποία υιοθετήθηκε και καθιερώθηκε ως πρότυπο από την OMG (Object Management Group) το 2005, ενώ η τελευταία έκδοση είναι η UML

25 2.3 Οι όψεις της UML Ένα σύστημα αναπαρίσταται με τη βοήθεια των μοντέλων της UML. Το κάθε μοντέλο περιγράφει το σύστημα από μια ευδιάκριτα διαφορετική οπτική γωνία, ή αλλιώς όψη (view). Η όψη δεν αποτελεί γράφημα, αλλά μια αφαιρετική έννοια με την οποία συνδέεται ένας αριθμός διαγραμμάτων. Οι όψεις επίσης συνδέουν τη γλώσσα μοντελοποίησης με τη μέθοδο που επιλέγεται για την ανάπτυξη του συστήματος. Κάθε όψη περιγράφεται από έναν αριθμό διαγραμμάτων, τα οποία περιέχουν πληροφορία που αφορά σε συγκεκριμένη οπτική γωνία του συστήματος. Υπάρχει μια ελαφρά επικάλυψη, δηλαδή ένα διάγραμμα μπορεί να αποτελεί μέρος περισσοτέρων της μιάς όψης. Κοιτάζοντας το σύστημα με βάση τις διαφορετικές όψεις, μπορούμε να επικεντρωθούμε σε διαφορετική πτυχή του συστήματος κάθε φορά. Το διάγραμμα που εκφράζει μια συγκεκριμένη όψη πρέπει να είναι αρκετά απλό ώστε να γίνεται αντιληπτό και συνεκτικό (coherent) με τα υπόλοιπα διαγράμματα και όψεις έτσι ώστε από όλες τις όψεις συνολικά να περιγράφεται η συνολική εικόνα του συστήματος. Οι όψεις της UML είναι οι εξής (Σχήμα 2.1) : Σχήμα 2.1 Οι όψεις της UML [5] Η όψη περιπτώσεων χρήσης (Use case view) : Περιγράφει τη λειτουργικότητα του συστήματος, έτσι όπως αυτή γίνεται αντιληπτή από τους εξωτερικούς χειριστές (actors). Ο χειριστής ο οποίος αλληλεπιδρά με το σύστημα μπορεί να είναι ένας χρήστης ή ένα άλλο υποσύστημα. Η όψη περιπτώσεων χρήσης περιγράφεται μέσα από διαγράμματα περιπτώσεων χρήσης (use case diagrams) και ενίοτε από διαγράμματα δραστηριοτήτων (activity diagrams). Η επιθυμητή λειτουργικότητα του συστήματος περιγράφεται από έναν αριθμό περιπτώσεων χρήσης, όπου περίπτωση χρήσης είναι η περιγραφή μιας συγκεκριμένης λειτουργίας που απαιτείται από το σύστημα. Η όψη αυτή είναι σημαντική διότι επηρεάζει τις υπόλοιπες όψεις, μιας και ο τελικός στόχος είναι το σύστημα να παρέχει τη λειτουργικότητα που περιγράφεται σε αυτήν. Ένα επιπλέον χαρακτηριστικό της όψης αυτής είναι ότι μπορεί να ελεγχθεί εύκολα η ορθότητά της μέσω των πελατών και κατ επέκταση να επικυρωθεί το σύστημα. 24

26 Η Λογική όψη (Logical view) : Περιγράφει το πώς παρέχεται η λειτουργικότητα του συστήματος, από την άποψη της στατικής δομής και δυναμικής συμπεριφοράς του. Σε αντίθεση με την όψη περιπτώσεων χρήσης, επικεντρώνεται στο εσωτερικό του συστήματος. Η στατική δομή περιγράφεται μέσα από το διάγραμμα κλάσεων, ενώ η δυναμική συμπεριφορά μέσα από τα τα διαγράμματα καταστάσεων, ακολουθίας, συνεργασίας και δραστηριοτήτων. Η όψη συστατικών (Component view) : Περιγράφει την οργάνωση και υλοποίηση των εκτελέσιμων συστατικών και των εξαρτήσεών τους. Περιγράφεται μέσα από το διάγραμμα συστατικών. Η όψη αυτή μπορεί να περιέχει επίσης επιπλέον πληροφορία σχετικά με τα συστατικά, όπως κατανομή των πόρων, ή διοικητική πληροφορία, όπως μια αναφορά προόδου της πορείας της εργασίας. Η όψη ταυτοχρονισμού (Concurrency view) : Περιγράφει τον ταυτοχρονισμό του συστήματος. Αυτή η όψη, που αποτελεί μια μη λειτουργική ιδιότητα του συστήματος, εκφράζει την αποδοτική χρησιμοποίηση πόρων, την παράλληλη εκτέλεση, και το χειρισμό των ασύγχρονων γεγονότων που προέρχονται από το περιβάλλον. Πέρα από τη διαίρεση του συστήματος σε ταυτοχρόνως εκτελέσιμα νήματα ελέγχου, πρέπει επίσης να χειριστούν θέματα επικοινωνίας και συγχρονισμού των νημάτων. Η όψη αυτή περιγράφεται μέσα από δυναμικά διαγράμματα (διαγράμματα καταστάσεων, ακολουθίας, συνεργασίας και δραστηριοτήτων), καθώς και διαγράμματα υλοποίησης (διαγράμματα συστατικών και ανάπτυξης). Η όψη ανάπτυξης (Deployment view) : Περιγράφει την ανάπτυξη του συστήματος σε φυσικό επίπεδο, δηλαδή τους κόμβους (υπολογιστές) στους οποίους τρέχουν τα συστατικά της εφαρμογής, καθώς και το πώς συνδέονται μεταξύ τους. Περιγράφεται από το διάγραμμα ανάπτυξης. 2.4 Τα διαγράμματα της UML Τα κυριότερα διαγράμματα της UML είναι τα εξής: Διάγραμμα περιπτώσεων χρήσης (Use case diagram) Διάγραμμα κλάσεων (Class diagram) Διάγραμμα ακουλουθίας (Sequence diagram) Διάγραμμα συνεργασίας (Collaboration diagram) Διάγραμμα καταστάσεων (Statechart diagram) Διάγραμμα δραστηριότητας (Activity diagram) Διάγραμμα συστατικών (Component diagram) Διάγραμμα ανάπτυξης (Deployment diagram) Παρακάτω περιγράφονται αναλυτικά τα παραπάνω διαγράμματα. [3][4][6] 25

27 Διάγραμμα περιπτώσεων χρήσης Το διάγραμμα περιπτώσεων χρήσης στη UML χρησιμοποείται για την μοντελοποίηση της λειτουργικότητας ενός συστήματος, όπως αυτή γίνεται αντιληπτή από τον εξωτερικό χρήστη. Τα διαγράμματα αυτά διαμερίζουν τη λειτουργικότητα του συστήματος σε συναλλαγές που έχουν νόημα για τους χρήστες του συστήματος ή αλλιώς χειριστές (actors). Τα επιμέρους τμήματα της λειτουργικότητας ονομάζονται περιπτώσεις χρήσης (use cases). Το σύνολο των περιπτώσεων χρήσης συνιστούν τη συμπεριφορά του συστήματος. Τα βασικά διαγραμματικά στοιχεία του διαγράμματος περιπτώσεων χρήσης είναι το σύστημα, ο χειριστής, η περίπτωση χρήσης και οι σχέσεις μεταξύ τους. Τα στοιχεία αυτά φαίνονται παρακάτω στο Σχήμα 2.2: association generalization UseCase <<include>> Actor <<extend>> Σχήμα 2.2 Βασικά διαγραμματικά στοιχεία του διαγράμματος περιπτώσεων χρήσης Η αξία του διαγράμματος περιπτώσεων χρήσης είναι ιδιαίτερα σημαντική, διότι καθορίζει τις λειτουργικές απαιτήσεις, οι οποίες θα αποτελέσουν σημείο αναφοράς καθ όλη τη διάρκεια ανάπτυξης του συστήματος. Ο σημαντικότερος ρόλος του συγκεκριμένου διαγράμματος είναι ότι αποτελεί ένα μέσο επικοινωνίας μεταξύ πελατών και σχεδιαστών, όσον αφορά στη λειτουργικότητα του συστήματος. Η απλότητα των συμβολισμών το καθιστά ιδανικό για αυτό το σκοπό, παρέχοντας τη δυνατότητα εύκολης αντίληψης του συνόλου των λειτουργιών καθώς και εύκολης τροποποίησής τους. Ο χειριστής αντιπροσωπεύει μια εξωτερική οντότητα, άνθρωπο ή σύστημα, η οποία αλληλεπιδρά με το σύστημα. Ο χειριστής αναπαριστά ένα ρόλο, όχι έναν μεμονωμένο χρήστη του συστήματος, μιας και ο ίδιος χρήστης μπορεί να αλληλεπιδρά με το σύστημα με πολλαπλούς ρόλους. Οι χειριστές είναι κλάσεις με το στερεότυπο «actor», όπου το όνομα της κλάσης γενικά αναπαριστά το ρόλο του χειριστή. Το σύμβολο του χειριστή φαίνεται στο Σχήμα 2.2. Στο διάγραμμα περιπτώσεων χρήσης χρησιμοποιείται μόνο η σχέση γενίκευσης ανάμεσα σε χειριστές, προκειμένου να περιγραφεί η κοινή συμπεριφορά ανάμεσα τους, την οποία και κληρονομούν από μια πρόγονο κλάση χειριστή. Ο τυπικός ορισμός μιας περίπτωσης χρήσης είναι μια ακολουθία ενεργειών που πραγματοποιείται από το σύστημα για την παραγωγή μετρήσιμων αποτελεσμάτων που έχουν νόημα για τον χρήστη. Η περίπτωση χρήσης ορίζει ένα συγκεκριμένο τρόπο 26

28 χρησιμοποίησης του συστήματος, προσδιορίζοντας την αλληλεπίδραση ανάμεσα σε έναν ή περισσότερους χειριστές και το σύστημα. Το στιγμιότυπο μιας περίπτωσης χρήσης ονομάζεται σενάριο (scenario), και αναπαριστά ένα συγκεκριμένο μονοπάτι εκτέλεσης (execution path) μέσα στο σύστημα. Ο συμβολισμός φαίνεται στο Σχήμα 2.2. Η περίπτωση χρήσης έχει τα ακόλουθα χαρακτηριστικά: 1. Ξεκινάει πάντα από ένα χειριστή. 2. Πρέπει να επιστρέφει κάποιου είδους απτή πληροφορία στο χρήστη. 3. Μια περίπτωση χρήσης είναι πλήρης, με την έννοια ότι αποτελεί μια πλήρη περιγραφή. Μια περίπτωση χρήσης δε θεωρείται ότι έχει ολοκληρωθεί μέχρις ότου η τελική πληροφορία παραχθεί, ακόμη κι αν απαιτούνται γι αυτό πολλαπλές αλληλεπιδράσεις μεταξύ των αντικειμένων. Ένα σύνηθες λάθος είναι η διαίρεση μιάς περίπτωσης χρήσης σε μικρότερες, οι οποίες παράγουν ενδιάμεσα αποτελέσματα. Ανάμεσα στις περιπτώσεις χρήσης υπάρχουν τρία είδη σχέσεων: η επέκταση (extends), η συμπερίληψη (uses ή includes) και η ομαδοποίηση (grouping). Οι σχέσεις αυτές φαίνονται στο Σχήμα 2.2. Η σχέση της επέκτασης είναι μια σχέση γενίκευσης που χρησιμοποιείται στην περίπτωση όπου μια περίπτωση χρήσης συμπεριλαμβάνει ένα τμήμα, όχι απαραίτητα ολόκληρη, την συμπεριφορά της περίπτωσης χρήσης που επεκτείνει. Τέτοιου είδους περιπτώσεις χρήσης χρησιμοποιούνται στο χειρισμό εξαιρέσεων. Η σχέση της συμπερίληψης είναι και αυτή μια σχέση γενίκευσης που χρησιμοποιείται στην περίπτωση όπου μια περίπτωση χρήσης συμπεριλαμβάνει την πλήρη λειτουργικότητα μιας άλλης. Όταν ένα σύνολο περιπτώσεων χρήσης παρουσιάζουν σε κάποια τμήματα κοινή συμπεριφορά, η σχέση αυτή χρησιμοποιείται για τη μοντελοποίηση αυτής της κοινής συμπεριφοράς σε μια περίπτωση χρήσης που χρησιμοποιείται από τις υπόλοιπες. Τέλος με τη σχέση της ομαδοποίησης, περιπτώσεις χρήσης, οι οποίες διαθέτουν παρόμοια συμπεριφορά ή σχετίζονται με κάποιο τρόπο μεταξύ τους, οργανώνονται σε πακέτα. Ωστόσο, για λόγους απλότητας των διαγραμμάτων περιπτώσεων χρήσης η τελευταία σχέση συνήθως δε χρησιμοποιείται. Ακολουθεί ένα παράδειγμα διαγράμματος περιπτώσεων χρήσης για το σύστημα Festo MPS (Σχήμα 2.3): 27

29 Σχήμα 2.3 Διάγραμμα περιπτώσεων χρήσης για το σύστημα Festo MPS 28

30 Η περιγραφή των περιπτώσεων χρήσης γίνεται με τη μορφή κειμένου στην ορολογία του χρήστη και αποτελεί μια απλή και συνεπή τεκμηρίωση. Η τεκμηρίωση κάθε περίπτωσης χρήσης, για να είναι πλήρης, θα πρέπει να περιλαμβάνει μια ακολουθία γεγονότων που λαμβάνουν χώρα για την υλοποίηση της επιθυμητής συμπεριφοράς. Επικεντρώνεται στην εξωτερική συμπεριφορά του συστήματος, αγνοώντας τον τρόπο υλοποίησης και την εσωτερική δομή του. Μερικά σημεία τα οποία θα πρέπει να συμπεριλαμβάνονται στην περιγραφή είναι ο στόχος της περίπτωσης χρήσης, από ποιόν χειριστή ξεκινάει, η ακολουθία των μηνυμάτων μεταξύ χειριστή και συστήματος, εναλλακτική ροή γεγονότων σε περιπτώσεις εξαιρέσεων, και τέλος το πώς η περίπτωση χρήσης τερματίζεται επιστρέφοντας κάποια τιμή στο χειριστή. Διάγραμμα κλάσεων Το διάγραμμα κλάσεων είναι ο πρώτος τύπος διαγράμματος της UML που θα δούμε, και ο οποίος έχει άμεση σχέση με τα αντικειμενοστρεφή συστήματα. Τα διαγράμματα περιπτώσεων χρήσης που είδαμε προηγουμένως είναι διαγράμματα καταγραφής προδιαγραφών και είναι χρήσιμα για κάθε τύπο συστήματος. Σε ένα αντικειμενοστρεφές σύστημα τα δομικά στοιχεία του είναι οι κλάσεις και οι σχέσεις μεταξύ των κλάσεων, οι οποίες επιτρέπουν τη συνεργασία αντικειμένων που δημιουργούνται ως στιγμιότυπα των κλάσεων. Το διάγραμμα κλάσεων αποτελείται από τις κλάσεις του συστήματος και τις μεταξύ τους συσχετίσεις, περιγράφοντας με αυτό τον τρόπο τη στατική δομή του συστήματος. Το διάγραμμα κλάσεων μπορεί να χρησιμοποιηθεί σε διάφορες φάσεις της ανάπτυξης του συστήματος. Στο αρχικό στάδιο της ανάλυσης απαιτήσεων οι κατασκευαστές αρχίζουν να αποκτούν γνώση για το πεδίο του προβλήματος του συστήματος. Αυτή η αρχική κατανόηση των εννοιών του πεδίου του προβλήματος καταγράφεται σε ένα διάγραμμα κλάσεων, το οποίο ονομάζεται μοντέλο του πεδίου προβλήματος (problem domain model). Στο μοντέλο αυτό καταγράφονται ως κλάσεις οι έννοιες του πεδίου του προβλήματος και οι μεταξύ τους συσχετίσεις. Έπειτα, στο στάδιο της ανάλυσης, με οδηγό το μοντέλο του πεδίου προβλήματος, κατασκευάζεται ένα διάγραμμα κλάσεων, το οποίο αναπαριστά τη βασική αρχιτεκτονική δομή του συστήματος. Σε αυτό το στάδιο οι κλάσεις πρέπει να επιδιώκουν την αναπαράσταση του συστήματος που μοντελοποιείται με την ελάχιστη δυνατή πληροφορία, χωρίς να επιχειρείται αναφορά σε θέματα υλοποίησης. Στη συνέχεια, μεταβαίνοντας στο στάδιο της σχεδίασης, η περιγραφή των κλάσεων συμπληρώνεται με τις λειτουργίες που υλοποιούν τη συμπεριφορά των αντικειμένων και με επιπρόσθετες ιδιότητες ή συσχετίσεις, που επιβάλλονται από το περιβάλλον υλοποίησης. Τέλος, κατά την υλοποίηση του συστήματος, είναι δυνατόν να επέλθουν τροποποιήσεις στη δομή των κλάσεων λόγω απαιτήσεων που σχετίζονται με απόκρυψη πληροφορίας, ορατότητα και άλλες μη λειτουργικές απαιτήσεις, όπως π.χ. απόδοση και ασφάλεια. Σε μερικές περιπτώσεις, το διάγραμμα κλάσεων είναι το μόνο είδος διαγράμματος της UML που χρησιμοποιείται, λόγω των πληροφοριών που παρέχει σχετικά με τον πηγαίο κώδικα. Όπως θα αναφερθεί παρακάτω, υπάρχει η δυνατότητα αυτόματης παραγωγής τμημάτων κώδικα από το διάγραμμα κλάσεων, καθώς και η αυτόματη δημιουργία διαγραμμάτων κλάσεων λαμβάνοντας ως είσοδο τον πηγαίο κώδικα. 29

31 Για το λόγο αυτό, ο κάθε συμβολισμός είναι σημαντικός, ακόμα κι αν υποδηλώνεται με ένα στοιχειώδες σύμβολο στο διάγραμμα κλάσεων. Στη συνέχεια παρουσιάζονται τα βασικά διαγραμματικά στοιχεία ενός διαγράμματος κλάσεων. Οι κλάσεις αποτελούν τη βάση της κατασκευής οποιουδήποτε αντικειμενοστρεφούς συστήματος. Ενσωματώνουν δεδομένα, καθώς και τις λειτουργίες που επενεργούν στα δεδομένα αυτά. Ο συμβολισμός της κλάσης φαίνεται στο Σχήμα 2.4. Αν μια κλάση είναι αφηρημένη το όνομα της κλάσης σημειώνεται με πλάγιους χαρακτήρες. Στο παρακάτω σχήμα φαίνεται η κλάση που αναπαριστά το φυσικό αντικείμενο Feeder (Σχήμα 2.4): Σχήμα 2.4 Η κλάση Feeder Το συντακτικό για τη δήλωση ιδιοτήτων στη UML είναι: ορατότητα όνομα : Τύπος = ΑρχικήΤιμή Ενώ το συντακτικό για τη δήλωση λειτουργιών είναι: ορατότητα όνομα (λίστα παραμέτρων): Επιστρεφόμενος τύπος Η ορατότητα απεικονίζεται με τα σύμβολα -, +, #, ~ τα οποία δηλώνουν ιδιωτική, δημόσια, προστατευμένη καθώς και πρόσβαση σε επίπεδο πακέτου αντίστοιχα. Μια στατική ιδιότητα ή λειτουργία, που ανήκει δηλαδή στην κλάση και όχι στα στιγμιότυπά της, υποδηλώνεται στη UML υπογραμμίζοντας το όνομα της ιδιότητας ή της μεθόδου αντίστοιχα. Μια συσχέτιση μεταξύ δύο κλάσεων απεικονίζει μια στατική σχέση μεταξύ τους. Αν η σχέση αυτή μεταξύ των κλάσεων υφίσταται σε μόνιμη βάση, τότε χρησιμοποιούμε τη συσχέτιση, ενώ αν η σχέση είναι παροδική (π.χ. όταν τα αντικείμενα μιας κλάσης είναι παράμετροι σε μια μέθοδο μιας άλλης κλάσης) χρησιμοποιούμε την εξάρτηση. Ενώ μια συσχέτιση στη UML συνδέει δύο κλάσεις ενός μοντέλου, ένα στιγμιότυπο μιας συσχέτισης συνδέει δύο συγκεκριμένα στιγμιότυπα κλάσεων και ονομάζεται σύνδεση (link). Προαιρετικά μπορούμε να έχουμε σε μία συσχέτιση τα εξής στοιχεία: Όνομα συσχέτισης, το οποίο θα πρέπει να υποδηλώνει με σαφήνεια το νόημα της συσχέτισης. Ονόματα άκρων συσχέτισης: τα οποία υποδηλώνουν το ρόλο αυτής της κλάσης στη συσχέτιση. 30

32 Πολλαπλότητα: Η πολλαπλότητα αφορά σε ένα άκρο μιας συσχέτισης και είναι το πλήθος των αντικειμένων που μπορεί να σχετίζονται με ένα αντικείμενο της άλλης κλάσης. Πλοϊμότητα: Συμβολίζεται με ένα βέλος στο πέρας της συσχέτισης και υποδηλώνει πλοϊμότητα μόνο προς τη φορά του βέλους. Αφορά στη δυνατότητα που έχουμε από μία κλάση να ανακτήσουμε αντικείμενα της άλλης σε μια συσχέτιση. Όταν δεν υπάρχει πλοϊμότητα υποννοείται πλοϊμότητα και προς τις δύο κατευθύνσεις. Στη συνέχεια αναφέρονται διάφοροι ειδικότεροι τύποι συσχετίσεων. Γενίκευση: Η γενίκευση είναι μια ειδική μορφή συσχέτισης, η οποία αποτελεί μια σχέση μεταξύ μιας γενικής περιγραφής και μιας ειδικότερης περιγραφής που την επεκτείνει. Η γενίκευση αξιοποιεί το μηχανισμό της κληρονομικότητας και επιτρέπει πολυμορφική συμπεριφορά. Συσσωμάτωση και σύνθεση: Η συσσωμάτωση είναι μια σχέση ειδικής μορφής που αναπαριστά μια σχέση συνόλου-τμήματος ή όλου-μέρους (whole-part). Η σύνθεση είναι μιας ισχυρότερης μορφής συσχέτιση στην οποία το σύνολο έχει την αποκλειστική ευθύνη διαχείρισης των τμημάτων, όπως τη δημιουργία και τη διαγραφή τους. Αν διαγραφεί για παράδειγμα η κλάση που αντιστοιχεί στο σύνολο, διαγράφονται και οι κλάσεις των τμημάτων. Στο Σχήμα 3.6 φαίνεται ένα παράδειγμα της σχέσης σύνθεσης από το FestoMPS. Σχήμα 2.6 Παράδειγμα σχέσης σύνθεσης Εξάρτηση: Μια εξάρτηση υποδηλώνει σημασιολογική σχέση μεταξύ δύο ή περισσοτέρων στοιχείων ενός μοντέλου. Αν δυο κλάσεις Α και Β συνδέονται με μια σχέση εξάρτησης από την Α προς τη Β, υποδηλώνεται ότι, παρόλο που η κλάση Α δε δημιουργεί ούτε «έχει» τη Β, απαιτεί την ύπαρξη της Β για την αποστολή μηνυμάτων προς αυτή. Αν η κλάση Β τροποποιηθεί, ενδεχομένως να απαιτείται και η τροποποίηση της κλάσης Α. Διασύνδεση σχέση πραγμάτωσης: Η διασύνδεση (interface) είναι ένας τύπος που παρέχει λειτουργίες που είναι στο σύνολό τους αφαιρετικές. Η κλάση η οποία πραγματώνει μια διασύνδεση συνδέεται μαζί της με τη σχέση πραγμάτωσης (realization). Στο παρακάτω σχήμα φαίνεται ένα παράδειγμα σχέσης πραγμάτωσης από το Festo MPS: (Σχήμα 2.7) 31

33 Σχήμα 2.7 Παράδειγμα σχέσης πραγμάτωσης Παρόλο που ένα μοντέλο στη UML αναπαρίσταται γραφικά, απαιτείται συχνά χρήση κειμένου για μέγιστη δυνατή διαφάνεια. Ένας περιορισμός είναι μια λογική συνθήκη (έκφραση Boole) που πρέπει να είναι αληθής για να λάβει χώρα μια ενέργεια ή για να υπάρξει μια συσχέτιση. Η UML επιτρέπει τον καθορισμό περιορισμών με οποιοδήποτε τρόπο, αρκεί η περιγραφή να βρίσκεται μέσα σε άγκιστρα {. Ωστόσο, η UML περιλαμβάνει τον ορισμό μιας τυπικής γλώσσας περιορισμών (Object Constraint Language OCL). Παρακάτω φαίνεται το διάγραμμα κλάσεων για το μηχανικό σύστημα Festo MPS (Σχήμα 2.8) Σχήμα 2.8 Διάγραμμα κλάσεων για το μηχανικό σύστημα FestoMPS 32

34 Διάγραμμα ακολουθίας Το διάγραμμα ακολουθίας παρουσιάζει την αλληλεπίδραση μεταξύ αντικειμένων σε δύο διαστάσεις. Η κάθετη διάσταση αντιστοιχεί στην κλίμακα του χρόνου, ενώ στην οριζόντια διάσταση συμβολίζονται τα ανεξάρτητα αντικείμενα. Τα αντικείμενα συμβολίζονται με παραλληλόγραμμα μέσα στα οποία μπορεί να σημειωθεί το όνομα του στιγμιοτύπου του αντικειμένου που συμμετέχει στο σενάριο που απεικονίζεται και ακολουθεί μετά από άνω-κάτω τελεία το όνομα της κλάσης στην οποία ανήκει το αντικείμενο. Σε κάθε αντικείμενο αντιστοιχεί μια κάθετη γραμμή που ονομάζεται γραμμή ζωής (lifeline). Τα αντικείμενα ανταλλάσουν μηνύματα, τα οποία στην επίσημη ορολογία της UML ονομάζονται ερεθίσματα (stimuli). Ένα μήνυμα που αποστέλλεται μεταξύ των αντικειμένων συμβολίζεται ως ένα βέλος από τη γραμμή ζωής ενός αντικειμένου προς τη γραμμή ζωής ενός άλλου. Μήνυμα μπορεί να είναι οτιδήποτε από τα εξής: Κλήση μιας λειτουργίας: όταν ένα αντικείμενο καλεί μια λειτουργία ενός άλλου αντικειμένου. Πρόκειται για σύγχρονο μήνυμα, δηλαδή ο αποστολέας του μηνύματος θα πρέπει να περιμένει την ολοκλήρωση της λειτουργίας για να συνεχίσει.η κεφαλή του βέλους είναι γεμισμένη με μαύρο χρώμα. Πάνω από το βέλος αναγράφεται το όνομα της λειτουργίας που καλείται, με τις ενδεχόμενες παραμέτρους σε παρενθέσεις. Ειδική περίπτωση κλήσης είναι η αυτοκλήση, η οποία ξεκινάει από το αντικείμενο και καταλήγει πάλι σε αυτό. Σήμα: όταν ένα αντικείμενο αποστέλλει ένα ασύγχρονο μήνυμα σε ένα άλλο αντικείμενο. Τυπικά ασύγχρονα μηνύματα συναντάμε σε πολυνηματικές εφαρμογές, όπου ένα μήνυμα τοποθετείται σε κάποια ουρά ενός νήματος εκτέλεσης ενώ το ενεργό αντικείμενο-παραλήπτης θα επεξεργαστεί το μήνυμα σε κάποια επόμενη χρονική στιγμή. Η διαφορά με την κλήση λειτουργίας στον συμβολισμό είναι πως η κατάληξη είναι ένα ανοιχτό βέλος. Επιστροφή κλήσης: είναι ένα διακεκομμένο βέλος το οποίο συμβολίζει την επιστροφή από μία κλήση λειτουργίας. Πάνω στο διακεκομμένο βέλος αναγράφεται συνήθως η τιμή επιστροφής, αν υπάρχει.. Μηνύματα υπό συνθήκη: Στα μηνύματα υπό συνθήκη τοποθετούνται αγκύλες μέσα στις οποίες αναγράφεται μία συνθήκη που μπορεί να είναι αληθής ή ψευδής. Η σημασία του συμβολισμού είναι ότι το μήνυμα θα αποσταλεί μόνο αν η συνθήκη είναι αληθής. Αν θέλουμε ταυτόχρονα να δείξουμε μια αποστολή εναλλακτικού μηνύματος στην περίπτωση που η συνθήκη είναι ψευδής, τότε δείχνουμε τα δύο αμοιβαία αποκλειόμενα μηνύματα σαν μηνύματα με το ίδιο σημείο εκκίνησης και γράφουμε στο πρώτο τη συνθήκη και στο δεύτερο τη φράση [else], όπως δείχνει το παρακάτω σχήμα. Σε ένα διάγραμμα ακολουθίας είναι δυνατόν να προστεθούν και περισσότεροι συμβολισμοί που υποδηλώνουν βρόχους επανάληψης, μηνύματα που αποστέλλονται πολλαπλές φορές, συγχρονισμό νημάτων κ.ο.κ. Ωστόσο, ο σκοπός των διαγραμμάτων ακολουθίας δεν είναι να αποτυπώσουν τις λεπτομέρειες ενός 33

35 αλγορίθμου αλλά να αναπαραστήσουν με απλό και κατανοητό τρόπο τα σενάρια συνεργασίας μεταξύ αντικειμένων. Στο Σχήμα 2.9 φαίνεται το διάγραμμα ακολουθίας για την περίπτωση χρήσης Front position reached με actor τον Feeder. Σχήμα 2.9 Διάγραμμα ακολουθίας για την περίπτωση χρήσης Front position reached Διάγραμμα συνεργασίας Σε ένα διάγραμμα συνεργασίας απεικονίζονται τα συνεργαζόμενα αντικείμενα και οι συσχετίσεις μεταξύ τους. Ενώ τα διαγράμματα ακολουθίας απεικονίζουν κυρίως τη ροή των μηνυμάτων σε ένα σενάριο μιας περίπτωσης χρήσης, τα διαγράμματα συνεργασίας χρησιμοποιούνται για να παρουσιάσουν τις σχέσεις μεταξύ αντικειμένων. Πλησίον των συνδέσεων εμφανίζονται ως μικρότερες ακμές τα μηνύματα που αποστέλλονται. Για να απεικονιστεί η ακολουθία των μηνυμάτων που ανταλλάσσονται χρησιμοποιείται αρίθμηση των μηνυμάτων. Τα διαγράμμα ακολουθίας και συνεργασίας θεωρούνται συμπληρωματικά, καθώς περιέχουν την ίδια πληροφορία άλλα κάθε ένα δίνει μια διαφορετική οπτική γωνία (σε πολλά εργαλεία το ένα είδος διαγράμματος παράγεται αυτόματα από το άλλο). Το διάγραμμα συνεργασίας που αντιστοιχεί στο διάγραμμα ακολουθίας του Σχήματος 2.9 είναι αυτό που απεικονίζεται στο Σχήμα

36 Σχήμα 2.10 Διάγραμμα συνεργασίας Από ένα τέτοιο διάγραμμα είναι εύκολο να αντιληφθεί κανείς την ομάδα των συνεργαζόμενων αντικειμένων και την ύπαρξη των συνδέσεων μεταξύ τους αλλά είναι δυσκολότερο να οπτικοποιηθεί η ροή των μηνυμάτων, η οποία φαίνεται καλύτερα στο διάγραμμα ακολουθίας. Διάγραμμα καταστάσεων Το διάγραμμα καταστάσεων χρησιμοποιείται για την περιγραφή της ροής του ελέγχου σε ένα σύστημα εστιάζοντας στις αλλαγές κατάστασης που λαμβάνουν χώρα σε ένα αντικείμενο. Πολύ συχνά οι προδιαγραφές ενός συστήματος μπορούν να καθοριστούν βάσει μιας μηχανής πεπερασμένων καταστάσεων (finite state machine) ή απλά μηχανής καταστάσεων. Συνήθως, μια μηχανή καταστάσεων περιγράφεται ως ένας γράφος όπου οι κόμβοι αντιστοιχούν σε καταστάσεις και τα βέλη υποδηλώνουν τη μετάβαση από μια κατάσταση σε μια άλλη. Εν γένει, οι μηχανές πεπερασμένων καταστάσεων είναι κατάλληλες για την περιγραφή σύγχρονων συστημάτων. Συνήθως, ένα διάγραμμα καταστάσεων είναι προσαρτημένο σε μια κλάση και αποτελεί ένα μοντέλο όλων των δυνατών κύκλων ζωής ενός αντικειμένου της κλάσης. Κάθε αντικείμενο αντιμετωπίζεται ως ξεχωριστή οντότητα που επικοινωνεί με το περιβάλλον ανιχνεύοντας γεγονότα και αντιδρώντας σε αυτά. Όταν λαμβάνει χώρα ένα ανιχνέυσιμο γεγονός, το αντικείμενο αποκρίνεται με βάση την κατάσταση στην οποία βρίσκεται. Η εκτέλεση μιας ενέργειας μπορεί να οδηγήσει σε μετάβαση σε μια άλλη κατάσταση. Σε ένα διάγραμμα καταστάσεων της UML απεικονίζονται γεγονότα, καταστάσεις και μεταβάσεις: 35

37 Ένα γεγονός (event) έχει χωρική και χρονική θέση στο σύστημα αλλά δεν έχει διάρκεια. Ένα γεγονός συμβολίζεται σημειώνοντας το όνομα του στις μεταβάσεις τις οποίες προκαλεί. Στην περίπτωση που κάποια ενέργεια πραγματοποιείται ταυτόχρονα με την εμφάνιση ενός γεγονότος, σημειώνεται μετά το όνομα του γεγονότος διαχωρισμένη με κάθετο /. Μια κατάσταση (state) περιγράφει μια χρονική περίοδο κατά τη διάρκεια ζωής ενός αντικειμένου. Μπορεί να χαρακτηριστεί ως ένα σύνολο τιμών για τις ιδιότητες του αντικειμένου που είναι παρόμοιες από κάποια άποψη, ως μια περίοδος κατά την οποία ένα αντικείμενο αναμένει την εμφάνιση ενός γεγονότος, ή ως μία περίοδος κατά την οποία ένα αντικείμενο εκτελεί μια εργασία. Μια κατάσταση συμβολίζεται ως ένα ορθογώνιο με καμπύλες γωνίες. Ειδικά για το συμβολισμό της αρχικής κατάστασης ενός συστήματος χρησιμοποιείται ένας «γεμισμένος κύκλος». Μια μετάβαση καθορίζει την απόκριση ενός αντικειμένου που βρίσκεται σε μια κατάσταση όταν λάβει χώρα ένα γεγονός. Εν γένει, μια μετάβαση περιλαμβάνει το γεγονός που την ενεργοποιεί, προαιρετικά μια συνθήκη ελέγχου έτσι ώστε η μετάβαση να πραγματοποιείται μόνο όταν η συνθήκη είναι αληθής, μια ενέργεια και μια τελική κατάσταση. Ένα διάγραμμα καταστάσεων από το σύστημα Festo MPS για το φυσικό αντικείμενο Feeder φαίνεται στο Σχήμα Σχήμα 2.11 Διάγραμμα καταστάσεων για το φυσικό αντικείμενο Feeder Διάγραμμα δραστηριότητας Ένας γράφος δραστηριότητας είναι μια ειδική μορφή μηχανής καταστάσεων που έχει ως στόχο τη μοντελοποίηση των υπολογισμών και της ροής της εργασίας. Οι καταστάσεις του γράφου δραστηριότητας αναπαριστούν τις καταστάσεις εκτέλεσης ενός υπολογισμού, όχι τις καταστάσεις των αντικειμένων που συμμετέχουν. Υπό κανονικές συνθήκες, ένας γράφος δραστηριότητας προϋποθέτει ότι οι υπολογισμοί πραγματοποιούνται χωρίς εξωτερικές γεγονοδηγούμενες διακοπές, αλλιώς είναι 36

38 προτιμότερο ένα διάγραμμα καταστάσεων. Μια κατάσταση δραστηριότητας δεν αναμένει την εμφάνιση ενός γεγονότος, αλλά την ολοκλήρωση της διαδικασίας που περιγράφει, για τη μετάβαση στην επόμενη δραστηριότητα. Ένας γράφος δραστηριότητας μπορεί να περιλαμβάνει διακλάδωση της δραστηριότητας σε ταυτόχρονα νήματα εκτέλεσης. Ένα διάγραμμα δραστηριότητας είναι ο συμβολισμός ενός γράφου δραστηριότητας στη UML. Περιγράφει τις συνθήκες που καθορίζουν ποιές δραστηριότητες θα εκτελεστούν σε κάθε σημείο του προγράμματος, ποιές δραστηριότητες μπορούν να λαμβάνουν χώρα παράλληλα καθώς και τυχόν επαναληπτικές δομές που περιλαμβάνονται Τα βασικά διαγραμματικά στοιχεία του διαγράμματος δραστηριότητας παρουσιάζονται στο Σχήμα Activity1 Δραστηριότητα Μετάβαση Απόφαση Συγχρονισμός Σχήμα 2.12 Διαγραμματικά στοιχεία του διαγράμματος δραστηριότητας Οι διακλαδώσεις συμβολίζονται είτε με συνθήκες φρουρούς επί των μεταβάσεων είτε με κόμβους απόφασης (ρόμβους) με πολλαπλές εξερχόμενες ακμές. Μια ένωση συμβολίζει συνένωση πολλών εισερχόμενων μεταβάσεων σε μία εξερχόμενη, ενώ μια διχάλα την ανάλυση μιας εισερχόμενης μετάβασης σε πολλές παράλληλες εξερχόμενες μεταβάσεις. Τα διαγράμματα δραστηριότητας είναι χρήσιμα για την ανάλυση μιας περίπτωσης χρήσης (συνοδεύοντας την τεκμηρίωση της) όταν πρέπει να γίνει κατανοητό ποιές ενέργειες πρέπει να πραγματοποιηθούν υπό διάφορες δυνατές συνθήκες. Επιπρόσθετα, τα διαγράμματα δραστηριότητας είναι χρήσιμα για την περιγραφή πολύπλοκων αλγορίθμων, οι οποίοι πρόκειται να υλοποιηθούν από μία ή και περισσότερες μεθόδους μιας κλάσης. Διάγραμμα συστατικών Ένα συστατικό (component) είναι μια φυσική μονάδα υλοποίησης κώδικα με σαφώς προσδιορισμένες διασυνδέσεις, η οποία αποτελεί επαναχρησιμοποιήσιμο τμήμα του συστήματος. Σε ένα αντικειμενοστρεφές σύστημα ένα συστατικό ενσωματώνει την υλοποίηση μίας ή περισσοτέρων κλάσεων. Καλά σχεδιασμένα συστατικά δε θα πρέπει να εξαρτώνται άμεσα από άλλα συστατικά αλλά μόνο από διασυνδέσεις. Οι εξαρτήσεις έχουν επίδραση στη συντήρηση ενός συστήματος λογισμικού. Αν κάποιο συστατικό Α εξαρτάται από κάποιο άλλο συστατικό Β, οποιαδήποτε αλλαγή στο Β μπορεί να επηρεάσει το Α. Υπό την ίδια έννοια, οι εξαρτήσεις καθορίζουν την ευκολία επαναχρησιμοποίησης ενός συστατικού. Στην περίπτωση όπου ένα συστατικό στο σύστημα μπορεί να 37

39 αντικατασταθεί από κάποιο άλλο, που υποστηρίζει τις ίδιες διασυνδέσεις, δεν επιφέρονται αλλαγές στο υπόλοιπο σύστημα. Ένα διάγραμμα συστατικών απεικονίζει το δίκτυο των εξαρτήσεων μεταξύ των συστατικών του συστήματος. Μια εξάρτηση μεταξύ δύο συστατικών υποδηλώνει ότι για την ορθή λειτουργία του ενός συστατικού απαιτείται η ύπαρξη ενός άλλου. Το συστατικό συμβολίζεται ως ένα ορθογώνιο ενώ οι εξαρτήσεις συμβολίζονται ως διακεκομμένες ακμές με κατεύθυνση από το εξαρτώμενο συστατικό προς αυτό που παρέχει τις λειτουργίες. Στα διαγράμματα συστατικών υπάρχει η δυνατότητα απεικόνισης λογικών τμημάτων ενός συστήματος με τη χρήση των πακέτων. Ένα πακέτο περιλαμβάνει ένα σύνολο από συστατικά τα οποία έχουν λειτουργική συνάφεια. Ο συμβολισμός ενός πακέτου στη UML επιτυγχάνεται με τη χρήση ενός φακέλου. Διάγραμμα ανάπτυξης Το διάγραμμα ανάπτυξης περιγράφει την οργάνωση των επεξεργαστικών πόρων (κόμβων) του συστήματος και την αντιστοίχιση των συστατικών λογισμικού στους κόμβους αυτούς. Κατά κύριο λόγο απεικονίζουν την τοπολογία του υλικού επί του οποίου εκτελείται το σύστημα λογισμικού. Ένας κόμβος (node) είναι ένα φυσικό αντικείμενο που αναπαριστά έναν υπολογιστικό πόρο, ο οποίος στη γενική περίπτωση έχει τουλάχιστον μνήμη και δυνατότητα επεξεργασίας. Οι κόμβοι μπορούν να αντιστοιχίζονται σε στερεότυπα ώστε να διακρίνονται διαφορετικά είδη πόρων, όπως Κεντρικές μονάδες επεξεργασίας, μνήμες, εξυπηρετητές για βάσεις δεδομένων και συσκευές διασύνδεσης με άλλα συστήματα. Ένας κόμβος συμβολίζεται ως ένας τρισδιάστατος κύβος με το όνομα του κόμβου και ενδεχομένως ένα στερεότυπο που εκφράζει την κατηγορία στην οποία ανήκει. Σε κάθε κόμβο μπορούν προαιρετικά να αναφερθούν (υπό μορφή σημειώσεων) και τα συστατικά τα οποία εκτελούνται σε αυτόν. Η τοπολογία του συστήματος απεικονίζεται συνδέοντας τους κόμβους με γραμμές συσχέτισης, οι οποίες μπορούν να υποδηλώνουν ρητά το πρωτόκολλο επικοινωνίας ή να χαρακτηρίζουν το σύστημα μεταφοράς δεδομένων με κάποιο τρόπο. Το διάγραμμα ανάπτυξης δεν προσφέρει σημαντική πληροφορία για μια αυτόνομη αντικειμενοστρεφή εφαρμογή που εκτελείται αποκλειστικά σε έναν υπολογιστή. Χρησιμοποιείται από μηχανικούς συστημάτων για τη μοντελοποίηση ενσωματωμένων συστημάτων, συστημάτων πελάτη/εξυπηρετητή, όπου υπάρχει σαφής διαχωρισμός μεταξύ των εφαρμογών που εκτελούνται στο σύστημα του πελάτη και των μονίμων δεδομένων που φιλοξενούνται στον εξυπηρετητή, καθώς και πλήρως κατανεμημένων συστημάτων που περιλαμβάνουν συνήθως πολλαπλά επίπεδα εξυπηρετητών και συνήθως φιλοξενούν πολλαπλές εκδόσεις των συστατικών λογισμικού στους κόμβους τους. 38

40 2.5 Η UML στην ανάπτυξη ενσωματωμένων συστημάτων Η πλούσια γραφική σημειολογία της UML σε συνδυασμό με τις δυνατότητες μοντελοποίησης που παρέχει, επιτρέπει τον προσδιορισμό και την οπτικοποίηση της δομής και της συμπεριφοράς του συστήματος σε πολλαπλά επίπεδα αφαίρεσης. Τα στοιχεία αυτά την καθιστούν ικανή να χρησιμοποιηθεί στην ανάπτυξη ενσωματωμένων συστημάτων για τη μοντελοποίηση και την τεκμηρίωσή τους. H UML παρέχει ένα πλούσιο σύνολο στοιχείων μοντελοποίησης που δίνουν τη δυνατότητα να μοντελοποιηθούν τα πιο σημαντικά χαρακτηριστικά των κατανεμημένων συστημάτων πραγματικού χρόνου, όπως η απόδοση (χρησιμοποιώντας tagged attributes ή την OCL [7]), οι φυσικοί πόροι (χρησιμοποιώντας διαγράμματα ανάπτυξης) και ο χρόνος (χρησιμοποιώντας classifiers και tagged attributes). Ωστόσο, υπάρχουν οι εξής επιπλέον παράγοντες που πρέπει να ληφθούν υπόψη: Η μοντελοποίηση εφαρμογών συγκεκριμένου πεδίου είναι ευκολότερη αν χρησιμοποιείται μια πιο εξειδικευμένη (domain-specific) σημειολογία, η οποία αναπαριστά τα βασικά στοιχεία και πρότυπα (patterns) του συγκεριμένου πεδίου. Επιπλέον, απαιτείται μια σαφώς ορισμένη σημασιολογία για το συγκεκριμένο πεδίο, προκειμένου να αποφευχθεί η διαφορετική ερμηνεία ίδιων μοντέλων και να υποστηριχθούν τα εργαλεία ανάλυσης. Τέλος, πολλαπλά διαγράμματα μπορούν να χρησιμοποιηθούν για να περιγράψουν διαφορετικές όψεις του συστήματος. Η δυνατότητα περιγραφής του ίδιου αντικειμένου από διαφορετικές οπτικές γωνίες διευκολύνει μεν την τεκμηρίωση του συστήματος, αλλά μπορεί να καταλήξει σε ασυνέπειες μεταξύ των διαγραμμάτων, όταν η χρήση της UML δε συνδέεται με μια αυστηρώς ορισμένη μέθοδο σχεδιασμού. Για τους παραπάνω λόγους, για την ανάπτυξη εφαρμογών ενσωματωμένων συστημάτων, αλλά και γενικότερα εφαρμογών συγκεκριμένου πεδίου, απαιτείται [8] μια γλώσσα συγκεκριμένου πεδίου, η οποία ονομάζεται profile και βασίζεται στη βασική υποδομή της UML και περιλαμβάνει domainspecific building blocks (που ορίζονται χρησιμοποιώντας την έννοια του στερεοτύπου) μια μεθοδολογία, η οποία ορίζει το πώς και πότε η profile σημειολογία πρέπει να χρησιμοποιείται. Ένα UML profile για τα ενσωματωμένα συστήματα πρέπει να περιλαμβάνει εξειδικευμένη σημειολογία για την αναπαράσταση της δομής και της συμπεριφοράς των platform resources και των υπηρεσιών που παρέχουν, με ιδιαίτερη έμφαση σε θέματα απόδοσης και κόστους. Πρέπει επίσης να παρέχει τη δυνατότητα οπτικοποίησης πολλαπλών εναλλακτικών υλοποιήσεων για να διευκολύνει τη γρήγορη σύγκρισή τους. [8] Το UML Platform profile είναι μια γραφική γλώσσα για την τεκμηρίωση των embedded system platforms. Περιλαμβάνει domain-specific classifiers και σχέσεις εξειδικευμένες με στερεότυπα, που συμπληρώνουν τη σημειολογία που είναι ορισμένη στη UML και στο UML Profile for Schedulability, Performance and Time 39

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

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

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

UML: Unified modelling language

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στη Σχεδίαση Λογισμικού

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

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

Σημειογραφία των προτύπων BPMN και UML (Activity Diagrams)

Σημειογραφία των προτύπων BPMN και UML (Activity Diagrams) ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Α.Ε. «Ελληνικό Πλαίσιο Παροχής Υπηρεσιών» Πρόσθετο Υλικό (White Paper) Σημειογραφία των προτύπων BPMN και UML (Activity Φεβρουάριος 2008 PLANET ΑΝΩΝΥΜΗ ΕΤΑΙΡΕΙΑ ΠΑΡΟΧΗΣ ΣΥΜΒΟΥΛΕΥΤΙΚΩΝ

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

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

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

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

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

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

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

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

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

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

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

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Τι είναι η UP Βασικές αρχές µηχανικής λογισµικού Οι βασικές έννοιες της UP Οι τέσσερις

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

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

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

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

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

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

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

Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης. Use Cases and Use Case Diagrams

Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης. Use Cases and Use Case Diagrams Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης Use Cases and Use Case Diagrams Τι είναι οι Περιπτώσεις Χρήσης (Use Cases)! Eίναι µια τεχνική αποτύπωσης των λειτουργικών απαιτήσεων ενός συστήµατος!

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

Rational Unified Process:

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

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

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

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

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Προγραμματισμός Η/Υ Προτεινόμενα θέματα εξετάσεων Εργαστήριο Μέρος 1 ό ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής Ιανουάριος 2011 Καλογιάννης Γρηγόριος Επιστημονικός/ Εργαστηριακός

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

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

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

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

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

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

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

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

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

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

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού Ιστορικό Ημερομηνία Έκδοση Περιγραφή Συγγραφέας Σελ. 2 Πίνακας Περιεχομένων 1. Εισαγωγή xx

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

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

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

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4 Διαδικασίες παραγωγής λογισμικού Στόχοι Παρουσίαση μοντέλων παραγωγής λογισμικού Περιγραφή τριών γενικών μοντέλων παραγωγής λογισμικού και πότε μπορούν να χρησιμοποιούνται Γενική περιγραφή των μοντέλων

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

Σχεδιαστικά Προγράμματα Επίπλου

Σχεδιαστικά Προγράμματα Επίπλου Σχεδιαστικά Προγράμματα Επίπλου Καθηγήτρια ΦΕΡΦΥΡΗ ΣΩΤΗΡΙΑ Τμήμα ΣΧΕΔΙΑΣΜΟΥ & ΤΕΧΝΟΛΟΓΙΑΣ ΞΥΛΟΥ - ΕΠΙΠΛΟΥ Σχεδιαστικά Προγράμματα Επίπλου Η σχεδίαση με τον παραδοσιακό τρόπο απαιτεί αυξημένο χρόνο, ενώ

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

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

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

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

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. AeppAcademy.com facebook.com/aeppacademy Γεια. Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά. Καλή Ανάγνωση & Καλή Επιτυχία

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

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

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

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

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

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

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

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

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

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

Διαγράμματα περιπτώσεων χρήσης

Διαγράμματα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης Use case diagrams Περιγράφουν τη συμπεριφορά ενός συστήματος από την οπτική γωνία ενός χρήστη. Το μοντέλο περιπτώσεων χρήσης περιλαμβάνει : Τις ίδιες τις περιπτώσεις χρήσης

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

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

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

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

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

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

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

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

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

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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

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

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

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

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Κεφ. 2 Θέματα Θεωρητικής Επιστήμης Υπολογιστών Κεφ. 2 Θεωρητική Επιστήμη Υπολογιστών 2.3.1.1 Έννοια προγράμματος Τι είναι πρόγραμμα και τι προγραμματισμός; Πρόγραμμα είναι το σύνολο εντολών που χρειάζεται

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

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

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

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

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

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

ΑΕΠΠ Ερωτήσεις θεωρίας ΑΕΠΠ Ερωτήσεις θεωρίας Κεφάλαιο 1 1. Τα δεδομένα μπορούν να παρέχουν πληροφορίες όταν υποβάλλονται σε 2. Το πρόβλημα μεγιστοποίησης των κερδών μιας επιχείρησης είναι πρόβλημα 3. Για την επίλυση ενός προβλήματος

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

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

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

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

ιαγράµµατα Συµπεριφοράς Ανάλυση Συστηµάτων 2009

ιαγράµµατα Συµπεριφοράς Ανάλυση Συστηµάτων 2009 ιαγράµµατα Συµπεριφοράς Ανάλυση Συστηµάτων 2009 ιαγράµµατα Συµπεριφοράς ιαγράµµατα Ακολουθίας ιαγράµµατα Μηχανής Καταστάσεων ιαγράµµατα Επικοινωνίας ιαγράµµατα ραστηριοτήτων ιαγράµµατα Ακολουθίας (Sequence

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

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

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

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

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας 1 Ατζέντα Εισαγωγή Εργαλεία Ανοιχτού Λογισμικού για Μηχανικούς Λογισμικού Χρήση και

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

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 5 2 Εγκυροποίηση Λογισµικού Εγκυροποίηση Λογισµικού

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

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

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

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης Μάρα Νικολαϊδου Μοντελοποίηση Συστήµατος Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης είναι µια τεχνική

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

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

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

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

Συστήματα Πληροφοριών Διοίκησης

Συστήματα Πληροφοριών Διοίκησης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά Συστήματα Πληροφοριών Διοίκησης Ενότητα 2: Γενική θεώρηση και κατάταξη συστημάτων πληροφοριών διοίκησης Διονύσιος Γιαννακόπουλος, Καθηγητής Τμήμα

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

PDF created with pdffactory Pro trial version www.pdffactory.com

PDF created with pdffactory Pro trial version www.pdffactory.com Περιπτώσεις Χρήσης (Use Cases)- Γενικά Περίπτωση χρήσης: ένα σύνολο διαδοχικών ενεργειών (που μπορεί να περιλαμβάνει και εναλλακτικές ενέργειες) το οποίο οδηγεί σε ένα χρήσιμο αποτέλεσμαγιαέναν χειριστή

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

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

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

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

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων

Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Βάσεις Δεδομένων Επαγγελματικού Λυκείου Κεφάλαιο 4 Σχεδίαση Βάσεων Δεδομένων Εισηγητής Δελησταύρου Κωνσταντίνος Καθηγητής Πληροφορικής ΠΕ20 Μηχανικός Πληροφορικής Τ.Ε. M.Sc. στα Συστήματα Υπολογιστών Περιεχόμενα

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

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

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

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

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

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

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» M. Σπανάκης, Μ. Τσικνάκης Εαρινό Εξάμηνο 2014 Μάθημα 1 Παρουσίαση Εργασίας και Εισαγωγή στην ανάλυση απαιτήσεων Εισαγωγή Αρχική συζήτηση αναφορικά με την ανάλυση

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

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε

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

Σχεδίαση Λογισμικού. Σημείωση

Σχεδίαση Λογισμικού. Σημείωση Το έργο υλοποιείται στο πλαίσιο του υποέργου 2 με τίτλο «Ανάπτυξη έντυπου εκπαιδευτικού υλικού για τα νέα Προγράμματα Σπουδών» της Πράξης «Ελληνικό Ανοικτό Πανεπιστήμιο» η οποία έχει ενταχθεί στο Επιχειρησιακό

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

Μοντελοποίηση ροών εργασίας

Μοντελοποίηση ροών εργασίας Μοντελοποίηση ροών εργασίας ΕΣΔΔ Σειρά 22 η Ενότητα 4 Περιεχόμενα Διαδικασία Μοντελοποίηση Διαδικασιών Τεχνικές Μοντελοποίησης Διαδικασιών Εργαλεία Μοντελοποίησης Διαδικασιών Business Process Model and

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

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

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

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