Σχεδιασµός Λογισµικού

Σχετικά έγγραφα
Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

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

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

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

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

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

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

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

Κωδικός: <Κωδ.Αρ.Εγγράφου/ΚωδικόΌνομαΈργου/Αρ. Έκδοσης> <Company Name> <Όνομα - Κωδικό Όνομα Έργου> Έγγραφο Περιγραφής Σχεδίου Λογισμικού

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

Α. Ερωτήσεις Ανάπτυξης

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

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

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

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

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

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

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

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

Ηλεκτρονικό Κατάστημα

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

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

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

Σχεδίαση Κλάσεων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

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

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

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

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

Μέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης

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

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

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

ΣΧΕ ΙΑΣΗ ΑΝΤΙΚΕΙΜΕΝΩΝ ΜΕ ΑΡΜΟ ΙΟΤΗΤΕΣ. Ορισµός σχεδιαστικών προτύπων Εφαρµογή των 9 GRASP προτύπων

Εισαγωγή. Κατανεµηµένα Συστήµατα 01-1

Η γλώσσα μοντελοποίησης UML. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

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

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

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

Ενότητα 3 (κεφάλαιο 16) Επαναχρησιμοποίηση Λογισμικού

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

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

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

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

Μ.Π.Σ. «ΠΡΟΗΓΜΕΝΕΣ ΜΕΘΟΔΟΙ ΚΑΤΑΣΚΕΥΗΣ ΠΡΟΙΟΝΤΩΝ ΑΠΟ ΞΥΛΟ» Μάθημα: Σχεδίαση και Εφαρμογές Διαδραστικών Συστημάτων. Διδάσκοντας: Α.

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

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός

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

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

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

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

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

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

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

Επικοινωνία Client/Server

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

Μαλούτα Θεανώ Σελίδα 1

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

Εφαρμογή Μεθοδολογίας ICONIX

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

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

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

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

ΜΕΤΑΒΑΤΙΚΕΣ ΠΡΟΫΠΟΘΕΣΕΙΣ ΑΠΟΚΤΗΣΗΣ ΠΤΥΧΙΟΥ

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

Αποµακρυσµένη κλήση διαδικασιών

Η γλώσσα μοντελοποίησης UML. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 7

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

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

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

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

Σύστηµα διαχείρισης χώρων εστίασης

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

Εισαγωγή στην ανάλυση

Γεωγραφικά Πληροφοριακά Συστήµατα (Geographical Information Systems GIS)

Κατανεμημένα Συστήματα: Θεωρία και Προγραμματισμός. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τι είναι τα Συστήµατα Γεωγραφικών Πληροφοριών. (Geographical Information Systems GIS)

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

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

ΕΙΣΑΓΩΓΗ ΣΤΙΣ Β ΣΕ Ε Σ Ι ΟΜΕΝ

Ενότητα 5 (κεφάλαιο 18) Τεχνολογία Λογισμικού για Κατανεμημένα Συστήματα

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

Αρχιτεκτονική Συστημάτων Βάσεων Δεδομένων. Κατηγορίες χρηστών ΣΔΒΔ Αρχιτεκτονική ANSI/SPARC Γλώσσες ερωτημάτων Μοντέλα δεδομένων Λειτουργίες ΣΔΒΔ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 5: Διαγράμματα Κλάσης (1ο Μέρος)

Transcript:

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Σχεδιασµός Λογισµικού Μάρα Νικολαΐδου

Αρχιτεκτονικές Εφαρµογών

Γενικές αρχιτεκτονικές εφαρµογών Ένα σύστηµα εφαρµογών είναι σχεδιασµένο ώστε να καλύπτει κάποια επιχειρηµατική ή εταιρική ανάγκη. Καθώς οι επιχειρήσεις έχουν πολλά κοινά, τα συστήµατα εφαρµογών που χρησιµοποιούν τείνουν επίσης να βασίζονται σε µια κοινή αρχιτεκτονική η οποία απεικονίζει τις απαιτήσεις των εφαρµογών. Μια γενική αρχιτεκτονική διευθετείται και προσαρµόζεται έτσι ώστε να δηµιουργηθεί ένα σύστηµα που ικανοποιεί συγκεκριµένες απαιτήσεις.

Χρήση των αρχιτεκτονικών εφαρµογών Ως σηµείο εκκίνησης της διαδικασίας του αρχιτεκτονικού σχεδιασµού. Ως λίστα ελέγχων για το σχεδιασµό. Ως τρόπο οργάνωσης της εργασίας της οµάδας ανάπτυξης. Ως µέσο αξιολόγησης συστατικών στοιχείων για επαναχρησιµοποίηση. Ως λεξιλόγιο για την περιγραφή τύπων εφαρµογών.

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

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

Συστήµατα επεξεργασίας δεδοµένων Συστήµατα που εστιάζονται στα δεδοµένα, ενώ το µέγεθος των βάσεων δεδοµένων στις οποίες στηρίζονται είναι συνήθως πολλές τάξεις µεγέθους µεγαλύτερες από το ίδιο το λογισµικό. Η είσοδος και η έξοδος δεδοµένων γίνεται κατά δέσµες Είσοδος: Ένα σύνολο αριθµών πελατών και οι σχετικές ενδείξεις του µετρητή κατανάλωσης ηλεκτρικής ενέργειας της ΔΕΗ Έξοδος: Το αντίστοιχο σύνολο λογαριασµών, ενός για κάθε πελάτη. Τα συστήµατα επεξεργασίας δεδοµένων συνήθως βασίζονται σε µια δοµή εισόδου-επεξεργασίας-εξόδου.

Μοντέλο εισόδου- επεξεργασίας-εξόδου

Είσοδος-επεξεργασία-έξοδος Το στοιχείο εισόδου διαβάζει δεδοµένα από ένα αρχείο ή βάση δεδοµένων, ελέγχει την εγκυρότητά τους και τοποθετεί τα έγκυρα δεδοµένα στην ουρά για επεξεργασία. Το στοιχείο επεξεργασίας λαµβάνει µια συναλλαγή από την ουρά (είσοδος), πραγµατοποιεί υπολογισµούς και δηµιουργεί µια νέα εγγραφή δεδοµένων στην οποία καταγράφονται τα αποτελέσµατα του υπολογισµού. Το στοιχείο εξόδου διαβάζει τις εγγραφές αυτές, τις µορφοποιεί κατάλληλα και µετά τις στέλνει σε έναν εκτυπωτή ή τις καταχωρίζει ως νέες εγγραφές στη βάση δεδοµένων.

Διαγράµµατα ροής δεδοµένων Δείχνουν την επεξεργασία των δεδοµένων καθώς αυτά διακινούνται µέσα στο σύστηµα. Οι µετασχηµατισµοί αναπαρίστανται ως στρογγυλεµένα ορθογώνια, οι ροές δεδοµένων είναι τα βέλη µεταξύ αυτών των ορθογωνίων, ενώ τα αρχεία ή οι αποθήκες δεδοµένων αναπαρίστανται µε απλά ορθογώνια.

Διάγραµµα ροής δεδοµένων για ένα σύστηµα µισθοδοσίας

Συστήµατα επεξεργασίας συναλλαγών Επεξεργάζονται αιτήσεις χρηστών για πληροφορίες από µια βάση δεδοµένων ή αιτήσεις ενηµέρωσης της βάσης δεδοµένων. Από την πλευρά του χρήστη, συναλλαγή είναι: Οποιαδήποτε συνεκτική ακολουθία ενεργειών οι οποίες ικανοποιούν ένα στόχο Για παράδειγµα - η εύρεση των ωρών αναχώρησης πτήσεων από το Λονδίνο για το Παρίσι. Οι χρήστες υποβάλλουν ασύγχρονες αιτήσεις για εξυπηρέτηση, οι οποίες στη συνέχεια υφίστανται επεξεργασία από ένα διαχειριστή συναλλαγών. Στην κατηγορία αυτή ανήκει η πλειονότητα των σύγχρονων εφαρµογών

Επεξεργασία συναλλαγών Βασικά Συστατικά Στοιχεία

Ροή Δεδοµένων σε ένα σύστηµα ATM

Ενδιάµεσο λογισµικό επεξεργασίας συναλλαγών Το ενδιάµεσο λογισµικό επεξεργασίας συναλλαγών ή τα συστήµατα παρακολούθησης τηλεπεξεργασίας επικοινωνούν µε διάφορους τύπους τερµατικών (πχ. µηχανήµατα ATM και τερµατικά ταµείων), διατάσσει σειριακά τα δεδοµένα και τα στέλνει προς επεξεργασία. Η επεξεργασία των ερωτηµάτων πραγµατοποιείται στο σύστηµα διαχείρισης βάσης δεδοµένων και τα αποτελέσµατα επιστρέφονται στο τερµατικό του χρήστη µε τη βοήθεια του διαχειριστή συναλλαγών.

Διαχείριση συναλλαγών

Αρχιτεκτονική συστηµάτων πληροφοριών Τα συστήµατα πληροφοριών έχουν µια γενική αρχιτεκτονική η οποία µπορεί να αποτυπωθεί ως διαστρωµατωµένη (πολυεπίπεδη) αρχιτεκτονική. Στα επίπεδα αυτά συγκαταλέγονται: Η διασύνδεση χρήστη Η επικοινωνία του χρήστη Η ανάκτηση πληροφοριών Η βάση δεδοµένων του συστήµατος

Δοµή συστηµάτων πληροφοριών

Παράδειγµα: Αρχιτεκτονική συστήµατος LIBSYS Το σύστηµα βιβλιοθηκονοµίας LIBSYS αποτελεί παράδειγµα ενός συστήµατος πληροφοριών. Επίπεδο επικοινωνίας χρήστη: Το συστατικό στοιχείο για τη σύνδεση χρήστη στο σύστηµα LIBSYS Διαχειριστής φορµών και ερωτηµάτων Διαχειριστής εκτυπώσεων Επίπεδο ανάκτησης πληροφοριών Κατανεµηµένη αναζήτηση Ανάκτηση εγγράφων Διαχειριστής δικαιωµάτων Λογιστική διαχείριση

Οργάνωση συστήµατος LIBSYS

Συστήµατα κατανοµής πόρων Συστήµατα που διαχειρίζονται µια σταθερή ποσότητα κάποιων πόρων (όπως τα εισιτήρια για έναν ποδοσφαιρικό αγώνα, τα βιβλία ενός βιβλιοπωλείου, κ.λπ.) και την κατανέµουν στους χρήστες. Παραδείγµατα συστηµάτων κατανοµής πόρων: Συστήµατα κατάρτισης ωρολόγιων προγραµµάτων, στα οποία ο πόρος που κατανέµεται είναι µια χρονική περίοδος Συστήµατα βιβλιοθήκης, στα οποία ο διαχειριζόµενος πόρος είναι βιβλία και άλλα αντικείµενα που διατίθενται προς δανεισµό Συστήµατα διαχείρισης εναέριας κυκλοφορίας, στα οποία ο διαχειριζόµενος πόρος είναι ο εναέριος χώρος.

Αρχιτεκτονική κατανοµής πόρων Τα συστήµατα κατανοµής πόρων είναι πολυεπίπεδα συστήµατα που περιλαµβάνουν: Μια βάση δεδοµένων πόρων Ένα σύνολο κανόνων το οποίο περιγράφει πώς κατανέµονται οι πόροι Ένα στοιχείο για τη διαχείριση πόρων Ένα στοιχείο για την κατανοµή πόρων Μια υποµονάδα πιστοποίησης χρηστών Μια υποµονάδα διαχείρισης ερωτηµάτων Ένα στοιχείο για την παράδοση πόρων Μια διασύνδεση χρήστη

Κατανοµή πόρων σε πολλά επίπεδα

Υλοποίηση πολυεπίπεδου συστήµατος Κάθε επίπεδο υλοποιείται ως συστατικό στοιχείο µεγάλης κλίµακας που εκτελείται σε ξεχωριστό διακοµιστή. Αυτό είναι το πιο συνηθισµένο µοντέλο αρχιτεκτονικής για τα συστήµατα που βασίζονται σε υπηρεσίες Ιστού. Αν το σύστηµα πληροφοριών εκτελείται σε ένα µόνο υπολογιστή, τότε τα µεσαία επίπεδα υλοποιούνται ως ενιαίο πρόγραµµα που επικοινωνεί µε τη βάση δεδοµένων µέσω της διασύνδεσης προγραµµατισµού εφαρµογών (API) που διαθέτει. Τα πιο λεπτοµερή συστατικά στοιχεία που υπάρχουν σε κάθε επίπεδο υλοποιούνται ως υπηρεσίες Ιστού.

Παράδειγµα : Σύστηµα ηλεκτρονικού εµπορίου Τα συστήµατα ηλεκτρονικού εµπορίου είναι συστήµατα διαχείρισης πόρων βασισµένα στο Διαδίκτυο, τα οποία δέχονται ηλεκτρονικές παραγγελίες αγαθών ή υπηρεσιών. Συνήθως βασίζονται στη χρήση µιας πολυστρωµατικής αρχιτεκτονικής, στην οποία κάθε στρώµα σχετίζεται µε κάποιο επίπεδο της εφαρµογής.

Συστήµατα επεξεργασίας συµβάντων Αυτά τα συστήµατα αποκρίνονται σε συµβάντα του περιβάλλοντός τους. Το κύριο χαρακτηριστικό τους είναι ότι ο χρονισµός των συµβάντων είναι απρόβλεπτος, εποµένως η αρχιτεκτονική πρέπει να είναι σε θέση να αντισταθµίζει αυτό το γεγονός. Συστήµατα επεξεργασίας συµβάντων είναι πολλά συνήθη συστήµατα, όπως οι επεξεργαστές κειµένου, τα παιχνίδια κ.λπ.

Συστήµατα επεξεργασίας Τα συστήµατα πραγµατικού χρόνου και τα συστήµατα επεξεργασίας είναι οι πιο συνηθισµένοι τύποι συστηµάτων επεξεργασίας συµβάντων. Χαρακτηριστικά των συστηµάτων επεξεργασίας Είναι µονοχρηστικά συστήµατα Πρέπει να παρέχουν γρήγορη ανάδραση σε ενέργειες του χρήστη Αναλαµβάνουν µακροσκελείς συναλλαγές, εποµένως µπορεί να περιλαµβάνουν λειτουργίες ανάκαµψης.

Συστατικά στοιχεία των συστηµάτων επεξεργασίας Τα συστήµατα επεξεργασίας είναι από τη φύση τους αντικειµενοστρεφή: Οθόνη - παρακολουθεί το τµήµα µνήµης της οθόνης και ανιχνεύει συµβάντα που λαµβάνουν χώρα εκεί Συµβάν - αναγνωρίζει τα συµβάντα και τα διαβιβάζει για επεξεργασία Διαταγή - εκτελεί τις διαταγές του χρήστη Δεδοµένα διορθωτή - διαχειρίζεται τη δοµή δεδοµένων του διορθωτή Βοηθητικά δεδοµένα - διαχειρίζονται άλλα δεδοµένα, όπως στυλ και προτιµήσεις Σύστηµα αρχείων - διαχειρίζεται την είσοδο/έξοδο των αρχείων Εµφάνιση - ενηµερώνει τι εµφανίζεται στην οθόνη.

Αρχιτεκτονική συστηµάτων επεξεργασίας

Συστήµατα επεξεργασίας γλώσσας Δέχονται ως είσοδο µια φυσική ή τεχνητή γλώσσα και παράγουν ως έξοδο κάποια άλλη αναπαράσταση της γλώσσας αυτής. Ίσως διαθέτουν και έναν ερµηνευτή για να είναι σε θέση να εκτελούν τις εντολές στη γλώσσα που υφίσταται επεξεργασία. Χρησιµοποιούνται σε περιπτώσεις όπου ο ευκολότερος τρόπος να λυθεί ένα πρόβληµα είναι η διατύπωση της λύσης µε τη µορφή αλγορίθµου ή ως περιγραφή των δεδοµένων του συστήµατος Τα εργαλεία "µετα-case" επεξεργάζονται περιγραφές, κανόνες µεθόδων κ.λπ. για να παραγάγουν ειδικά εργαλεία.

Σύστηµα επεξεργασίας γλώσσας

Αντικειµενοστραφής Σχεδιασµός

Αντικειµενοστρεφής ανάπτυξη Η αντικειµενοστρεφής ανάλυση, ο αντικειµενοστρεφής σχεδιασµός και ο αντικειµενοστρεφής προγραµµατισµός σχετίζονται, αλλά διαφέρουν. Η αντικειµενοστρεφής ανάλυση ασχολείται µε την ανάπτυξη ενός αντικειµενοστρεφούς µοντέλου του πεδίου εφαρµογής. Ο αντικειµενοστρεφής σχεδιασµός ασχολείται µε την ανάπτυξη ενός αντικειµενοστρεφούς µοντέλου συστήµατος για την υλοποίηση των απαιτήσεων. Ο αντικειµενοστρεφής προγραµµατισµός αφορά την υλοποίηση του αντικειµενοστρεφούς σχεδιασµού µε τη βοήθεια κάποιας αντικειµενοστρεφούς γλώσσας προγραµµατισµού όπως η Java ή η C++.

Χαρακτηριστικά του αντικειµενοστρεφούς σχεδιασµού Τα αντικείµενα είναι αυτοδιαχειριζόµενες αφαιρετικές αναπαραστάσεις πραγµατικών οντοτήτων ή οντοτήτων του συστήµατος. Τα αντικείµενα είναι ανεξάρτητα και ενθυλακώνουν πληροφορίες κατάστασης και αναπαράστασης. Οι λειτουργικές δυνατότητες του συστήµατος εκφράζονται µε βάση τις υπηρεσίες των αντικειµένων. Οι κοινόχρηστες περιοχές δεδοµένων εξαλείφονται. Τα αντικείµενα επικοινωνούν µε την ανταλλαγή µηνυµάτων. Τα αντικείµενα µπορούν να είναι κατανεµηµένα και να εκτελούνται σειριακά ή παράλληλα.

Αλληλεπιδρώντα αντικείµενα

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

Αντικείµενα και κλάσεις αντικειµένων Αντικείµενο είναι µια οντότητα η οποία διαθέτει µια κατάσταση και ένα καθορισµένο σύνολο λειτουργιών που επενεργούν σε αυτή την κατάσταση. Η κατάσταση αναπαρίσταται ως ένα σύνολο γνωρισµάτων του αντικειµένου. Οι λειτουργίες που σχετίζονται µε το αντικείµενο παρέχουν υπηρεσίες σε άλλα αντικείµενα (πελάτες), τα οποία ζητούν αυτές τις υπηρεσίες όταν απαιτείται κάποια υπολογιστική εργασία. Τα αντικείµενα δηµιουργούνται σύµφωνα µε έναν ορισµό κλάσης αντικειµένων. Ο ορισµός της κλάσης αντικειµένων αποτελεί πρότυπο για τη δηµιουργία αντικειµένων. Περιλαµβάνει δηλώσεις όλων των γνωρισµάτων και των υπηρεσιών που σχετίζονται µε ένα αντικείµενο αυτής της κλάσης.

Η κλάση του αντικειµένου υπαλλήλου (UML)

Γενίκευση και κληρονοµικότητα Τα αντικείµενα ανήκουν σε κλάσεις που ορίζουν τύπους γνωρισµάτων και λειτουργίες. Οι κλάσεις µπορούν να ταξινοµηθούν σε µια ιεραρχία στην οποία µία κλάση (η υπερκλάση) είναι γενίκευση µίας ή περισσότερων άλλων κλάσεων (υποκλάσεις). Η υποκλάση κληρονοµεί τα γνωρίσµατα και τις λειτουργίες της υπερκλάσης στην οποία ανήκει, ενώ µπορεί επίσης να προσθέσει νέες δικές της µεθόδους ή γνωρίσµατα. Η γενίκευση, όπως αυτή εκφράζεται στην Ενοποιηµένη Γλώσσα Μοντελοποίησης, υλοποιείται ως κληρονοµικότητα στις αντικειµενοστρεφείς γλώσσες προγραµµατισµού.

Ιεραρχία γενίκευσης

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

Προβλήµατα που προκαλεί η κληρονοµικότητα στο σχεδιασµό Οι κλάσεις αντικειµένων δεν είναι αυτοτελείς. Δεν µπορεί να τις κατανοήσει κάποιος χωρίς να ανατρέξει στις αντίστοιχες υπερκλάσεις. Οι σχεδιαστές συνήθως επαναχρησιµοποιούν το γράφηµα κληρονοµικότητας που δηµιουργήθηκε κατά την ανάλυση. Αυτό µπορεί να οδηγήσει σε σηµαντικά µειωµένη αποδοτικότητα. Τα γραφήµατα κληρονοµικότητας που δηµιουργούνται κατά τα στάδια της ανάλυσης, του σχεδιασµού και της υλοποίησης επιτελούν διαφορετικές λειτουργίες και πρέπει να τηρούνται ξεχωριστά.

Στάδια Αντικειµενοστρεφούς διαδικασίας σχεδιασµού Ορισµός του θεµατικού πλαισίου και των τρόπων χρήσης του συστήµατος Σχεδιασµός της αρχιτεκτονικής του συστήµατος Προσδιορισµός των κύριων αντικειµένων του συστήµατος Ανάπτυξη σχεδιαστικών µοντέλων Καθορισµός διασυνδέσεων των αντικειµένων

Μελέτη Περίπτωσης: Μετεωρολογικός Σταθµός Ο µετεωρολογικός σταθµός είναι ένα πακέτο οργάνων που ελέγχονται από λογισµικό και συλλέγουν δεδοµένα, πραγµατοποιούν επεξεργασία των δεδοµένων αυτών και τα µεταδίδουν για περαιτέρω επεξεργασία. Στα όργανα συγκαταλέγονται θερµόµετρα αέρα και εδάφους, ανεµόµετρο, ανεµοδείκτης, βαρόµετρο και βροχόµετρο. Τα δεδοµένα συλλέγονται ανά τακτά χρονικά διαστήµατα. Όταν δίνεται η εντολή µετάδοσης των καιρικών δεδοµένων, ο µετεωρολογικός σταθµός επεξεργάζεται και συνοψίζει τα δεδοµένα που έχουν συλλεγεί. Όταν ληφθεί η αίτηση, τα περιληπτικά δεδοµένα µεταδίδονται στον υπολογιστή χαρτών.

Αρχιτεκτονικός σχεδιασµός Πολυεπίπεδη αρχιτεκτονική διαχείρισης δεδοµένων Επίπεδο διασύνδεσης για το χειρισµό των επικοινωνιών Επίπεδο συλλογής δεδοµένων για τη διαχείριση των οργάνων Επίπεδο οργάνων για τη συλλογή των δεδοµένων

Αρχιτεκτονική Εφαρµογών

Προσδιορισµός αντικειµένων Ο προσδιορισµός των αντικειµένων (ή των κλάσεων αντικειµένων) είναι το πιο δύσκολο κοµµάτι του αντικειµενοστρεφούς σχεδιασµού. Για τον προσδιορισµό των αντικειµένων δεν υπάρχει "µαγική συνταγή". Επαφίεται στις δεξιότητες, την πείρα και τη γνώση του πεδίου εφαρµογής των σχεδιαστών του συστήµατος. Ο προσδιορισµός των αντικειµένων είναι επαναληπτική διαδικασία. Είναι µάλλον απίθανο να γίνει σωστά µε την πρώτη.

Προσεγγίσεις για τον προσδιορισµό αντικειµένων Χρήση απτών οντοτήτων (πραγµάτων) του πεδίου εφαρµογής. Χρήση µιας προσέγγισης µε βάση τη συµπεριφορά και προσδιορισµός των αντικειµένων µε βάση το ποιος συµµετέχει σε κάθε συµπεριφορά. Χρήση ανάλυσης βάσει σεναρίων. Σε κάθε σενάριο προσδιορίζονται τα αντικείµενα, τα γνωρίσµατα και οι µέθοδοι.

Κλάσεις αντικειµένων του µετεωρολογικού σταθµού Ground thermometer, Anemometer, Barometer Αντικείµενα του πεδίου εφαρµογής τα οποία είναι αντικείµενα "υλικού" σχετικά µε τα όργανα του συστήµατος. Weather station Η βασική διασύνδεση του µετεωρολογικού σταθµού µε το περιβάλλον του. Οι λειτουργίες της εποµένως αντανακλούν τις αλληλεπιδράσεις που προσδιορίζει το µοντέλο περιπτώσεων χρήσης. Weather data Ενθυλακώνει τα περιληπτικά δεδοµένα που προέρχονται από τα όργανα.

Κλάσεις αντικειµένων του µετεωρολογικού σταθµού

Άλλα αντικείµενα και περαιτέρω βελτίωσή τους Χρήση της γνώσης του πεδίου εφαρµογής για τον προσδιορισµό πρόσθετων αντικειµένων και λειτουργιών Κάθε µετεωρολογικός σταθµός πρέπει να έχει ένα µοναδικό αναγνωριστικό Οι µετεωρολογικοί σταθµοί είναι αποµακρυσµένες εγκαταστάσεις, εποµένως πρέπει να αναφέρονται αυτόµατα ενδεχόµενες βλάβες των οργάνων. Εποµένως απαιτούνται γνωρίσµατα και λειτουργίες ελέγχου σωστής λειτουργίας των οργάνων. Ενεργά ή παθητικά αντικείµενα Σε αυτήν την περίπτωση, τα αντικείµενα είναι παθητικά και συλλέγουν δεδοµένα κατόπιν αίτησης και όχι αυτόνοµα. Αυτό συνεπάγεται ευελιξία, αλλά µε κόστος σε επεξεργαστικό χρόνο των ελεγκτών.

Σχεδιαστικά µοντέλα Τα σχεδιαστικά µοντέλα δείχνουν τα αντικείµενα και τις κλάσεις τους, καθώς και τις σχέσεις µεταξύ αυτών των οντοτήτων. Τα στατικά µοντέλα περιγράφουν τη στατική δοµή του συστήµατος µε βάση τις κλάσεις αντικειµένων και τις σχέσεις τους. Τα δυναµικά µοντέλα περιγράφουν τις δυναµικές αλληλεπιδράσεις µεταξύ των αντικειµένων.

Παραδείγµατα σχεδιαστικών µοντέλων Τα µοντέλα υποσυστηµάτων, που δείχνουν τις λογικές οµαδοποιήσεις των αντικειµένων σε λογικά υποσυστήµατα. Τα µοντέλα ακολουθίας, που δείχνουν την ακολουθία των αλληλεπιδράσεων των αντικειµένων. Τα µοντέλα µηχανής καταστάσεων, που δείχνουν πώς µεταβάλλεται η κατάσταση µεµονωµένων αντικείµενων σε απόκριση διαφόρων συµβάντων. Άλλα µοντέλα είναι τα µοντέλα περιπτώσεων χρήσης, τα µοντέλα συνάθροισης, τα µοντέλα γενίκευσης, κ.λπ.

Μοντέλα υποσυστηµάτων Δείχνουν πώς µπορεί να οργανωθεί ο σχεδιασµός σε λογικά συσχετιζόµενες οµάδες αντικειµένων. Στη γλώσσα UML, οι οµάδες αυτές απεικονίζονται µε πακέτα - δοµή ενθυλάκωσης. Αυτό είναι ένα λογικό µοντέλο. Η πραγµατική δοµή των αντικειµένων του συστήµατος µπορεί να διαφέρει.

Υποσυστήµατα του µετεωρολογικού σταθµού

Προδιαγραφή διασύνδεσης αντικειµένων Η διαδικασία προδιαγραφής της διασύνδεσης αντικειµένων είναι απαραίτητη προκειµένου να είναι εφικτός ο παράλληλος σχεδιασµός των αντικειµένων και των υποσυστηµάτων. Οι σχεδιαστές πρέπει να αποφεύγουν τη ρητή σχεδίαση της αναπαράστασης της διασύνδεσης, αλλά πρέπει να την κρύβουν στο ίδιο το αντικείµενο. Κάθε αντικείµενο µπορεί να έχει πολλές διασυνδέσεις, καθεµιά από τις οποίες είναι µια άποψη για τις παρεχόµενες µεθόδους. Στη γλώσσα UML χρησιµοποιούνται διαγράµµατα κλάσεων για την προδιαγραφή των διασυνδέσεων, ωστόσο η δραστηριότητα αυτή µπορεί να γίνει και σε Java.

Διασύνδεση µετεωρολογικού σταθµού interface WeatherStation { public void WeatherStation () ; public void startup () ; public void startup (Instrument i) ; public void shutdown () ; public void shutdown (Instrument i) ; public void reportweather ( ) ; public void test () ; public void test ( Instrument i ) ; public void calibrate ( Instrument i) ; public int getid () ; } //WeatherStation

Εξέλιξη του σχεδιασµού Η απόκρυψη πληροφοριών στο εσωτερικό των αντικειµένων σηµαίνει ότι τροποποιήσεις που γίνονται σε ένα αντικείµενο δεν επηρεάζουν άλλα αντικείµενα µε κάποιον απρόβλεπτο τρόπο. Ας υποθέσουµε ότι στους µετεωρολογικούς σταθµούς πρόκειται να προστεθούν όργανα παρακολούθησης της ατµοσφαιρικής ρύπανσης. Αυτά κάνουν δειγµατοληψία του αέρα και υπολογίζουν την ποσότητα των διάφορων ρυπαντών στην ατµόσφαιρα. Οι ενδείξεις ρύπανσης µεταδίδονται µαζί µε τα καιρικά δεδοµένα.

Απαιτούµενες τροποποιήσεις Προσθήκη µιας κλάσης αντικειµένων µε ονοµασία AirQuality ως τµήµα της WeatherStation. Προσθήκη λειτουργίας reportairquality στην WeatherStation. Τροποποίηση του λογισµικού ελέγχου ώστε να συλλέγει µετρήσεις ρύπανσης. Προσθήκη αντικειµένων που αντιστοιχούν στα όργανα παρακολούθησης της ρύπανσης.

Παρακολούθηση ρύπανσης

Ενδεικτική Βιβλιογραφία Κεφάλαιο 13 ο «Αρχιτεκτονικές Εφαρµογών» του βιβλίου «Βασικές Αρχές Τεχνολογίας Λογισµικού» του Ian Sommerville, κεφ. 13.1 και 13.2 Κεφάλαιο 14 ο «Αντικειµενοστρεφής Σχεδιασµός» του βιβλίου «Βασικές Αρχές Τεχνολογίας Λογισµικού» του Ian Sommerville Κεφάλαιο 8 ο Προχωρώντας προς το σχεδιασµό (σελ. 401-411) Κεφάλαιο 9 ο Σχεδιασµός κλάσεων και µεθόδων (σελ. 428 454) Κεφάλαιο 12 ο Σχεδιασµός επιπέδου φυσικής αρχιτεκτονικής (σελ. 612-654) του βιβλίου «Ανάλυση και Σχεδιασµός Συστηµάτων µε τη UML 2.0 των Davis, Wixon, Tegarden

Ενδεικτικά Ζητήµατα Αρχιτεκτονική Εφαρµογών Γενικά µοντέλα εφαρµογών: αναγκαιότητα και στόχος Κατηγορίες εφαρµογών: αναφορά και σηµαντικότητα Συστήµατα επεξεργασίας δεδοµένων (στόχος, χαρακτηριστικά, συστατικά στοιχεία, εµβέλεια, πλεονεκτήµατα, παραδείγµατα, ροές δεδοµένων) Συστήµατα επεξεργασίας συναλλαγών (στόχος, χαρακτηριστικά, συστατικά στοιχεία, εµβέλεια, πλεονεκτήµατα, παραδείγµατα, ενδιάµεσο λογισµικό) Συστήµατα επεξεργασίας συµβάντων και τα συστήµατα επεξεργασίας γλώσσας Επίπεδα λειτουργικότητας εφαρµογών πολλαπλά επίπεδα Επίπεδο επικοινωνίας µε το χρήστη, επίπεδο επεξεργασίας, επίπεδο δεδοµένων (λειτουργικότητα κάθε επιπέδου και χαρακτηριστικά) Παραδείγµατα εφαρµογών πολλαπλών επιπέδων Αντικειµενοστραφής σχεδίαση Χαρακτηριστικά Οφέλη Συσχέτιση µε τις αντικειµενοστραφείς γλώσσες προγραµµατισµού Πλεονεκτήµατα Προβλήµατα Γενίκευση και Κληρονοµικότητα Ιεραρχία κληρονοµικότητας, προβλήµατα που µπορεί να δηµιουργήσει, πλεονεκτήµατα Στάδια αντικειµενοστραφούς σχεδίασης Παραδείγµατα Η γλώσσα UML και η σχεδίαση λογισµικού και συστηµάτων Μοντέλα υποσυστηµάτων διασύνδεση κλάσεων/ αντικειµένων