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

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

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

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

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

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

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

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

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

Εισαγωγή στα Πληροφοριακά Συστήματα

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

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

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

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

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

Αρχές Προγραμματισμού Η/Υ Μέθοδοι παρουσίασης του αλγόριθμου και Βασικές έννοιες

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

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

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

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

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

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

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

Πληροφορική 2. Αλγόριθμοι

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

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

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

ΜοντέλοΟντοτήτωνΣυσχετίσεων & ΔιάγραμμαΟντοτήτων Συσχετίσεων. Μοντέλο Οντοτήτων Συσχετίσεων

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

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

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

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

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

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

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

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

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

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

Το Μοντέλο Οντοτήτων Συσχετίσεων

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

ΑΛΓΟΡΙΘΜΟΙ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Παρο υσίαση αλ γόριθμου

Θεωρητικές Ασκήσεις. ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο Μέρος

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

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

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

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

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

A. Να γράψετε τον αριθμό της κάθε μιας από τις παρακάτω προτάσεις και δίπλα. το γράμμα Σ, εάν είναι σωστή, ή το γράμμα Λ, εάν είναι λανθασμένη.

α. Λογικό διάγραμμα είναι η μέθοδος που χρησιμοποιεί απλά σχήματα που υποστηρίζονται με απλές λέξεις για την αναπαράσταση συγκεκριμένων λειτουργιών.

Σχεδίαση Βάσεων Δεδομένων

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

Πληροφοριακού Συστήματος Ενημέρωσης Καιρικών Συνθηκών

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

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

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

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

Βάσεις Δεδομένων Εισαγωγή

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

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΝΕΟ ΚΑΙ ΠΑΛΑΙΟ ΣΥΣΤΗΜΑ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

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

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

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

ΑΠΑΝΤΗΣΕΙΣ. H διαδικασία ανεύρεσης λογικών λαθών περιλαμβάνει : β- Σωστό. Διαπίστωση του είδους του λάθους γ- Σωστό δ- Λάθος

Εισαγωγή Η VHDL υποστηρίζει τους εξής τρείς βασικούς και διαφορετικούς τρόπους περιγραφής

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001

Διαχείριση Πολιτισμικών Δεδομένων

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

ΠΕΚ ΠΕΙΡΑΙΑ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

Μοντελοποίηση Συστημάτων

Database Design. Documenting Business Rules Τεκμηρίωση Επιχειρησιακών κανόνων. 1 Copyright 2013, Oracle and/or its affiliates. All rights reserved.

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

Προγραμματισμός Η/Υ (ΤΛ2007 )

Διαδικασιακός Προγραμματισμός

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΚΕΦΑΛΑΙΟ 2 ο ΚΕΦΑΛΑΙΟ 7 ο ΕΡΩΤΗΣΕΙΣ ΓΕΝΙΚΑ ΠΕΡΙ ΑΛΓΟΡΙΘΜΩΝ

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Τεχνολογία Λογισμικού, 7ο/9ο εξάμηνο 2018-2019 Τεχνολογία Λογισμικού Ν.Παπασπύρου, Αν.Καθ. ΣΗΜΜΥ, nickie@softlab.ntua,gr Β.Βεσκούκης, Αν.Καθ. ΣΑΤΜ, v.vescoukis@cs.ntua,gr Κ.Σαΐδης, ΠΔ 407, saiko@softlab.ntua.gr

Φάσεις στη RUP: resource histogram

Δομημένη ανάλυση και σχεδιασμός λογισμικού

Δομημένη ανάλυση και σχεδίαση Δομημένη σε αντιδιαστολή με τι; Εγκυκλοπαιδική γνώση: spaghetti programming 1960 s, 1970 s, 1980 s, Κεντρική ιδέα Η παράσταση των στοιχείων μιας εφαρμογής λογισμικού με όρους «δεδομένων» και «μετασχηματισμών» Η ταυτοποίηση των δεδομένων (ορολογία, λεξικό) Εύκολη μετάβαση σε στοιχεία υλοποίησης σε περιβάλλον δομημένου προγραμματισμού (χωρίς go-to), πχ συναρτήσεις (functions) Διάγραμμα ροής δεδομένων Παραμένει και σήμερα εργαλείο business modeling

Δομημένη ανάλυση και σχεδίαση βασικές αρχές Τα δεδομένα είναι ανεξάρτητα από τις μονάδες λογισμικού που τα διαχειρίζονται / μετατρέπουν / δημιουργούν / αποθηκεύουν κλπ Η οργάνωση των δεδομένων περιγράφεται σε επίπεδο εννοιολογικό (ανάλυση: ERD) και κατασκευαστικό (σχεδίαση: RDB) Η συμπεριφορά των μονάδων λογισμικού προκύπτει (κυρίως) από την περιγραφή των λειτουργικών απαιτήσεων Οι μονάδες λογισμικού ανταλλάσσουν δεδομένα προκειμένου να επιτελέσουν το σκοπό τους Μπορεί να χρησιμοποιούνται επιπλέον περιγραφές (πχ διαγράμματα μετάβασης καταστάσεων) όπου είναι απαραίτητο, ώστε να γίνεται σαφής η απαιτούμενη συμπεριφορά του λογισμικού

Μοντέλα παράστασης λογισμικού Διαγράμματα (συνήθως) που παριστούν διαφορετικές όψεις ενός συστήματος λογισμικού (δομή, συμπεριφορά, διάταξη κ.ά.) Προφανής η ανάγκη να είναι συνεπή Προφανής, όχι εύκολα ικανοποιήσιμη... Παράδειγμα:

Διαγράμματα ροής δεδομένων Τι είναι; Ένα δίκτυο όπου "ρέουν" δεδομένα τα οποία μετασχηματίζονται σε νέα δεδομένα από μετασχηματισμούς. Τα δεδομένα εισόδου μετασχηματίζονται μέχρις ότου προκύψουν τα επιθυμητά δεδομένα εξόδου. Στοιχεία εγγραφής Διαχείριση εγγραφών Αποτέλεσμα εργασίας ΟΘΟΝΗ ΠΛΗΚΤΡΟΛΟΓΙΟ Αρ.μητρώου μαθητή Ελεγχος δεδομένων Εγγραφή Κωδικός μαθήματος Αρχείο εγγραφών Κωδ.Μαθ/τος Α.μ.μαθητή Αρχείο μαθημάτων Αρχείο μαθητών

Διάγραμμα ροής δεδομένων Παράδειγμα (online.visual-paradigm.com)

Διάγραμμα ροής δεδομένων Μετασχηματισμοί ETL (= Extraction, Transformation, Loading)

Διαγράμματα ροής δεδομένων Συμβολισμοί και συμβάσεις Συμβολισμοί διαγραμμάτων ροής δεδομένων Α Μ Β Α Β Γ Μ Δ Διαδικασία / μετασχηματισμός δεδομένων Εξωτερική πηγή ή αποδέκτης δεδομένων Α Α Μ Β Γ Α Α Μ Β Γ Γ Δ Ροή δεδομένων Μ Γ Μ Αποθήκη δεδομένων Β Β Δ

Διαγράμματα ροής δεδομένων Διαδοχικά επίπεδα λεπτομέρειας ΠΔ1 ΠΔ2 Α Β 1 Δ ΑΔ1 ΠΔ3 Γ Ε ΑΔ2 1 ΠΔ1 ΠΔ2 ΠΔ3 Γ Β Α Ζ 1.2 1.1 Θ Η 1.3 Δ Ε ΑΔ1 ΑΔ2 ΠΔ1 Α Ι Κ 1.1.1 1.1.2 1.1 Λ 1.1.3 Μ Η Δ ΑΔ1 1.3 ΠΔ2 Β 1.2 1.2.1 Θ 1.3.1 1.3.2 ΠΔ3 Γ 1.2.2 Ν Ο Π Ρ F 1.3.3 Τ 1.3.4 Ε ΑΔ2

Διαγράμματα ροής δεδομένων - παράδειγμα ΧΡΗΣΤΗΣ 1.ΕΠΙΚΟΥΡΟΣ ΧΡΗΣΤΗΣ Στοιχεία μαθητών κλπ 1.1. Διαχείριση αρχείων Αρχεία ΠΛΗΚΤΡΟΛΟΓΙΟ Εγγραφή 1.2.Εγγραφές σε μαθήματα Αρχείο εγγραφών ΟΘΟΝΗ Βαθμοί Αρχείο βαθμολογίας 1.3.Βαθμολόγηση Επιλογές Βαθμολογία 1.4.Εκτύπωση βαθμολογίας

Διαγράμματα ροής δεδομένων παράδειγμα ΧΡΗΣΤΗΣ 1.ΕΠΙΚΟΥΡΟΣ ΧΡΗΣΤΗΣ ΧΡΗΣΤΗΣ 1.1. Διαχείριση αρχείων Στοιχεία μαθητών κλπ Εγγραφή 1.2.Εγγραφές σε μαθήματα Αρχείο εγγραφών Αρχεία ΧΡΗΣΤΗΣ Στοιχεία μαθητή 1.1.1. Διαχείριση αρχείου μαθητών Εγγραφή μαθητή Ενημερωμένο αρχείο Βαθμοί Αρχείο βαθμολογίας 1.3.Βαθμολόγηση Επιλογές 1.4.Εκτύπωση βαθμολογίας Βαθμολογία ΠΛΗΚΤΡΟΛΟΓΙΟ Στοιχεία καθηγητή Στοιχεία μαθήματος 1.1.2.Διαχείριση αρχείου καθηγητών Εγγραφή καθηγητή Αρχείο μαθητών Ενημερωμένο αρχείο ΟΘΟΝΗ 1.1.3.Διαχείριση αρχείου μαθημάτων Αρχείο καθηγητών Εγγραφή μαθήματος Ενημερωμένο αρχείο Αρχείο μαθημάτων

Διαγράμματα ροής δεδομένων παράδειγμα ΧΡΗΣΤΗΣ 1.ΕΠΙΚΟΥΡΟΣ ΧΡΗΣΤΗΣ Στοιχεία μαθητών κλπ 1.1. Διαχείριση αρχείων Αρχεία ΧΡΗΣΤΗΣ Εγγραφή 1.2.Εγγραφές σε μαθήματα Αρχείο εγγραφών ΧΡΗΣΤΗΣ Επιλογές Βαθμοί 1.3.Βαθμολόγηση Αρχείο βαθμολογίας Βαθμολογία 1.4.Εκτύπωση βαθμολογίας Στοιχεία εγγραφής Διαχείριση εγγραφών Αποτέλεσμα εργασίας ΟΘΟΝΗ ΠΛΗΚΤΡΟΛΟΓΙΟ Αρ.μητρώου μαθητή Ελεγχος δεδομένων Εγγραφή Κωδικός μαθήματος Αρχείο εγγραφών Κωδ.Μαθ/τος Α.μ.μαθητή Αρχείο μαθημάτων Αρχείο μαθητών

Διαγράμματα ροής δεδομένων παράδειγμα ΧΡΗΣΤΗΣ 1.ΕΠΙΚΟΥΡΟΣ ΧΡΗΣΤΗΣ Στοιχεία μαθητών κλπ 1.1. Διαχείριση αρχείων Αρχεία ΧΡΗΣΤΗΣ Εγγραφή 1.2.Εγγραφές σε μαθήματα Αρχείο εγγραφών ΧΡΗΣΤΗΣ Επιλογές Βαθμοί 1.4.Εκτύπωση βαθμολογίας 1.3.Βαθμολόγηση Αρχείο βαθμολογίας Βαθμολογία Βαθμός 1.3.2. Διαχείριση βαθμολογίας Αποτέλεσμα εργασίας ΟΘΟΝΗ Στοιχεία εξέτασης ΠΛΗΚΤΡΟΛΟΓΙΟ Αρ.μητρώου μαθητή Κωδικός μαθήματος Βαθμολογία Βαθμός 1.3.1. Ελεγχος δεδομένων Αρχείο βαθμολογίας Υπαρξη εγγραφής Κωδ.Μαθ/τος Κωδ.Μαθητή Αρχείο μαθημάτων Αρχείο εγγραφών Αρχείο μαθητών

Διαγράμματα ροής δεδομένων παράδειγμα ΧΡΗΣΤΗΣ 1.ΕΠΙΚΟΥΡΟΣ ΧΡΗΣΤΗΣ Στοιχεία μαθητών κλπ 1.1. Διαχείριση αρχείων Αρχεία ΧΡΗΣΤΗΣ Εγγραφή 1.2.Εγγραφές σε μαθήματα Αρχείο εγγραφών ΧΡΗΣΤΗΣ Βαθμοί Επιλογές 1.3.Βαθμολόγηση 1.4.Εκτύπωση βαθμολογίας Αρχείο βαθμολογίας Βαθμολογία ΠΛΗΚΤΡΟΛΟΓΙΟ Κωδ. μαθήματος Σχολικό έτος 1.4.1. Ρυθμίσεις εκτύπωσης Δεδομένα εκτύπωσης Δεδομένα εκτύπωσης ΕΚΤΥΠΩΤΗΣ Κωδ. μαθήματος Σχολικό έτος 1.4.2. Επιλογή και μορφοποίηση εγγραφών Εγγραφές Εγγραφές Εγγραφές Αρχείο μαθημάτων Αρχείο μαθητών Αρχείο βαθμολογίας

Διαγράμματα ροής δεδομένων Χρήσιμες συμβουλές Σημασία στα κρίσιμα δεδομένα της εφαρμογής Κατά τη μετάβαση σε νέο επίπεδο λεπτομέρειας, αναλύονται και οι μετασχηματισμοί και τα δεδομένα Να μη συγχέεται με παράσταση αλγορίθμου Δεν παριστάνεται πληροφορία χρονισμού Ισορροπία μεταξύ ουσιώδους και κατασκευαστικής λεπτομέρειας Χρήση κατάλληλων εργαλείων

Εννοιολογικά μοντέλα δεδομένων (ERD) Οντότητες και συσχετίσεις Χαρακτηριστικά (πεδία)

Διαγράμματα μετάβασης καταστάσεων Γεγονός Ενα γεγονός (event) είναι μια στιγμιαία μεταβολή στο περιβάλλον λειτουργίας του λογισμικού, η οποία προκαλείται από εξωτερικούς παράγοντες (χρήστης, λειτουργικό σύστημα, άλλες εφαρμογές λογισμικού). Απόκριση Μια λειτουργία που εκτελεί το λογισμικό όταν προκαλείται ένα γεγονός, ονομάζεται απόκριση (response). Κατάσταση Οταν το λογισμικό αναμένει γεγονότα, τότε λέμε ότι βρίσκεται σε μία κατάσταση. Όταν συμβεί ένα γεγονός, το λογισμικό μπορεί να εκτελεί μια λειτουργία και να μεταβαίνει σε μια άλλη κατάσταση.

Διαγράμματα μετάβασης καταστάσεων Ένα διάγραμμα μετάβασης καταστάσεων Εχει μια κατάσταση έναρξης και μια κατάσταση τέλους. Περιέχει τις δυνατές καταστάσεις, τα γεγονότα και τις μεταβάσεις Για ολόκληρη την εφαρμογή ή Για οποιοδήποτε τμήμα αυτής (μονάδα, υποσύστημα λογισμικού) Κατασκευάζουμε έναδιάγραμμα μετάβασης καταστάσεων όταν Κάνει σαφέστερη την περιγραφή της συμπεριφοράς του λογισμικού Κάνει ευκολότερη την περιγραφή της υλοποίησής του, δηλαδή της παραγωγής πηγαίου κώδικα Περιγράφουμε την κατάσταση δεδομένων

Διαγράμματα μετάβασης καταστάσεων Συμβολισμοί Συμβολισμοί διαγραμμάτων μετάβασης καταστάσεων Κατάσταση Κατάσταση έναρξης Κατάσταση τέλους ΓΕΓΟΝΟΣ/ΑΠΟΚΡΙΣΗ Μετάβαση σε άλλη κατάσταση / λειτουργία που εκτελείται ΓΕΓΟΝΟΣ/ΑΠΟΚΡΙΣΗ Μετάβαση στην ίδια κατάσταση / λειτουργία που εκτελείται

Διαγράμματα μετάβασης καταστάσεων Ένα παράδειγμα (εγγραφή σε μάθημα) ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΠΙΛΕΓΜΕΝΟ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ ΑΙΤΗΣΗ ΕΓΓΡΑΦΗΣ ΑΙΤΟΥΜΕΝΟ ΑΠΟΡΡΙΨΗ ΑΠΟΡΡΙΦΘΕΝ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΓΚΡΙΣΗ ΕΓΚΕΚΡΙΜΕΝΟ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ

Το λεξικό δεδομένων Μια οργανωμένη ταξινόμηση όλων περιγραφών των δεδομένων που αναφέρονται στα μοντέλα παράστασης λογισμικού (διαγράμματα κλπ) Με σαφήνεια και πληρότητα Ωστε αυτά να γίνονται κατανοητά τόσο από τους συμμετέχοντες στην ανάπτυξη και χρήση (;) του συστήματος Το λεξικό δεδομένων Είναι βασικό στοιχείο της δομημένης ανάλυσης Κατασκευάζεται με πολλή δουλειά Και χρειάζεται περισσότερη για να διατηρηθεί ενημερωμένο

Το λεξικό δεδομένων Ενας πίνακας (ή ΒΔ) που καταγράφει Ονομασία. Το κύριο αναγνωριστικό της οντότητας, πεδίου ή ροής δεδομένων. Βοηθητικές ονομασίες. Ονομασίες που χρησιμοποιούνται ισοδύναμα (aliases). Πού χρησιμοποιείται. Αναφορά στους μετασχηματισμούς, οντότητες κλπ οι οποίοι χρησιμοποιούν το εν λόγω στοιχείο. Πώς χρησιμοποιείται. Αναφορά στον τρόπο με τον οποίο χρησιμοποιείται το εν λόγω στοιχείο (ως στοιχείο εισόδου, ως αποτέλεσμα, πεδίο, κ.ά.) Τι περιέχει. Περιγραφή του είδους και της μορφής της πληροφορίας που αποθηκεύεται σε αυτό. Ορια τιμών. Καθορισμός των επιτρεπτών τιμών που μπορεί να πάρει (αν απαιτείται). Αρχική τιμή. Καθορισμός της αρχικής τιμής του στοιχείου (αν απαιτείται). Λοιπά στοιχεία. Υπόλοιπες χρήσιμες πληροφορίες.

Το λεξικό δεδομένων Παράδειγμα από μια εφαρμογή γραμματείας σχολείου ΟΝΟΜΑΣΙΑ ΑΛΛΕΣ ΟΝΟΜΑΣΙΕΣ ΠΟΥ ΠΩΣ ΠΕΡΙΕΧΟΜΕΝΑ ΟΡΙΑ ΚΑΘΗΓΗΤΗΣ ΚΑΘ Βάση Δεδομένων Πίνακας της ΒΔ ΜΑΘΗΜΑ ΜΑΘ Βάση Δεδομένων Πίνακας της ΒΔ ΒΑΘΜΟΛΟΓΙΑ ΒΑΘΜ Βάση Δεδομένων Πίνακας της ΒΔ ΦΟΙΤΗΤΗΣ ΦΟΙΤ Βάση Δεδομένων Πίνακας της ΒΔ Εγγραφές καθηγητών - Εγγραφές μαθημάτων - Εγγραφές βαθμολογίας - Εγγραφές φοιτητών - ΑΡ. ΤΑΥΤΟΤΗΤΑΣ Α.Τ. Πίνακας "ΚΑΘΗΓΗΤΗΣ" Πεδίο Πεδίο 7 χαρακτήρων - ΟΝΟΜΑ ΟΝ Πίνακας "ΚΑΘΗΓΗΤΗΣ" ΕΠΩΝΥΜΟ ΕΠ Πίνακας "ΚΑΘΗΓΗΤΗΣ" ΔΙΕΥΘΥΝΣΗ ΔΙΕΥΘ Πίνακας "ΚΑΘΗΓΗΤΗΣ" ΤΗΛΕΦΩΝΟ ΤΗΛ Πίνακας "ΚΑΘΗΓΗΤΗΣ" Πεδίο Πεδίο 25 χαρακτήρων - Πεδίο Πεδίο 25 χαρακτήρων - Πεδίο Πεδίο 50 χαρακτήρων - Πεδίο Πεδίο 20 χαρακτήρων - ΑΡ. ΤΑΥΤΟΤΗΤΑΣ Α.Τ. Πίνακας "ΦΟΙΤΗΤΗΣ" Πεδίο Πεδίο 7 χαρακτήρων - ΟΝΟΜΑ ΟΝ.Φ. Πίνακας "ΦΟΙΤΗΤΗΣ " Πεδίο Πεδίο 25 χαρακτήρων -

Το λεξικό δεδομένων Παράδειγμα (συνέχεια) ΟΝΟΜΑΣΙΑ ΑΛΛΕΣ ΟΝΟΜΑΣΙΕΣ ΠΟΥ ΠΩΣ ΠΕΡΙΕΧΟΜΕΝΑ ΟΡΙΑ ΕΠΩΝΥΜΟ ΕΠΦ. Πίνακας "ΦΟΙΤΗΤΗΣ " ΔΙΕΥΘΥΝΣΗ ΔΙΕΥΘ.Φ. Πίνακας "ΦΟΙΤΗΤΗΣ " ΤΗΛΕΦΩΝΟ ΤΗΛ.Φ. Πίνακας "ΦΟΙΤΗΤΗΣ " ΤΜΗΜΑ ΤΜ.Φ. Πίνακας "ΦΟΙΤΗΤΗΣ " Πεδίο Πεδίο 25 χαρακτήρων - Πεδίο Πεδίο 50 χαρακτήρων - Πεδίο Πεδίο 20 χαρακτήρων - Πεδίο Πεδίο 20 χαρακτήρων - ΚΩΔΙΚΟΣ ΜΑΘ Κ.Μ. Πίνακας "ΜΑΘΗΜΑ" Πεδίο Πεδίο 10 αριθμητικών ψηφίων - ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ Θ.ΕΝ. Πίνακας "ΜΑΘΗΜΑ" Πεδίο Πεδίο 10 χαρακτήρων - ΤΙΤΛΟΣ - Πίνακας "ΜΑΘΗΜΑ" ΔΙΔΑΣΚΩΝ ΔΙΔ Πίνακας "ΜΑΘΗΜΑ" Πεδίο Πεδίο 50 χαρακτήρων - Πεδίο Πεδίο 7 χαρακτήρων - ΗΜΕΡΟΜΗΝΙΑ ΕΞΕΤΑΣΗΣ ΗΜ.ΕΞ. Πίνακας "ΒΑΘΜΟΛΟΓΙΑ" Πεδίο Πεδίο ημερομηνίας (ΗΗ/ΜΜ/ΕΕΕΕ) < τρέχουσα ημερομηνία ΕΙΔΟΣ ΕΞΕΤΑΣΗΣ ΕΙΔ.ΕΞ. Πίνακας "ΒΑΘΜΟΛΟΓΙΑ" Πεδίο Πεδίο 10 χαρακτήρων Ενδιάμεση, Τελική ΒΑΘΜΟΣ ΒΑΘΜ. Πίνακας "ΒΑΘΜΟΛΟΓΙΑ" ΠΑΡΑΤΗΡΗΣΕΙΣ - Πίνακας "ΒΑΘΜΟΛΟΓΙΑ" Πεδίο Αριθμητικό πεδίο 0-10 Πεδίο Πεδίο 100 χαρακτήρων -

Ενα (σημερινό) λεξικό δεδομένων

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

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

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

Δομημένη σχεδίαση - εργασίες Αρχιτεκτονική σχεδίαση Διάγραμμα δομής προγράμματος Διάγραμμα διάταξης Σχεδίαση διεπαφών Λεπτομερής σχεδίαση μονάδων Ψευδοκώδικας (!) Σχεδίαση δεδομένων Σχεσιακό μοντέλο

Δομημένη σχεδίαση

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

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

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

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

Σχεδίαση και αρχιτεκτονικά πρότυπα λογισμικού

Client-server variants "Fat" clients Server DATA MANAGEMENT Fat client BUSINESS LOGIC PRESENTATION "Thin" clients DATA MANAGEMENT Thin Client PRESENTATION Data Server Application Server BUSINESS LOGIC Thin Client PRESENTATION

Multi-tier, web-based Πολυμερής κατανεμημένη διάταξη με web clients DATA MANAGEMENT Data Server Internet, Intranet, VPN,... Web Server PRESENTATION Web Client Application Server BUSINESS LOGIC Internet, Intranet, VPN,... Web Client Web Client

Multi-tier, web-based, service-oriented Data service provider Data Server... Application Server Internet Application service provider 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

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

Αρχιτεκτονική δομημένη σχεδίαση Η έννοια του κέντρου δοσοληψιών (transactions center) σε Διάγραμμα Ροής Δεδομένων... ΛΗΨΗ ΚΑΙ ΠΡΟΕΤΟΙΜΑΣΙΑ ΔΕΔΟΜΕΝΩΝ ΕΙΣΟΔΟΥ ΚΕΝΤΡΟ ΔΟΣΟΛΗΨΙΩΝ... ΚΕΝΤΡΑ ΕΠΕΞΕΡΓΑΣΙΑΣ ΔΕΔΟΜΕΝΩΝ ΕΞΟΔΟΥ

Αρχιτεκτονική δομημένη σχεδίαση Απεικόνιση κέντρου δοσοληψιών σε διάγραμμα δομής προγράμματος...... ΜΟΝΑΔΑ ΕΛΕΓΧΟΥ ΛΗΨΗ ΔΕΔΟΜΕΝΩΝ ΕΠΕΞΕΡΓΑΣΙΑ ΔΕΔΟΜΕΝΩΝ ΜΟΝΑΔΑ ΕΛΕΓΧΟΥ ΠΕΡΙΠΤΩΣΗΣ 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 (Εγγραφή Μαθητή) KEYBOARD Στοιχεία καθηγητή Στοιχεία μαθήματος 1.1.2.Διαχείριση αρχείου καθηγητών 1.1.3.Διαχείριση αρχείου μαθημάτων Εγγραφή καθηγητή Αρχείο καθηγητών Εγγραφή μαθήματος Αρχείο μαθημάτων Αρχείο μαθητών Ενημερωμένο αρχείο Ενημερωμένο αρχείο SCREEN Get (Στοιχεία Καθηγητή) ΣΚ ΣΜ Exec 112 ΣΚ ΕΚ Prepare (Εγγραφή Καθηγητή) Exec 113 ΣΜ ΕΜ ΕΚ ΕΜ ΕΚ ΕΜ Get/Put (Εγγραφή Καθηγητή) Get (Στοιχεία Μαθήματος) Prepare (Εγγραφή Μαθήματος) Get/Put (Εγγραφή Μαθήματος)

Μελέτη περίπτωσης Αποτέλεσμα εργασίας SCREEN KEYBOARD Αρ.μητρώου μαθητή 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 (Στοιχεία Εγγραφής)

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

Λεπτομερής... σχεδίαση μονάδων Ψευδοκώδικας 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

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

Παράδειγμα σχεδίασης δεδομένων Στα αρχικά στάδια της σχεδίασης Αποδίδονται ιδιώματα (πεδία) στις οντότητες Δεν απασχολούν οι κατασκευαστικές λεπτομέρειες

Παράδειγμα σχεδίασης δεδομένων Ολοκληρωμένη σχεδίαση Περιέχεται πλήρης κατασκευαστική πληροφορία (τύποι, κλπ)

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

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