Μοντελοκεντρική Ανάπτυξη Ενσωματωμένων Συστημάτων

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

Download "Μοντελοκεντρική Ανάπτυξη Ενσωματωμένων Συστημάτων"

Transcript

1 Μοντελοκεντρική Ανάπτυξη Ενσωματωμένων Συστημάτων ΔΟΥΜΠΙΩΤΟΥ ΣΤΥΛΙΑΝΗ ΚΑΝΔΑΛΗΣ ΣΤΑΜΑΤΗΣ Επιβλέπων καθηγητής: Γεώργιος Χασάπης ΘΕΣΣΑΛΟΝΙΚΗ 2013

2 2

3 ΠΕΡΙΛΗΨΗ Αντικείμενο της διπλωματικής αυτής είναι η μοντελοποίηση ενσωματωμένων συστημάτων ενός αυτοκινήτου που χαρακτηρίζεται ως αυτοκίνητο του μέλλοντος λόγω των πρωτότυπων και έξυπνων εφαρμογών που αυτά τα συστήματα υλοποιούν. Η παρουσίαση των μοντελοποιημένων συστημάτων γίνεται μέσω του eclipse και πιο συγκεκριμένα του Papyrus plug-in που κρίνεται ως το καταλληλότερο μετά από έρευνα, το οποίο τελικά προστίθεται πάνω στο eclipse για να εξυπηρετήσει τον σκοπό του. Η γλώσσα που χρησιμοποιεί το plug-in αυτό είναι η SysML, βασισμένη στο πρότυπο της UML και εξειδικευμένη για τέτοια ηλεκτρονικά συστήματα. Παρουσιάζεται η γλώσσα αυτή με έναν σύντομο οδηγό χρήσης, ώστε να γίνει κατανοητή και από άτομα που δεν την έχουν χρησιμοποιήσει ξανά. Το κυρίως παράδειγμα δείχνει συστήματα του αμαξιού, όπως οι έξυπνοι υαλοκαθαριστήρες ή το σύστημα ελέγχου ταχύτητας, τα οποία παρουσιάζονται με τα κατάλληλα διαγράμματα που τα ορίζουν από όλες τις πλευρές. Ειδομένα μέσα από αυτή τη μοντελοποίηση και μέσω κάποιων σεναρίων αποδεικνύεται η ορθότητά τους και γίνονται η αφετηρία για κάποια τελικά συμπεράσματα. Η διπλωματική αυτή εργασία χωρίζεται σε πέντε κεφάλαια. Στο πρώτο κεφάλαιο υπάρχει η εισαγωγή όπου θέτονται οι στόχοι και ορίζονται οι πρωταρχικές βασικές έννοιες. Το δεύτερο κεφάλαιο παρουσιάζει όσα βασικά εργαλεία προέκυψαν από την έρευνα για να επιλεγεί το κατάλληλο plug-in και καταλήγει σε εκείνο που επιλέγεται τελικά. Έπειτα στο τρίτο κεφάλαιο δίνεται ένα σύντομο εγχειρίδιο χρήσης της γλώσσας SysML, η οποία και θα χρησιμοποιηθεί στη μοντελοποίηση. Το κυρίως παράδειγμα υπάρχει στο τέταρτο κεφάλαιο μαζί με όλα τα διαγράμματα που δομούν και μοντελοποιούν τα όποια συστήματα υπάρχουν, καθώς και κάποια σενάρια χρήσης. Τέλος, στο πέμπτο κεφάλαιο υπάρχουν τα γενικά συμπεράσματα που προκύπτουν απ όλη αυτή τη διαδικασία. 3

4 Περιεχόμενα 1. Εισαγωγή Ενσωματωμένα Συστήματα: Βασικές έννοιες Μοντελοποίηση και UML Ιστορία Διαγράμματα UML Η βασική έρευνα BPMN2 Modeler Service-Oriented Architecture (SOA) Ανάλυση του BPMN2 Modeler SDO / CDO MDT/UML Papyrus EMF (Eclipse Modeling Framework) Εισαγωγή στη SysML Ιστορική Αναδρομή Δομή της SysML και σύγκριση με τη UML -30-4

5 3.2.1 Διάγραμμα Απαιτήσεων Διάγραμμα Καθορισμού Τμημάτων Διάγραμμα Εσωτερικών τμημάτων Διάγραμμα Παραμέτρων Διάγραμμα Δραστηριοτήτων Διάγραμμα Περιπτώσεων Χρήσης Διάγραμμα Ακολουθίας Διάγραμμα Κατάστασης / Διάγραμμα Πακέτων Διαφορές SysML και UML Συμπεράσματα SysML Το κυρίως παράδειγμα Σύστημα μείωσης ταχύτητας σε περίπτωση που το οδόστρωμα είναι βρεγμένο Σύστημα επιβολής ορίου ταχύτητας Σύστημα δεδομένων κυκλοφορίας Υποθετικά σενάρια Συμπεράσματα -67-5

6 1.Εισαγωγή Στόχος της παρούσας διατριβής αποτελεί η μοντελοποίηση ενσωματωμένων συστημάτων, τα οποία είναι υπεύθυνα για κάποιες έξυπνες λειτουργίες, όπως για παράδειγμα θα υπήρχαν αυτές σε ένα αυτοκίνητου του μέλλοντος. Για να γίνει όμως αυτή η μοντελοποίηση θα πρέπει να προηγηθεί μια σχετική έρευνα για το πιο πρόγραμμα θα μπορούσε να το κάνει αυτό. Συγκεκριμένα αποφασίστηκε να χρησιμοποιηθεί το πρόγραμμα του eclipse που είναι επεκτάσιμο με διάφορους τρόπους. Άρα έμενε να ερευνηθούν κάποια από τα plug-ins του για να φανεί πιο είναι κατάλληλο για την δουλεία που έχει τεθεί ως στόχος, δηλαδή να μην προσφέρει απλά μοντελοποίηση, αλλά να προσφέρει μοντελοποίηση ηλεκτρονικών τμημάτων και πιο συγκεκριμένα ενσωματωμένων συστημάτων. Εφόσον επιλεχθεί και γίνει σαφές μέσω των βασικών του στοιχείων το plug-in που θα χρησιμοποιηθεί, το επόμενο βήμα είναι η μοντελοποίηση αυτών των στοιχείων που εμπεριέχονται στα «έξυπνα» αυτά ενσωματωμένα συστήματα με ένα σύνολο διαγραμμάτων. Το σύνολο αυτό θα τα ορίζει πλήρως και θα κάνει κατανοητή τη δομή τους και τις αλληλοσυνδέσεις τους σε κάποιον που τις βλέπει με κάποιες τεχνικές γνώσεις πάνω στο κομμάτι αυτό. Τέλος, θα δοθούν κάποια σενάρια χρήσης γενικότερα που περιέχουν λίγο από όλα αυτά τα έξυπνα συστήματα, δηλαδή το αμάξι σαν σύνολο με έμφαση σε αυτά τα χαρακτηριστικά που μοντελοποιήθηκαν ώστε να φανεί πως μπορεί να ερμηνευτεί η συμπεριφορά του αμαξιού μέσω των διαγραμμάτων. Έτσι θα γίνει ξεκάθαρη η ορθότητα των υποσυστημάτων αλλά και γενικότερα του αυτοκινήτου του μέλλοντος σαν ιδέα και επιπλέον θα οδηγηθούμε με μια φυσική ροή στα συμπεράσματα στο τέλος της διατριβής. Πριν όμως ξεκινήσουμε με όλα αυτά θα ήταν χρήσιμο να ορίσουμε τις δύο βασικές έννοιες που υπάρχουν στον τίτλο της παρούσας διατριβής και τις οποίες ήδη αναφέρθηκαν στην παραπάνω εισαγωγή και θα αναφέρονται συχνά πυκνά σε όλες τις ενότητες που ακολουθούν. Οι έννοιες αυτές είναι η έννοια των ενσωματωμένων συστημάτων αλλά και η έννοια της μοντελοποίησης. 6

7 1.1 Ενσωματωμένα Συστήματα: Βασικές έννοιες Ενσωματωμένα συστήματα ονομάζουμε τα ηλεκτρονικά συστήματα τα οποία ελέγχονται από έναν ή περισσότερους μικροεπεξεργαστές ή επεξεργαστές ψηφιακού σήματος και συνήθως ενσωματώνονται ηλεκτρονικά και μηχανικά μέρη σε μια συσκευή. Βασικό τους χαρακτηριστικό είναι ότι χειρίζονται αποκλειστικά μια συγκεκριμένη εργασία, σε αντίθεση με τους υπολογιστές γενικού σκοπού που ικανοποιούν μια μεγάλη ποικιλία αναγκών του χρήστη. Πολύ συχνά αποτελούν μέρος ενός μεγαλύτερου συστήματος, όπως για παράδειγμα σε ένα αυτοκίνητο τα υποσυστήματα ABS, ελέγχου κατανάλωσης και διάφορα άλλα μέρη του. Ουσιαστικά σχεδόν όλες οι ηλεκτρονικές συσκευές που κατασκευάζονται σήμερα είναι ενσωματωμένα συστήματα, από ψηφιακά ρολόγια μέχρι συστήματα ελέγχου εργοστασίων. Υπολογίζεται ότι το 2008 κατασκευάστηκαν περίπου 10 δις. επεξεργαστές και το 98% χρησιμοποιήθηκε για ενσωματωμένα συστήματα. Οι επεξεργαστές των ενσωματωμένων συστημάτων και οι αρχιτεκτονικές ποικίλουν, από 4-bit επεξεργαστές σε 128-bit εξειδικευμένους επεξεργαστές ψηφιακών σημάτων. Οι συσκευές αυτές μπορεί να τρέχουν από ένα μικρό πρόγραμμα σε γλώσσα μηχανής από μια ROM χωρίς λειτουργικό σύστημα (γνωστό ως firmware) έως και ένα λειτουργικό σύστημα πραγματικού χρόνου σε διάφορες εκδόσεις των Windows ή Linux. Γενικά υπάρχει μια μεγάλη ποικιλία και κάποια δυσκολία στον αυστηρό ορισμό των ενσωματωμένων συστημάτων, καθώς υπάρχουν συστήματα αυξημένης πολυπλοκότητας που περιλαμβάνουν πολλαπλές μονάδες, περιφερειακά ή και δίκτυα. Τέλος, είναι βασικό να σημειωθεί πως επειδή τα ενσωματωμένα συστήματα είναι ειδικού σκοπού και απαιτούν λίγους υπολογιστικούς πόρους, βελτιστοποιούνται ώστε να μειωθεί το μέγεθος και το κόστος και να αυξηθεί η αξιοπιστία τους και η απόδοση. Η διεπαφή με το χρήστη ποικίλει: πολλές φορές δεν είναι καθόλου απαραίτητη, άλλοτε περιορίζεται σε μερικά κουμπιά, λυχνίες LED και LCD οθόνες ή μερικές φορές έχουν γραφική διεπαφή που θυμίζει προσωπικούς υπολογιστές. Για να γίνει πιο εύκολη αντιληπτή η εικόνα ενός ενσωματωμένου συστήματος μπορούμε να περιγράψουμε μία συνηθισμένη δομή, το λεγόμενο SoC (system on a chip) σύστημα, όπου όλα τα στοιχεία του συστήματος ολοκληρώνονται σε ένα και μόνο chip. Ένα SoC εμπεριέχει τόσο το απαιτούμενο για την εφαρμογή hardware όσο 7

8 και το software που ελέγχει τον μικροεπεξεργαστή, τα περιφερειακά και τα διάφορα interfaces. Το απαιτούμενο αυτό hardware πιο αναλυτικά περιλαμβάνει έναν τουλάχιστον μικροελεγκτή, διάφορα blocks μνήμης, κάποιες περιφερειακές μονάδες, στοιχεία για χρονισμό του κυκλώματος, buses για τη διασύνδεση των παραπάνω στοιχείων καθώς και διάφορα εξωτερικά interfaces όπως τα πρότυπα USB ή UART. Με τον κατάλληλο προγραμματισμό μπορεί να γίνει έλεγχος σωστής λειτουργίας και debugging τόσο για το hardware όσο και για το software και μάλιστα πολύ κοντά στην πραγματική ταχύτητα λειτουργίας του συστήματος. Γενικά πάντως ο σχεδιασμός ενός SoC έχει ως στόχο την παράλληλη ανάπτυξη του υλικού και του λογισμικού. Ένα βασικό στοιχείο της διαδικασίας σχεδίασης ενός SoC είναι η προσομοίωσή του μέσω της οποίας ελέγχεται η σωστή και απρόσκοπτη λειτουργία του συστήματος. Για να συμβεί αυτό, το hardware «χαρτογραφείται» πάνω σε μία πλατφόρμα προσομοίωσης η οποία βασίζεται στη φιλοσοφία των FPGA (Field Programmable Gate Array) ενώ το software φορτώνεται στα blocks μνήμης που υπάρχουν στην εν λόγω πλατφόρμα. Παρακάτω ακολουθεί μια εικόνα ενός ενσωματωμένου συστήματος και της λογικής του. Εικόνα 1: FPGA ενσωματωμένο σύστημα σε μια γενική ματιά για το πώς είναι ένα βασικό ενσωματωμένο σύστημα 8

9 1.2 Μοντελοποίηση και UML Μοντελοποίηση ονομάζεται γενικά η διαδικασία κατά την οποία γίνεται δημιουργία αντικειμένων τα οποία συλλαμβάνουν τη συμπεριφορά συστημάτων. Ένα μοντέλο επιτρέπει τη διεξαγωγή συμπερασμάτων για τη συμπεριφορά του συστήματος στο οποίο αντιστοιχεί και μας δίνει όλα τα απαραίτητα στοιχεία που περιέχει το σύστημα σε μία πιο εύκολη και πιο απλουστευμένη ματιά. Η μοντελοποίηση συστημάτων συνήθως συνεπάγεται τη διαδικασία της απόσπασης (abstraction), δηλαδή, της απλοποίησης της περιγραφής ενός συστήματος διατηρώντας μόνο ένα περιορισμένο αριθμό από τις αρχικές λεπτομέρειες. Η απόσπαση (abstraction) μπορεί να καταστεί αναγκαία λόγω είτε της πολυπλοκότητας των διαφόρων συστημάτων που επιλέγουμε προς μοντελοποίηση, είτε γιατί οι αυστηρές μέθοδοι δεν μπορούν να εφαρμοστούν σε φυσικές οντότητες (π.χ. μνήμη του υπολογιστή) και έτσι οι σχετικές ιδιότητές τους πρέπει να αποσπαστούν μαθηματικά. Με άλλα λόγια ένα μοντέλο είναι µια απλοποίηση της πραγματικότητας και επιτυγχάνονται τα εξής: Η οπτικοποίηση του συστήματος όπως είναι ή όπως θα θέλαμε να είναι. Ο καθορισμός της δομής και της συμπεριφοράς του συστήματος. Η δημιουργία ενός προτύπου που µας καθοδηγεί στην κατασκευή του συστήματος. Τονίζεται επιπλέον ότι το μοντέλο ενός συστήματος μπορεί να κατασκευαστεί και να μελετηθεί πριν ή παράλληλα με τον σχεδιασμό και την υλοποίησή του και γίνεται εμφανές ότι με το κατάλληλο λογισμικό μπορεί να γίνει και η αντίστοιχη μοντελοποίηση διαφόρων ενσωματωμένων υπολογιστικών και μη συστημάτων. Στο γνωστικό πεδίο της μηχανικής λογισμικού γλώσσες μοντελοποίησης λογισμικού ονομάζονταιτυποποιημένες γλώσσες οπτικής συμβολικής αναπαράστασης με τις οποίες κατασκευάζονται αφαιρετικά μοντέλα της δομής και της λειτουργίας ενός συστήματος λογισμικού. Η ευρύτερα διαδεδομένη τέτοια γλώσσα είναι η Unified Modeling Language.H Unified Modeling Language (UML) είναι μια γλώσσα που χρησιμοποιείται για προδιαγραφές, αναπαράσταση με οπτικό τρόπο 9

10 (visualizing), δημιουργία και τεκμηρίωση των τμημάτων των συστημάτων λογισμικού, καθώς και για μοντελοποίηση εταιρικών και άλλων συστημάτων που δεν αφορούν λογισμικό. Επίσης, η UML αποτελεί στην ουσία έναν συνδυασμό των καλύτερων πρακτικών, οι οποίες ήδη έχουν αποδείξει πόσο επιτυχημένες ήταν στη μοντελοποίηση μεγάλων και σύνθετων συστημάτων. Βασικό χαρακτηριστικό της είναι ότι αποτελεί μια γλώσσα μοντελοποίησης ανεξάρτητη από τις μεθοδολογίες που χρησιμοποιούνται κατά την ανάπτυξη συστημάτων λογισμικού. Επιπλέον, δεν πρόκειται μόνο για μια τυποποίηση και ανακάλυψη μιας κοινής σημειολογίας. Περιέχει νέες και ενδιαφέρουσες έννοιες που δεν υπάρχουν εν γένει στο πεδίο της αντικειμενοστραφούς ανάπτυξης, όπως για παράδειγμα η περιγραφή και χρησιμοποίηση προτύπων (patterns) σε μια γλώσσα μοντελοποίησης. Συνεπώς, η κατανόηση της UML δεν περιορίζεται στην εκμάθηση των συμβόλων και της σημασίας τους, αλλά εκτείνεται σε ευρύτερο πλαίσιο στη μάθηση της αντικειμενοστραφούς μοντελοποίησης. Η UML χρησιμοποιείται για τη μοντελοποίηση μεγάλου εύρους συστημάτων και ο βασικός στόχος της UML, όπως προκύπτει και από τα παραπάνω είναι να περιγράφει κάθε τύπο συστήματος, μέσα από αντικειμενοστραφή διαγράμματα Ιστορία Μεθοδολογίες ανάπτυξης λογισμικού για συμβατικές διαδικαστικές γλώσσες, όπως η Fortran, η Pascal και η C, εμφανίστηκαν τη δεκαετία του 1970 με σκοπό να αντιμετωπίσουν τη λεγόμενη «κρίση λογισμικού» (software crisis). Η πιο ευρέως διαδεδομένη μεθοδολογία ήταν η Δομημένη Ανάλυση και Σχεδίαση (Structured Analysis and Design) και αργότερα η Σύγχρονη Δομημένη Ανάλυση. Ως πρώτη αντικειμενοστραφής γλώσσα προγραμματισμού αναγνωρίζεται η Simula (1967), αλλά η ευρεία διάδοση της αντικειμενοστραφούς ανάπτυξης λογισμικού άρχισε στις αρχές της δεκαετίας του 1980 με γλώσσες όπως η Smalltalk, C++ και στη συνέχεια με τη Java. Στη συνέχεια δημοσιεύτηκαν και οι πρώτες μεθοδολογίες ανάπτυξης λογισμικού βασισμένες στο αντικειμενοστραφές μοντέλο, καταλήγοντας στις αρχές της δεκαετίας του 90 σε μια πληθώρα τεχνικών, ορισμών, συμβολισμών και ορολογίας. 10

11 Η πρώτη επιτυχής προσπάθεια ενοποίησης των διαφόρων μεθοδολογιών ξεκίνησε από την Rational Software Corporation το 1994 με επικεφαλής τους Grady Booch και James Rumbaugh. Στόχος τους ήταν η δημιουρία μιας νέας μεθόδου, της «Ενοποιημένης Μεθόδου», η οποία θα ένωνε τη μέθοδο του Booch και την ΟΜΤ-2 μέθοδο στην ανάπτυξη της οποίας επικεφαλής ήταν ο James Rumbaugh. Το 1995 ο Ivar Jacobson, ο άνθρωπος πίσω από τις μεθόδους OOSE και Objectory προστέθηκε στην ομάδα. Οι μελλοντικοί σχεδιαστές της UML συνειδητοποίησαν ότι η δουλειά τους δε στόχευε στη δημιουργία μιας πρότυπης μεθόδου, αλλά μιας πρότυπης γλώσσας μοντελοποίησης και μετονόμασαν τη δουλειά τους σε «Unified Modeling Language». Οι στόχοι της UML, όπως τέθηκαν από τους σχεδιαστές είναι οι εξής: Η μοντελοποίηση συστημάτων (όχι μόνο λογισμικού) χρησιμοποιώντας αντικειμενοστραφείς έννοιες. Η καθιέρωση μιας ρητής σύνδεσης σε εννοιολογικά καθώς και εκτελέσιμα κατασκευάσματα (artifacts). Η αντιμετώπιση θεμάτων κλίμακας, τα οποία είναι εγγενή σε σύνθετα, κρίσιμα συστήματα. Και τέλος, η δημιουργία μιας γλώσσας μοντελοποίησης χρησιμοποιήσιμης τόσο από ανθρώπους, όσο και από υπολογιστικές μηχανές. Το πρώτο πρότυπο της UML (UML 1.1) δημοσιεύτηκε τον Ιανουάριο του Ακολούθησαν μερικές ήσσονος σημασίας εκδόσεις (UML 1.3, UML 1.4, UML 1.5), οι οποίες διόρθωσαν κάποιες ελλείψεις και σφάλματα της πρώτης έκδοσης. Στη συνέχεια ακολούθησε η κύρια αναθεώρηση με τη UML 2.0, η οποία υιοθετήθηκε και καθιερώθηκε ως πρότυπο από την OMG (Object Management Group) το 2005, ενώ η τελευταία έκδοση είναι η UML Διαγράμματα UML Η UML ορίζει τα παρακάτω διαγράμματα: Διάγραμμα περιπτώσεων χρήσης (use case diagram) Διαγράμματα δομής o o Διάγραμμα κλάσεων (class diagram) Διάγραμμα αντικειμένων (object diagram) Διαγράμματα συμπεριφοράς o Διάγραμμα καταστάσεων (statechart diagram) 11

12 o o Διάγραμμα δραστηριοτήτων (activity diagram) Διαγράμματα αλληλεπίδρασης Διάγραμμα ακολουθίας (sequence diagram) Διάγραμμα συνεργασίας (collaboration diagram) Διαγράμματα δομής υλοποίησης o o Διάγραμμα εξαρτημάτων (component diagram) Διάγραμμα ανάπτυξης (deployment diagram). Επιπλέον, να αναφερθεί ότι υπάρχουν διαφόρων ειδών συσχετίσεις μεταξύ των οντοτήτων, οι οποίες βέβαια χρησιμοποιούνται σε όλα τα ήδη διαγραμμάτων και θα τις αναφέρομαι τώρα καθώς είναι απαραίτητες για την πορεία και την παρουσίαση του βασικού μας παραδείγματος. Χρησιμοποιώντας αυτές τις συσχετίσεις ή αλλιώς εξαρτήσεις εκφράζουμε σημασιολογικές (semantic) σχέσεις ανάμεσα σε στοιχεία του μοντέλου. Σε τέτοιες περιπτώσεις μια αλλαγή σε ένα στοιχείο της εξάρτησης μπορεί να έχει επίπτωση στο άλλο. Διακρίνουμε τα παρακάτω είδη εξάρτησης: πρόσβαση (access): 'Άδεια σε κάποια στοιχεία από ένα τμήμα να έχουν πρόσβαση σε στοιχεία από άλλο τμήμα (access). σύνδεση (binding): Παροχή τιμών σε ένα πρότυπο για να δημιουργήσει ένα νέο στοιχείο (bind). κλήση (call): Μια μέθοδος καλεί μια άλλη (call). απόρροια (derivation): Ένα στοιχείο που μπορεί να υπολογιστεί από κάποιο άλλο. friend: Ένα στοιχείο μπορεί να έχει πρόσβαση σε στοιχεία άλλης κλάσης παρά τους όποιους περιορισμούς (friend). εισαγωγή (import): 'Αδεια σε ένα τμήμα να εισάγει και να χρησιμοποιήσει τα στοιχεία ενός άλλου τμήματος (import). δημιουργία (instantiation): Μια μέθοδος μιας κλάσης δημιουργεί αντικείμενα μιας άλλης κλάσης (instantiate). παράμετρος (parameter): Σχέση ανάμεσα σε μια λειτουργία και τις παραμέτρους της (parameter). 12

13 δημιουργία (realization): Σχέση ανάμεσα σε μια προδιαγραφή και την υλοποίησή της (realize). εκλέπτυνση (refinement): Δήλωση για την ύπαρξη απεικόνισης ανάμεσα σε δύο σημασιολογικά επίπεδα (refine). αποστολή (send): Σχέση ανάμεσα στον αποστολέα και τον παραλήπτη ενός μηνύματος (send). ίχνος (trace): Σχέση ανάμεσα σε δύο στοιχεία δύο διαφορετικών μοντέλων που δεν αποτελεί όμως απεικόνιση (trace). χρήση (usage): Ένα στοιχείο απαιτεί την ύπαρξη ενός άλλου στοιχείο για τη λειτουργία του (π.χ. call, instantiate, parameter, send). Τέλος, παρακάτω υπάρχει ένα παράδειγμα διαγράμματος περιπτώσεων χρήσης που είναι και πιο ευρέως χρησιμοποιούμενο και ειδικά στη συγκεκριμένη περίπτωση μοντελοποιείται ο έλεγχος ενός αεροδρομίου. Εικόνα 2: UML παράδειγμα use case για τον έλεγχο σε αεροδρόμιο 13

14 2. Η βασική έρευνα Όπως αναφέρθηκε και στην εισαγωγή ως βασική πλατφόρμα ορίστηκε αυτή του Eclipse και πάνω σε αυτήν άρχισε η αναζήτηση για το κατάλληλο plug-in που θα επέτρεπε την ορθότερη μοντελοποίηση των ενσωματωμένων συστημάτων που τέθηκαν ως στόχος. Το Eclipse είναι ένα από τα δημοφιλέστερα IDE (Integrated Development Environment ή στα ελληνικά: Ολοκληρωμένο Περιβάλλον Ανάπτυξης) που χρησιμοποιείται από χιλιάδες προγραμματιστές παγκοσμίως για τη συγγραφή και εκτέλεση κώδικα. Η επιτυχία του οφείλεται σε τρεις παράγοντες που παραθέτονται παρακάτω: στο λιτό του περιβάλλον το οποίο είναι φιλικό ακόμα και στον αρχάριο προγραμματιστή, επίσης επειδή είναι σχεδιασμένο να λειτουργεί σε πολλά λειτουργικά συστήματα (Linux, Mac, Windows), αλλά κυρίως επειδή υποστηρίζει πολλές γλώσσες προγραμματισμού, από Java μέχρι C, C++, Perl, PHP, Python δίνοντας έτσι στο προγραμματιστή το ίδιο περιβάλλον εργασίας για τελείως διαφορετικούς κόσμους. Η πλατφόρμα Eclipse είναι ένα ολοκληρωμένο περιβάλλον ανάπτυξης λογισμικού. Βασικό χαρακτηριστικό της είναι το γεγονός ότι είναι χτισμένη πάνω σε ένα μηχανισμό ο οποίος επιτρέπει την εύρεση, την ανάπτυξη και την εκτέλεση μονάδων λογισμικού οι οποίες ονομάζονται πρόσθετα (plug-ins). Εκτός από ένα μικρό πυρήνα (Platform Runtime) όλη η λειτουργικότητα της Eclipse πλατφόρμας βρίσκεται σε plug-ins τα οποία έχουν εγκατασταθεί σε αυτήν. Με άλλα λόγια, τόσο η ίδια η πλατφόρμα του Eclipse όσο και τα εργαλεία που την επεκτείνουν απαρτίζονται από πρόσθετα. Κάθε πρόσθετο προσφέρει λειτουργικότητα η οποία μπορεί να αξιοποιηθεί με δύο τρόπους. Ο πρώτος είναι να κληθεί από τον χρήστη και ο δεύτερος να επαναχρησιμοποιηθεί και να επεκταθεί από άλλα πρόσθετα. Κατά την εκκίνηση της πλατφόρμας Eclipse, ο πυρήνας της (Platform Runtime) ανακαλύπτει το σύνολο των διαθέσιμων plug-ins. Ένα plug-in ενεργοποιείται μόνο όταν υπάρχει ανάγκη να τρέξει ο κώδικας του. 14

15 Τα βασικά χαρακτηριστικά της πλατφόρμας είναι τα ακόλουθα : Workbench: η επιφάνεια εργασίας της πλατφόρμας, δηλαδή το σύνολο των γραφικών στοιχείων της πλατφόρμας με τα οποία έρχεται σε επαφή ο χρήστη κατά τη διάρκεια της εργασίας του με την πλατφόρμα. Workspace: χώρος εργασίας στο τοπικό σύστημα αρχείων, στον οποίο αποθηκεύονται πληροφορίες. SWT : (Standard Widget Toolkit): σύνολο από γραφικά δομικά στοιχεία υλοποιημένα με τέτοιο τρόπο ώστε να επιτρέπεται η ενσωμάτωσή τους με το τοπικό λειτουργικό σύστημα. JFace: σύνολο γραφικών διεπαφών εμπλουτισμένα με κάποιες βασικές λειτουργίες, τις οποίες μπορεί εύκολα ο χρήστης να χρησιμοποιήσει, όπως δεντρικές αναπαραστάσεις, πίνακες, editors, παράθυρα ιδιοτήτων, κ.α. Help: μηχανισμός βοήθειας της πλατφόρμας που επιτρέπει παράλληλα τον εμπλουτισμό της με νέα εγχειρίδια. Team: δυνατότητα διαχείρισης / ανάπτυξης μίας εργασίας από πολλούς χρήστες ταυτόχρονα μέσω της χρήσης κατάλληλων μηχανισμών αποθήκευσης διαμοιραζόμενων πόρων. Η αρχιτεκτονική του Eclipse παρουσιάζεται στην παρακάτω εικόνα: 15

16 Εικόνα 3: Γενική αρχιτεκτονική του Eclipse. Πάνω στο μικρό πυρήνα (Platform Runtime) του Eclipse προστίθενται plug-ins που εμπλουτίζουν τη λειτουργικότητά του Το Eclipse βασίζεται σε μία πλατφόρμα εκτέλεσης που ονομάζεται Equinox. Αυτή είναι υπεύθυνη για τον εντοπισμό των πρόσθετων και την εκτέλεσή τους καθώς και για τη διαχείριση του κύκλου ζωής τους. Επίσης πρέπει να αναφερθεί ότι, διαχειρίζεται τις αλληλεξαρτήσεις ανάμεσα στα πρόσθετα, ενώ μπορεί να φορτώνει ταυτόχρονα διαφορετικές εκδόσεις του ίδιου πρόσθετου. Εδώ πρέπει να σημειωθεί ότι παρόλο που το Equinox αποτελεί το θεμελιώδες λίθο του Eclipse, γιατί όπως προαναφέρθηκε είναι η πλατφόρμα εκτέλεσης στην οποία και βασίζεται, ουσιαστικά όμως πρόκειται για µια πλήρως αυτόνομη υλοποίηση της προδιαγραφής OSGi R4. Εδώ λοιπόν θα πρέπει να γίνει και μία σύντομη αναφορά στο μοντέλο της προδιαγραφής OSGi. Το μοντέλο αυτό καθιστά δυνατή την ενεργοποίηση, την 16

17 απενεργοποίηση, την ενημέρωση και την απεγκατάσταση υπαρχόντων συστατικών και υπηρεσιών καθώς και την εγκατάσταση νέων συστατικών / υπηρεσιών δυναμικά (χωρίς να απαιτείται η επανεκκίνηση της εφαρμογής). Η μικρότερη αυτοτελής μονάδα στο OSGi είναι το bundle. Στο σημείο αυτό πρέπει να σημειωθεί ότι οι όροι plugin και bundle είναι σχεδόν εναλλάξιμοι. Το Equinox επεκτείνει την έννοια των bundles εισάγοντας την έννοια των σημείων επέκτασης (extension points). Στο σημεία αυτό ορίζεται ως RCP (Eclipse Rich Client Platform) το ελάχιστο σύνολο από πρόσθετα που απαιτούνται για τη δημιουργία μιας εφαρμογής πελάτη. Αν πάρουμε ως δεδομένο ότι η υποδομή του Eclipse χρησιμοποιείται πλέον για τη δημιουργία εφαρμογών τόσο στην πλευρά του πελάτη όσο και στην πλευρά του εξυπηρετητή, αυτή χαρακτηρίζεται επίσης µε τον όρο Eclipse Application Framework (EAF). Αφού έγινε η αρχική διερεύνηση και παράλληλα η εξοικείωση με την πλατφόρμα του Eclipse, σειρά είχαν τα πρόσθετα (plug-ins). Στα πλαίσια της έρευνας που έγινε με σκοπό το τελικό πλάνο της εργασίας, πειραματιστήκαμε με μία σειρά από plug-ins του προγράμματος eclipse ώστε να εντοπίσουμε τα πλεονεκτήματα και τα μειονεκτήματά τους, τις δυνατότητες και τις αδυναμίες τους. Με την ολοκλήρωση αυτής της έρευνας θα μπορέσουμε να καταλήξουμε στο πρόσθετο (plug-in) που θα χρησιμοποιήσουμε στο δικό μας παράδειγμα. Παρακάτω ακολουθεί μία σύντομη ανάλυση αυτών των εργαλείων. 2.1 BPMN2 Modeler 2.1.1Service-Oriented Architecture (SOA) Πριν ξεκινήσει η βαθύτερη ανάλυση του BPMN σαν εργαλείο θα πρέπει να ορισθεί και να επεξηγηθεί ένας όρος άμεσα συνδεδεμένος με αυτό και γενικά με τα εργαλεία που ακολουθούν και που ερευνήσαμε, το Oriented Architecture (SOA), για 17

18 το οποίο στη βιομηχανία υπάρχει μια αυξανόμενη τάση προς την αναδυόμενη τεχνολογία που αντιπροσωπεύει. Στις μέρες μας όταν γίνεται αναφορά σε αυτήν την τεχνολογία, συνεπάγεται και η εφαρμογή συστημάτων με τη χρήση τεχνολογιώνυπηρεσιών web. Το SOA είναι μια πρότυπη-προσέγγιση, για την δημιουργία συστατικών που μπορούν να επαναχρησιμοποιηθούν όντας διαθέσιμα και προσβάσιμα μέσω του web και μπορεί να θεωρηθεί ως μια επαναλαμβανόμενη επιχειρηματική εργασία. Το SOA δεν είναι προϊόν και ορίζεται ως οι πολιτικές, οι πρακτικές, τα πλαίσια που επιτρέπουν τη λειτουργία της εφαρμογής που πρέπει να παρέχονται, και να καταναλώνονται σαν σύνολα υπηρεσιών που δημοσιεύονται σε μια υποδιαίρεση σχετική με την υπηρεσία του καταναλωτή. Οι υπηρεσίες πρέπει να μπορούν να επικαλούνται, να δημοσιεύονται και να ανακαλύπτονται και να έχουν αντληθεί από την εφαρμογή χρησιμοποιώντας μια ενιαία με βάση τα πρότυπα της μορφής της διεπαφής. Οι υπηρεσίες δικτύου είναι τυπικά ο τρόπος με τον οποίο μια επιχειρηματική διεργασία υλοποιείται. Το BPM έχει να κάνει με την παροχή ενός επιπέδου ροής εργασίας για να ενορχηστρώσει τις υπηρεσίες δικτύου. Παρέχει το πλαίσιο της SOA για τη διαχείριση της δυναμικής εκτέλεσης των υπηρεσιών και επιτρέπει στους επιχειρηματικούς χρήστες να αλληλεπιδρούν μαζί τους ανάλογα με την περίπτωση. Η SOA μπορεί να θεωρηθεί σαν ένα στιλ αρχιτεκτονικής που τυπικά ξεχωρίζει υπηρεσίες (η επιχειρηματική λειτουργία) από τους καταναλωτές (άλλα επιχειρηματικά συστήματα). Ο διαχωρισμός επιτυγχάνεται μέσω μιας υπηρεσίας σύμβασης μεταξύ του καταναλωτή και του παραγωγού της υπηρεσίας. Αυτή η σύμβαση θα πρέπει να αντιμετωπίζει τα ζητήματα όπως η διαθεσιμότητα, ο έλεγχος έκδοσης, ασφάλεια, επίδοση. Πολλές υπηρεσίες δικτύου είναι ελεύθερες στο διαδίκτυο αλλά η χρήση αυτών αποτελεί ρίσκο χωρίς ένα επίπεδο συμφωνίας υπηρεσίας (SERVICE LEVEL AGREEMENT SLA) επειδή ίσως αυτές να μην υπάρχουν στο μέλλον, παρόλα αυτά, αυτό μπορεί να μην αποτελεί ζήτημα αν παρόμοιες εναλλακτικές υπηρεσίες δικτύου είναι διαθέσιμες για χρήση. Επιπλέον για μια σύμβαση υπηρεσίας, πρέπει να υπάρχει ένας τρόπος για τους παρόχους να δημοσιεύουν τις συμβάσεις υπηρεσίας και για τους καταναλωτές να μπορούν να τις εντοπίζουν. Αυτό τυπικά μπορεί να συμβεί μέσω προτύπων όπως η Universal Description,Discovery and Integration που είναι βασισμένη σε XML γλώσσα από το 18

19 W3C που επιτρέπει στις επιχειρήσεις να δημοσιεύουν λεπτομέρειες για τις υπηρεσίες που είναι διαθέσιμες στο διαδίκτυο. Η Web Service Description Language (WSDL 2007) παρέχει ένα τρόπο περιγραφής υπηρεσιών δικτύου με XML μορφή. Σημειώνεται ότι το σου λέει πώς να αλληλεπιδράς με την υπηρεσία δικτύου αλλά δεν λέει τίποτα σχετικά με το πώς πραγματικά αυτό δουλεύει πίσω από την διεπαφή. Το πρότυπο για επικοινωνία είναι μέσω SOAP (Simple Object Access Protocol) που είναι μια προδιαγραφή για ανταλλαγή πληροφοριών στον τομέα των υπηρεσιών δικτύου. Τον τελευταίο καιρό υπάρχει μια σύγκλιση μεταξύ της ενσωμάτωσης διάφορων προσεγγίσεων όπως τη SOA με Saas (Software as a Service) και με το δίκτυο και έτσι να γίνεται λόγος για web oriented architectures (WOA). Αυτή η προσέγγιση εκτείνει τη SOA σε εφαρμογές βασισμένες στο web προκειμένου να επιτρέψει στις επιχειρήσεις να ανοίξουν τα σχετικά μέρη των πληροφοριακών συστημάτων τους στους πελάτες, προμηθευτές κτλ ανάλογα με την περίπτωση. Αυτό έχει γίνει πλέον αναγκαίο προκειμένου να αποκτήσει η επιχείρηση ανταγωνιστικό πλεονέκτημα. Το WOA συχνά αντιμετωπίζεται ως μια ελαφριά έκδοση του SOA. Προκειμένου να διευθύνεις το κύκλο ζωής των επιχειρηματικών διεργασιών, απαιτείται λογισμικό που θα σου επιτρέψει για παράδειγμα: να εκθέσεις τις υπηρεσίες χωρίς την ανάγκη προγραμματισμού, την ανάπτυξη υπηρεσιών σε οποιαδήποτε πλατφόρμα, την διατήρηση της ασφάλειας και των πολιτικών χρήσης, και την ενορχήστρωση των υπηρεσιών. Γα παράδειγμα ο κεντρικός συντονισμός όλων των πολλαπλών υπηρεσιών δικτύου, η παροχή εργαλείου σχεδίασης γραφικών, η διανεμητέα runtime μηχανή και η δυνατότητα παρακολούθησης της υπηρεσίας, έχουν τη δυνατότητα να σχεδιάσουν μετατροπές προς και από μη XML μορφές. Αυτές είναι τυπικές λειτουργίες που παρέχονται από το middleware του SOA μαζί με ένα runtime περιβάλλον το οποίο πρέπει να περιλαμβάνει π.χ ανίχνευση γεγονότων, υπηρεσία φιλοξενίας (hosting), έξυπνη δρομολόγηση, επεξεργασία μετατροπής μηνυμάτων, δυνατότητες ασφάλειας, σύγχρονη και ασύγχρονη παράδοση μηνυμάτων. 19

20 2.1.2 Ανάλυση του BPMN2 Modeler Όπως αναφέρεται και παραπάνω, η αποστολή του SOA (Service-Oriented Architecture) Project είναι να δημιουργήσει επεκτάσιμα εργαλεία που να επιτρέπουν το σχεδιασμό, τη διαμόρφωση, τη σύνθεση, την ανάπτυξη, την παρακολούθηση και τη διαχείριση λογισμικού σχεδιασμένου σύμφωνα με μία Service Oriented αρχιτεκτονική. Το project αυτό είναι καθοδηγούμενο από τις αξίες της διαφάνειας, της επεκτασιμότητας, της ουδετερότητας, της συλλογικής συνεργασίας, της έξυπνης ανάπτυξης και της σταθερής καινοτομίας. Όλο αυτό έχει οδηγήσει στην ανάγκη για τον προσδιορισμό τον προσδιορισμό του BPMN 2.0, το οποίο είναι και το πρώτο πρόσθετο (plug-in) που εξετάσαμε στην έρευνά μας. Με λίγα λόγια το BPMN 2.0 φαίνεται πως είναι αυτό που θα υποστηρίζει τη μοντελοποίηση των επιχειρηματικών διαδικασιών και θα γίνει το βασικό εργαλείο της. Πιο συγκεκριμένα λοιπόν, η Σημειογραφική Μοντελοποίηση Επιχειρηματικών Διαδικασιών (Business Process Modeling Notation/BPMN εφεξής BPMN) αποτελεί μια γραφική απεικόνιση για τον προσδιορισμό των επιχειρηματικών διαδικασιών στη ροή εργασιών [BPMN, 2004]. Η BPMN αναπτύχθηκε από το BPMI, και πλέον διατηρείται από την Ομάδα Διαχείρισης Αντικειμένων (Object Management Group/OMG εφεξής OMG) αφού οι δύο οργανισμοί συγχωνεύτηκαν το Η BPMN είναι ένα πρότυπο μοντελοποίησης επιχειρηματικών διαδικασιών, και παρέχει ένα γραφικό συμβολισμό για τον προσδιορισμό των επιχειρηματικών διαδικασιών σε ένα διάγραμμα επιχειρηματικών διαδικασιών, βασισμένο στην τεχνική της απεικόνισης των ροών σε διαγράμματα, παρόμοια με τα διαγράμματα δραστηριοτήτων της ενοποιημένης γλώσσας μοντελοποίησης (unified modeling language/uml). Ο σκοπός της BPMN είναι η υποστήριξη της διαχείρισης επιχειρηματικών διαδικασιών τόσο για τεχνικούς χρήστες όσο και για εταιρικούς χρήστες, παρέχοντας ένα συμβολισμό που είναι διαισθητικός στους εταιρικούς χρήστες, ωστόσο ικανός να παρουσιάσει σημασιολογίες (semantics) πολύπλοκων διαδικασιών. Η προδιαγραφή της BPMN παρέχει, επίσης, μια χαρτογράφηση μεταξύ 20

21 των γραφικών του συμβολισμού με τις δομές των γλωσσών εκτέλεσης, κυρίως της BPEL. Η BPMN έχει περιοριστεί ώστε να υποστηρίζει μόνο τις έννοιες της μοντελοποίησης που είναι εφαρμόσιμες στις επιχειρηματικές διαδικασίες. Αυτό σημαίνει ότι οι άλλοι τύποι μοντελοποίησης που γίνονται από οργανισμούς για μηεπιχειρηματικούς σκοπούς είναι εκτός του πεδίου της. Για παράδειγμα, η μοντελοποίηση των οργανωτικών δομών, λειτουργικών διακοπών, μοντέλων δεδομένων, στρατηγικής και επιχειρηματικών κανόνων δεν αποτελεί μέρος της BPMN. Επίσης, δεν προβλέπεται εν τέλει η σωστή μοντελοποίηση των ενσωματωμένων συστημάτων με αυτό το εργαλείο -κάτι που προφανώς αποτελεί βασικό κριτήριο για να απορριφθεί εν τέλει αυτό το εργαλείο- αλλά θα ήταν χρήσιμο να μελετηθούν κάποια ενδιαφέροντα ακόμα στοιχεία της αρχιτεκτονικής του που συνδέονται άμεσα με τη λογική της μοντελοποίησης. Η μοντελοποίηση στην BPMN γίνεται από απλά διαγράμματα με μικρές ομάδες γραφικών συστατικών. Θα πρέπει να είναι εύκολο τόσο για τους εταιρικούς χρήστες όσο και για τους προγραμματιστές να αντιλαμβάνονται τη ροή και τη διαδικασία. Οι τέσσερεις βασικές κατηγορίες συστατικών είναι οι εξής: Αντικείμενα ροής και συνδετικά αντικείμενα. Τα αντικείμενα ροής είναι τα βασικά συστατικά περιγραφής στη BPMN, και αποτελούνται από τρία βασικά συστατικά, γεγονότα (events), δραστηριότητες (activities), και πύλες (gateways). Τα αντικείμενα ροής συνδέονται μεταξύ τους χρησιμοποιώντας τα συνδετικά αντικείμενα, τα οποίa αποτελούνται από τρεις τύπους ακολουθίες (sequences), μηνύματα (messages), και συσχετίσεις (associations). Οι λωρίδες (swim lanes) είναι ένας οπτικός μηχανισμός οργάνωσης και κατηγοριοποίησης δραστηριοτήτων, βασισμένος στη δια-λειτουργική απεικόνιση των ροών μέσω διαγραμμάτων, και αποτελούνται από δυο τύπους, δεξαμενές και λωρίδες (pools and lanes). Τα τεχνήματα (artifacts) επιτρέπουν στους προγραμματιστές να φέρουν περισσότερες πληροφορίες μέσα στο μοντέλο/διάγραμμα. Με αυτό τον τρόπο το μοντέλο/διάγραμμα γίνεται πιο εύκολα αναγνώσιμο. Υπάρχουν τρία (3) 21

22 προ-καθορισμένα τεχνήματα τα οποία είναι αντικείμενα δεδομένων, ομάδες και σχολιασμοί. Υπάρχουν τρεις βασικοί τύποι (υπό-)μοντέλων μέσα σε ένα ολοκληρωμένο μοντέλο: οι ιδιωτικές (εσωτερικές) επιχειρηματικές διαδικασίες, οι αφηρημένες (δημόσιες) διαδικασίες, και οι διαδικασίες συνεργασίας. Οι ιδιωτικές επιχειρηματικές διαδικασίες είναι αυτές που είναι εσωτερικές σε συγκεκριμένο οργανισμό και είναι οι τύποι διαδικασιών που ονομάζονται γενικά ροή εργασιών ή διαδικασίες διαχείρισης. Αν χρησιμοποιούνται λωρίδες (swim lanes) τότε μία ιδιωτική επιχειρηματική διαδικασία θα περιέχεται μέσα σε ένα πλαίσιο. Έτσι η σειριακή ροή της διαδικασίας δεν μπορεί να περάσει τα σύνορα της. Η ροή μηνυμάτων μπορεί να περάσει τα σύνορά της ώστε να δείξει τις αλληλεπιδράσεις μεταξύ διαφορετικών ιδιωτικών επιχειρηματικών διαδικασιών. Αφηρημένες διαδικασίες οι οποίες παρουσιάζουν τις αλληλεπιδράσεις μεταξύ μιας ιδιωτικής επιχειρηματικής διαδικασίας και μιας άλλης διαδικασίας ή ενός συμμετέχοντος. Μόνο οι δραστηριότητες που επικοινωνούν εξωτερικά των ιδιωτικών επιχειρηματικών διαδικασιών περιλαμβάνονται στην αφηρημένη διαδικασία. Όλες οι υπόλοιπες εσωτερικές δραστηριότητες των ιδιωτικών επιχειρηματικών διαδικασιών δε φαίνονται στην αφηρημένη διαδικασία. Συνεπώς, η αφηρημένη διαδικασία δείχνει στον έξω κόσμο την ακολουθία των μηνυμάτων που απαιτείται να αλληλεπιδράσουν με εκείνη την επιχειρηματική διαδικασία. Αν η αφηρημένη διαδικασία βρίσκεται στο ίδιο διάγραμμα με τις ανταποκρινόμενες ιδιωτικές επιχειρηματικές διαδικασίες της, τότε οι δραστηριότητες που είναι κοινές και στις δύο διαδικασίες μπορούν να συσχετιστούν. Διαδικασίες συνεργασίας που απεικονίζουν τις αλληλεπιδράσεις μεταξύ δύο ή περισσοτέρων οντοτήτων. Αυτές οι αλληλεπιδράσεις καθορίζονται ως μια ακολουθία δραστηριοτήτων που παρουσιάζουν τα πρότυπα ανταλλαγής μηνυμάτων μεταξύ των εμπλεκομένων οντοτήτων. Οι διαδικασίες συνεργασίας μπορεί να περιέχονται μέσα σε ένα πλαίσιο (pool) και οι διάφορες επιχειρηματικές αλληλεπιδράσεις μεταξύ των συμμετεχόντων να 22

23 παρουσιάζονται ως λωρίδες (lanes). Σε αυτή τη περίπτωση, κάθε λωρίδα θα παρουσιάζει δυο συμμετέχοντες και την κατεύθυνση του μεταξύ τους ταξιδιού. Μπορεί επίσης να παρουσιαστούν ως δυο ή περισσότερες αφηρημένες διαδικασίες που αλληλεπιδρούν μέσα από τη ροή μηνυμάτων (όπως περιγράφηκε παραπάνω). Αυτές οι διαδικασίες μπορούν να μοντελοποιηθούν ξεχωριστά ή μέσα σε ένα μεγάλο διάγραμμα, ώστε να δείχνουν τις συσχετίσεις μεταξύ των διαδικασιών συνεργασίας και άλλων οντοτήτων. Αν η διαδικασία συνεργασίας είναι στο ίδιο διάγραμμα με μια ανταποκρινόμενη ιδιωτική επιχειρηματική διαδικασία της, τότε οι δραστηριότητες που είναι κοινές και στις δυο διαδικασίες μπορούν να συσχετιστούν. Στο σημείο αυτό πρέπει να σημειωθεί ότι η BPMN είναι σε σημαντικό βαθμό διαφορετικό με άλλα κοινά πρότυπα για την παροχή απεικόνισης ενός συστήματος όπως είναι η UML. Ενώ και οι δύο παρέχουν τη γραφική σημείωση των επιχειρηματικών διεργασιών σε κάποια μορφή, το UML παίρνει μια προσανατολισμένη στα αντικείμενα άποψη του συστήματος και δεν είναι εύκολα κατανοητή από τους επιχειρηματικούς χρήστες ενώ η BPMN παίρνει μια προσανατολισμένη στις διεργασίες άποψη του συστήματος και είναι πιο εύκολα κατανοητή χωρίς τυπική εκπαίδευση. Οι δύο αυτές προσεγγίσεις δεν είναι ανταγωνιστικές, εξυπηρετούν όμως διαφορετικούς σκοπούς ενώ παράλληλα παρέχουν διαφορετικές όψεις των διεργασιών του συστήματος και είναι συμπληρωματικές. 2.2 SDO / CDO Το Service Data Object συμπληρώνει την Service Component αρχιτεκτονική (SCA). Η αρχιτεκτονική αυτή, καθορίζει τις υπηρεσίες σαν ξεχωριστές συνιστώσες και τη συνδεσιμότητα μεταξύ τους. Μία ακόμη επιπλέον λειτουργία της είναι καθορίζει τη ροή δεδομένων μεταξύ των συνιστωσών αυτών. 23

24 Κάθε συνιστώσα στέλνει πληροφορίες ως είσοδο και έξοδο. Όταν καλείται κάποια υπηρεσία, αντικείμενα μνήμης στέλνονται ως XML αρχεία κωδικοποιημένα. Τα αντικείμενα αυτά θεωρούνται για τη Service Component αρχιτεκτονική η καλύτερη μορφή δεδομένων. Στο παρακάτω παράδειγμα φαίνεται η ροή δεδομένων σε ένα παράδειγμα εισαγωγών-εξαγωγών. Εικόνα 4: Ροή δεδομένων SDO Το CDO (Connected Data Objects) μοντέλο αποθήκευσης, είναι ένα κατανεμημένο μοντέλο για EMF μοντέλα και μεταμοντέλα. Επίσης θεωρείται ιδανικό και για runtime περιβάλλον. Το CDO αποτελείται από μία αρχιτεκτονική τριών επιπέδων υποστηριζόμενο από EMF εφαρμογές, το οποίο έχει ένα κεντρικό αποθηκευτικό server και αξιοποιεί διαφορετικούς τύπους συνδεόμενης αποθήκευσης, όπως σχεσιακές βάσεις 24

25 δεδομένων, βάσεις δεδομένων αντικειμένου και συστήματα αρχείων. Η προεπιλογή client/server από το πρωτόκολλο υλοποιείται με την πλατφόρμα σηματοδότησης Net4j. Πιο συγκεκριμένα, οι προγραμματιστές μπορούν πλέον εύκολα να ενισχύσουν τα υπάρχοντα μοντέλα EMF με τέτοιο τρόπο ώστε να μπορούν να αποθηκευθούν και ακολούθως να διατηρηθούν σε μία κεντρική αποθήκη. Για τα μοντέλα SDO και CDO δεν κατέστει εφικτό να συγκεντρωθούν αρκετές πληροφορίες και ούτε μοντέλα που να έχουν δημιουργηθεί μέσω αυτών, οπότε αποφασίστηκε να μην προχωρήσουμε σε βάθος σε ότι αφορά αυτά τα εργαλεία. 2.3 MDT/UML2 Η UML2 είναι μία EMF εφαρμογή του Unified Modeling Language (UML) 2.x OMG μεταμοντέλου για το Eclipse. Τα βασικά σημεία που παρέχονται από τη UML2 παραθέτονται παρακάτω: Μία χρήσιμη εφαρμογή του UML μεταμοντέλου για να στηρίξει την ανάπτυξη των εργαλείων μοντελοποίησης. Ένα κοινό σχήμα XMI για να διευκολυνθεί η ανταλλαγή των σημασιολογικών μοντέλων. Περιπτώσεις δοκιμής ως μέσο επικύρωσης της προδιαγραφής. Κανόνες επικύρωσης ως μέσο για τον καθορισμό και την επιβολή των επιπέδων συμμόρφωσης. Παρόλο που η MDT/UML2 παρέχει το μεταμοντέλο, δεν παρέχονται UML εργαλεία μοντελοποίησης από μόνα τους, κάτι που αποτελεί σοβαρό λόγο για να απορριφθεί και αυτό το εργαλείο, καθώς δεν κρίνεται κατάλληλο για όλα αυτά που ορίστηκαν παραπάνω ως στόχοι μοντελοποίησης. Μια τέτοια εφαρμογή είναι το MDT/Papyrus ενώ μία παλαιότερη μη υποστηριζόμενη εφαρμογή είναι το MDT- UML2 Tools. 25

26 2.4 Papyrus Το Papyrus plug-in έχει ως σκοπό την παροχή ολοκληρωμένου περιβάλλοντος για την επεξεργασία οποιουδήποτε είδους EMF μοντέλου και ειδικότερα υποστηρίζει UML και άλλες σχετικές γλώσσες μοντελοποίησης όπως για παράδειγμα η Sysml και η MARTE. Επίσης παρέχει diagram editors για EMF-based γλώσσες μοντελοποίησης μεταξύ των οποίων είναι η UML2 και η Sysml και τη σύνδεση που χρειάζεται για την ενσωμάτωση αυτών με άλλα MBD και MDSD εργαλεία. Το Papyrus προσφέρει επίσης προηγμένη υποστήριξη των UML profiles, κάτι που επιτρέπει στους χρήστες να καθορίσουν editors για άδειες DSL με βάση το πρότυπο UML2. Το κύριο χαρακτηριστικό του Papyrus σχετικά με το τελευταίο σημείο είναι ένα σύνολο πολύ ισχυρών μηχανισμών προσαρμογής που μπορεί να αξιοποιηθούν για να δημιουργηθούν προοπτικές καθορισμένες από το χρήστη και να του δώσουν την ίδια εμφάνιση και αίσθηση σαν έναν «αγνό» (pure) DSL editor. Η κατάληξη λοιπόν της παραπάνω έρευνας ήτανε πως το plug-in που θα χρησιμοποιηθεί και ταιριάζει στους στόχους είναι το Papyrus και η γλώσσα μοντελοποίησης θα είναι η SysML, η οποία με τη σειρά της αναλύεται και εκτενέστερα στη συνέχεια. Φάνηκε απ τις πρώτες δοκιμές χρήσης του ότι είναι ένα εργαλείο το οποίο μπορεί να παρέχει ακριβώς ότι απαιτείται για μια σωστή και ορθή μοντελοποίηση διαφόρων ενσωματωμένων ηλεκτρονικών συστημάτων EMF (Eclipse Modeling Framework) Πριν κλείσει το κεφάλαιο αυτό της έρευνας θα ήτανε καλό να γίνει μια αναφορά και σε κάποια σημεία που αφορούν το πλαίσιο του EMF, το οποίο είναι άμεσα συνδεδεμένο με τη λογική του papyrus και της γλώσσας SysML. Το EMF μπορεί να χρησιμοποιηθεί με στόχο την κατασκευή ενός μοντέλου, το οποίο στη 26

27 συνέχεια είναι δυνατό να αποτελέσει τη βάση για την ανάπτυξη οποιασδήποτε εφαρμογής Java. Ειδικότερα, τo EMF ενοποιεί τις τεχνολογίες Java, XML και UML, καθώς επιτρέπει τον ορισμό ενός μοντέλου σε οποιαδήποτε από τις παραπάνω μορφές, από την οποία είναι δυνατή στη συνέχεια η παραγωγή των υπολοίπων καθώς και των αντίστοιχων κλάσεων υλοποίησης. Πέρα από την ενίσχυση της παραγωγικότητας και της ποιότητας ως αποτέλεσμα της αυτόματης παραγωγής κώδικα, η δημιουργία μιας εφαρμογής με τη χρήση του EMF προσφέρει και άλλα οφέλη, όπως ένα μηχανισμό ειδοποιήσεων αναφορικά με μεταβολές του μοντέλου, δυνατότητα αποθήκευσης στιγμιότυπων του μοντέλου και ένα αποδοτικό API (Application Programming Interface) για τον χειρισμό αντικειμένων EMF με γενικό τρόπο. Και το σημαντικότερο είναι ότι το EMF παρέχει την υποδομή για διαλειτουργικότητα με άλλα (βασισμένα στο EMF) εργαλεία και εφαρμογές. Τέλος, σχετικά με το EMF θα ήτανε καλό να αναφερθεί ότι αποτελεί λογισμικό ανοιχτού κώδικα και είναι διαθέσιμο στη διεύθυνση Η τρέχουσα έκδοση του είναι η v2.6.1, ενώ απαραίτητη προϋπόθεση για την εγκατάσταση και χρήση του EMF αποτελεί η εγκατάσταση κατάλληλης έκδοσης της Java και του Eclipse. 27

28 3. Εισαγωγή στη SysML Στο κεφάλαιο αυτό παρουσιάζεται η γλώσσα μοντελοποίησης SysML (System Modeling Language) και παράλληλα στην ουσία έγινε μια προσπάθεια να παρουσιαστεί ένα σύντομο εγχειρίδιο χρήσης για τη γλώσσα αυτή. Οι ενότητες που ακολουθούν περιλαμβάνουν μία ιστορική αναδρομή της SysML, τη δομή της μαζί με τα βασικά συστατικά της και τη σύγκρισή της με τη UML. 3.1 Ιστορική Αναδρομή Στην ενότητα αυτή γίνεται μία ιστορική αναδρομή της SysML (System Modeling Language). Η UML καθιερώθηκε ως γλώσσα μοντελοποίησης στον τομέα της ανάπτυξης λογισμικού. Η προσαρμογή της UML στον τομέα του system engineering ονομάζεται SysML (System Modeling Engineering). Το system engineering, με λίγα λόγια, επικεντρώνεται στον καθορισμό και την τεκμηρίωση των απαιτήσεων του συστήματος στη φάση της ανάπτυξης κατά την οποία γίνεται η ανάλυση, ο σχεδιασμός και η επιβεβαίωση με βάση τις απαιτήσεις του συστήματος. Η ανάγκη για την ύπαρξη μιας γλώσσας μοντελοποίησης για το system engineering έδωσε την ώθηση για τη δημιουργία της SysML. Το 2001 ο παγκόσμιος οργανισμός International Council of System Engineering (INCOSE) σε συνεργασία με την εταιρεία Object Management Group ίδρυσαν το System Engineering Domain Special Interest Group (SE DSIG) που είχε στόχο την ανάπτυξη μιας επέκτασης της UML, η οποία θα χρησιμοποιείται για τη σχεδίαση, ανάλυση και επιβεβαίωση πολύπλοκων συστημάτων. Το 2003 μία ομάδα με το όνομα SysML Partners που εργαζόταν στο έργο, πρότεινε ως επέκταση τη SysML (System Modeling Engineering). Έπειτα από λίγους μήνες το πρώτο προσχέδιο της SysML είχε υλοποιηθεί και τον Απρίλιο του 2006 στο St.Louis καθιερώθηκε η SysML ως 28

29 πρότυπο. Η πρώτη έκδοση SysML v1.0 βγήκε στην αγορά το Σεπτέμβριο του 2007, ωστόσο είχε κάποια λάθη και παραλείψεις. Το Νοέμβριο του 2008 ήταν διαθέσιμη η δεύτερη έκδοση SysML v1.1, η οποία είχε ως στόχο να διορθώσει τα λάθη της προηγούμενη. Η Τρίτη έκδοση SysML v1.2 κυκλοφόρησε στις 16 Ιουνίου του 2010 και τέλος στις 8 Ιουνίου 2012 έχει ήδη κυκλοφορήσει η τέταρτη έκδοση SysML v1.3 ως επίσημη προδιαγραφή του OMG. Εικόνα 5: Σχέση UML με SysML 29

30 3.2 Δομή της SysML και σύγκριση με τη UML Στην ενότητα αυτή παρουσιάζεται η δομή της SysML και η σύγκρισή της με τη UML. Η SysML υποστηρίζει τον προσδιορισμό, την ανάλυση, το σχεδιασμό, την επιβεβαίωση και την επισημοποίηση συστημάτων, τα οποία περιλαμβάνουν hardware, software, δεδομένα, προσωπικό και διαδικασίες. Τα διαγράμματα της SysML χωρίζονται σε τρεις κατηγορίες: τα διαγράμματα δομής (structure diagrams), συμπεριφοράς (behaviour diagrams) και απαιτήσεων (requirement diagrams). Τα διαγράμματα δομής περιλαμβάνουν: Το διάγραμμα καθορισμού τμημάτων (block definition diagram). Το διάγραμμα εσωτερικών τμημάτων (internal block diagram). Το διάγραμμα παραμέτρων (parametric diagram). Το διάγραμμα πακέτων (package diagram). Τα διαγράμματα συμπεριφοράς περιλαμβάνουν: Τα διαγράμματα δραστηριοτήτων (activity diagram). Τα διαγράμματα ακολουθίας (sequence diagram). Τα διαγράμματα κατάστασης (state machine diagram). Το διάγραμμα περιπτώσεων χρήσης (use case diagram). 30

31 Εικόνα 6: Διαγράμματα της SysML και κατηγοριοποίηση τους Κάθε διάγραμμα πρέπει να έχει ένα πλαίσιο (diagram frame), το οποίο αποτελείται από την επικεφαλίδα (header), την περιγραφή του διαγράμματος (diagram description) και το περιεχόμενο (content). Η επικεφαλίδα αποτελείται από τα εξής μέρη: Το είδος του διαγράμματος (diagram kind). Τον τύπο του στοιχείου του μοντέλου (model element type). Το όνομα του στοιχείου του μοντέλου (model element name). Το όνομα του διαγράμματος (diagram name). Τη χρήση του διαγράμματος (diagram usage) 31

32 Η περιγραφή του διαγράμματος αποτελείται από: Την έκδοση (version). Την περιγραφή (description). Την κατάσταση ολοκλήρωσης (completion status). Την αναφορά (reference). Τα πεδία που καθορίζονται από το χρήστη (user-defined fields). Το περιεχόμενο του διαγράμματος αποτελείται από: Ιδιότητες (properties). Λέξεις κλειδιά (keywords) Κόμβους (node symbols). Μονοπάτια (path symbols). Εικόνες (icon symbols). Σημειώσεις (note symbols). Εικόνα 7: Δομή διαγραμμάτων της SysML 32

33 Εκτός από τα παραπάνω, η SysML υποστηρίζει και πίνακες, μήτρες και δέντρα. Παρακάτω θα αναλυθούν τα διαγράμματα της SysML και ιδιαίτερα αυτά που διαφέρουν με την UML Διάγραμμα Απαιτήσεων Το διάγραμμα απαιτήσεων παρουσιάζει τις απαιτήσεις του έργου και τη σχέση τους με άλλες απαιτήσεις, στοιχεία του σχεδιασμού και περιπτώσεις ελέγχου, οι οποίες υποστηρίζουν ανίχνευση απαιτήσεων. Απαίτηση είναι η ιδιότητα ή συμπεριφορά ενός συστήματος, η οποία θα πρέπει πάντα να ικανοποιείται. Τα βασικά στοιχεία από τα οποία αποτελείται ένα διάγραμμα απαιτήσεων είναι η μοναδική ταυτότητα που θα πρέπει να έχει (ID) και το κείμενο που θα την περιγράφει (text). Οι σχέσεις (relationships) μεταξύ δύο απαιτήσεων παρουσιάζονται στον παρακάτω πίνακα: Requirement (Απαίτηση) Derive relationship, η οποία περιγράφει μια απαίτηση η οποία προέρχεται από μια άλλη απαίτηση. Namespace containment, η οποία περιγράφει μια απαίτηση η οποία περιέχεται σε μια άλλη απαίτηση. Satisfy relationship, η οποία περιγράφει ένα στοιχείο του σχεδιασμού το οποίο ικανοποιεί μια απαίτηση. 33

34 Copy relationship, η οποία περιγράφει μια απαίτηση η οποία είναι αντίγραφο μια άλλης απαίτησης. Verify relationship, η οποία συνδέει μια περίπτωση ελέγχου με μια απαίτηση η οποία επαληθεύεται από την περίπτωση ελέγχου. Test case είναι μια ροή που ελέγχει εάν το σύστημα ικανοποιεί μια απαίτηση Refine relationship, η οποία καθορίζει το στοιχείο του συστήματος που περιγράφει τις ιδιότητες μιας απαίτησης με περισσότερες λεπτομέρειες. Trace relationship είναι η σχέση μεταξύ μιας απαίτησης και ενός αυθαίρετου στοιχείου του συστήματος. Allocation relationship είναι μια γενική σχέση μεταξύ στοιχείων διαφορετικού τύπου ή διαφορετικών επιπέδων. Πίνακας 1: Σύνταξη διαγράμματος απαιτήσεων Παρακάτω ακολουθεί ένα παράδειγμα διαγράμματος απαιτήσεων. 34

35 Εικόνα 8: Γενικό παράδειγμα διαγράμματος απαιτήσεων Διάγραμμα Καθορισμού Τμημάτων Το διάγραμμα καθορισμού τμημάτων (block definition diagram) παρουσιάζει τη σύνθεση και κατάταξη δομικών στοιχείων τα οποία ονομάζονται blocks. Το block αποτελείται από τις τιμές (values), τις λειτουργίες (operations), τους περιορισμούς (constraints), τα τμήματα (parts) και τις αναφορές (references). Άλλα στοιχεία που συμπεριλαμβάνονται σε ένα block είναι η διανομή των ορισμών (distribution definition) που περιγράφει πως οι τιμές διανέμονται σε ένα εύρος τιμών, ο τύπος της τιμής (value type), η μονάδα (unit) που περιγράφει τη δομή μιας φυσικής μονάδας και η διάσταση (dimension) που περιγράφει την ποσότητα μιας μονάδας. Όσον αφορά τις θύρες (ports) και τις ροές υπάρχει η θύρα ροής (flow port), η οποία περιγράφει ένα σημείο αλληλεπίδρασης ενός block και η ροή αντικειμένου (item flow), η οποία περιγράφει τη σύνδεση συγκεκριμένων αντικειμένων. 35

36 Block Association είναι η σχέση μεταξύ δύο blocks. Generalization είναι η ταξινομική σχέση μεταξύ του ειδικού και του γενικού block. Dependency είναι η σχέση μεταξύ δύο στοιχείων, η οποία περιγράφει τι χρειάζεται το ένα στοιχείο από το άλλο για την υλοποίηση του. Πίνακας 2: Σύνταξη διαγράμματος απαιτήσεων Παρακάτω ακολουθεί ένα παράδειγμα διαγράμματος καθορισμού τμημάτων. 36

37 Εικόνα 9: Γενικό παράδειγμα διαγράμματος καθορισμού τμημάτων Διάγραμμα Εσωτερικών τμημάτων Το διάγραμμα εσωτερικών τμημάτων (internal block diagram) περιγράφει την εσωτερική δομή των τμημάτων (blocks) σε επίπεδο ρόλων. Η δομή και η σύνταξη του διαγράμματος εσωτερικών τμημάτων είναι ίδια με του διαγράμματος καθορισμού τμημάτων Διάγραμμα Παραμέτρων Το διάγραμμα παραμέτρων (parametric diagram), ενδεικτικά παρουσιάζει τις παραμετρικές σχέσεις, εάν τυχόν υπάρχουν, ανάμεσα στα blocks. 37

38 3.2.5 Διάγραμμα Δραστηριοτήτων Το διάγραμμα δραστηριοτήτων (activity diagram) παρουσιάζει τη συμπεριφορά σε χρονική σειρά των ενεργειών οι οποίες βασίζονται στη διαθεσιμότητα εισροών, εκροών, ελέγχου και πως οι ενέργειες μετατρέπονται σε εισροές και εκροές. Η διαφορά μεταξύ του διαγράμματος δραστηριοτήτων της SysML και της UML είναι ο εκτεταμένος έλεγχος ροής με περισσότερες πληροφορίες για τη διακοπή ενεργειών, η υποστήριξη μοντελοποίησης συνεχόμενων συστημάτων, η υποστήριξη πιθανοτήτων στις ροές και η μοντελοποίηση κανόνων για δραστηριότητες στο διάγραμμα καθορισμού τμημάτων. Τα στοιχεία που περιλαμβάνονται σε ένα διάγραμμα δραστηριοτήτων είναι ο διαχειριστής ελέγχου (control operator) που καθορίζει εάν μια συμπεριφορά καθίσταται ικανή ή όχι από μια ενέργεια και αυτό γίνεται μέσω μιας τιμής, η οποία ονομάζεται τιμή ελέγχου (control value), η εκτίμηση (rate) που περιγράφει τη συχνότητα με την οποία εμφανίζονται τα στοιχεία σε μια δραστηριότητα ή ροή και η πιθανότητα (probability), η οποία περιγράφει πόσο πιθανό είναι να χρησιμοποιηθεί μια εξερχόμενη ροή. Action και Activity απεικονίζουν μια συμπεριφορά ή μια ενέργεια. Control flow δείχνει τη σειρά με την οποία εκτελούνται τα γεγονότα. Object flow δείχνει τη ροή ενός αντικειμένου από τη μια δραστηριότητα στην άλλη. Rate 38

39 Probability Initial node απεικονίζει την έναρξη των γεγονότων. Final-activity node απεικονίζει τη λήξη των γεγονότων. Final-flow node χρησιμοποιείται για να σταματήσει το control flow ή το object flow. Decision node χρησιμοποιείται για να αναπαραστήσει μια συνθήκη και για να εξασφαλίσει ότι η ροή θα ακολουθήσει ένα μόνο μονοπάτι. Merge node χρησιμοποιείται για να επαναφέρει διαφορετικά μονοπάτια σε ένα decision node. Πίνακας 3: Σύνταξη διαγράμματος δραστηριοτήτων Παρακάτω ακολουθεί ένα παράδειγμα διαγράμματος δραστηριοτήτων. 39

40 Εικόνα 10: Γενικό παράδειγμα διαγράμματος δραστηριοτήτων Διάγραμμα Περιπτώσεων Χρήσης Το διάγραμμα περιπτώσεων χρήσης (use case diagram) παρουσιάζει τη λειτουργικότητα ενός συστήματος και πως ένα σύστημα ή μια οντότητα χρησιμοποιείται από εξωτερικές οντότητες (χρήστες) για να επιτευχθεί ένας στόχος. 40

41 Εικόνα 11: Γενικό παράδειγμα διαγράμματος Περιπτώσεων Χρήσης Διάγραμμα Ακολουθίας Το διάγραμμα ακολουθίας (sequence diagram) παρουσιάζει τη συμπεριφορά των μηνυμάτων που ανταλλάσσονται ανάμεσα στα μέρη του συστήματος. Lifeline δηλώνει τη ζωή ενός αντικειμένου κατά τη διάρκεια της ακολουθίας. Execution δηλώνει την αποστολή η παραλαβή μηνύματος από ένα αντικείμενο. 41

42 Call Message μεταφέρει μηνύματα από το ένα αντικείμενο στο άλλο. Reply Message μεταφέρει την απάντηση σε αποσταλμένο μήνυμα. Delete Message είναι η παύση ενός αντικειμένου. Πίνακας 4: Σύνταξη διαγράμματος ακολουθίας Παρακάτω ακολουθεί ένα παράδειγμα διαγράμματος ακολουθίας. Εικόνα 12: Γενικό παράδειγμα διαγράμματος ακολουθίας 42

43 3.2.8 Διάγραμμα Κατάστασης / Διάγραμμα Πακέτων Το διάγραμμα κατάστασης (state machine diagram) παρουσιάζει τη συμπεριφορά μιας οντότητας μέσα από καταστάσεις, οι οποίες προκαλούνται από γεγονότα. Το διάγραμμα πακέτων (package diagram) παρουσιάζει τη δομή και οργάνωση του μοντέλου σε πακέτα τα οποία περιέχουν στοιχεία του συστήματος Διαφορές SysML και UML Η SysML και η UML είναι στενά συνδεδεμένες, καθώς η SysML είναι επέκταση της UML. Οι επιπλέον λειτουργίες ή αλλαγές της SysML σε σχέση με τη UML είναι: Προσθήκη νέων διαγραμμάτων: requirement diagram και parametric diagram. Οι κλάσεις ονομάζονται blocks και το αντίστοιχο διάγραμμα ονομάζεται block definition diagram αντί για class diagram. To διάγραμμα της UML composite structure diagram ονομάζεται στη SysML internal block diagram. Οι item flows μεταξύ των στοιχείων σε ένα internal block diagram μπορούν να μοντελοποιηθούν. Συνεχόμενες λειτουργίες μπορούν να υποστηριχθούν από action και object nodes στα activity diagrams και στα enhanced functional block diagrams. H προσθήκη της ISO AP-233 τυποποίησης δεδομένων για την υποστήριξη ανταλλαγής δεδομένων μεταξύ των εργαλείων. Παράληψη στοιχείων της UML που δεν χρειάζονται στον τομέα του system engineering. Εκτός από τις επιπλέον λειτουργίες και αλλαγές της SysML σε σχέση με τη UML, o πυρήνας της UML που είναι o object orientation (κλάσεις, αντικείμενα κ.τ.λ.) δεν αποτελεί βασικό στοιχείο της SysML με αποτέλεσμα κάποιος να μην χρειάζεται να έχει γνώσεις object orientation για να χρησιμοποιήσει τη SysML. 43

44 3.3 Συμπεράσματα SysML Στο παρόν κεφάλαιο μελετήθηκε η SysML, η οποία έχει καθιερωθεί ως γλώσσα μοντελοποίησης του system engineering. Η SysML έχει μόλις έξι χρόνια που είναι διαθέσιμη, καθώς η πρώτη έκδοση της κυκλοφόρησε το Η δομή της SysML είναι παρόμοια με της UML, ωστόσο υπάρχουν κάποιες αλλαγές και κάποια επιπλέον διαγράμματα με κυριότερο από αυτά το διάγραμμα απαιτήσεων που αποτελεί και το κύριο λόγο ύπαρξης της SysML. 44

45 4. Το κυρίως παράδειγμα Το project που θα υλοποιηθεί θα μοντελοποιεί ένα αυτοκίνητο του μέλλοντος και πιο συγκεκριμένα τα επιμέρους στοιχεία ασφάλειας τα οποία το διαφοροποιούν από τα σημερινά. Το project αυτό είναι απόρροια της εξήγησης της SysML από τον Balmelli, στέλεχος της IBM, η οποία αποτέλεσε πρωτοπόρο στη διάδοση της γλώσσας. Ο Balmelli εξηγεί τα βασικά βήματα της μοντελοποίησης με SysML χρησιμοποιώντας ένα παράδειγμα από την πραγματικότητα, αυτό των υαλοκαθαριστήρων οι οποίοι ενεργοποιούνται αυτόματα όταν ανιχνεύσουν νερό στο παρμπρίζ του αυτοκινήτου. Τα τρία βασικά διαγράμματα που είναι αρκετά για να οριστεί αυτή η περίπτωση -και κατ επέκταση και οι υπόλοιπες- είναι το διάγραμμα block definition, το διάγραμμα requirement και το διάγραμμα use case. Έχοντας αυτό ως αφετηρία, θα μπορούσε να φανταστεί κανείς διάφορα άλλα τέτοια συστήματα τα οποία θα μπορούσαν να έχουν τη θέση τους σε ένα αυτοκίνητο του μέλλοντος (future car). Η μοντελοποίηση των πιο τετριμμένων μερών ενός αυτοκινήτου (μηχανή, απλή λειτουργία φρένων, διαφορικό) δε θα μελετηθεί. Παρακάτω περιγράφεται τη δημιουργία του πρώτου κομματιού του παραδείγματος το οποίο όμως δίνεται ήδη από τον Balmeli, οπότε εστιάζουμε κυρίως στο πώς έγινε σε γενικές γραμμές η μεταφορά του στο papyrus. Περιγράφεται, δηλαδή, ο τρόπος με τον οποίο χρησιμοποιήθηκαν τα εργαλεία της Sysml για τη δημιουργία των διαγραμμάτων και την υλοποίηση των απαραίτητων μοντέλων σε όλες τις παρακάτω περιπτώσεις, καθώς είναι εμφανές ότι η τεχνική δεν αλλάζει και άρα και τα βήματα για τη δημιουργία από τεχνικής πλευράς και μέσω του workspace είναι παρόμοια. Στο Papyrus αρχικά δημιουργήθηκε ένα νέο block definition διάγραμμα το οποίο περιγράφει τα στοιχεία του συστήματος (αριστερό κλικ στο μοντέλο μας και επιλογή του block definition). Σε αυτό το διάγραμμα έχουν τεθεί οι actors (οδηγός, συντήρηση συστήματος και το ηλεκτρικό σύστημα του αυτοκινήτου), το κεντρικό σύστημα του υαλοκαθαριστήρα και τρία εξωτερικά blocks τα οποία στέλνουν δεδομένα στο κεντρικό σύστημα. Αυτό γίνεται από το δεξί μενού, το οποίο παρέχει όλα τα στοιχεία του διαγράμματος, από εκεί προσθέτονται δηλαδή και τα εκάστοτε στοιχεία. Οι actors, εν ολίγοις, είναι όλοι αυτοί που εισάγουν ή 45

46 εξάγουν δεδομένα προς και από το σύστημα. Χρησιμοποιείται λοιπόν το context diagram ως ένα διάγραμμα ανωτάτου επιπέδου, το οποίο απεικονίζει μόνο ποιοι χρησιμοποιούν το σύστημα, χωρίς άλλες λεπτομέρειες (το σύστημα το αντιμετωπίζουμε σαν μαύρο κουτί, δηλαδή δε υπάρχει κανένα ενδιαφέρον για το πώς λειτουργεί, μόνο το ότι λειτουργεί). Ακολούθως, ξεκινάει η δημιουργία του διαγράμματος απαιτήσεων, με τον ίδιο τρόπο με προηγουμένως, απλά αντί για block definition, επιλέγεται το requirements. Σε αυτό ορίζονται οι απαιτήσεις και οι σχέσεις των επιμέρους στοιχείων. Κάθε ένα requirement είναι μία επιλογή από τα δεξιά (requirement). Τα υψηλότερα και λιγότερο περιγραφικά επίπεδα αποσυντίθενται με links decompose σε απλούστερες μεθόδους, μέχρι να φτάσουμε στην απλούστερη απαίτηση. Το διάγραμμα απαιτήσεων ουσιαστικά μας δίνει την ακριβή λειτουργία του συστήματος σε επίπεδα. Ξεκινάμε από το υψηλότερο των επιπέδων (όσο υψηλότερο το επίπεδο τόσο λιγότερες λεπτομέρειες για τη λειτουργία του). Όσο αναγνωρίζουμε επιμέρους λειτουργίες σε κάθε ένα συστατικό, το αποσυνθέτουμε στις λειτουργίες αυτές. Τελικά φτάνουμε σε ένα διάγραμμα λεπτομερές, το οποίο μας δίνει ακριβώς τη λειτουργία του συστήματος. Τέλος, δημιουργείται ένα διάγραμμα Use Case. Εδώ θα περιγραφούν οι αλληλεπιδράσεις των actors με τα επιμέρους συστήματα. Όπως δηλώνει και το όνομα, αυτό το διάγραμμα δείχνει ποιες λειτουργίες του συστήματος χρειάζεται ο κάθε actor από το πρώτο διάγραμμα. Γι αυτό και χωρίζουμε το σύστημα (πάντα ο κεντρικός κύκλος που οδηγεί σε όλους τους άλλους) στα επιμέρους συστατικά του (πάλι όμως υψηλού επιπέδου, δε μας ενδιαφέρει να δείξουμε πώς λειτουργεί, απλά ποιες λειτουργίες του χρειάζεται ο κάθε actor). Όλες οι παραπάνω πράξεις γίνονται από το αριστερό μενού ονόματι Model Explorer. Με δεξί click προσθέτουμε το διάγραμμα που θέλουμε. Μόλις γίνει αυτό και ανοίξει το tab, στα δεξιά εμφανίζονται τα στοιχεία του διαγράμματος, ώστε να επιλέξουμε αυτά που θέλουμε και χρειαζόμαστε. Τα διαγράμματα τα οποία παρουσιάζει στην ουσία ο ίδιος ο Balmeli μεταφέρονται σχεδιαστικά όπως φαίνεται παρακάτω στο papyrus plug-in του eclipse. 46

47 Εικόνα13 : Block definition διάγραμμα μαζί με το workbench του συστήματος υαλοκαθαριστήρων 47

48 Εικόνα 14: Requirement diagram του συστήματος υαλοκαθαριστήρων 48

49 Εικόνα 15: Use case diagram μαζί με το workbench του συστήματος των υαλοκαθαριστήρων Εκτός από το σύστημα του αυτόματου υαλοκαθαριστήρα, θα υπάρξουν και άλλα τρία συστήματα τα οποία μοντελοποιούνται με τον ίδιο τρόπο. Ακολουθεί η περιγραφή τους και η μοντελοποίηση τους και τονίζεται πως η λειτουργία των συστημάτων φαίνεται ξεκάθαρα κυρίως στα διαγράμματα απαιτήσεων (requirement diagrams). 49

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

UML: Unified modelling language

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture)

Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Υπηρεσιοστρεφής Αρχιτεκτονική SOA (Service Oriented Architecture) Χρήστος Ηλιούδης Πλεονεκτήματα των Υπηρεσιών Ιστού Διαλειτουργικότητα: Η χαλαρή σύζευξή τους οδηγεί στην ανάπτυξη ευέλικτου λογισμικού

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

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

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

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

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

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

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

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

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

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

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

ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ (M.I.S.) ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ (M.I.S.) ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ (M.I.S.) ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Τίτλος εργασίας: Ανάλυση και σχεδιασμός ενός γενικού πληροφοριακού συστήματος παροχής υπηρεσιών για τη

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

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

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

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

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

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

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

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

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

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

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

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

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

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

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

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

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

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

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

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

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

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα METROPOLIS Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα Ενσωματωμένα συστήματα Ορίζονται ως ηλεκτρονικά συστήματα τα οποία χρησιμοποιούν υπολογιστές και ηλεκτρονικά υποσυστήματα για να εκτελέσουν

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

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

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

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

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

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

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

Περίληψη Λαμπρόπουλος

Περίληψη Λαμπρόπουλος Περίληψη Λαμπρόπουλος 1. Αντικείμενο και Περιγραφή της Διατριβής H διδακτορική διατριβή με τίτλο «Σχεδιασμός και υλοποίηση συστήματος διαχείρισης και ενοποίησης διαφορετικών ταυτοτήτων χρηστών σε δίκτυα

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

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

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

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

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

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

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

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

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

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

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή Οι σηµερινές δραστηριότητες των επιχειρήσεων δηµιουργούν την ανάγκη για όσο το δυνατό µεγαλύτερη υποστήριξη από τα πληροφοριακά τους

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

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

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

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

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

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

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

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας) Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016 Γεωργία Καπιτσάκη (Λέκτορας) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα συλλογής

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

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

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

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

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι

Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι Εισαγωγή, Βασικές Έννοιες, Οφέλη και Κίνδυνοι Ευθύμιος Ταμπούρης tambouris@uom.gr Επιστημονική Επιχειρηματική Χρήση των Η/Υ Η επιστημονική κοινότητα ασχολείται με τη λύση πολύπλοκων μαθηματικών προβλημάτων

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

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

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

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

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

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

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

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

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

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

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

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

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

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

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

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

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

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

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

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

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

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

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects) ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μικροελεγκτές και Ενσωματωμένα συστήματα Ανάπτυξη και Εφαρμογές Κωδικός Μαθήματος Μ2 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε

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

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

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

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

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

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

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

Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer

Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer Εγχειρίδιο χρήσης Intalio Designer Σελίδα 1 Copyright Copyright 2007 Atlantis Group. Ιστορικό εγγράφου Έκδοση Εγχειριδίου: 1.0 Ημερομηνία δημιουργίας: 26/11/2007 Σελίδα 2 ΠΕΡΙΕΧΟΜΕΝΑ 1 Εισαγωγή... 4 2

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

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

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

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

Μεθοδολογίες Παραγωγής Λογισµικού

Μεθοδολογίες Παραγωγής Λογισµικού Μεθοδολογίες Παραγωγής Λογισµικού Βασικά Γενικά Μοντέλα Μοντέλο καταρράκτη (waterfall model) Ξεχωριστές φάσεις καθορισµού απαιτήσεων και ανάπτυξης, επικύρωσης, εξέλιξης Εξελικτική ανάπτυξη (evolutionary

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

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

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

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

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

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

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

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

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

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

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS)

Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Το Μέλλον για τα Συστήματα Διαχείρισης Ακτινολογικής Εικόνας (PACS) Ελένη Καλδούδη Τμήμα Ιατρικής Δημοκρίτειο Πανεπιστήμιο Θράκης 2003 θέματα το χθές, το σήμερα και το αύριο για τα PACS απαιτήσεις από

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

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής

Πληροφορική ΙΙ Εισαγωγή στις Βάσεις Δεδομένων. Τμήμα Λογιστικής Εισαγωγή στις Βάσεις Δεδομένων Εισαγωγή στις Βάσεις Δεδομένων Ορισμός Βάσης Δεδομένων Σύστημα Διαχείρισης Βάσης Δεδομένων ΣΔΒΔ (DBMS) Χαρακτηριστικά προσέγγισης συστημάτων αρχειοθέτησης Χαρακτηριστικά

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

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

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

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

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες

Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες Μάθημα 4: Πρότυπα, Πρωτόκολλα & Υπηρεσίες 4.1 Γενικά Σκοπός ενός δικτύου υπολογιστών είναι οι χρήστες να έχουν τη δυνατότητα να διαμοιράζονται πληροφορίες και συσκευές του δικτύου. Η σχεδίαση και η ανάπτυξη

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

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

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

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

Στρατηγική Επιλογή Capital B.O.S. Capital B.O.S.

Στρατηγική Επιλογή Capital B.O.S. Capital B.O.S. Στρατηγική Επιλογή Το ταχύτατα μεταβαλλόμενο περιβάλλον στο οποίο δραστηριοποιούνται οι επιχειρήσεις σήμερα, καθιστά επιτακτική -όσο ποτέ άλλοτε- την ανάπτυξη ολοκληρωμένων λύσεων που θα διασφαλίζουν,

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

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

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95

ΚΕΦΑΛΑΙΟ 4. Τεχνική Ανίχνευσης του. Πτυχιακή Εργασία Σελίδα 95 ΚΕΦΑΛΑΙΟ 4 Τεχνική Ανίχνευσης του ICMP Echo Spoofing Πτυχιακή Εργασία Σελίδα 95 Περιεχόμενα ΕΙΣΑΓΩΓΗ 98 ΜΕΡΟΣ Α: Έλεγχος του Icmp Echo Reply Πακέτου 103 A.1. Ανίχνευση του spoofed Icmp Echo Request Πακέτου.

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

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

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

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

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

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

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

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

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

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

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

ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ. Έννοιες-κλειδιά. Σύνοψη

ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ. Έννοιες-κλειδιά. Σύνοψη ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ Σκοπός του κεφαλαίου είναι η εισαγωγή της έννοιας της διάταξης λογισμικού, ως αρχιτεκτονικής δόμησης των υπολογιστικών πόρων και της ανάθεσης σε αυτούς συστατικών

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

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

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

Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας

Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας Σχεδιασμός Οικολογικού Διαμεσολαβητή για την εποπτεία και διαχείριση δικτύου διανομής ηλεκτρικής ενέργειας Σωτηρία Δριβάλου Εθνικό Μετσόβιο Πολυτεχνείο Μονάδα Εργονομίας Συστήματα διανομής ηλεκτρικής ενέργειας

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

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

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

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

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud Το Oracle Analytics Cloud αποτελεί ένα ολοκληρωμένο σύνολο δυνατοτήτων που περιλαμβάνει έτοιμο περιεχόμενο, εξειδικευμένα

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

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

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

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

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

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

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

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

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο Συσκευές Τηλεπικοινωνιών και Δικτύωσης Επικοινωνίες Δεδομένων Μάθημα 9 ο Εισαγωγή Ένα δίκτυο αποτελείται από ενεργά και παθητικά στοιχεία. Στα παθητικά στοιχεία εντάσσονται τα καλώδια και τα εξαρτήματα

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

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

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

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

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

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

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

Η Διαλειτουργικότητα στην Υπηρεσία του Πολίτη

Η Διαλειτουργικότητα στην Υπηρεσία του Πολίτη Η Διαλειτουργικότητα στην Υπηρεσία του Πολίτη Μαρίκα Λάμπρου Διευθύνουσα Σύμβουλος SingularLogic Integrator ICT Forum Περιεχόμενα Ορισμός Διαλειτουργικότητας Στόχοι Διαλειτουργικότητας Πρότυπο Ηλεκτρονικό

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

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

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

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

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

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

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

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

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

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2018-2019 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD ΗΥ220 - Βασίλης Παπαευσταθίου 1 Transistor: Δομική μονάδα κυκλωμάτων Τα ολοκληρωμένα κυκλώματα

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

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή

ΚΕΦΑΛΑΙΟ 17: Web Services Εισαγωγή ΚΕΦΑΛΑΙΟ 17: Web Services 17.1. Εισαγωγή Με τον όρο WebService αναφερόμαστε σε ένα σύστημα λογισμικού το οποίο σχεδιάστηκε με τρόπο τέτοιο ώστε να υποστηρίζει την ανεμπόδιστη συνεργασία δύο μηχανών μέσω

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

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

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

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

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων

ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων ΗΥ220 Εργαστήριο Ψηφιακών Κυκλωμάτων Χειμερινό Εξάμηνο 2017-2018 Ροή Σχεδίασης Κυκλωμάτων και Εργαλεία CAD ΗΥ220 - Γιώργος Καλοκαιρινός & Βασίλης Παπαευσταθίου 1 Transistor: Δομική μονάδα κυκλωμάτων Τα

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