Τεχνολογία ΛογισμικούSlide 1 Αντικειμενοστραφής Σχεδιασμός u Σχεδιασμός συστημάτων με βάση αντικείμενα και κλάσεις αντικειμένων
Τεχνολογία ΛογισμικούSlide 2 Στόχοι u Πως ο σχεδιασμός λογισμικού μπορεί να αναπαρασταθεί ως σύνολο αλληλεπιδρώντων αντικειμένων u Παρουσίαση με απλό παράδειγμα της αντικειμενοστραφούς διαδικασίας σχεδιασμού u Εισαγωγή διαφόρων μοντέλων που περιγράφουν αντικειμενοστραφή σχεδιασμό u Εξήγηση πως τα αντικείμενα μπορούν να αναπαρασταθούν ως ταυτόχρονες διαδικασίες
Τεχνολογία ΛογισμικούSlide 3 Θέματα u Αντικείμενα, κλάσεις αντικειμένων και κληρονομικότητα u Αναγνώριση αντικειμένων u Παράδειγμα αντικειμενοστραφούς σχεδιασμού u Ταυτόχρονα αντικείμενα
Τεχνολογία ΛογισμικούSlide 4 Χαρακτηριστικά OOD u Τα αντικείμενα είναι αφαιρέσεις του πραγματικού κόσμου ή οντότητες συνστήματος και αυτοδιαχειρίζονται u Τα αντικείμενα είναι ανεξάρτητα και περιλαμβάνουν πληροφορία κατάστασης και αναπαράστασης. u Η λειτουργικότητα του συστήματος εκφράζεται ως υπηρεσίες αντικειμένων u Δεν υπάρχουν περιοχές κοινής πρόσβασης. Τα αντικείμενα επικοινωνούν με μηνύματα u Τα αντικείμενα είναι κατανεμημένα και εκτελούν διαδοχικά ή παράλληλα
Τεχνολογία ΛογισμικούSlide 5 Δομή OOD
Τεχνολογία ΛογισμικούSlide 6 Πλεονεκτήματα OOD u Ευκολότερη συντήρηση. Τα αντικείμενα είναι κατανοητά ως αυτόνομες οντότητες. u Τα αντικείμενα είναι κατάλληλα επαναχρησιμοποιήσιμα στοιχεία u Για κάποια συστήματα, υπάρχει φανερή αντιστοίχιση μεταξύ οντοτήτων του πραγματικού κόσμου και αντικειμένων του συστήματος
Τεχνολογία ΛογισμικούSlide 7 Αντικειμενοστραφής Ανάπτυξη u Η αντικειμενοστραφής ανάλυση, σχεδιασμός και προγραμματισμός συσχετίζονται αλλά είναι διακριτά u OOA σχετίζεται με την ανάπτυξη ενός μοντέλου αντικειμένων του πεδίου εφαρμογής u OOD σχετίζεται με την ανάπτυξη αντικειμενοστραφούς μοντέλου για την υλοποίηση των απαιτήσεων u OOP σχετίζεται με την υλοποίηση του OOD με χρήση μίας αντικειμενοστραφούς γλώσσας προγραμματισμού όπως είναι η C++
Τεχνολογία ΛογισμικούSlide 8 Μέθοδοι Αντικειμενοστραφούς Σχεδιασμού u Μερικές μέθοδοι οι οποίες αρχικά βασίζονται σε λειτουργίες (όπως η μέθοδος Yourdon) έχουν προσαρμοσθεί στον αντικειμενοστραφή σχεδιασμό. Άλλες μέθοδοι όπως η Booch έχουν αναπτυχθεί ειδικά για OOD u HOOD είναι μία μέθοδος αντικειμενοστραφούς σχεδιασμού που υποστηρίζει προγραμματισμό σε Ada. u JSD δίνει την αίσθηση αντικειμενοστραφούς σχεδιασμού αλλά δεν συμπεριλαμβάνει πληροφορία κατάστασης οντότητας
Τεχνολογία ΛογισμικούSlide 9 Συνήθης Πρακτική Αντικειμενοστραφούς Σχεδιασμού u Η αναγνώριση των αντικειμένων, των χαρακτηριστικών τους και των υπηρεσιών u Η οργάνωση των αντικειμένων σε μία ομαδική ιεραρχία u Η δημιουργία δυναμικών περιγραφών χρήσης αντικειμένων που δείχνουν πως οι υπηρεσίες χρησιμοποιούνται u Η εξειδίκευση των διεπαφών μεταξύ αντικειμένων
Τεχνολογία ΛογισμικούSlide 10 Αντικείμενα, Κλάσεις και Κληρονομικότητα u Τα αντικείμενα είναι οντότητες ενός συστήματος λογισμικού που αναπαριστούν στιγμές του πραγματικού κόσμου και οντότητες συστήματος u Οι κλάσεις αντικειμένων είναι φόρμες αντικειμένων. Χρησιμοποιούνται για την δημιουργία αντικειμένων u Οι κλάσεις αντικειμένων κληρονομούν χαρακτηριστικά και υπηρεσίες από άλλες κλάσεις αντικειμένων
Τεχνολογία ΛογισμικούSlide 11 Αντικείμενα Αντικείμενο μία οντότητα που έχει μία κατάσταση και ένα ορισμένο σύνολο λειτουργιών οι οποίες λειτουργούν σε αυτή την κατάσταση. Η κατάσταση αναπαρίσταται ως σύνολο χαρακτηριστικών του αντικειμένου. Οι λειτουργίες που σχετίζονται με το αντικείμενο παρέχουν υπηρεσίες σε άλλα αντικείμενα (πελάτες) που απαιτούν τις υπηρεσίες όταν απαιτείται κάποιος υπολογισμός. Τα αντικείμενα δημιουργούνται σύμφωνα με κάποιο ορισμό κλάσης αντικειμένων. Ένας ορισμός κλάσης αντικειμένων χρησιμεύει ως φόρμα για αντικείμενα. Περιλαμβάνει δηλώσεις για όλα τα χαρακτηριστικά και υπηρεσίες οι οποίες πρέπει να συσχετίζονται με ένα αντικείμενο της κλάσης.
Τεχνολογία ΛογισμικούSlide 12 Επικοινωνία Αντικειμένων u Τα αντικείμενα επικοινωνούν με μηνύματα u Μηνύματα Το όνομα της υπηρεσίας που απαιτείται από το καλούν αντικείμενο Αντίγραφα της πληροφορίας που απαιτείται για εκτέλεση της υπηρεσίας και το όνομα του ιδιοκτήτη του αποτελέσματος της υπηρεσίας u Στην πράξη τα μηνύματα συχνά υλοποιούνται με κλήση διαδικασιών Όνομα = όνομα διαδικασίας Πληροφορία = λίστα παραμέτρων
Τεχνολογία ΛογισμικούSlide 13 Παραδείγματα Μηνυμάτων u Κλήση στην υπηρεσία μηνυμάτων που σχετίζεται με λίστες για εκτύπωση της λίστας L1 List.Print (L1) u Κλήση στην υπηρεσία που σχετίζεται με ακέραια διανύσματα που βρίσκει την μέγιστη τιμή του διανύσματος XX. Επιστροφή του αποτελέσματος στο Max_value IntArray.Max ( XX, Max_value]
Τεχνολογία ΛογισμικούSlide 14 Κλάση Αντικειμένων για Μήνυμα Ταχυδρομείου u Replace with portrait slide
Τεχνολογία ΛογισμικούSlide 15 Σχεδιασμός Διεπαφής για Μήνυμα
Τεχνολογία ΛογισμικούSlide 16 Σχεδιασμός Διεπαφής για Μήνυμα
Τεχνολογία ΛογισμικούSlide 17 Ορισμός Αντικειμένου
Τεχνολογία ΛογισμικούSlide 18 Κληρονομικότητα u Τα αντικείμενα είναι μέλη κλάσεων τα οποία ορίζουν τύπους χαρακτηριστικών και λειτουργίες u Οι κλάσεις μπορεί να τακτοποιηθούν σε ιεραρχία κλάσεων όπου μία κλάση προέρχεται από μία υπάρχουσα κλάση (υπερ - κλάση) u Μία υποκλάση κληρονομεί τα χαρακτηριστικά από μία υπερ - κλάση και μπορεί να προσθέσει νέες μεθόδους ή χαρακτηριστικά
Τεχνολογία ΛογισμικούSlide 19 Μία Κλάση ή Τύπος Ιεραρχίας u Replace with portrait slide
Τεχνολογία ΛογισμικούSlide 20 Πολλαπλή Κληρονομικότητα u Replace with portrait slide
Τεχνολογία ΛογισμικούSlide 21 Πλεονεκτήματα Κληρονομικότητας u Είναι αφαιρετικός μηχανισμός που χρησιμοποιείται για την ταξινόμηση οντοτήτων u Είναι μηχανισμός επαναχρησιμοποίησης σε επίπεδο σχεδιασμού και προγραμματισμού u Ο γράφος κληρονομικότητας είναι πηγή για οργανωτική γνώση σχετικά με πεδία και συστήματα
Τεχνολογία ΛογισμικούSlide 22 Προβλήματα με Κληρονομικότητα u Οι κλάσεις αντικειμένων δεν είναι αυτοπροσδιοριζόμενες, χωρίς αναφορά στις υπερ - κλάσεις τους u Οι σχεδιαστές έχουν την τάση να επαναχρησιμοποιούν τον γράφο κληρονομικότητας που δημιουργείται κατά την ανάλυση. Μπορεί να οδηγήσει σε σημαντική αναποτελεσματικότητα u Οι γράφοι κληρονομικότητας της ανάλυσης, σχεδιασμού και υλοποίησης έχουν διαφορετικές λειτουργίες και πρέπει να συντηρούνται χωριστά
Τεχνολογία ΛογισμικούSlide 23 Κληρονομικότητα και OOD u Υπάρχουν διφορούμενες απόψεις σχετικά με το αν η κληρονομικότητα είναι ουσιαστική σε OOD. Άποψη 1. Η αναγνώριση της ιεραρχίας κληρονομικότητας ή δικτύου είναι σημαντική στον αντικειμενοστραφή σχεδιασμό. Προφανώς μπορεί να υλοποιηθεί με χρήση μίας αντικειμενοστραφούς γλώσσας προγραμματισμού Άποψη 2. Η κληρονομικότητα είναι χρήσιμη έννοια υλοποίησης η οποία επιτρέπει την επαναχρησιμοποίηση των ορισμών χαρακτηριστικών και λειτουργίας. Η αναγνώριση της ιεραρχίας κληρονομικότητας στην φάση σχεδιασμού θέτει μη χρήσιμους περιορισμούς στην υλοποίηση.
Τεχνολογία ΛογισμικούSlide 24 Αναγνώριση Αντικειμένων u Η αναγνώριση αντικειμένων είναι το πιο δύσκολο μέρος στον αντικειμενοστραφή σχεδιασμό. u Δεν υπάρχει «μαγική φόρμουλα» για την αναγνώριση αντικειμένων. Βασίζεται σε δεξιότητες, εμπειρία και γνώση του πεδίου από τους σχεδιαστές συστημάτων. u Η αναγνώριση αντικειμένων είναι επαναληπτική διαδικασία. Είναι πολύ δύσκολο να γίνει σωστά με την πρώτη προσπάθεια
Τεχνολογία ΛογισμικούSlide 25 Προσεγγίσεις στην Αναγνώριση u Χρήση γραμματικής προσέγγισης που βασίζεται σε περιγραφή φυσικής γλώσσας του συστήματος (που χρησιμοποιείται στην μέθοδο Hood) u Η αναγνώριση βασίζεται σε πράγματα τα οποία είναι δυνατόν να επιτευχθούν στο πεδίο εφαρμογής u Χρήση της προσέγγισης συμπεριφοράς και αναγνώριση αντικειμένων που βασίζεται σε τι συμμετέχει σε αυτή την συμπεριφορά u Χρήση ανάλυσης που βασίζεται σε σενάριο (χρήση στην μέθοδο ObjectOry)
Τεχνολογία ΛογισμικούSlide 26 Πληροφοριακό Σύστημα Γραφείου Το πληροφοριακό σύστημα γραφείου για ανάκτηση πληροφορίας (OIRS) είναι ένα αυτόματο σύστημα αρχειοθέτησης που αρχειοθετεί έγγραφα κάτω από κάποιο όνομα σε ένα ή περισσότερους δείκτες, ανακτά έγγραφα, εμφανίζει και διατηρεί δείκτες αρχείων, αρχειοθετεί έγγραφα και καταστρέφει έγγραφα. Το σύστημα ενεργοποιείται με απαίτηση του χρήστη και πάντα επιστρέφει μήνυμα στον χρήστη που δείχνει την επιτυχία ή αποτυχία της απαίτησης
Τεχνολογία ΛογισμικούSlide 27 Αντικείμενα και Λειτουργίες u Ουσιαστικά στην περιγραφή δίνουν δείκτες στα αντικείμενα του συστήματος u Ρήματα δίνουν δείκτες σε λειτουργίες που σχετίζονται με αντικείμενα u Η προσέγγιση υποθέτει ότι ο σχεδιαστής έχει την βασική γνώση του πεδίου εφαρμογής καθόσον δεν πρέπει όλα τα αντικείμενα και οι υπηρεσίες να περιλαμβάνονται στην περιγραφή
Τεχνολογία ΛογισμικούSlide 28 Προκαταρκτική Αναγνώριση Αντικειμένων
Τεχνολογία ΛογισμικούSlide 29 Σύστημα Καταγραφής Καιρικών Συνθηκών u Παίρνει δεδομένα από απομακρυσμένους μετεωρολογικούς σταθμούς και κάνει τοπική επεξεργασία δεδομένων u Τα δεδομένα μεταφέρονται σε ένα Η/Υ περιοχής για περαιτέρω επεξεργασία και ολοκλήρωση με άλλες εκθέσεις καιρού u Οι χάρτες καιρού παράγονται από τον Η/Υ περιοχής με συνδυασμό των δεδομένων καιρού με μία βάση δεδομένων χαρτογραφική
Τεχνολογία ΛογισμικούSlide 30 Περιγραφή Συστήματος Καιρού Απαιτείται σύστημα συλλογής δεδομένων για την παραγωγή χαρτών καιρού σε κανονική βάση με την χρήση δεδομένων που συλλέγονται από απομακρυσμένους μη εποπτευόμενους σταθμούς. Κάθε σταθμός συλλέγει μετεωρολογικά δεδομένα για κάποια περίοδο και παράγει συνόψεις αυτών των δεδομένων. Στέλνει τα δεδομένα για περαιτέρω επεξεργασία όταν αυτό απαιτηθεί. Κάθε μετεωρολογικός σταθμός συλλέγει δεδομένα για θερμοκρασία αέρα, θερμοκρασία εδάφους, ταχύτητα ανέμου και διεύθυνση, βαρομετρική πίεση και βροχόπτωση. Οι σταθμοί καιρού μεταφέρουν τα δεδομένα στον κεντρικό Η/Υ. Τα δεδομένα αυτά επεξεργάζονται μαζί με αναφορές από άλλες πηγές (δορυφόρους και πλοία). Έτσι τελικά παράγονται οι τελικοί τοπικοί χάρτες καιρού.
Τεχνολογία ΛογισμικούSlide 31 Αρχιτεκτονική Συστήματος
Τεχνολογία ΛογισμικούSlide 32 Κύρια Αφηρημένα Αντικείμενα u Σταθμός καιρού Πακέτων οργάνων που συλλέγουν δεδομένα, κάνουν κάποια επεξεργασία και μεταφέρουν τα δεδομένα για περαιτέρω επεξεργασία u Βάση Δεδομένων Χαρτών Βάση δεδομένων με πληροφορία η οποία επιτρέπει παραγωγή χαρτών σε διαφορετικές κλίμακες u Χάρτης Καιρού Αναπαράσταση περιοχής με υπέρθεση πληροφορίας κλιματολογικών συνθηκών u Δεδομένα Καιρού Χρησιμοποιούνται για την παραγωγή χαρτών και αποθήκευση για περαιτέρω επεξεργασία
Τεχνολογία ΛογισμικούSlide 33 Περιγραφή Σταθμού Καιρού Ένας σταθμός καιρού είναι ένα πακέτο οργάνων που ελέγχονται από λογισμικό για την συλλογή δεδομένων, μερική επεξεργασία και αποστολή των δεδομένων στον Η/Υ. Τα όργανα είναι θερμόμετρα αέρος και εδάφους, ανεμόμετρο, βαρόμετρο και συλλέκτης βροχής. Τα δεδομένα συλλέγονται κάθε πέντε λεπτά. Όταν απαιτείται τα δεδομένα συλλέγονται και αποστέλλονται.
Τεχνολογία ΛογισμικούSlide 34 Αντικείμενα Σταθμού Καιρού u Αναγνωρισμένα Αντικείμενα Θερμόμετρα αέρα και εδάφους, ανεμόμετρο, βαρόμετρο, βροχόμετρο. Το πακέτο των οργάνων μπορεί επίσης να θεωρηθεί ως αντικείμενο u Αναγνωρισμένες Λειτουργίες Συλλογή Δεδομένων, Επεξεργασία και Μεταφορά Δεδομένων u Αναγνωρισμένα Χαρακτηριστικά Συνοπτικά Δεδομένα u Η περιγραφή αναλύεται με βάση την γνώση του πεδίου, π.χ. ένας σταθμός καιρού πρέπει να είναι μοναδικά αναγνωρίσιμος
Τεχνολογία ΛογισμικούSlide 35 Κλάση Σταθμού Καιρού
Τεχνολογία ΛογισμικούSlide 36 Σχεδιασμός Αντικειμένου Υλικού u Τα αντικείμενα υλικού αντιστοιχούν απευθείας σε αισθητήρες ή ενεργοποιητές που συνδέονται με το σύστημα u Περιλαμβάνουν τις λεπτόμερειες ελέγχου του υλικού, π.χ. διεύθυνση buffer address, masking bit pattern, κ.α. u Οι αλλαγές στο υλικό συνήθως εισάγονται από επανα - υλοποίηση αντικειμένων υλικού
Τεχνολογία ΛογισμικούSlide 37 Αντικείμενα Ελέγχου Υλικού
Τεχνολογία ΛογισμικούSlide 38 Δεδομένα που Συλλέγονται από τον Σταθμό u Θερμοκρασία Αέρος & Εδάφους Μέγιστη, ελάχιστη και μέση u Ταχύτητα Ανέμου Μέγιστη ταχύτητα, μέγιστη ταχύτητα θύελλας u Διεύθυνση Ανέμου Κάθε πέντε λεπτά u Πίεση Μέση βαρομετρική πίεση u Βροχόπτωση Αθροιστική βροχόπτωση
Τεχνολογία ΛογισμικούSlide 39 Αντικείμενα Δεδομένων Καιρού
Τεχνολογία ΛογισμικούSlide 40 Δεδομένα Καιρού u Όλα τα δεδομένα καιρού μπορούν να συμπεριληφθούν σε ένα αντικείμενο. Λογικά, μεταφέρεται ένα μόνο αντικείμενο στον Η/Υ. u Τα χαρακτηριστικά του αντικειμένου καιρού είναι τα ίδια αντικείμενα u Η λειτουργία Process_data αρχίζει όταν η πληροφορία καιρού μεταφέρεται. Υπολογίζει την πληροφορία που απαιτείται με χρήση πρωτογενών συλλεχθέντων δεδομένων
Τεχνολογία ΛογισμικούSlide 41 Άλλα Αντικείμενα Σταθμών Καιρού
Τεχνολογία ΛογισμικούSlide 42 Ομαδική Ιεραρχία Αντικειμένων
Τεχνολογία ΛογισμικούSlide 43 Στατική και Δυναμική Δομή Συστήματος u Τα διαγράμματα ομαδικής ιεραρχίας αντικειμένων δείχνουν την στατική δομή του συστήματος. Παρουσιάζουν αντικείμενα και υπο - αντικείμενα. Δεν είναι το ίδιο όπως η κληρονομική ιεραρχία u Τα διαγράμματα υπηρεσιών αντικειμένων δείχνουν πως αντικείμενα χρησιμοποιούν άλλα αντικείμενα. Επίσης δείχνουν τα μηνύματα που περνούν μεταξύ αντικειμένων
Τεχνολογία ΛογισμικούSlide 44 Αλληλεπιδράσεις Αντικειμένων
Τεχνολογία ΛογισμικούSlide 45 Αλληλεπιδράσεις Αντικειμένου Σταθμού Καιρού u Replace with portrait slide
Τεχνολογία ΛογισμικούSlide 46 Σχεδιασμός Διεπαφής Αντικειμένου u Σχετίζεται με την εξειδίκευση της λεπτομέρειας των διεπαφών αντικειμένων. Αυτό σημαίνει ότι ορίζονται οι τύποι χαρακτηριστικών, οι υπογραφές και η σημασιολογία των λειτουργιών του αντικειμένου u Η πληροφορία αναπαράστασης πρέπει να αποφεύγεται u Η ακριβής εξειδίκευση είναι σημαντική για να μπορεί να χρησιμοποιηθεί περιγραφεί γλώσσας προγραμματισμού
Τεχνολογία ΛογισμικούSlide 47 Σχεδιασμός Διεπαφής με Ada 1 with Weather_data, Instrument_status, Mapping_computer ; package Weather_station is type T is private ; type STATION_IDENTIFIER is STRING (1..6) ; procedure Initialise (WS: T) ; procedure Transmit_data (Id: STATION_IDENTIFIER ; WR: Weather_data.REC ; Dest: Mapping_computer.ID ) ; procedure Transmit_status ( Id: STATION_IDENTIFIER ; IS: Instrument_status.REC ; Dest: Mapping_computer.ID ) ; procedure Self_test (WS: T) ; procedure Shut_down (WS: T) ;
Τεχνολογία ΛογισμικούSlide 48 Σχεδιασμός Διεπαφής με Ada 2 -- Access and constructor procedures for object attributes -- Attribute: Station identifier function Station_identifier (WS: T) return STATION_IDENTIFIER ; procedure Put_identifier (WS: in out T ; Id: STATION_IDENTIFIER) ; -- Attribute: Weather data record function Weather_data (WS: T ) return Weather_data.REC ; procedure Put_weather_data (WS: in out T ; WR: Weather_data.REC ) ; -- Attribute: Instrument status procedure Put_instrument_status (WS: in out T; IS: Instrument_status.REC ) ; function Instrument_status (WS: T) return Instrument_status.REC ; private type T is record Id: STATION_IDENTIFIER ; Weather_data: Weather_data.REC ; Instrument_status: Instrument_status.REC ; end record ; end Weather_station ;
Τεχνολογία ΛογισμικούSlide 49 Σχεδιασμός Διεπαφής με C++ u Replace with portrait slide
Τεχνολογία ΛογισμικούSlide 50 Εξέλιξη Σχεδιασμού u Η απόκρυψη της πληροφορίας σε κάποια αντικείμενα σημαίνει ότι οι αλλαγές που γίνονται σε κάποιο αντικείμενο δεν επηρεάζουν άλλα αντικείμενα με απρόβλεπτο τρόπο u Αν υποθέσουμε ότι στον σταθμό καιρού προσθέσουμε δυνατότητες ελέγχου ρύπανσης. Αυτά δειγματολειπτούν τον αέρα και υπολογίζουν διαφορετικά ποσά ρυπαντών στην ατμόσφαιρα u Οι μετρήσεις ρύπανσης μεταφέρονται με τα δεδομένα καιρού
Τεχνολογία ΛογισμικούSlide 51 Αλλαγές που Απαιτούνται u Πρόσθεση αντικειμένου εγγραφής ρύπανσης u Προσθήκη λειτουργίας μεταφοράς στον σταθμό καιρού. Τροποποίηση λογισμικού ελέγχου για συλλογή αναγνώσεων ρύπανσης u Προσθήκη μίας υπό - εγγραφής στην εγγραφή ρύπανσης στο ίδιο επίπεδο όπως η πίεση, βροχόπτωση, κ.α. u Προσθήκη αντικειμένου υλικού (αισθητήρας ποιότητας αέρα) u Προσθήκη συλλογής δεδομένων ρύπανσης δεν επηρεάζει την συλλογή δεδομένων καιρού
Τεχνολογία ΛογισμικούSlide 52 Αντικείμενα Ελέγχου Ρύπανσης
Τεχνολογία ΛογισμικούSlide 53 Ταυτόχρονα Αντικείμενα u Η φύση των αντικειμένων ως αυτοπροσδιοριζόμενες οντότητες τα κάνει κατάλληλα για ταυτόχρονη υλοποίηση u Η διαδικασία μηνυμάτων υλοποιείται απευθείας εάν τα αντικείμενα τρέχουν σε διαφορετικούς επεξεργαστές σε ένα κατανεμημένο σύστημα
Τεχνολογία ΛογισμικούSlide 54 Υλοποίηση Αντικειμένου u Η C++ δεν έχει δυνατότητες για ταυτόχρονες επεξεργασίες u Της Ada τα concurrency constructs (tasks) μπορούν να χρησιμοποιηθούν για υλοποίηση ταυτόχρονων αντικειμένων u Οι τύποι των πακέτων εργασίας αντιπροσωπεύουν στιγμές αντικειμένων, οι είσοδοι αντιπροσωπεύουν λειτουργίες αντικειμένων u Οι είσοδοι καλούνται όπως οι συναρτήσεις
Τεχνολογία ΛογισμικούSlide 55 Ενεργά και Παθητικά Αντικείμενα u Παθητικά Αντικείμενα Το αντικείμενο υλοποιείται σε παράλληλη επεξεργασία (εξυπηρέτη) με τα σημεία εισόδου να αντιστοιχούν σε λειτουργίες αντικειμένων. Εάν δεν υπάρχουν κλήσεις το αντικείμενο αναστέλει την λειτουργία του u Ενεργά Αντικείμενα Τα αντικείμενα υλοποιούνται ως παράλληλες διεργασίες και η εσωτερική κατάσταση αντικειμένου μπορεί να αλλάξει από το ίδιο το αντικείμενο και όχι μόνο από εξωτερικές κλήσεις
Τεχνολογία ΛογισμικούSlide 56 Ταυτόχρονα Αντικείμενα Δείκτες u Είναι παθητικό αντικείμενο το οποίο μπορεί να χρησιμοποιηθεί σε συστήματα πραγματικού χρόνου που σχετίζονται με αισθητήρες u Οι λειτουργίες είναι Get, Add and Initialize u Οι δείκτες δημιουργούνται με χρήση μηχανισμών δήλωσης Geiger1, Geiger2: Concurrent_counter u Οι λειτουργίες γίνονται με κλήσεις εισόδου Geiger1.Get (The_value); Geiger2.Add (1)
Τεχνολογία ΛογισμικούSlide 57 Αντικείμενο Δείκτης Ada u Replace with portrait slide
Τεχνολογία ΛογισμικούSlide 58 Ενεργό transponder αντικείμενο u Ενεργά αντικείμενα τα οποία έχουν χαρακτηριστικά που μεταβάλλονται με λειτουργίες, αλλά μπορούν να αλλαχθούν αυτόνομα με χρήση εσωτερικών λειτουργιών u Αντικείμενο Transponder εκπέμπει την θέση ενός αεροπλάνου. Η θέση αλλάζει με χρήση του satellite positioning system
Τεχνολογία ΛογισμικούSlide 59 Ενεργό transponder Αντικείμενο task Transponder is entry Give_position (Pos: POSITION ) ; end Transponder ; task body Transponder is Current_position: POSITION ; C1, C2: Satellite.COORDS ; loop select accept Give_position (Pos: out POSITION) do Pos:= Current_position ; end Give_position ; else C1 := Satellite1.Position ; C2 := Satellite2.Position ; Current_position := Navigator.Compute (C1, C2) ; end select ; end loop ; end Transponder ;
Τεχνολογία ΛογισμικούSlide 60 u OOD είναι σχεδιασμός με απόκρυψη πληροφορίας. Οι αναπαραστάσεις αλλάζουν χωρίς σημαντικές παρεμβάσεις στο σύστημα u Ένα αντικείμενο έχει ιδιωτική κατάσταση που σχετίζεται με λειτουργίες δημιουργού και πρόσβασης. Τα αντικείμενα παρέχουν υπηρεσίες σε άλλα αντικείμενα u Η αναγνώριση των αντικειμένων είναι δύσκολη εργασία. Η αναγνώριση ρημάτων και ουσιαστικών στην φυσική γλώσσα είναι ένα πρώτο σημαντικό βήμα. Σημαντικά Σημεία
Τεχνολογία ΛογισμικούSlide 61 Σημαντικά Σημεία u Οι διεπαφές αντικειμένων πρέπει να ορίζονται επακριβώς. Γλώσσες προγραμματισμού όπως Ada και C++ είναι κατάλληλες u Τεκμηρίωση OOD περιλαμβάνει ιεράρχηση και διαγράμματα αλληλεπίδρασης αντικειμένων u Τα αντικείμενα υλοποιούνται ως διαδοχικές ή ταυτόχρονες οντότητες. Τα ταυτόχρονα αντικείμενα είναι ενεργά ή παθητικά