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

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

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

Ανάλυση & Προδιαγραφή Απαιτήσεων Λογισμικού & Μοντέλα Δομημένης Ανάλυσης:

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

Διάγραμμα Ροής Δεδομένων

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

Διάγραμμα Ροής Δεδομένων Δ.Ρ.Δ.

Δόμηση Απαιτήσεων: Μοντελοποίηση Διεργασιών

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων. Εισαγωγή Ανάλυση Απαιτήσεων. Φροντιστήριο 1 ο

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

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

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

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

Η Διαδικασία Σχεδιασμού Συστημάτων

Διοίκηση Παραγωγής και Υπηρεσιών

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Δ ΕΣΠΕΡΙΝΩΝ

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ασκήσεις και ερωτήσεις

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

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

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

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

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

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

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

Λίγα λόγια από το συγγραφέα...7

Εισαγωγή στην Access 2007

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων...

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

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

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

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

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

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

Τεχνικές Αναπαράστασης αλγορίθµων Ψευδοκώδικας Διάγραµµα Ροής Αλγοριθµικές δοµές (Ακολουθία Επιλογή Επανάληψη)

5. (Λειτουργικά) Δομικά Διαγράμματα

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

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

Οδηγίες χρήσης εφαρμογής Ε.Ο.Π.Υ.Υ - Σύστημα Ηλεκτρονικής Προέγκρισης Φαρμάκων για Θεράποντες Ιατρούς

4η ιάλεξη. UML ιαγράμματα αλληλεπίδρασης

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

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

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

ΔΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ

Εγχειρίδιο Χρήστη. Ιούνιος Σελίδα - 1 -

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 2 ο

Διαδικασία σχεδιασμού Β.Δ.

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Διαδικτυακό σύστημα διαχείρισης αιτήσεων για μεταπτυχιακό

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΑΠΡΙΛΙΟΣ 2019 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 (ΕΠΤΑ)

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

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

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α

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

Μετασχηµατισµός διαγράµµατος ER σε σχεσιακό σχήµα Β

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

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

Θεωρία Προγραμματισμού

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

Βασίλειος Κοντογιάννης ΠΕ19

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

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

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

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

Α2. Δίνεται το επόμενο τμήμα προγράμματος σε ΓΛΩΣΣΑ:

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

ΑΣΚΗΣΗ 3 η (8/4/2008)

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

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

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

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων καταστάσεων (2 ο επαναληπτικό μάθημα)

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

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

Transcript:

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

Εισαγωγή Για την απόδοση απαιτήσεων με κατανοητό τρόπο... Δεν αρκεί η περιγραφή με ελεύθερο κείμενο... ΑΛΛΑ απαιτείται και η χρήση μοντέλων που περιγράφουν το λογισμικό από διαφορετικές οπτικές γωνίες! Διαχείριση δεδομένων Εσωτερική δομή δεδομένων Συμπεριφορά εφαρμογής προς το χρήστη Άλλα χαρακτηριστικά Μοντέλο παράστασης λογισμικού Ένα μοντέλο παράστασης λογισμικού είναι ένα διάγραμμα ή ένα σύνολο από ομοειδή διαγράμματα, το οποίο περιγράφει το λογισμικό από μία συγκεκριμένη οπτική γωνία Κανένα μοντέλο παράστασης λογισμικού δεν είναι πλήρες! Δεν περιέχει όλες τις δυνατές πληροφορίες για το λογισμικό Είναι μία αφαιρετική περιγραφή κάποιων επιλεγμένων χαρακτηριστικών του και μόνο επιλέγονται και περιγράφονται μόνο εκείνα τα στοιχεία στα οποία εστιάζεται η προσοχή... 2

Μοντέλο παράστασης λογισμικού Συνηθισμένη διάκριση ανάμεσα σε : Στατικά μοντέλα περιγράφουν τις οντότητες και τα δεδομένα του συστήματος, τα χαρακτηριστικά τους (συμπεριλαμβανομένων και των λειτουργιών που εκτελούνται σε αυτά ή από αυτά) και τις σχέσεις μεταξύ τους Δυναμικά μοντέλα περιγράφουν τον τρόπο με τον οποίο το σύστημα αντιδρά σε κάποια χρονική περίοδο στους παράγοντες που αλλάζουν τη συμπεριφορά του Μοντέλα παράστασης λογισμικού Διάγραμμα Ροής Δεδομένων (ΔΡΔ) Διάγραμμα Οντοτήτων-Συσχετίσεων (ΔΟΣ) Διάγραμμα Μετάβασης Καταστάσεων (ΔΜΚ) Λεξικό Δεδομένων 3

Μοντέλα Παράστασης Λογισμικού Διαγράμματα που περιγράφουν το λογισμικό από μία συγκεκριμένη οπτική γωνία Διάγραμμα ροής δεδομένων: δεδομένα «ρέουν» και μετασχηματίζονται σε νέα δεδομένα από μονάδες λογισμικού / μετασχηματισμούς Διάγραμμα οντοτήτων-συσχετίσεων: περιγράφει οντότητες δεδομένων και συσχετίσεις μεταξύ αυτών Διάγραμμα μετάβασης καταστάσεων: μετάβαση από τη μία κατάσταση στην άλλη ανάλογα με εξωτερικά γεγονότα Λεξικό δεδομένων : περιλαμβάνει όλα τα σχετιζόμενα με δεδομένα στοιχεία των μοντέλων παράστασης λογισμικού Μοντέλα παράστασης λογισμικού ΛΕΞΙΚΟ ΔΕΔΟΜΕΝΩΝ ΔΙΑΓΡΑΜΜΑ ΜΕΤΑΒΑΣΗΣ ΚΑΤΑΣΤΑΣΕΩΝ 4

Μοντέλα παράστασης λογισμικού Συμπληρωματικά και συνεπή μεταξύ τους! Κανένα μοντέλο δεν περιγράφει πλήρως την εφαρμογή από μόνο του! ΟΛΑ μαζί όμως ναι! Οι οντότητες που αναφέρονται σε κάθε μοντέλο δεν είναι ξένες με αυτές που αναφέρονται στα υπόλοιπα Λεξικό Δεδομένων! Εξασφαλίζει τη συνέπεια περιέχει αναφορές σε όλες τις οντότητες που περιλαμβάνονται στα μοντέλα Δομημένη Ανάλυση και Διαγράμματα Ροής Δεδομένων Η δομημένη ανάλυση είναι προσαρμοσμένη στη ροή των δεδομένων Περιγραφή της ροής των δεδομένων προς, μέσα στο και από το σύστημα Πλεονέκτημα: Μείωση της πολυπλοκότητας του προβλήματος (topdown approach) Η δομημένη ανάλυση βασίζεται σε ΔΡΔ και λεξικά δεδομένων 5

Ιεραρχική Αναπαράσταση Η συνολική λειτουργία του συστήματος αναπαρίσταται με μοναδικό μετασχηματισμό πληροφορίας (φυσαλίδα) Είσοδοι από μία ή περισσότερες εξωτερικές οντότητες (κουτιά) Ο μετασχηματισμός (σύστημα) παράγει εξόδους προς εξωτερικές οντότητες (κουτιά) Διάγραμμα Ροής Δεδομένων Δεδομένα «ρέουν» και μετασχηματίζονται σε νέα δεδομένα από μονάδες λογισμικού Κάθε μονάδα λογισμικού είναι ένας μετασχηματισμός που εφαρμόζεται στα δεδομένα εισόδου προκειμένου να δημιουργήσει δεδομένα εξόδου Τα ΔΡΔ παρουσιάζουν τη ροή και τους μετασχηματισμούς των δεδομένων μέσα από το λογισμικό Επικεντρώνονται στις διεργασίες που μετασχηματίζουν τις ροές των εισερχόμενων δεδομένων (είσοδος, input) σε ροές εξερχόμενων δεδομένων (έξοδος, output) Οι διεργασίες που εκτελούν τους μετασχηματισμούς αυτούς συνήθως δημιουργούν και χρησιμοποιούν δεδομένα αποθήκευση Κάποιες εξωτερικές οντότητες στέλνουν και λαμβάνουν τα δεδομένα από το λογισμικό. 6

Διάγραμμα Ροής Δεδομένων Απαιτήσεις με βάση τη ροή δεδομένων Η πληροφορία σε ροή παριστάνεται από βέλη με ονομασία Οι μετασχηματισμοί (επεξεργασία) παριστάνονται με κύκλους και ονομασία Οι αποθήκες πληροφορίας παριστάνονται με δύο παράλληλες γραμμές και ονομασία Διάγραμμα Ροής Δεδομένων Χαρακτηριστικά ενός ΔΡΔ: Εύκολα κατανοητό Ακριβές στο επίπεδο του ποιες λειτουργίες γίνονται και όχι στο πώς Αποτελείται από πολλά διαφορετικά τμήματα, που αφορούν επιμέρους τμήματα λογισμικού Σχεδιάζεται σε διαφορετικά επίπεδα λεπτομέρειας Δεν περιέχει πληροφορία για τη χρονική αλληλουχία με την οποία συμβαίνουν οι μετασχηματισμοί δεδομένων Είναι εύκολο να υποστεί μεταβολές, όταν κριθεί αναγκαίο 7

Βασικές Έννοιες Οι πληροφορίες μετασχηματίζονται καθώς ρέουν στο σύστημα Έμφαση στη ροή δεδομένων Είσοδοι / Έξοδοι παραμένουν ίδιες σε κάθε διαφορετικό επίπεδο ανάλυσης Συμβολισμοί 8

Συμβολισμοί Εξωτερική Οντότητα (Πηγή Αποδέκτης Δεδομένων) Λειτουργία Διαδικασία Διεργασία Μετασχηματισμός Δεδομένων Ροή Δεδομένων Αποθήκη Δεδομένων Εξωτερική Οντότητα Πηγή ή Αποδέκτης Δεδομένων Παραδείγματα: χρήστης του συστήματιος ή άλλη εξωτερική, προς την εφαρμογή που περιγράφουμε, εφαρμογή Μπορεί να επαναλαμβάνονται στο ίδιο ΔΡΔ (για λόγους καλής διευθέτησης του ΔΡΔ) Τα δεδομένα πρέπει πάντοτε να προέρχονται από κάπου και πρέπει να αποστέλλονται σε κάποιον 9

Λειτουργία - Διαδικασία Μετασχηματισμός Δεδομένων (αλλάζει την είσοδο σε έξοδο) Παραδείγματα: υπολογισμός φόρων, καθορισμός εμβαδού, μορφοποίηση αναφοράς, εμφάνιση γραφήματος Τα Δεδομένα πρέπει πάντοτε να υπόκεινται σε επεξεργασία με κάποιο τρόπο για να επιτευχθεί η λειτουργία του συστήματος Ροή Δεδομένων Τα δεδομένα ρέουν στο σύστημα, εισέρχονται ως είσοδος και κατόπιν «μετασχηματίζονται» σε έξοδο. βάση ύψος Υπολογισμός εμβαδού τριγώνου εμβαδόν 10

Ροές Δεδομένων Τα δεδομένα πολλές φορές αποθηκεύνται για να χρησιμοποιηθούν μετέπειτα Δεδομένα Αισθητήρα Υπολογισμός Θέσης Θέση Υπάρχουσες Τιμές Νέες Τιμές Αρχείο Δεδομένων Απλό παράδειγμα Έστω ότι θέλουμε να αναπαραστήσουμε την υλοποίηση της αριθμητικής πράξης (Α+Β) 2 όπου Α, Β πραγματικοί αριθμοί, εκ των οποίων ο Α δίνεται από το χρήστη της εφαρμογής και ο Β διαβάζεται από κάποια αποθήκη δεδομένων (αρχείο) 11

ΔΡΔ παραδείγματος Μαθητής Α Eκτέλεση πρόσθεσης Γ Εκτέλεση τετραγώνου Δ Μαθητής Β Αρχείο ΔΡΔ Ένα ΔΡΔ αποτελεί μια γραφική τεχνική με την οποία απεικονίζεται η ροή της πληροφορίας μαζί με τους εφαρμοζόμενους μετασχηματισμούς καθώς τα δεδομένα κινούνται από την είσοδο προς την έξοδο σε ένα σύστημα. Τα ΔΡΔ μπορούν να απεικονίσουν ένα σύστημα ή λογισμικό σε οποιοδήποτε βαθμό αφαίρεσης με τη χρήση επιπέδων αφαίρεσης. Το πρώτο επίπεδο αφαίρεσης περιγράφει όλο το σύστημα. Αποτελούνται από Διαδικασίες οι οποίες εφαρμόζονται σε Δεδομένα Εισόδου και παράγουν Δεδομένα Εξόδου Τα Δεδομένα Εισόδου παράγονται από Εξωτερικές Οντότητες, ή Αποθήκες Δεδομένων ή άλλες Διαδικασίες. Τα Δεδομένα Εξόδου στέλνονται είτε σε Εξωτερικές Οντότητες, είτε για μελλοντική χρήση σε Αποθήκες Δεδομένων, είτε σε άλλες Διαδικασίες. 12

Διαφορετικά επίπεδα λεπτομέρειας Ιεραρχική δομή 1 ο επίπεδο Επίπεδο 0 Ολόκληρη η εφαρμογή λογισμικού παριστάνεται ως ένας μετασχηματισμός που δέχεται δεδομένα από τις πηγές και δίνει δεδομένα στους αποδέκτες Διαδοχική εκλέπτυνση μετασχηματισμού και ανάλυση σε περισσότερα επίπεδα λεπτομέρειας, αρίθμηση μετασχηματισμών (π.χ. Ο μετασχηματισμός 4 αναλύεται στους 4.1 έως 4.5) Βασική αρχή: Διατήρηση συνέπειας στη ροή της πληροφορίας κατά τη μετάβαση από ένα επίπεδο λεπτομέρειας σε ένα επόμενο (μεγαλύτερης λεπτομέρειας), η είσοδος και η έξοδος σε κάθε εκλέπτυνση παραμένει η ίδια Διαδοχική Εκλέπτυνση Διαδοχική εκλέπτυνση των φυσαλίδων Οι φυσαλίδες αριθμούνται (π.χ. Ο μετασχηματισμός 4 αναλύεται στους 4.1 έως 4.5) Βασική αρχή: Διατήρηση της συνέχειας στη ροή της πληροφορίας (η είσοδος και η έξοδος σε κάθε εκλέπτυνση παραμένει η ίδια) 13

ΔΡΔ Λεξικό δεδομένων Τα ΔΡΔ δεν παρέχουν καμία σαφή υπόδειξη της ακολουθίας της επεξεργασίας παρόλο που μπορεί να την υπονοούν Με διαδοχική εκλέπτυνση των ΔΡΔ δημιουργούνται πιο λεπτομερή μοντέλα του συστήματος. Με χρήση κατάλληλης σημειογραφίας γίνεται εύκολη η οργάνωση των ΔΡΔ (π.χ. Πρώτο επίπεδο F, δεύτερο επίπεδο F1, F2,, τρίτο επίπεδο F11, F12, κλπ) Πρέπει να δημιουργείται ένα λεξικό δεδομένων το οποίο είναι μια οργανωμένη απαρίθμηση όλων των στοιχείων δεδομένων τα οποία σχετίζονται με το σύστημα (κάθε βέλος στο ΔΡΔ ένα ή περισσότερα είδη πληροφορίας, κάθε αποθήκη δεδομένων είανι μια συλλογή από μεμονωμένα είδη δεδομένων). Η εγγραφή του λεξικού δεδομένων περιέχει: Όνομα του είδους δεδ/νων που χρησιμοποιείται και πως περιγραφή περιεχομένου Συμπληρωματική πληροφορία ΔΡΔ Λεξικό δεδομένων Ένα ΔΡΔ δεν επαρκεί για την περιγραφή των απαιτήσεων π.χ. Μία ροή δεδομένων μπορεί να αναπαριστά ένα σύνθετο τύπο δεδομένων. Ποιο το περιεχόμενο του τύπου; Στο λεξικό δεδομένων καταγράφονται όλες οι ροές δεδομένων του ΔΡΔ με επεξήγηση της δομής τους (των δεδομένων). Ένα λεξικό δεδομένων μπορεί να οργανώνεται με συντακτικό κανονικής γλώσσας (BNF) 14

Διαδοχικά επίπεδα λεπτομέρειας ΠΔ1 ΠΔ2 ΠΔ3 Α Β Γ 1 Δ Ε ΑΔ1 ΑΔ2 ΠΔ1 ΠΔ2 ΠΔ3 Α Β Γ Ζ 1.1 1.2 O F Θ Η 1.3 Δ Ε ΑΔ1 ΑΔ2 15

Οδηγίες Στο επίπεδο 0 το σύστημα αναπαρίσταται με ένα και μόνο κύκλο Οι ροές ειδόδου/εξόδου πρέπει προσεκτικά να καταγράφονται Στο επίπεδο 0 πάντοτε φαίνονται οι εξωτερικές οντότητες (πηγές/αποδέκτες) Δώστε ετικέττα σε καθετί Οι εξωτερικές οντότητες μπορεί να επαναλαμβάνονται στο ίδιο διάγραμμα Κάθε φορά αναλύουμε ένα κύκλο (λειτουργία) Η ανάλυση συνεχίζεται μέχρι να μέχρι κάθε κύκλος να αναπαριστά μια απλή και μοναδική λειτουργία που συνδέτεται με μια μόνο μονάδα προγράμματος Ο βαθμός αποσύνθεσης-ανάλυσης μειώνεται καθώς ο αριθμός των επιπέδων αυξάνει Κάθε ροή δεδομένων (βέλος) μπορεί να αναλύεται στο επόμενο επίπεδο (κάθε ροή δεδομένων καταγράφεται στο λεξικό δεδομένων) Δεν περιγράφουμε διαδικαστική λογική (αλγόριθμο) Οδηγίες - Αρίθμηση Προσοχή στην αρίθμηση των μετασχηματισμών: πρέπει να είναι δομημένη, π.χ. Ρ1 για το Επίπεδο 0, Ρ1.1 για το Επίπεδο 1, Ρ1.1.1 για το Επίπεδο 2, κοκ. P1 Επίπεδο 0 αναλύεται σε P1.1 P1.2 P1.3 Επίπεδο 1 αναλύεται σε P1.3.1 P1.3.2 Επίπεδο 2 16

Οδηγίες - Ονοματοδοσία Χρησιμοποιείτε ονόματα που να έχουν νόημα και να είναι διαφορετικά για διαφορετικά συστατικά (εξωτερική οντότητα, μετασχηματισμό, αποθήκη δεδομένων) ενός ΔΡΔ. Η ονομασία μιας εξωτερικής οντότητας πρέπει να περιέχει κάποιο ουσιαστικό ή μια περιγραφή χωρίς ρήμα. Αποφύγετε να περιορίσετε τις εξωτερικές οντότητες σε μια (ΧΡΗΣΤΗΣ) και προσπαθήστε να αποτυπώσετε όσο το δυνατόν πιστότερα τις διεπαφές του υπό μελέτη ΠΣ με άλλα ΠΣ και χρήστες. Οδηγίες - Μετασχηματισμοί Οι είσοδοι ενός μετασχηματισμού πρέπει να αρκούν για την παραγωγή των εξόδων του (συμπεριλαμβανομένων των δεδομένων από πηγές δεδομένων). Οι είσοδοι ενός μετασχηματισμού είναι διαφορετικές από τις εξόδους του. Δεν επιτρέπεται να υπάρχει μετασχηματισμός που να έχει μόνο εξόδους. Δεν επιτρέπεται να υπάρχει μετασχηματισμός που να έχει μόνο εισόδους. Η ονομασία ενός μετασχηματισμού πρέπει να περιέχει κάποιο ουσιαστικό που να δηλώνει την ενέργεια/πράξη που επιτελείται. 17

Οδηγίες Αποθήκες Δεδομένων Δεν επιτρέπεται να μετακινούνται δεδομένα από αποθήκη σε αποθήκη, παρά μόνο με παρεμβολή μιας ή περισσότερων διεργασιών. Δεν επιτρέπεται να μετακινούνται δεδομένα μεταξύ μιας εξωτερικής πηγής απευθείας με μια αποθήκη δεδομένων, παρά μόνο με παρεμβολή μιας ή περισσότερων μετασχηματισμών. Η ονομασία μιας αποθήκης δεδομένων πρέπει να περιέχει κάποιο ουσιαστικό ή μια περιγραφή χωρίς ρήμα του περιεχομένου της αποθήκης. Οδηγίες Αποθήκες Δεδομένων Οι αποθήκες δεν επεξεργάζονται δεδομένα. Λαμβάνονται ακριβώς τα ίδια δεδομένα με αυτά που εισήχθησαν Δεν θα πρέπει να υπάρχουν στο σύστημα αποθήκες με μόνο εισερχόμενες ή μόνο εξερχόμενες ροές δεδομένων. (Πιθανή εξαίρεση εκτός των ορίων του συστήματος, στο ΔΡΔ επιπέδου 0) Η ίδια αποθήκη μπορεί να υπάρχει σε διάφορα σημεία του ΔΡΔ Η απόφαση για τον τρόπο υλοποίησης της αποθήκης λαμβάνεται από τον προγραμματιστή όχι από τον αναλυτή Μία αποθήκη δεδομένων μπορεί να είναι από απλός πίνακας έως σύνθετες συλλογές δεδομένων 18

Οδηγίες Εξωτερικές Οντότητες Δεν επιτρέπεται να μετακινούνται δεδομένα από εξωτερική οντότητα σε εξωτερική οντότητα, παρά μόνο με παρεμβολή ενός ή περισσότερων μετασχηματισμών. Οδηγίες Ροές δεδομένων Έχει μια και μόνο κατεύθυνση Μια ροή προς μια πηγή δεδομένων σημαίνει αποθήκευση / ενημέρωση / διαγραφή. Μια ροή από μια πηγή δεδομένων σημαίνει ανάγνωση/αναζήτηση. Η ονομασία μιας ροής δεδομένων πρέπει να περιέχει κάποιο ουσιαστικό ή μια περιγραφή χωρίς ρήμα. Στο λεξικό δεδομένων καταγράφονται όλες οι ροές δεδομένων του ΔΡΔ με επεξήγηση της δομής τους π.χ. Εργαζόμενος = επίθετο + όνομα +ID 19

Επιτρεπτές συνδέσεις μεταξύ των συστατικών του ΔΡΔ Πηγή ή Αποδέκτης Πηγή ή Αποδέκτης Μετασχηματισμός Αποθήκη Δεδομένων Όχι Ναι Όχι Μετασχηματισμός Ναι Ναι Ναι Αποθήκη Δεδομένων Όχι Ναι Όχι Δ.Ρ.Δ. ΛΑΘΗ Β1 Β2 Β1 P1 Β2 Β1 DS1 Β1 P1 DS1 DS1 Β1 DS1 P1 Β1 DS1 DS2 DS1 P1 DS2 20

Ασκήσεις Άσκηση 1: βρείτε τα λάθη Χρήστης Κωδικός χρήστη Προμηθευτής 1. Λογισμικό σύστημα διαχείρισης παραγγελιών Πελάτης Οθόνη 21

Άσκηση 2: βρείτε τα λάθη Μορφοποιημένα στοιχεία παραγγελίας παραγγελίες Στοιχεία παραγγελίας 1.1 Διαχείριση παραγγελίας Πελάτης Υπολογισμός αξίας παραγγελίας Αξία παραγγελίας 1.2 Έλεγχος φερεγγυότητας πελάτη Μήνυμα ελέγχου Αξία παραγγελίας Πελάτης Άσκηση 3: βρείτε τα λάθη Επίπεδο 1 Επίπεδο 2 Α Γ Α Γ 1.1 Διαχείριση... 1.1.1... Ζ 1.2.1... Ε Δ Η Β Δ 1.1.2... Β1, Β2 22

Βρείτε τα λάθη εάν στο λεξικό δεδομένων υπάρχει η πληροφορία Β=Β1+Β2 Επίπεδο 1 Επίπεδο 2 Α Γ Α Γ 1.1 Διαχείριση... 1.1.1... Ζ 1.2.1... Ε Δ Η Β Δ 1.1.2... Β1, Β2 Έστω τα ακόλουθα ΔΡΔ επιπέδου 1, 2 και 3 αντίστοιχα (οι ονομασίες πηγών/αποδεκτών παραλείφθηκαν χωρίς αλλοίωση του πνεύματος του ερωτήματος). Στο επίπεδο 2 ο μετασχηματισμός P1 αναλύεται στους μετασχηματισμούς P1.1 και P1.2. Στο επίπεδο 3 ο μετασχηματισμός P1.2 αναλύεται στους μετασχηματισμούς P1.2.1 και P1.2.2. Παρακάτω παρατίθενται τέσσερις πιθανές επιλογές για τη συμπλήρωση των δεδομένων στις ροές που δεν κατονομάζονται. Ποια/ες από αυτές τις επιλογές ευσταθεί/ούν; Σε κάθε απάντηση, θεωρείστε ότι το πρώτο όνομα(δεδομένο) αντιστοιχεί στη ροή (1), το δεύτερο στη (2), κ.ο.κ. Επίπεδο 1 Επίπεδο 2 Επίπεδο 3 A Β Δ P 1 Γ P 1.1 P 1.2.1 Β (2) (6) (1) P 1.2 (3) (4) P 1.2.2 (5) A) Α, Δ, Γ, Α, Γ, Ε B) Α, Ζ, Γ, Α, Γ, Ε Γ) Β, Δ, Γ, Β, Γ, Ε Δ) Α, Δ, Γ, Α, Γ, Ζ 23

Έστω τα ακόλουθα ΔΡΔ επιπέδου 1, 2 και 3 αντίστοιχα (οι ονομασίες πηγών/αποδεκτών παραλείφθηκαν χωρίς αλλοίωση του πνεύματος του ερωτήματος). Στο επίπεδο 2 ο μετασχηματισμός P1 αναλύεται στους μετασχηματισμούς P1.1 και P1.2. Στο επίπεδο 3 ο μετασχηματισμός P1.2 αναλύεται στους μετασχηματισμούς P1.2.1 και P1.2.2. Παρακάτω παρατίθενται τέσσερις πιθανές επιλογές για τη συμπλήρωση των δεδομένων στις ροές που δεν κατονομάζονται. Ποια/ες από αυτές τις επιλογές ευσταθεί/ούν; Σε κάθε απάντηση, θεωρείστε ότι το πρώτο όνομα(δεδομένο) αντιστοιχεί στη ροή (1), το δεύτερο στη (2), κ.ο.κ. Επίπεδο 1 Επίπεδο 2 Επίπεδο 3 A Β Δ P 1 Γ P 1.1 P 1.2.1 Β (2) (6) (1) P 1.2 (3) (4) P 1.2.2 (5) A) Α, Δ, Γ, Α, Γ, Ε B) Α, Ζ, Γ, Α, Γ, Ε Γ) Β, Δ, Γ, Β, Γ, Ε Δ) Α, Δ, Γ, Α, Γ, Ζ Έστω το ακόλουθο απόσπασμα ΔΡΔ σε τρεις πιθανές εκδόσεις του. Ποια/ες από αυτές αποτυπώνει/ουν ορθά την προδιαγραφή: «η εφαρμογή λαμβάνει σαν είσοδο τον κωδικό του πελάτη και αναζητά με βάση αυτόν τα στοιχεία του στην αποθήκη πελατών»; [εάν υποτεθεί επιπλέον ότι στο λεξικό δεδομένων υπάρχει η πληροφορία «στοιχεία πελάτη = ΑΔΤ+κωδικός+όνομα»] ΣΗΜΕΙΩΣΗ τα παρακάτω αποσπάσματα ΔΡΔ εστιάζουν στη συγκεκριμένη προδιαγραφή και δεν απεικονίζουν τις υπόλοιπες ροές δεδομένων που αλληλοεπιδρούν με τον Μ1 (επομένως ειδικά για τα ΔΡΔ Β και Γ που φαίνεται να έχουν μόνο ροές εισόδου, δεν ισχύει, υπάρχουν και ροές εξόδου τις οποίες όμως δεν απεικονίζουμε). κωδικός κωδικός κωδικός Μ1 Μ1 Μ1 στοιχεία πελάτη κωδικός ΑΔΤ, κωδικός στοιχεία πελάτη Α πελάτες Β πελάτες Γ πελάτες Α) H έκδοση Α Β) Η έκδοση Β Γ) Η έκδοση Γ Δ) Κανένα από τα παραπάνω 24

Έστω το ακόλουθο απόσπασμα ΔΡΔ σε τρεις πιθανές εκδόσεις του. Ποια/ες από αυτές αποτυπώνει/ουν ορθά την προδιαγραφή: «η εφαρμογή λαμβάνει σαν είσοδο τον κωδικό του πελάτη και αναζητά με βάση αυτόν τα στοιχεία του στην αποθήκη πελατών»; [εάν υποτεθεί επιπλέον ότι στο λεξικό δεδομένων υπάρχει η πληροφορία «στοιχεία πελάτη = ΑΔΤ+κωδικός+όνομα»] κωδικός κωδικός κωδικός Μ1 Μ1 Μ1 στοιχεία πελάτη κωδικός ΑΔΤ, κωδικός στοιχεία πελάτη Α πελάτες Β πελάτες Γ πελάτες Α) H έκδοση Α Β) Η έκδοση Β Γ) Η έκδοση Γ Δ) Κανένα από τα παραπάνω Δημιουργία ΔΡΔ Το σύστημα LOAN θα αυτοματοποιεί την παραλαβή και αξιολόγηση των αιτήσεων για στεγαστικά δάνεια στην Τράπεζα X. Οι πελάτες της Τράπεζας μέσω του διαδικτύου θα μπορούν να εισάγουν μια αίτηση για στεγαστικό δάνειο αναφέροντας τον ΑΦΜ τους, το ονοματεπώνυμό τους, το ποσό του δανείου, τους επιθυμητούς μήνες αποπληρωμής και το email τους. Το σύστημα ελέγχει αν υπάρχει ήδη αίτηση με τον ίδιο ΑΦΜ. Αν δεν υπάρχει, τότε εισάγει την αίτηση στην αποθήκη και δίνει ένα μήνυμα επιτυχούς καταχώρησης της αίτησης στον πελάτη. Σε περίπτωση που υπάρχει ήδη αίτηση στο σύστημα, το σύστημα απαντά με ένα μήνυμα ανεπιτυχούς καταχώρησης. Η αίτηση αποθηκεύεται σε μια αποθήκη έχοντας την τιμή «εκκρεμής» στο πεδίο επεξεργασία. 25

Δημιουργία ΔΡΔ Ο υπάλληλος της Τράπεζας καθημερινά δίνει την εντολή για την έναρξη των αξιολογήσεων των αιτήσεων. Τα στοιχεία κάθε μιας αίτησης που είναι εκκρεμής διαβάζονται από το σύστημα και στη συνέχεια αυτό επικοινωνεί με την εφαρμογή Τειρεσίας στέλνοντας τον ΑΦΜ του πελάτη. Η εφαρμογή Τειρεσίας απαντά με ένα χαρακτηρισμό της αξιοπιστίας του πελάτη (αξιόπιστος ή μη αξιόπιστος). Ανάλογα με το χαρακτηρισμό του Τειρεσία η αίτηση χαρακτηρίζεται ως «αξιόπιστη» ή «μη αξιόπιστη» ενώ το πεδίο επεξεργασία ενημερώνεται με την τιμή «αξιολογημένη». Μόλις το σύστημα αξιολογήσει όλες τις αιτήσεις στέλνει email στον υπάλληλο της τράπεζας και τότε αυτός δίνει εντολή στο σύστημα να αποστείλει το αποτέλεσμα της αξιολόγησης με email στην email διεύθυνση του κάθε πελάτη. Με την αποστολή το πεδίο επεξεργασία αλλάζει σε «απεσταλμένη». Μοντέλα Παράστασης Λογισμικού ΛΕΞΙΚΟ ΔΕΔΟΜΕΝΩΝ ΔΙΑΓΡΑΜΜΑ ΜΕΤΑΒΑΣΗΣ ΚΑΤΑΣΤΑΣΕΩΝ 26

Διάγραμμα Οντοτήτων-Συσχετίσεων Είναι περιγραφή της συσχέτισης μεταξύ των δεδομένων που χειρίζεται η εφαρμογή λογισμικού Σύμφωνα με το σχεσιακό μοντέλο δεδομένων Ιδιαίτερη γνωστική περιοχή των Βάσεων Δεδομένων Οντότητες Οντότητα σύνολο από αντικείμενα, πρόσωπα ή γεγονότα του πραγματικού κόσμου που βρίσκονται εντός του πεδίου ενδιαφέροντος της εφαρμογής λογισμικού που κατασκευάζεται Κάθε οντότητα χαρακτηρίζεται από ένα σύνολο στοιχείων, τα κατηγορήματα-πεδία Το σύνολο των πεδίων που αφορούν μία συγκεκριμένη οντότητα ονομάζεται εγγραφή Το σύνολο των εγγραφών αποθηκεύεται με τη βοήθεια ενός πίνακα Π.χ. οντότητα «Καθηγητής» με πεδία: «Αρ. Ταυτότητας», «Όνομα», «Επώνυμο», «Διεύθυνση», «Τηλέφωνο» 27

Συσχετίσεις Συσχέτιση αντιστοίχιση μεταξύ διαφορετικών οντοτήτων Π.χ. «Διδάσκει»: συσχέτιση μεταξύ των οντοτήτων «Καθηγητής» και «Μάθημα» Επιπλέον της ύπαρξης της συσχέτισης ενδιαφέρει ο ποσοτικός της χαρακτήρας το πλήθος των μελών (εγγραφών) της μιας οντότητας που μπορούν να συσχετίζονται με τα μέλη (εγγραφές) μιας άλλης Συσχετίσεις Η συσχέτιση «ένα προς ένα (1:1)» - ένα μέλος του πληθυσμού μιας οντότητας Α συσχετίζεται με / αντιστοιχεί σε ακριβώς ένα μέλος του πληθυσμού μιας οντότητας Β. Η συσχέτιση «ένα προς πολλά (1:Ν)» - ένα μέλος του πληθυσμού μιας οντότητας Α συσχετίζεται με / αντιστοιχεί σε τουλάχιστον ένα μέλος του πληθυσμού μιας οντότητας Β. Η συσχέτιση «πολλά προς πολλά (Μ:Ν)» - ένα ή περισσσότερα μέλη του πληθυσμού μιας οντότητας Α συσχετίζονται με / αντιστοιχούν σε ένα ή περισσότερα μέλη του πληθυσμού μιας οντότητας Β. 28

Συμβολισμοί ΔΟΣ Οντότητα δεδομένων Όνομα οντότητας Συσχέτιση μεταξύ οντοτήτων Ρήμα συσχέτισης Ορισμός πολλαπλότητας συσχέτισης 1 Ν 1 Ν Παράδειγμα 1 Ν ΚΑΘΗΓΗΤΗΣ ΔΙΔΑΣΚΕΙ ΜΑΘΗΜΑ Κάθε καθηγητής διδάσκει πολλά μαθήματα Κάθε μάθημα διδάσκεται από ένα μόνο καθηγητή 29

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

Διάγραμμα μετάβασης καταστάσεων Περιγράφει τη δυναμική συμπεριφορά του λογισμικού, δηλ. τη χρονική σειρά εκτέλεσης των εργασιών ανάλογα με εξωτερικά γεγονότα Γεγονός (event): μια στιγμιαία μεταβολή στο περιβάλλον λειτουργίας του λογισμικού, η οποία προκαλείται από εξωτερικούς παράγοντες (χρήστες, λειτουργικό σύστημα, άλλες εφαρμογές λογισμικού) Απόκριση (response): μια λειτουργία που εκτελεί το λογισμικό όταν προκαλείται ένα γεγονός Κατάσταση (state): όταν το λογισμικό αναμένει γεγονότα, τότε λέμε ότι βρίσκεται σε μια κατάσταση Με τη λήξη ενός γεγονότος, το λογισμικό μπορεί να εκτελεί μια λειτουργία και να μεταβαίνει σε άλλη κατάσταση Διάγραμμα μετάβασης καταστάσεων Σε κάθε κατάσταση είναι καθορισμένα τα γεγονότα τα οποία μπορούν να προκαλέσουν μετάβαση Πρέπει να είναι σαφές ποιο γεγονός προκαλεί μετάβαση σε ποια νέα κατάσταση, καθώς και το ποια λειτουργία εκτελείται Υπάρχουν οι καταστάσεις έναρξης και τέλους 31

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

Παράδειγμα: διαχείριση εγγραφών ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΠΙΛΕΓΜΕΝΟ ΑΙΤΗΣΗ ΕΓΓΡΑΦΗΣ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΑΠΟΡΡΙΦΘΕΝ ΑΙΤΟΥΜΕΝΟ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΓΚΡΙΣΗ ΕΓΚΕΚΡΙΜΕΝΟ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ Παράδειγμα Ζητείται να κατασκευαστεί το διάγραμμα μετάβασης κατάστασης (ΔΜΚ) που αναφέρεται στην οντότητα ΑΥΤΟΚΙΝΗΤΟ που να περιγράφει τη διαδικασία από τη φάση της παραγγελίας ενός αυτοκινήτου έως τη φάση της παράδοσής του 33

Προδιαγραφή (1) Αρχικά το αυτοκίνητο γίνεται παραγγελία από τον πελάτη και έτσι το αυτοκίνητο βρίσκεται στην κατάσταση υπό παραγγελία. Στη συνέχεια ξεκινά η εκτέλεση της παραγγελίας και το αυτοκίνητο περνά στην κατάσταση υπό παραγωγή. Σε περίπτωση όμως που ο πελάτης ζητήσει την ακύρωση της παραγγελίας τότε σταματά η διαδικασία της παραγγελίας. Προδιαγραφή (2) Με την ολοκλήρωση της παραγωγής το αυτοκίνητο περνά στη φάση της μεταφοράς, δηλαδή στην κατάσταση σε μεταφορά. Με την ολοκλήρωση της μεταφοράς το αυτοκίνητο βρίσκεται στην κατάσταση παραδοτέο. Ακολουθεί η ενημέρωση του πελάτη και σταματά η διαδικασία της παραγγελίας. 34

Αναζήτηση καταστάσεων, γεγονότων (1) Αρχικά το αυτοκίνητο γίνεται παραγγελία από τον πελάτη και έτσι το αυτοκίνητο βρίσκεται στην κατάσταση υπό παραγγελία. Στη συνέχεια ξεκινά η εκτέλεση της παραγγελίας και το αυτοκίνητο περνά στην κατάσταση υπό παραγωγή. Σε περίπτωση όμως που ο πελάτης ζητήσει την ακύρωση της παραγγελίας τότε σταματά η διαδικασία της παραγγελίας. Αναζήτηση καταστάσεων, γεγονότων (2) Με την ολοκλήρωση της παραγωγής το αυτοκίνητο περνά στη φάση της μεταφοράς, δηλαδή στην κατάσταση σε μεταφορά. Με την ολοκλήρωση της μεταφοράς το αυτοκίνητο βρίσκεται στην κατάσταση παραδοτέο. Ακολουθεί η ενημέρωση του πελάτη και σταματά η διαδικασία της παραγγελίας. 35

Αναζήτηση καταστάσεων, γεγονότων (3) Καταστάσεις 01 Υπό παραγγελία 02 Υπό παραγωγή 03 Σε μεταφορά 04 Παραδοτέο Γεγονότα Παραγγελία αυτοκινήτου Έναρξη κατασκευής Ακύρωση παραγγελίας Ολοκλήρωση κατασκευής Ολοκλήρωση μεταφοράς Ενημέρωση πελάτη Διασύνδεση καταστάσεων - γεγονότων Παραγγελία αυτοκινήτου 01 Υπό παραγγελία Έναρξη κατασκευής Ακύρωση παραγγελίας Ολοκλήρωση κατασκευής 02 Υπό παραγωγή 03 Σε μεταφορά Ενημέρωση πελάτη Ολοκλήρωση μεταφοράς 04 Παραδοτέο 36

Άσκηση: βρείτε τα λάθη Παραγγελία αυτοκινήτου 01 Κάνε αίτηση παραγγελίας Έναρξη κατασκευής Ακυρωμένο αυτοκίνητο 02 Υπό παραγωγή 03 Παραγγελία σε μεταφορά Ολοκλήρωση μεταφοράς Ολοκλήρωση κατασκευής 04 Παραδοτέο Ενημέρωση πελάτη Άσκηση 1 Σε περίπτωση που μπορεί να ακυρωθεί η παραγγελία κατά τη φάση της παραγωγής τι τροποποίηση πρέπει να γίνει στο ΔΜΚ; Παραγγελία αυτοκινήτου 03 Σε μεταφορά 01 Υπό παραγγελία Ολοκλήρωση κατασκευής Ολοκλήρωση μεταφοράς Έναρξη κατασκευής 02 Υπό παραγωγή Ακύρωση παραγγελίας 04 Παραδοτέο Ενημέρωση πελάτη 37

Άσκηση 2 Ανάμεσα στη μεταφορά και την παράδοση προηγείται η εκτελώνιση. Τι τροποποίηση πρέπει να γίνει στο ΔΜΚ; Παραγγελία αυτοκινήτου 03 Σε μεταφορά 01 Υπό παραγγελία Ολοκλήρωση κατασκευής Ολοκλήρωση μεταφοράς Έναρξη κατασκευής 02 Υπό παραγωγή Ακύρωση παραγγελίας 04 Παραδοτέο Ακύρωση παραγγελίας Ενημέρωση πελάτη 05 Σε αναμονή εκτελώνισης Εκτελωνισμός Μέχρι τώρα... Λειτουργίες, δεδομένα, έλεγχος περιγράφονται στα: Διαγράμματα Ροής Δεδομένων Διαγράμματα Οντοτήτων Συσχετίσεων Διαγράμματα Μετάβασης Καταστάσεων Τα περιεχόμενα πρέπει να είναι συνεπή μεταξύ τους ΑΡΑ Λεξικό Δεδομένων!!! 38

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

Λεξικό δεδομένων Συνήθως πίνακας που περιλαμβάνει τα παρακάτω πεδία Ονομασία: το κύριο αναγνωριστικό της οντότητας, διαδικασίες ή ροής δεδομένων Βοηθητικές ονομασίες: Δευτερεύουσες ονομασίες που χρησιμοποιούνται χάριν συντομίας ή ισοδύναμα Πού χρησιμοποιείται: αναφορά στους μετασχηματισμούς, οντότητες κτλ. που χρησιμοποιούν το εν λόγω στοιχείο Πώς χρησιμοποιείται: αναφορά στον τρόπο με τον οποίο χρησιμοποιείται (ως στοιχείο εισόδου, ως αποτέλεσμα, κα) Τι περιέχει: περιγραφή του είδους και της μορφής της πληροφορίας που αποθηκεύεται σε αυτό Όρια τιμών: καθορισμός των επιτρεπτών τιμών που μπορεί να πάρει αν απαιτείται Αρχική τιμή: καθορισμός της αρχικής τιμής του στοιχείου (αν απαιτείται) Λοιπά στοιχεία / συμπληρωματική πληροφορία: υπόλοιπες χρήσιμες πληροφορίες Λεξικό δεδομένων Η κατασκευή του λεξικού δεδομένων γίνεται παράλληλα με την κατασκευή των μοντέλων παράστασης λογισμικού Με την πρώτη εμφάνιση ενός στοιχείου δεδομένων, αυτό εισάγεται στο λεξικό και χαρακτηρίζεται όσο πληρέστερα γίνεται. Ο χαρακτηρισμός του ολοκληρώνεται καθώς προχωρά η ανάπτυξη. Συνήθως χρησιμοποιούνται εργαλεία υποστήριξης ανάπτυξης λογισμικού (CASE) για τη δημιουργία του λεξικού δεδομένων 40

Τμήμα λεξικού δεδομένων παραδείγματος ΟΝΟΜΑΣΙΑ ΑΛΛΕΣ ΠΟΥ ΠΩΣ ΠΕΡΙΕΧΟΜΕΝΑ ΟΝΟΜΑΣΙΕΣ ΚΑΘΗΓΗΤΗΣ ΚΑΘ. Βάση Δεδομένων Πίνακας της ΒΔ Εγγραφές καθηγητών ΜΑΘΗΜΑ ΜΑΘ. Βάση Δεδομένων Πίνακας της ΒΔ Εγγραφές μαθημάτων ΒΑΘΜΟΛΟΓΙΑ ΒΑΘΜ. Βάση Δεδομένων Πίνακας της ΒΔ Εγγραφές βαθμολογ. ΦΟΙΤΗΤΗΣ ΦΟΙΤ. Βάση Δεδομένων Πίνακας της ΒΔ Εγγραφές φοιτητών Αρ.Ταυτότητας Α.Τ. Πίνακας «Καθηγητής» Πεδίο Πεδίο 7 χαρακτήρων Όνομα ΟΝ. Πίνακας «Καθηγητής» Πεδίο Πεδίο 25 χαρακτήρων Αρ.Ταυτότητας Α.Τ.Φ. Πίνακας «Φοιτητής» Πεδίο Πεδίο 7 χαρακτήρων Όνομα ΟΝ. Φ. Πίνακας «Φοιτητής» Πεδίο Πεδίο 25 χαρακτήρων Κωδικός Κ.Μ. Πίνακας «Μάθημα» Πεδίο Πεδίο 10 ψηφίων Ημερ/νία ΗΜ.ΕΞ. Πίνακας «Βαθμολογία» Πεδίο Πεδίο ημερομηνίας εξέτασης (ΗΗ/ΜΜ/ΕΕΕΕ) Βαθμός ΒΑΘΜ. Πίνακας «Βαθμολογία» Πεδίο Αριθμητικό πεδίο Συνοψίζοντας... Προσέγγιση «δοµηµένης ανάλυσης» και µέσα καταγραφής απαιτήσεων από το λογισµικό «Έγγραφο προδιαγραφών των απαιτήσεων» και Διαγράµµατα «ροής δεδοµένων», «οντοτήτωνσυσχετίσεων», «µετάβασης καταστάσεων» και «λεξικό δεδοµένων» - Συμπληρωματικά! Χρήσιµα µέσα, σε συνδυασµό µε τα κατάλληλα εργαλεία ανάπτυξης λογισµικού, µπορούν να βοηθήσουν τον κατασκευαστή να περιγράψει ικανοποιητικά το λογισµικό που κατασκευάζει ΑΚΟΜΗ όμως πολλά προβλήµατα - προβλήµατα επικοινωνίας, προτύπων, γλώσσας, αλλά και οικονοµικά. 41

Πηγές, Acknowledgement Β. Βεσκούκης «Τεχνολογία Λογισμικού Ι», ΕΑΠ, ΠΑΤΡΑ, 2000 ΙΕΕΕ Guide to Software Requirements Specification, ANSI/IEEE, Std 830-1993, 1984 S. L. Pfleeger, «Τεχνολογία Λογισμικού Θεωρία και πράξη», 2η έκδοση (μετάφραση, εκδ. Κλειδάριθμος) 42