Τεχνολογία Λογισµικού Ι Κεφάλαιο 4

Σχετικά έγγραφα
Τεχνολογία Λογισμικού

ΚΕΦΑΛΑΙΟ 5 ΔΟΜΗΜΕΝΗ ΣΧΕΔΙΑΣΗ

Εισαγωγή στην πληροφορική

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10

Εισαγωγή στην πληροφορική

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

Ενδεικτικές απαντήσεις στα "Θέµατα για περαιτέρω ενασχόληση - Ασκήσεις"

Αποτελείται από τρεις (3) τόμους. Τόμος Α : Τεχνολογία Λογισμικού Ι Τόμος Β : Βάσεις Δεδομένων και Τόμος Γ : Λειτουργικά Συστήματα Ι.

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

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

Βάσεις εδοµένων. Βασίλειος Βεσκούκης, Εµµ. Στεφανάκης ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ

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

Εισαγωγή στην Τεχνολογία Λογισµικού

Σκοπός του μαθήματος

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

Εισαγωγή στην Τεχνολογία Λογισµικού

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΟΙΚΗΣΗΣ. Ανάπτυξη Πληροφοριακών Συστηµάτων Επισκόπηση Π.Σ. & τεχνικές για Ανάλυση και Ανάπτυξη. πληροφοριακών συστηµάτων

ιαφάνειες παρουσίασης #3

Εισαγωγή στην πληροφορική

Εισαγωγή στην Τεχνολογία Λογισµικού

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

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

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

ιαφάνειες παρουσίασης #3

Εισαγωγή στην πληροφορική

Τεχνολογία συστηµάτων λογισµικού και γεωπληροφορική: σύγκλιση, ολοκλήρωση και τάσεις

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

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

Η γλώσσα προγραμματισμού EEL

Αρχιτεκτονικές Συστημάτων

Να διατηρηθεί µέχρι: Βαθµός ασφαλείας : Μαρούσι, Αριθ. Πρωτ /Γ2 Βαθµός Προτερ. ΕΞ. ΕΠΕΙΓΟΝ

Πίνακας Περιεχοµένων Πρόλογος Κεφάλαιο Βασικές εισαγωγικές έννοιες

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

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

- Αναπαράσταση ακέραιας τιµής : - Εύρος ακεραίων : - Ακέραιοι τύποι: - Πράξεις µε ακεραίους (DIV - MOD)

Διδακτικά προβλήματα σχετικά με την έννοια της επανάληψης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ Τάξη Ηµερήσιου Γενικού Λυκείου

Μεταγλωττιστές Βελτιστοποίηση

Εισαγωγή στην πληροφορική

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών)

Computing. Νοέμβριος Έκδοση 1.0

ιαφάνειες παρουσίασης #5

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

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Β Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.E. Π.Μ Προαπαιτούµενα

Εισαγωγή στην πληροφορική

ΦΑΣΕΙΣΚΑΙΒΗΜΑΤΑΚΥΚΛΟΥ Τ.Ε.Ι ΠΕΙΡΑΙΑ- ΤΜΗΜΑ ΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

Rational Unified Process:

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

Προγραµµατιστικές Τεχνικές

Λογισµικό (Software SW) Γλώσσες

ιαφάνειες παρουσίασης #4

ÏÌÉÊÑÏÍ ÖÑÏÍÔÉÓÔÇÑÉÏ ÊÏÑÄÅËÉÏ

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

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

Certified Computer Programmer (CCP) Εξεταστέα Ύλη (Syllabus) Έκδοση 1.0

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης 2006 Ρ.Κορακίτης, Β.Βεσκούκης, Θ.Καραλόπουλος, Γ.Πανόπουλος

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

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

Επανάληψη για τις Τελικές εξετάσεις

Γλώσσες προγραµµατισµού. Ανάπτυξη Συστηµάτων Λογισµικού

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

Άξονας ανάπτυξης του µαθήµατος 3. Γενικός σκοπός του µαθήµατος. Το µάθηµα της Πληροφορικής στο Γυµνάσιο

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Τεχνολογία Λογισµικού (software. engineering)

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

Μεταγλωττιστές Βελτιστοποίηση

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5

ΠΛΗΡΟΦΟΡΙΚΗ Ι (MATLAB) Ενότητα 4

Γραπτές εξετάσεις στο μάθημα: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ (Θ) Εισηγητής: Γεωργίου Χρήστος ΘΕΜΑΤΑ & ΑΠΑΝΤΗΣΕΙΣ. Β. Χαρακτήρας(Αλφαριθμητικά)

(6) : :

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

GIS: Εισαγωγή στα Γεωγραφικά Συστήµατα Πληροφοριών

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

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

Certified Project Manager in Information Technology (CPMIT)

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

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

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ιαφάνειες παρουσίασης #4

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ. Αριθμ. Πρωτ.: /2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ

Η γλώσσα προγραμματισμού Strange

Εισαγωγή στην πληροφορική

Transcript:

ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 4 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

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

Προσεγγίσεις σχεδίασης Ανάλογα µε τη φιλοσοφία ανάπτυξης, διακρίνουµε διαφορετικές προτεραιότητες στο πρόβληµα της σχεδίασης λογισµικού ΤΕΧΝΟΤΡΟΠΙΕΣ ΣΧΕ ΙΑΣΗΣ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΕΝΕΣ ΣΤΙΣ ΙΑ ΙΚΑΣΙΕΣ (function-oriented) ΠΡΟΣΑΝΑΤΟΛΙΣΜΕΝΕΣ ΣΤΑ ΑΝΤΙΚΕΙΜΕΝΑ (object-oriented) Βασισµένες στις διαδικασίες (διαδικασίες -> δεδοµένα) Βασισµένες στα δεδοµένα (δεδοµένα -> διαδικασίες)

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

οµηµένη σχεδίαση ιάγραµµα ροής δεδοµένων Αρχιτεκτονικό σχέδιο ΜΟΝΑ ΕΣ ΛΟΓΙΣΜΙΚΟΥ Εγγραφο προδιαγραφών ιάγραµµα µετάβασης καταστάσεων ΣΧΕ ΙΑΣΗ Σχέδιο διαπροσωπειών Σχέδιο µονάδων ιάγραµµα οντοτήτωνσυσχετίσεων Λεξικό δεδοµένων Σχέδιο δεδοµένων Ε ΟΜΕΝΑ

Αρχιτεκτονική σχεδίαση Ορισµός υποσυστηµάτων ιαδοχικά επίπεδα λεπτοµέρειας Γενικό περίγραµµα της εφαρµογής Σύστηµα Υπο-σύστηµα 1ου επιπέδου Υπο-σύστηµα 2ου επιπέδου......... Υπο-σύστηµα 3ου επιπέδου.........

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

Λεπτοµερής σχεδίαση µονάδων Εστίαση στο εσωτερικό κάθε µονάδας λογισµικού Περιγραφή µε τρόπο ώστε ο προγραµµατιστής να µπορεί να κατασκευάσει «κατευθείαν» κάθε µονάδα Λαµβάνονται υπόψη: Όλα τα µέχρι το σηµείο αυτό προϊόντα της σχεδίασης Όλα τα σηµεία των προδιαγραφών, τα οποία περιγράφουν τη συµπεριφορά του λογισµικού

Σχεδίαση δεδοµένων Επαλήθευση του µοντέλου οντοτήτων συσχετίσεων Βελτιστοποιήσεις και κανονικοποίηση του σχήµατος δεδοµένων Καθορισµός των τύπων των πεδίων κάθε πίνακα (φυσικό επίπεδο) Καθορισµός δεικτών, και όψεων (views) (λογικό επίπεδο) Αντικείµενο της γνωστικής περιοχής «Βάσεις εδοµένων» Η σχεδίαση δεδοµένων στην πράξη δεν είναι ανεξάρτητη από το περιβάλλον υλοποίησης, δηλαδή το DBMS που θα χρησιµοποιηθεί

ιατάξεις λογισµικού Το σύγχρονο λογισµικό είναι κατανεµηµένο. ιάταξη λογισµικού (deployment) είναι η κατάτµηση µιας εφαρµογής σε ανεξάρτητα λειτουργικά τµήµατα και η ανάθεση αυτών σε διατιθέµενους υπολογιστικούς πόρους. Για να µπορεί να καθοριστεί µια διάταξη, θα πρέπει να διακρίνουµε ένα κριτήριο διάκρισης των εργασιών που επιτελεί το λογισµικό. ΠΑΡΟΥΣΙΑΣΗ ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΛΟΓΙΚΗ ΙΑΧΕΙΡΙΣΗ Ε ΟΜΕΝΩΝ

ιατάξεις λογισµικού Η µονολιθική διάταξη Stand alone system DATA MANAGEMENT BUSINESS LOGIC PRESENTATION Main Computer DATA MANAGEMENT BUSINESS LOGIC PRESENTATION... Dump terminal File server Workstation... Workstation DATA MANAGEMENT BUSINESS LOGIC PRESENTATION

ιατάξεις λογισµικού Ηδιάταξη πελάτη εξυπηρετητή (client server) ιµερής διάταξη µε FAT clients Server DATA MANAGEMENT Fat client BUSINESS LOGIC PRESENTATION

ιατάξεις λογισµικού ιάταξη πελάτη εξυπηρετητή (2) Πολυµερής διάταξη µε THIN clients DATA MANAGEMENT Thin Client Data Server PRESENTATION Application Server BUSINESS LOGIC Thin Client PRESENTATION

ιατάξεις λογισµικού Πολυµερής κατανεµηµένη διάταξη µε web clients DATA MANAGEMENT Web Server Data Server Internet, Intranet, VPN,... PRESENTATION Web Client Application Server BUSINESS LOGIC Internet, Intranet, VPN,... Web Client Web Client

ιατάξεις λογισµικού Data service provider Data Server Application Server Application service provider... Internet Data service provider Data Server Application Integrator Web Server End User Web Client Service offering

Αρχιτεκτονική σχεδίαση Από το ιάγραµµα Ροής εδοµένων, στο ιάγραµµα οµής Προγράµµατος Συµβολισµοί Proc1 P Q R Z Proc2 Proc3 Proc4

Αρχιτεκτονική σχεδίαση Ηέννοια του κεντρικού µετασχηµατισµού ΛΗΨΗ ΚΑΙ ΠΡΟΕΤΟΙΜΑΣΙΑ Ε ΟΜΕΝΩΝ ΕΙΣΟ ΟΥ ΚΕΝΤΡΙΚΟΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΣ ΠΡΟΕΤΟΙΜΑΣΙΑ ΚΑΙ ΕΞΟ ΟΣ Ε ΟΜΕΝΩΝ ΕΞΟ ΟΥ

Αρχιτεκτονική σχεδίαση Παραδείγµατα κεντρικού µετασχηµατισµού 1 2 4 5 7 3 6 8 1 2 4 5 7 3 6 8

Αρχιτεκτονική σχεδίαση Απεικόνιση κεντρικού µετασχηµατισµού σε διάγραµµα δοµής προγράµµατος Μονάδα ελέγχου Λήψη δεδοµένων Υλοποίηση Υπολογισµών Κ.Μ. Εξοδος αποτελεσµάτων

Αρχιτεκτονική σχεδίαση Ηέννοια του κέντρου δοσοληψιών... ΛΗΨΗ ΚΑΙ ΠΡΟΕΤΟΙΜΑΣΙΑ Ε ΟΜΕΝΩΝ ΕΙΣΟ ΟΥ ΚΕΝΤΡΟ ΟΣΟΛΗΨΙΩΝ... ΚΕΝΤΡΑ ΕΠΕΞΕΡΓΑΣΙΑΣ Ε ΟΜΕΝΩΝ ΕΞΟ ΟΥ

Αρχιτεκτονική σχεδίαση Απεικόνιση κέντρου δοσοληψιών σε διάγραµµα δοµής προγράµµατος...... ΜΟΝΑ Α ΕΛΕΓΧΟΥ ΛΗΨΗ Ε ΟΜΕΝΩΝ ΕΠΕΞΕΡΓΑΣΙΑ Ε ΟΜΕΝΩΝ ΜΟΝΑ Α ΕΛΕΓΧΟΥ ΠΕΡΙΠΤΩΣΗΣ 1 ΜΟΝΑ Α ΕΛΕΓΧΟΥ ΠΕΡΙΠΤΩΣΗΣ 2... ΜΟΝΑ Α ΕΛΕΓΧΟΥ ΠΕΡΙΠΤΩΣΗΣ N

Αρχιτεκτονική σχεδίαση Βήµατα κατασκευής διαγραµµάτων δοµής Εντοπισµός ενός κεντρικού µετασχηµατισµού ή κέντρου δοσοληψιών Απεικόνιση σε διάγραµµα δοµής προγράµµατος Παραγοντοποίηση: επανάληψη για το δεξί και το αριστερό τµήµα του ΚΜ / Κ Συνένωση τµηµάτων διαγραµµάτων δοµής που προκύπτουν Αποτέλεσµα: Ένα διάγραµµα δοµής του λογισµικού µε λεπτοµέρεια ανάλογη της λεπτοµέρειας του διαγράµµατος ροής δεδοµένων από το οποίο κατασκευάστηκε

Παράδειγµα αρχιτεκτονικής σχεδίασης Π 1 Α Ι 1.1.1 Λ Κ 1.1.2 Μ 1.1.3 Α 1 Η Π 2 Β Θ 1.2.1 1.3 Ε Α 2 Π 3 Γ 1.2.2 Ν F Ο Κ.Μ. EXEC113 Λ Μ Λ,Μ Η, Η ΑΝΑΓΝΩΣΗ ΤΟΥ Λ ΑΝΑΓΝΩΣΗ ΤΟΥ Μ ΥΠΟ- ΛΟΓΙΣΜΟΣ, Η ΕΞΟ ΟΣ ΤΟΥ ΕΞΟ ΟΣ ΤΟΥ Η

Παράδειγµα αρχιτεκτονικής σχεδίασης Π 1 Α Ι 1.1.1 Λ Κ 1.1.2 Μ 1.1.3 Α 1 Η Π 2 Β Θ 1.2.1 1.3 Ε Α 2 Π 3 Γ 1.2.2 Ν F Ο Κ.Μ. EXEC121 Β Ν Ο Β,Ν,Ο Θ Θ ΑΝΑΓΝΩΣΗ ΤΟΥ Β ΑΝΑΓΝΩΣΗ ΤΟΥΝ ΑΝΑΓΝΩΣΗ ΤΟΥΟ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥΘ ΕΞΟ ΟΣ ΤΟΥΘ

Παράδειγµα αρχιτεκτονικής σχεδίασης Π 1 Α Ι 1.1.1 Λ Κ 1.1.2 Μ 1.1.3 Η Α 1 EXEC13 Π 2 Β Θ 1.2.1 1.3 Ε Α 2 Θ Η Η,Θ Ε Ε Π 3 Γ 1.2.2 Ν F Ο Κ.Μ. ΑΝΑΓΝΩΣΗ ΤΟΥΘ ΑΝΑΓΝΩΣΗ ΤΟΥΗ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥΕ ΕΞΟ ΟΣ ΤΟΥΕ EXEC122 Γ Γ Ν Ν ΑΝΑΓΝΩΣΗ ΤΟΥ Γ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥΝ ΕΞΟ ΟΣ ΤΟΥ Ν

Παράδειγµα αρχιτεκτονικής σχεδίασης EXEC113 Λ Λ,Μ Η, Η Μ Α Ι 1.1.1 Λ ΑΝΑΓΝΩΣΗ ΤΟΥΛ ΑΝΑΓΝΩΣΗ ΤΟΥΜ ΥΠΟ- ΛΟΓΙΣΜΟΣ, Η ΕΞΟ ΟΣ ΤΟΥ EXEC13 Κ 1.1.2 Μ 1.1.3 Θ Η,Θ Ε Ε Β Θ 1.2.1 1.3 Η Ε EXEC121 ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥΕ ΕΞΟ ΟΣ ΤΟΥΕ Γ 1.2.2 Ν F Ο Κ.Μ. ΑΝΑΓΝΩΣΗ ΤΟΥΒ Β EXEC122 Ν Ο ΑΝΑΓΝΩΣΗ ΤΟΥΟ Β,Ν,Ο Θ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥΘ Γ Γ Ν ΑΝΑΓΝΩΣΗ ΤΟΥΓ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥΝ

Μελέτη περίπτωσης Exec 111 Στοιχεία µαθητή 1.1.1. ιαχείριση αρχείου µαθητών Εγγραφή Ενηµερωµένο µαθητή αρχείο Get (Στοιχεία Μαθητή) ΣΜ ΣΜ ΕΜ Prepare (Εγγραφή Μαθητή) ΕΜ ΕΜ Get/Put (Εγγραφή Μαθητή) ΧΡΗΣΤΗΣ Στοιχεία καθηγητή Στοιχεία µαθήµατος 1.1.2. ιαχείριση αρχείου καθηγητών 1.1.3. ιαχείριση αρχείου µαθηµάτων Εγγραφή καθηγητή Αρχείο καθηγητών Εγγραφή µαθήµατος Αρχείο µαθητών Ενηµερωµένο αρχείο Ενηµερωµένο αρχείο ΧΡΗΣΤΗΣ Get (Στοιχεία Καθηγητή) ΣΚ Exec 112 ΣΚ ΕΚ Prepare (Εγγραφή Καθηγητή) ΕΚ ΕΚ Get/Put (Εγγραφή Καθηγητή) Αρχείο µαθηµάτων ΣΜ Exec 113 ΣΜ ΕΜ ΕΜ ΕΜ Get (Στοιχεία Μαθήµατος) Prepare (Εγγραφή Μαθήµατος) Get/Put (Εγγραφή Μαθήµατος)

Μελέτη περίπτωσης Αποτέλεσµα εργασίας ΧΡΗΣΤΗΣ ΧΡΗΣΤΗΣ Αρ.µητρώου µαθητή 1.2.1. Ελεγχος δεδοµένων Στοιχεία εγγραφής 1.2.2. ιαχείριση εγγραφών Εγγραφή Κωδικός µαθήµατος Α.µ.µαθητή Κωδ.Μαθ/τος Αρχείο εγγραφών Αρχείο µαθηµάτων Αρχείο µαθητών Κ.Μ. Exec 122 ΣΕ ΣΕ RE RE ΑΕ ΑΕ Exec 121 Prepare (Record Εγγραφής) Put (Record Εγγραφής) Put (Αποτέλεσµα Εργασίας) AMM, KM AMM, KM FLAG FLAG ΣΕ Get (ΑΜ Μαθητή, Κωδ Μαθήµατος) Verify (ΑΜ Μαθητή, Κωδ Μαθήµατος) Prepare (Στοιχεία Εγγραφής)

Λεπτοµερής σχεδίαση µονάδων Ψευδοκώδικας Απλές εκφράσεις Επαναληπτική εκτέλεση /*σχόλιο */ µεταβλητή := τιµή /* ανάθεση */ φραστική περιγραφή ενέργειας + - * / ^ /* µαθηµατικές εκφράσεις */ FOR µτβλ FROM τιµή1 TO τιµή2 STEP τιµή3 DO (ενέργειες) END_FOR Εκτέλεση µε επιλογή περίπτωσης Εκτέλεση υπό συνθήκη CASE έκφραση OF (τιµή 1) : (ενέργειες) (τιµή 2) : (ενέργειες)... (τιµή Ν) : (ενέργειες) OTHERWISE (εντολές αν η έκφραση έχει άλλη τιµή) END_CASE IF συνθήκη THEN (ενέργειες αν η συνθήκη είναι αληθής) ELSE (εντολές αν η συνθήκη είναι ψευδής) END_IF

Λεπτοµερής σχεδίαση µονάδων Ψευδοκώδικας Επαναληπτική εκτέλεση µε συνθήκη (1) Επαναληπτική εκτέλεση µε συνθήκη (2) REPEAT (ενέργειες) UNTIL συνθήκη WHILE συνθήκη DO (ενέργειες) END_WHILE Ορισµός διαδικασιών Ορισµός συναρτήσεων PROCEDURE όνοµα (παράµετρος :IN/OUT,...) GLOBAL VAR όνοµα1, όνοµα2,... LOCAL VAR όνοµα1, όνοµα2,...... (ενέργειες)... CALL όνοµα_διαδικασίας (παράµ1, παράµ2,...)... (ενέργειες)... END_PROCEDURE FUNCTION όνοµα_συνάρτησης (παράµετρος,...) GLOBAL VAR όνοµα1, όνοµα2,... LOCAL VAR όνοµα1, όνοµα2,...... (ενέργειες)... όνοµα_συνάρτησης := τιµή... (ενέργειες)... END_FUNCTION

Λεπτοµερής σχεδίαση µονάδων Παράδειγµα ψευδοκώδικα /*--------------------------------------------------------------*/ PROCEDURE Exec111 /*--------------------------------------------------------------*/ LOCAL VAR στοιχεία_µαθητή, εγγραφή_µαθητή Αρχικοποίησε στοιχεία_µαθητή, εγγραφή_µαθητή WHILE στοιχεία_µαθητή <> κενό DO CALL Get_ΣΜ(στοιχεία_µαθητή) IF στοιχεία_µαθητή <> κενό THEN CALL Prepare_ΣΜ(στοιχεία_µαθητή, εγγραφή_µαθητή) CALL Put_ΕΜ(εγγραφή_µαθητή) END_IF END_WHILE END_PROCEDURE Exec 111 ΣΜ ΣΜ ΕΜ ΕΜ ΕΜ Get (Στοιχεία Μαθητή) Prepare (Εγγραφή Μαθητή) Get/Put (Εγγραφή Μαθητή)

Παράδειγµα αρχιτεκτονικής σχεδίασης Αρχικοποίηση ελέγχου πρόσβασης Αδειες πρόσβασης Run1 Εργασία 1 Res1 Εµφάνιση αποτελεσµάτων 1 Αρχικές τιµές Μενού επιλογής εργασίας Επιλογή Ελεγχος εκτέλεσης Run2 Αρχικοποίηση τιµών Εργασία 2 Res2 Εµφάνιση αποτελεσµάτων 2 Run3 Εργασία 3 Res3 Εµφάνιση αποτελεσµάτων 3

Παράδειγµα αρχιτεκτονικής σχεδίασης Clr Run1 Proc1 Res1 Choice Dispatch Run2 Proc2 Res2 Run3 Κ.. Proc3 Res3 MAIN Clr Choice Choice Flag Run1 Run2 Run3 Get_Clr Get_Ch Process_Ch Exec_Proc1 Exec_Proc2 Exec_Proc3

Συζήτηση - προβληµατισµός Καταγράψτε όλες τις περιπτώσεις όπου κατά την εκπόνηση της πρώτης εργασίας βρεθήκατε σε σύγχυση σχετικά µε τη µετάβαση από Ρ σε Π και βάλτε τες στο forum για συζήτηση