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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΉΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ: ΣΥΣΤΗΜΑ ONLINE ΑΞΙΟΛΟΓΗΣΗΣ ΚΑΘΗΓΗΤΩΝ/ Ι ΑΣΚΟΝΤΩΝ

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α. ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη

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

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

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

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

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

Α ΤΑΞΗ. 1 η ΕΝΟΤΗΤΑ: Γνωρίζω τον υπολογιστή. Θα παρουσιαστεί µε τρόπο απλό και κατανοητό,

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

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

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

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

Ειδικότητα: Ύφασµα Ένδυση

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

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

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

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

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

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

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

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

ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ

Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως:

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

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

CARDISOFT. User Guide. ClassWeb VERSION 1.1. [February] [2007] Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού

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

Μέθοδος Επιλογής ιαδικασιών (Process Decision Program Chart)

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

Rational Unified Process:

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

Αντικειµενοστρεφής ανάλυση και σχεδίαση

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

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

Σχεδιασμός Επεξεργασίας και Τηλεπεξεργασίας

Βασικές τεχνικές στατιστικού ελέγχου ποιότητας

ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ Αθήνα 18/ 10/ 2001

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG

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

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

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

Η εφαρµογή ΕΦ.Υ.Ε.Σ. (ΕΦαρµογή Υποστήριξης Έρευνας Στατιστικής, άλφα έκδοση) και η ένταξή της στη διδασκαλία της Φυσικής Γυµνασίου - Λυκείου

Συστήµατος Συσκευασίας Φακέλων Τσαγιού

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΟΙΚΗΣΗΣ

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

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Περιγραφή Μαθήματος. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

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

Ειδικότητα: Ύφασµα Ένδυση

Πληροφοριακά Συστήµατα & Επιχειρήσεις

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

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape

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

ΠΑΡΑΡΤΗΜΑ II. Εσωτερική Αξιολόγηση. του Τµήµατος ιαχείρισης Πληροφοριών

Θέµα ιερεύνησης: Ο καιρός

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

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

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

Σχολή Πολιτικών Μηχανικών

Βάσεις εδοµένων Βασίλειος Βεσκούκης Κανονικοποίηση σχήµατος Β Σύνοψη

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

Certified Project Manager in Information Technology (CPMIT)

Παντελάκης Χρηματιστηριακή Α.Ε.Π.Ε.Υ. Trade Direct Manual

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΑ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. έσποινα Τσοµπανούδη, Α.Μ.

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

ΕΝΩΣΗ ΕΛΛΗΝΩΝ ΦΥΣΙΚΩΝ. Επιµορφωτικό Σεµινάριο

Πρώτες ύλες. Πιθανοί κίνδυνοι σε όλα τα στάδια της παραγωγής. Καθορισµός πιθανότητας επιβίωσης µικροοργανισµών. Εκτίµηση επικινδυνότητας

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

Ειδικότητα: Ύφασµα Ένδυση

e-κπαίδευση Πλατφόρµα Ασύγχρονης Τηλε-κπαίδευσης Οδηγίες χρήσης για τους σπουδαστές του ΤΕΙ Αθήνας και τους επισκέπτες της δικτυακής πύλης e-κπαίδευση

Μέγιστη τιμή Οι στόχοι του μαθήματος είναι σαφείς ,18 0, ,5 4,31 0, ,29 0, ,82 1, ,71 1,27 1 5

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Transcript:

Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων Τεχνολογία Λογισµικού (software engineering) Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@unipi.gr v.vescoukis@cs.ntua.gr ιαλέξεις,, εργαστήριο, σηµειώσεις! ιαλέξεις " Τρίτη 10.00 12.00, παλαιό κτίριο, αίθουσα 401 " Πέµπτη 8.15 10.00, παλαιό κτίριο, αίθουσα 202! Εργαστήριο " Σε ώρες που θα ανακοινωθούν, στο εργαστήριο του τµήµατος! ιάρκεια µαθήµατος " 13 εβδοµάδες! Σηµειώσεις " CD µε την έναρξη των µαθηµάτων και σηµειώσεις µετά από ανακοίνωση " Επιπλέον βιβλιογραφία 1

Απαιτήσεις! Καλή γνώση αρχών προγραµµατισµού! Ικανοποιητική γνώση µιας τουλάχιστον γλώσσας προγραµµατισµού " C, Pascal, Java, C++! υνατότητα χρήσης Η/Υ " Επεξεργαστής κειµένου (π.χ. MS Word) " Σχεδιαστικό πρόγραµµα (π.χ. Visio) " Χρήση περιβάλλοντος ανάπτυξης µιας γλώσσας προγραµµατισµού! Πρόσβαση στο Internet! Κριτική και συνθετική ικανότητα Σκοπός του µαθήµατος! Ηγνωριµία µε την επιστηµονική περιοχή της Τεχνολογίας Λογισµικού.! Η παρουσίαση γνωστών µοντέλων κύκλου ζωής λογισµικού.! Η εξοικείωση µε τεχνικές δοµηµένης ανάλυσης και σχεδίασης λογισµικού.! Η εξοικείωση µε τη χρήση των προτύπων τεκµηρίωσης λογισµικού.! Η πρακτική εφαρµογή τεχνικών δοµηµένης ανάλυσης και σχεδίασης, καθώς και χρήσης προτύπων, στην εκπόνηση ενός µικρού έργου λογισµικού. 2

Αντικείµενο του µαθήµατος! Ενότητες " Γνωριµία µε την Τεχνολογία Λογισµικού " Μοντέλα κύκλου ζωής λογισµικού " οµηµένη ανάλυση και σχεδίαση " Παραγωγή πηγαίου κώδικα " υναµικός έλεγχος " Εργαλεία CASE " ιοίκηση σχηµατισµών λογισµικού " ιασφάλιση ποιότητας λογισµικού! Ασκήσεις µελέτη περίπτωσης συζήτηση! Εξαµηνιαία εργασία Συµπληρωµατικότητα µαθήµατος! Με το µάθηµα «ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΣΧΕ ΙΑΣΜΟΣ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ»! ιότι " Η δοµηµένη ανάλυση και σχεδίαση είναι θεµελιώδη γνώση της Τεχνολογίας Λογισµικού και χρησιµοποιείται ευρέως. " Η αντικειµενοστρεφής (object-oriented) τεχνολογία είναι η επικρατούσα προσέγγιση ανάπτυξης λογισµικού.! Επίπεδα επαφής " Κοινά παραδείγµατα και µελέτη περίπτωσης. " Εκπόνηση εξαµηνιαίας εργασίας µε το ίδιο θέµα. 3

Εξετάσεις,, βαθµολογία! Αναλογία: " Γραπτές εξετάσεις: 70% " Εξαµηνιαία εργασία: 30%! Εξαµηνιαία εργασία: " Οµάδες 3-4 ατόµων " Εκπόνηση µικρών έργων λογισµικού " Στο µάθηµα Τεχνολογία Λογισµικού: προδιαγραφές, δοµηµένη ανάλυση και σχεδίαση " Στο µάθηµα Αντικειµενοστρεφής σχεδιασµός και προγραµµατισµός: αντικειµενοστρεφής ανάλυση και σχεδίαση Ερωτήσεις 4

Τι είναι Λογισµικό;! Προγράµµατα ηλεκτρονικού υπολογιστή! οµές δεδοµένων µε µόνιµη ή προσωρινή αποθήκευση! Τεκµηρίωση σχετικά µε τα παραπάνω Συστατικά λογισµικού εδοµένα Προγράµµατα Τεκµηρίωση Συστατικά Λογισµικού! Software components / elements / artifacts " Πηγαίος κώδικας " Προδιαγραφές, εκθέσεις, αναφορές, κείµενα γενικά " Σχέδια " ιαγράµµατα 5

Τεχνολογία λογισµικού:! Τεχνολογία: «Λόγος περί Τέχνης» Περιγραφή του τρόπου υλοποίησης τεχνικών κατασκευών, εν προκειµένω του Λογισµικού.! Λογισµικό και άλλες τεχνικές κατασκευές " Τεχνικές κατασκευές # Εχουν υλική υπόσταση # Περιγράφονται και γίνονται αντιληπτές µε µοναδικό τρόπο " Το Λογισµικό είναι µια ιδεατή οντότητα # Γίνεται αντιληπτό από τα αποτελέσµατα της χρήσης του # εν περιγράφεται εύκολα και µοναδικά Το λογισµικό στο περιβάλλον του ΕΥΡΥΤΕΡΟ ΠΕΡΙΒΑΛΛΟΝ ΧΡΗΣΗΣ ΛΟΓΙΣΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥ ΑΝΑΓΚΗ & ΣΥΛΛΗΨΗ ΛΟΓΙΣΜΙΚΟΥ ΠΕΡΙΓΡΑΦΗ ΛΟΓΙΣΜΙΚΟ ΣΧΕ ΙΑΣΗ ΘΕΜΑΤΙΚΟ ΠΕ ΙΟ ΛΟΓΙΣΜΙΚΟΥ ΥΛΟΠΟΙΗΣΗ ΕΠΗΡΡΕΑΖΕΙ ΕΞΕΛΙΞΗ 6

Η ανάγκη για «καλό λογισµικό»! Είναι αυτονόητη και επιτακτική διότι! Ο ρόλος των υπολογιστών... " Στην οικονοµία και την παραγωγή " Στην ενηµέρωση και την ψυχαγωγία " Στην εκπαίδευση και αλλού! εκπληρώνεται µόνο µε Λογισµικό το οποίο: " Κάνει σωστά τη δουλειά του, " παράγεται µε λογικό κόστος, " σε λογικό χρόνο, " και είναι καλής ποιότητας Αντικείµενο της τεχνολογίας λογισµικού είναι...! Ηεπιστηµονική θεµελίωση " Του κύκλου ζωής " Της διαδικασίας παραγωγής " Του τρόπου περιγραφής " Του τρόπου συντήρησης " Του οργανωτικού πλαισίου χρήσης! του Λογισµικού! Οι εργασίες αυτές είναι ιδιαίτερα δύσκολες: " Από τη φύση του Λογισµικού " Από την υπόστασή του ως προϊόντος 7

Κύκλος ζωής Λογισµικού! Οι φάσεις από τις οποίες διέρχεται µια εφαρµογή Λογισµικού " από την σύλληψή της " κατά την κατασκευή, χρήση, συντήρησή της " µέχρι την απόσυρσή της! Ενα µοντέλο κύκλου ζωής περιγράφει " Ποιες είναι αυτές οι φάσεις " Ποιες εργασίες γίνονται και ποια προϊόντα παράγονται σε καθεµία " Πώς διαδέχονται η µία την άλλη Παράσταση µοντέλων κύκλου ζωής! Με τη βοήθεια ενός διαγράµµατος δραστηριοτήτων " Μέσα σε ένα παραλληλόγραµµο περιέχεται ο τίτλος µιας εργασίας " Με βελάκια υποδηλώνεται η µετάβαση σε κάποια άλλη εργασία! Με λεπτοµερή τεκµηρίωση σε µορφή κειµένου! Με πρότυπα για την περιγραφή των συστατικών λογισµικού ΣΥΛΛΗΨΗ ΤΗΣ Ι ΕΑΣ ΕΠΙΛΟΓΗ ΜΙΑΣ ΛΥΣΗΣ ΚΑΤΑΣΚΕΥΗ ΛΟΓΙΣΜΙΚΟΥ ΕΓΚΑΤΑΣΤΑΣΗ ΚΑΙ ΧΡΗΣΗ 8

Χαρακτηριστικά µοντέλα κύκλου ζωής λογισµικού! Το µοντέλο του καταρράκτη! Το µοντέλο πρωτοτυποποίησης! Το µοντέλο λειτουργικής επαύξησης! Το σπειροειδές µοντέλο! Το µοντέλο του πίδακα! Ένα γενικό µοντέλο κύκλου ζωής Το µοντέλο του καταρράκτη " Ολόκληρη η εφαρµογή λογισµικού διέρχεται από διακριτές φάσεις ανάπτυξης. ΠΡΟ ΙΑΓΡΑΦΗ ΑΝΑΛΥΣΗ Απαιτήσεις από το Σύστηµα Επικύρωση Απαιτήσεις από το Λογισµικό Επικύρωση ΣΧΕ ΙΑΣΗ Προκαταρτική Σχεδίαση Επαλήθευση ΑΝΑΠΤΥΞΗ Λεπτοµερής Σχεδίαση Επαλήθευση Κωδικοποίηση Ελεγχος µονάδων ΚΩ ΙΚΟΠΟΙΗΣΗ Συνένωση Επαλήθευση ΕΠΑΛΗΘΕΥΣΗ Προλειτουργία - Ελεγχος Ελεγχος Συστήµατος ΕΞΕΛΙΞΗ Λειτουργία - Συντήρηση Επανεπικύρωση 9

Το µοντέλο πρωτοτυποποίησης " Κατασκευάζονται διαδοχικά πρωτότυπα µε ολοένα και περισσότερα χαρακτηριστικά. ΑΠΑΙΤΗΣΕΙΣ ΑΠΟ ΤΟ ΣΥΣΤΗΜΑ ΠΛΑΝΟ ΑΝΑΠΤΥΞΗΣ ΚΑΤΑΣΚΕΥΗ ΠΡΩΤΟΤΥΠΟΥ ΑΝΑΛΥΣΗ ΣΧΕ ΙΑΣΗ ΚΩ ΙΚΟΠΟΙΗΣΗ ΕΛΕΓΧΟΣ ΟΧΙ ΑΠΟ ΕΚΤΟ ΟΚΙΜΑΣΤΙΚΗ ΧΡΗΣΗ ΠΡΩΤΟΤΥΠΟ ΑΠΟ ΕΚΤΟ ΠΛΗΡΕΣ ΣΥΣΤΗΜΑ Το µοντέλο λειτουργικής επαύξησης " Κατάτµηση του λογισµικού και εφαρµογή του µοντέλου του καταρράκτη σε κάθε τµήµα. " Συνένωση στο τέλος. τµήµα 1 ΑΝΑΛΥΣΗ ΣΧΕ ΙΑΣΗ ΚΩ ΙΚΟΠΟΙΗΣΗ ΕΛΕΓΧΟΣ Ολοκλήρωση τµήµα 2 Ολοκλήρωση και ΑΝΑΛΥΣΗ ΣΧΕ ΙΑΣΗ ΚΩ ΙΚΟΠΟΙΗΣΗ ΕΛΕΓΧΟΣ ενσωµάτωση τµήµα 3 Ολοκλήρωση και ΑΝΑΛΥΣΗ ΣΧΕ ΙΑΣΗ ΚΩ ΙΚΟΠΟΙΗΣΗ ΕΛΕΓΧΟΣ ενσωµάτωση... τµήµα ν ΑΝΑΛΥΣΗ ΣΧΕ ΙΑΣΗ ΚΩ ΙΚΟΠΟΙΗΣΗ ΕΛΕΓΧΟΣ Ολοκλήρωση και ενσωµάτωση ΧΡΟΝΟΣ 10

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

Ένα γενικό µοντέλο κύκλου ζωής " Ανάπτυξη σε κύκλους σύµφωνα µε τα χαρακτηριστικά και τις δυνατότητες του κατασκευαστή. ΣΥΛΛΗΨΗ ΚΑΙ ΕΠΙΛΟΓΗ ΛΥΣΗΣ ΚΑΤΑΣΚΕΥΗ ΧΡΗΣΗ " Γενικευµένη µορφή των προηγούµενων µοντέλων κύκλου ζωής. ΚΥΚΛΟΣ ΑΝΑΠΤΥΞΗΣ 1 ΚΥΚΛΟΣ ΑΝΑΠΤΥΞΗΣ 2... ΚΥΚΛΟΣ ΑΝΑΠΤΥΞΗΣ Ν ΠΛΑΝΟ ΕΡΓΑΣΙΩΝ ΑΝΑΛΥΣΗ ΣΧΕ ΙΑΣΗ ΥΛΟΠΟΙΗΣΗ ΕΛΕΓΧΟΣ Σύγκριση µοντέλων κύκλου ζωής λογισµικού Μοντέλο Μέγεθος εφαρµογών Μεταβολές στις απαιτήσεις Προσαρµοστικότητα στον κατασκευαστή ιάδοση Καταρράκτη Μικρό έως µεσαίο Ανεπιθύµητες Καµία Μεγάλη µε τάση µείωσης Πρωτοτυποποίησης Μικρό ως µεσαίο εκτές Μικρή Μικρή µε τάση αύξησης Λειτουργικής επαύξησης Μεσαίο ως µεγάλο Ανεπιθύµητες Καµία Μικρή µε τάση µείωσης Σπειροειδές Μεσαίο ως µεγάλο εκτές Αρκετή Μικρή µε τάση µείωσης Πίδακα Οποιοδήποτε εκτές Αρκετή Μικρή Γενικό Οποιοδήποτε εκτές Μεγάλη Μικρή µε ισχυρές τάσεις αύξησης 12

Περιγραφή εργασιών και συστατικών στοιχείων λογισµικού " ιαδοχικά επίπεδα λεπτοµέρειας, ανάλογα µε το σηµείο εστίασης της προσοχής του παρατηρητή. Καθολικό ΦΑΣΗ ΙΑ ΙΚΑΣΙΑ ΠΡΟΙΟΝ Εποπτικό Αναλυτική περιγραφή διαδικασίας Αναλυτική περιγραφή προϊόντος Ατοµικό Περιγραφή εργασιών και συστατικών στοιχείων λογισµικού " ιαδοχικά επίπεδα λεπτοµέρειας, ανάλογα µε το σηµείο εστίασης της προσοχής του παρατηρητή. ΚΑΘΟΛΙΚΟ Συνθήκες Κατάσταση εισόδου εισόδου Συνθήκες ΥΠΟ- ΕΠΟΠΤΙΚΟ εισόδου Συνθήκες ΕΡΓΑΣΙΑ υπο-εργασίας εισόδου Συνθήκες ΕΡΓΑΣΙΑ εξόδου Κατάσταση εξόδου ΠΑΡΑΓΟΜΕΝΑ Συνθήκες ΣΥΣΤΑΤΙΚΑ εξόδου ΛΟΓΙΣΜΙΚΟΥ υπο-εργασίας Συνθήκες εξόδου ανατροφοδό -τηση Εποπτεία ανατροφοδό -τηση Εποπτεία ΑΤΟΜΙΚΟ Συνθήκες εισόδου Συνθήκες εισόδου υπο-εργασίας ΥΠΟ- ΕΡΓΑΣΙΑ ΠΑΡΑΓΟΜΕΝΑ ΣΥΣΤΑΤΙΚΑ ΛΟΓΙΣΜΙΚΟΥ Συνθήκες εξόδου υπο-εργασίας Συνθήκες εξόδου ανατροφοδό -τηση ραστηριότητα 1... ραστηριότητα ν Συστατικό 1 Συστατικό 2 ΣΕ.1 ΣΕ.2 ανατροφοδό -τηση Συστατικό ν ΣΕ.κ 13

Περιγραφή συστατικών στοιχείων λογισµικού! Μοντέλα, δηλαδή αναπαραστάσεις κάποιων χαρακτηριστικών του λογισµικού " Αφαιρετικά, δηλαδή δεν περιέχουν όλες τις λεπτοµέρειες " Συµπληρωµατικά, δηλαδή πολλά µαζί περιγράφουν πλήρως το λογισµικό " Υλοποιήσιµα, δηλαδή µπορούν να καθοδηγούν την κατασκευή λογισµικού! οµηµένο κείµενο (πρότυπα)! Συµβολισµοί " ιαγράµµατα " Αλλοι τρόποι (π.χ. ψευδοκώδικας) Προβλήµατα στην περιγραφή στοιχείων λογισµικού! Οι συµβολισµοί και οι ορισµοί είναι " Μη καθολικά αποδεκτοί " Αντιληπτοί µε διφορούµενα " Με πλουραλισµό διατυπώσεων! Ανάγκη για Πρότυπα " Παρέχουν τη δοµή της περιγραφής του Λογισµικού " Εξασφαλίζουν µια ελάχιστη πειθαρχία " Αποτελούν ένα κοινό σηµείο αναφοράς των κατασκευαστών! Το πρόβληµα των οργανισµών τυποποίησης " IEEE, ACM, OMG, κ.ά. 14

Συζήτηση Προδιαγραφή απαιτήσεων! Το πρώτο βήµα στην ανάπτυξη λογισµικού! ιάκριση απαιτήσεων " Από το σύστηµα " Από το λογισµικό! Απαίτηση από το σύστηµα: Μηχανές ("κλασσικές µηχανές") Ανθρωποι Ανθρωποι Μηχανές ("κλασσικές µηχανές", Η/Υ) Λογισµικό " Η περιγραφή µιας εργασίας που θα πρέπει να εκτελείται από κάποια συνιστώσα ενός συστήµατος ή ενός χαρακτηριστικού το οποίο θα πρέπει να έχει ένα σύστηµα.! Απαίτηση από το λογισµικό: " Μια λειτουργία που το λογισµικό θα πρέπει να εκτελεί ή µια συνθήκη που θα πρέπει να ικανοποιείται όταν θα έχει ολοκληρωθεί η κατασκευή του. 15

Ταξινόµηση απαιτήσεων από το λογισµικό! Λειτουργικές απαιτήσεις " Εργασίες (λειτουργίες) που πρέπει να εκτελεί το λογισµικό Λειτουργικές Απαιτήσεις από το λογισµικό Μη-λειτουργικές! Μη-λειτουργικές απαιτήσεις Χρήσης " Χαρακτηριστικά που πρέπει να έχει το λογισµικό Αξιοπιστίας Επιδόσεων Υποστήριξης Υλοποίησης Επικοινωνίας Φυσικές Βάσεων εδοµένων Σχεδίασης Επεξεργασία απαιτήσεων από το λογισµικό! (Requirements engineering) Μελέτη προβλήµατος Ανάλυση απαιτήσεων Προδιαγραφή απαιτήσεων Απαιτήσεις από το σύστηµα / ανάγκες του πελάτη Μοντέλα περιγραφής λογισµικού Ταυτότητα και περιγραφή απαιτήσεων Συµβολισµοί: Προϊόν Εργασία Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό 16

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

Μελέτη περίπτωσης 1. Ο "ΕΠΙΚΟΥΡΟΣ" θα τρέχει σε αυτόνοµο υπολογιστή κάτω από το λειτουργικό σύστηµα Windows 9x - 32 bit (95, 98, NT, 2000). εν απαιτείται σύνδεση σε δίκτυο. 2. Ζητείται η τήρηση αρχείων µαθητών, καθηγητών και µαθηµάτων. 3. Κάθε µάθηµα διδάσκεται από έναν καθηγητή σε κάθε ακαδηµαϊκό έτος. 4. Κάθε σπουδαστής µπορεί να εγγράφεται σε κάθε µάθηµα όσες φορές θέλει. 5. Κάθε σπουδαστής αξιολογείται σε µαθήµατα στα οποία έχει εγγραφεί. Η αξιολόγηση αυτή µπορεί να γίνεται περισσότερες από µία φορές τόσο κατά τη διάρκεια του ακαδηµαϊκού έτους (ενδιάµεση εξέταση), όσο και µε τελικό γραπτό. 6. εν πρέπει να επιτρέπεται η καταχώρηση βαθµολογίας σε µάθηµα στο οποίο δεν έχει γίνει εγγραφή. 7. Επιτρέπεται η διαγραφή σπουδαστή µόνο αν δεν έχει εγγραφεί σε κανένα µάθηµα. 8. Επιτρέπεται η διαγραφή καθηγητή µόνο αν δεν έχει διδάξει κανένα µάθηµα. 9. Επιτρέπεται η διαγραφή µαθήµατος µόνο αν δεν έχουν υπάρξει εγγραφές ή εξετάσεις που να το αφορούν. Μελέτη περίπτωσης 10. Ζητείται αλφαβητική εκτύπωση ολόκληρου του αρχείου των σπουδαστών. 11. Ζητείται αλφαβητική εκτύπωση των εγγεγραµµένων σε κάθε µάθηµα σπουδαστών. 12. Ζητείται αλφαβητική εκτύπωση ολόκληρου του αρχείου καθηγητών. 13. Ζητείται αλφαβητική εκτύπωση της βαθµολογίας σε κάθε µάθηµα. 14. Ζητείται η εκτύπωση της βαθµολογίας όλων των µαθηµάτων για κάποιο συγκεκριµένο σπουδαστή. 18

Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό 1. Εισαγωγή 1.1. Ταυτότητα του εγγράφου 1.2. Σκοπός 1.3. Εµβέλεια 1.4. Ορισµοί, ακρωνύµια, συντοµογραφίες 1.5. Πηγές αναφορών 1.6. Περίληψη 2. Γενική περιγραφή του λογισµικού 2.1. Στίγµα 2.2. Προοπτική 2.3. Γενικές λειτουργίες του λογισµικού 2.4. Χαρακτηριστικά χρηστών 2.5. Περιορισµοί 2.6. Παραδοχές και εξαρτήσεις 3. Ειδικές απαιτήσεις 3.1. Απαιτήσεις εξωτερικών διαπροσωπειών 3.1.1. ιαπροσωπείες χρήστη 3.1.2. ιαπροσωπείες υλικού 3.1.3. ιαπροσωπείες λογισµικού 3.1.4. ιαπροσωπείες επικοινωνιών 3.2. Λειτουργικές απαιτήσεις 3.2.1. Τρόπος λειτουργίας 1 3.2.1.1. Λειτουργική απαίτηση 1.1 Περιγραφή, είσοδοι, επεξεργασία, έξοδοι 3.2.1.2. Λειτουργική απαίτηση 1.2 Περιγραφή, είσοδοι, επεξεργασία, έξοδοι... 3.2.2. Τρόπος λειτουργίας 2 3.2.2.1. Λειτουργική απαίτηση 2.1 Περιγραφή, είσοδοι, επεξεργασία, έξοδοι 3.2.2.2. Λειτουργική απαίτηση 2.2 Περιγραφή, είσοδοι, επεξεργασία, έξοδοι...! IEEE std 830-1993 " Μια δοµηµένη και λεπτοµερής περιγραφή των απαιτήσεων από το λογισµικό. 3.2.Ν. Τρόπος λειτουργίας Ν 3.2.Ν.1. Λειτουργική απαίτηση Ν.1 Περιγραφή, είσοδοι, επεξεργασία, έξοδοι 3.2.Ν.2. Λειτουργική απαίτηση Ν.2... 3.3. Απαιτήσεις επιδόσεων 3.4. Περιορισµοί σχεδίασης 3.4.1. Περιορισµοί από το υλικό 3.4.2. Συµµόρφωση µε πρότυπα 3.5. Χαρακτηριστικά του λογισµικού 3.5.1. Αξιοπιστία 3.5.2. ιαθεσιµότητα 3.5.3. Ασφάλεια Περιγραφή, είσοδοι, επεξεργασία, έξοδοι 3.5.4. Χαρακτηριστικά συντήρησης 3.5.5. Μεταφερσιµότητα 3.6. Αλλες απαιτήσεις Τέλος ενότητας 1 19

Τι είναι Λογισµικό;! Προγράµµατα ηλεκτρονικού υπολογιστή! οµές δεδοµένων µε µόνιµη ή προσωρινή αποθήκευση! Τεκµηρίωση σχετικά µε τα παραπάνω Συστατικά λογισµικού εδοµένα Προγράµµατα Τεκµηρίωση Τεχνολογία Λογισµικού...! Ηεπιστηµονική θεµελίωση: " Του κύκλου ζωής " Της διαδικασίας παραγωγής " Του τρόπου περιγραφής " Του τρόπου συντήρησης " Του οργανωτικού πλαισίου χρήσης! του Λογισµικού 20

Κύκλος ζωής Λογισµικού! Οι φάσεις από τις οποίες διέρχεται µια εφαρµογή Λογισµικού " από την σύλληψή της " κατά την κατασκευή, χρήση, συντήρησή της " µέχρι την απόσυρσή της! Ενα µοντέλο κύκλου ζωής περιγράφει " Ποιες είναι αυτές οι φάσεις " Ποιες εργασίες γίνονται και ποια προϊόντα παράγονται σε καθεµία " Πώς διαδέχονται η µία την άλλη Παράσταση µοντέλων κύκλου ζωής! Με τη βοήθεια ενός διαγράµµατος δραστηριοτήτων " Μέσα σε ένα παραλληλόγραµµο περιέχεται ο τίτλος µιας εργασίας " Με βελάκια υποδηλώνεται η µετάβαση σε κάποια άλλη εργασία! Με λεπτοµερή τεκµηρίωση σε µορφή κειµένου! Με πρότυπα για την περιγραφή των συστατικών λογισµικού ΣΥΛΛΗΨΗ ΤΗΣ Ι ΕΑΣ ΕΠΙΛΟΓΗ ΜΙΑΣ ΛΥΣΗΣ ΚΑΤΑΣΚΕΥΗ ΛΟΓΙΣΜΙΚΟΥ ΕΓΚΑΤΑΣΤΑΣΗ ΚΑΙ ΧΡΗΣΗ 21

Μερικά µοντέλα κύκλου ζωής λογισµικού Μοντέλο Μέγεθος εφαρµογών Μεταβολές στις απαιτήσεις Προσαρµοστικότητα στον κατασκευαστή ιάδοση Καταρράκτη Μικρό έως µεσαίο Ανεπιθύµητες Καµία Μεγάλη µε τάση µείωσης Πρωτοτυποποίησης Μικρό ως µεσαίο εκτές Μικρή Μικρή µε τάση αύξησης Λειτουργικής επαύξησης Μεσαίο ως µεγάλο Ανεπιθύµητες Καµία Μικρή µε τάση µείωσης Σπειροειδές Μεσαίο ως µεγάλο εκτές Αρκετή Μικρή µε τάση µείωσης Πίδακα Οποιοδήποτε εκτές Αρκετή Μικρή Γενικό Οποιοδήποτε εκτές Μεγάλη Μικρή µε ισχυρές τάσεις αύξησης Προδιαγραφή απαιτήσεων από το λογισµικό! Το πρώτο βήµα στην ανάπτυξη λογισµικού! ιάκριση απαιτήσεων " Απαίτηση από το σύστηµα: # Η περιγραφή µιας εργασίας που θα πρέπει να εκτελείται από κάποια συνιστώσα ενός συστήµατος ή ενός χαρακτηριστικού το οποίο θα πρέπει να έχει ένα σύστηµα. " Απαίτηση από το λογισµικό: # Μια λειτουργία που το λογισµικό θα πρέπει να εκτελεί ή µια συνθήκη που θα πρέπει να ικανοποιείται όταν θα έχει ολοκληρωθεί η κατασκευή του. Ανθρωποι Μηχανές ("κλασσικές µηχανές") Ανθρωποι Μηχανές ("κλασσικές µηχανές", Η/Υ) Λογισµικό 22

Ταξινόµηση απαιτήσεων από το λογισµικό! Λειτουργικές απαιτήσεις " Εργασίες (λειτουργίες) που πρέπει να εκτελεί το λογισµικό Λειτουργικές Απαιτήσεις από το λογισµικό Μη-λειτουργικές! Μη-λειτουργικές απαιτήσεις Χρήσης " Χαρακτηριστικά που πρέπει να έχει το λογισµικό Αξιοπιστίας Επιδόσεων Υποστήριξης Υλοποίησης Επικοινωνίας Φυσικές Βάσεων εδοµένων Σχεδίασης Επεξεργασία απαιτήσεων από το λογισµικό! (Requirements engineering) Μελέτη προβλήµατος Ανάλυση απαιτήσεων Προδιαγραφή απαιτήσεων Απαιτήσεις από το σύστηµα / ανάγκες του πελάτη Μοντέλα περιγραφής λογισµικού Ταυτότητα και περιγραφή απαιτήσεων Συµβολισµοί: Προϊόν Εργασία Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό 23

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

Μελέτη περίπτωσης 1. Ο "ΕΠΙΚΟΥΡΟΣ" θα τρέχει σε αυτόνοµο υπολογιστή κάτω από το λειτουργικό σύστηµα Windows 9x - 32 bit (95, 98, NT, 2000). εν απαιτείται σύνδεση σε δίκτυο. 2. Ζητείται η τήρηση αρχείων µαθητών, καθηγητών και µαθηµάτων. 3. Κάθε µάθηµα διδάσκεται από έναν καθηγητή σε κάθε ακαδηµαϊκό έτος. 4. Κάθε σπουδαστής µπορεί να εγγράφεται σε κάθε µάθηµα όσες φορές θέλει. 5. Κάθε σπουδαστής αξιολογείται σε µαθήµατα στα οποία έχει εγγραφεί. Η αξιολόγηση αυτή µπορεί να γίνεται περισσότερες από µία φορές τόσο κατά τη διάρκεια του ακαδηµαϊκού έτους (ενδιάµεση εξέταση), όσο και µε τελικό γραπτό. 6. εν πρέπει να επιτρέπεται η καταχώρηση βαθµολογίας σε µάθηµα στο οποίο δεν έχει γίνει εγγραφή. 7. Επιτρέπεται η διαγραφή σπουδαστή µόνο αν δεν έχει εγγραφεί σε κανένα µάθηµα. 8. Επιτρέπεται η διαγραφή καθηγητή µόνο αν δεν έχει διδάξει κανένα µάθηµα. 9. Επιτρέπεται η διαγραφή µαθήµατος µόνο αν δεν έχουν υπάρξει εγγραφές ή εξετάσεις που να το αφορούν. Μελέτη περίπτωσης 10. Ζητείται αλφαβητική εκτύπωση ολόκληρου του αρχείου των σπουδαστών. 11. Ζητείται αλφαβητική εκτύπωση των εγγεγραµµένων σε κάθε µάθηµα σπουδαστών. 12. Ζητείται αλφαβητική εκτύπωση ολόκληρου του αρχείου καθηγητών. 13. Ζητείται αλφαβητική εκτύπωση της βαθµολογίας σε κάθε µάθηµα. 14. Ζητείται η εκτύπωση της βαθµολογίας όλων των µαθηµάτων για κάποιο συγκεκριµένο σπουδαστή. 25

Μοντέλα παράστασης λογισµικού! Ορισµός " Ενα µοντέλο παράστασης λογισµικού είναι ένα διάγραµµα ή ένα σύνολο από οµοειδή διαγράµµατα το οποίο περιγράφει το λογισµικό από µία συγκεκριµένη οπτική γωνία.! οµηµένη ανάλυση " ιάγραµµα ροής δεδοµένων " ιάγραµµα οντοτήτων συσχετίσεων " ιάγραµµα µετάβασης καταστάσεων " Λεξικό δεδοµένων ΙΑΓΡΑΜΜΑ ΟΝΤΟΤΗΤΩΝ - ΣΥΣΧΕΤΙΣΕΩΝ ΛΕΞΙΚΟ Ε ΟΜΕΝΩΝ ΙΑΓΡΑΜΜΑ ΡΟΗΣ Ε ΟΜ ΕΝΩΝ ΙΑΓΡΑΜΜΑ ΜΕΤΑΒΑΣΗΣ ΚΑΤΑΣΤΑΣΕΩΝ ιαγράµµατα ροής δεδοµένων! Τι είναι; " Ένα δίκτυο όπου "ρέουν" δεδοµένα τα οποία µετασχηµατίζονται σε νέα δεδοµένα από µονάδες λογισµικού. " Κάθε µονάδα λογισµικού θεωρείται ως µετασχηµατισµός που εφαρµόζεται επί κάποιων δεδοµένων εισόδου προκειµένου να δηµιουργήσει νέα δεδοµένα εξόδου. Χρήστης Α Μονάδα εκτέλεσης πρόσθεσης Γ Μονάδα εκτέλεσης τετραγώνου Εκτυπωτής Β Αρχείο 26

ιαγράµµατα ροής δεδοµένων! Συµβολισµοί και συµβάσεις Συµβολισµοί διαγραµµάτων ροής δεδοµένων Α Μ Β Α Β Γ Μ ιαδικασία / µετασχηµατισµός δεδοµένων Εξωτερική πηγή ή αποδέκτης δεδοµένων Α Α Μ Β Γ Α Α Μ Β Γ Γ Ροή δεδοµένων Μ Γ Μ Αποθήκη δεδοµένων Β Β ιαγράµµατα ροής δεδοµένων! ιαδοχικά επίπεδα λεπτοµέρειας Π 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 27

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

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

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

ιαγράµµατα οντοτήτων - συσχετίσεων! Τι είναι; " Μια περιγραφή της συσχέτισης µεταξύ των δεδοµένων που χειρίζεται η εφαρµογή λογισµικού " Σύµφωνα µε το σχεσιακό µοντέλο δεδοµένων " Ιδιαίτερη γνωστική περιοχή των Βάσεων εδοµένων! Βασικές έννοιες Οντότητα ΚΑΘΗΓΗΤΗΣ ΑΡ.ΤΑΥΤ. ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΙΕΥΘΥΝΣΗ ΤΗΛ Α123456 Βασίλειος Βασιλείου Λέσβου 1 5554432 Ονόµατα πεδίων Α654321 Αντώνης Αντωνίου Νίκης 22 Μ195828 Γεώργιος Γεωργίου Βουλής 21............ 9876543 1234567... Εγγραφή Πεδίο ιαγράµµατα οντοτήτων - συσχετίσεων! Σχέση " Μια εννοιολογική αντιστοίχηση µεταξύ διαφορετικών οντοτήτων, η οποία περιγράφεται µε ένα ρήµα " Ο δάσκαλος διδάσκει το µάθηµα Ο πελάτης αγοράζει το προϊόν ΚΑΘΗΓΗΤΗΣ Ι ΑΣΚΕΙ (1:Ν) ΜΑΘΗΜΑ ΑΡ.ΤΑΥΤ. ΟΝΟΜΑ ΕΠΩΝΥΜΟ ΚΩ. Θ.ΕΝ. ΤΙΤΛΟΣ Ι ΑΣΚΩΝ Α123456 Βασίλειος Βασιλείου Α41-1 4.1 Λογισµικό 1 Α654321 Α654321 Αντώνης Αντωνίου Α42-4 4.1 Λογισµικό 2 Α654321 Μ195828 Γεώργιος Γεωργίου Α37-2 3.7 Μαθηµατικά 1 Μ195828! Είδη σχέσεων......... Α37-3... 3.8 Αυτοµατισµοί...... Μ195828... " Ένα προς ένα (1:1) " Ένα προς πολλά (1:Ν) " Πολλά προς πολλά (Μ:Ν) 31

ιαγράµµατα οντοτήτων - συσχετίσεων! Είδη σχέσεων (1:1) (Μ:Ν)....................................! Συµβολισµοί Συµβολισµοί διαγραµµάτων οντοτήτων-συσχετίσεων Οντότητα δεδοµένων Συσχέτιση µεταξύ οντοτήτων (α) 1 Ν 1 Ν Ορισµός πολλαπλότητας συσχέτισης (α) (1:1) (1:Ν) (Μ:Ν) Συσχέτιση και ορισµός πολλαπλότητας (β) ιαγράµµατα οντοτήτων - συσχετίσεων! Παράδειγµα " Κάθε καθηγητής διδάσκει πολλά µαθήµατα και ΚΑΘΗΓΗΤΗΣ 1 Ι ΑΣΚΕΙ Ν ΜΑΘΗΜΑ " Κάθε φοιτητής, βαθµολογείται σε κάθε µάθηµα πολλές φορές ΦΟΙΤΗΤΗΣ 1 ΠΑΙΡΝΕΙ Ν Ν 1 ΒΑΘΜΟΛΟΓΙΑ ΑΦΟΡΑ (α) ΜΑΘΗΜΑ! Αντίστροφα: " Κάθε µάθηµα διδάσκεται από έναν καθηγητή και ΚΑΘΗΓΗΤΗΣ Ι ΑΣΚΕΙ ΜΑΘΗΜΑ " Σε κάθε µάθηµα, κάθε φοιτητής λαµβάνει τουλάχιστον µία βαθµολογία ΦΟΙΤΗΤΗΣ ΒΑΘΜΟΛΟΓΕΙΤΑΙ ΣΕ (β) ΜΑΘΗΜΑ 32

ιαγράµµατα οντοτήτων - συσχετίσεων! Το παράδειγµα «ΕΠΙΚΟΥΡΟΣ» ΚΑΘΗΓΗΤΗΣ Ι ΑΣΚΕΙ ΦΟΙΤΗΤΗΣ ΕΓΓΡΑΦΕΤΑΙ ΣΕ ΜΑΘΗΜΑ ΒΑΘΜΟΛΟΓΕΙΤΑΙ ΣΕ ιαγράµµατα οντοτήτων συσχετίσεων! Χρήσιµες συµβουλές " Εντοπισµός των οντοτήτων και των σχέσεων. Όχι λεπτοµέρειες. " Ένα καλό διάγραµµα οντοτήτων συσχετίσεων συνήθως είναι απλό και αναγνώσιµο. " Βελτιστοποιήσεις κλπ καλό είναι να γίνουν αργότερα, κατά τη σχεδίαση. " Ανεξαρτησία από το περιβάλλον υλοποίησης, ακόµη και αν αυτό είναι γνωστό. 33

ιαγράµµατα µετάβασης καταστάσεων! Γεγονός " Ενα γεγονός (event) είναι µια στιγµιαία µεταβολή στο περιβάλλον λειτουργίας του λογισµικού, η οποία προκαλείται από εξωτερικούς παράγοντες (χρήστης, λειτουργικό σύστηµα, άλλες εφαρµογές λογισµικού).! Απόκριση " Μια λειτουργία που εκτελεί το λογισµικό όταν προκαλείται ένα γεγονός, ονοµάζεται απόκριση (response).! Κατάσταση " Οταν το λογισµικό αναµένει γεγονότα, τότε λέµε ότι βρίσκεται σε µία κατάσταση. Όταν συµβεί ένα γεγονός, το λογισµικό µπορεί να εκτελεί µια λειτουργία και να µεταβαίνει σε µια άλλη κατάσταση. ιαγράµµατα µετάβασης καταστάσεων! Ένα διάγραµµα µετάβασης καταστάσεων " Εχει µια κατάσταση έναρξης και µια κατάσταση τέλους. " Περιέχει τις δυνατές καταστάσεις, τα γεγονότα και τις µεταβάσεις # Για ολόκληρη την εφαρµογή ή # Για οποιοδήποτε τµήµα αυτής (µονάδα, υποσύστηµα λογισµικού)! Κατασκευάζουµε έναδιάγραµµα µετάβασης καταστάσεων όταν " Κάνει σαφέστερη την περιγραφή της συµπεριφοράς του λογισµικού " Κάνει ευκολότερη την περιγραφή της υλοποίησής του, δηλαδή της παραγωγής πηγαίου κώδικα " Περιγράφουµε την κατάσταση δεδοµένων 34

ιαγράµµατα µετάβασης καταστάσεων! Συµβολισµοί Συµβολισµοί διαγραµµάτων µετάβασης καταστάσεων Κατάσταση Κατάσταση έναρξης Κατάσταση τέλους ΓΕΓΟΝΟΣ/ΑΠΟΚΡΙΣΗ Μετάβαση σε άλλη κατάσταση / λειτουργία που εκτελείται ΓΕΓΟΝΟΣ/ΑΠΟΚΡΙΣΗ Μετάβαση στην ίδια κατάσταση / λειτουργία που εκτελείται ιαγράµµατα µετάβασης καταστάσεων! Ένα παράδειγµα ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΠΙΛΕΓΜΕΝΟ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ ΑΙΤΗΣΗ ΕΓΓΡΑΦΗΣ ΑΙΤΟΥΜΕΝΟ ΑΠΟΡΡΙΨΗ ΑΠΟΡΡΙΦΘΕΝ ΕΓΚΡΙΣΗ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ ΕΠΙΛΟΓΗ ΜΑΘΗΜΑΤΟΣ ΕΓΚΕΚΡΙΜΕΝΟ ΤΕΛΟΣ ΕΠΙΛΟΓΩΝ 35

Το λεξικό δεδοµένων! Ορισµός " Μια οργανωµένη ταξινόµηση όλων των σχετιζοµένων µε δεδοµένα στοιχείων των µοντέλων παράστασης λογισµικού " Με σαφήνεια και πληρότητα " Ωστε αυτά να γίνονται κατανοητά τόσο από τον αναλυτή του συστήµατος, όσο και από τον χρήστη αυτού! Το λεξικό δεδοµένων " Είναι βασικό στοιχείο της δοµηµένης ανάλυσης " Κατασκευάζεται µε πολλή δουλειά " Και χρειάζεται περισσότερη για να διατηρηθεί ενηµερωµένο Το λεξικό δεδοµένων! Ενας πίνακας (ή µια Β ) που για κάθε στοιχείο δεδοµένων περιέχει τουλάχιστον " Ονοµασία. Το κύριο αναγνωριστικό της οντότητας, πεδίου ή ροής δεδοµένων. " Βοηθητικές ονοµασίες. Ονοµασίες που χρησιµοποιούνται ισοδύναµα. " Πού χρησιµοποιείται. Αναφορά στους µετασχηµατισµούς, οντότητες κλπ οι οποίοι χρησιµοποιούν το εν λόγω στοιχείο. " Πώς χρησιµοποιείται. Αναφορά στον τρόπο µε τον οποίο χρησιµοποιείται το εν λόγω στοιχείο (ως στοιχείο εισόδου, ως αποτέλεσµα, πεδίο, κ.ά.) " Τι περιέχει. Περιγραφή του είδους και της µορφής της πληροφορίας που αποθηκεύεται σε αυτό. " Ορια τιµών. Καθορισµός των επιτρεπτών τιµών που µπορεί να πάρει (αν απαιτείται). " Αρχική τιµή. Καθορισµός της αρχικής τιµής του στοιχείου (αν απαιτείται). " Λοιπά στοιχεία. Υπόλοιπες χρήσιµες πληροφορίες. 36

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

Πληροφορίες και σηµειώσεις! Σηµειώσεις στο web " www.softlab.ntua.gr/~bxb/unipi.htm! Ηλεκτρονικό ταχυδροµείο " v.vescoukis@unipi.gr Τέλος ενότητας 2 38

Προδιαγραφές των απαιτήσεων από το λογισµικό! Αποτελέσµατα της εργασίας προδιαγραφής των απαιτήσεων " Μοντέλα παράστασης λογισµικού " Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό (Software Requirements Specification Document)! Μοντέλα παράστασης λογισµικού " ιάγραµµα ροής δεδοµένων (data flow diagram) " ιάγραµµα οντοτήτων συσχετίσεων (entity relationship diagram) " ιάγραµµα µετάβασης καταστάσεων (state transition diagram) " Λεξικό δεδοµένων (data dictionary)! Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό " Μια δοµηµένη περιγραφή µε τη βοήθεια κειµένου Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό! Πρότυπο ΙΕΕΕ 830-1993 " Μέρος 1: Εισαγωγή και ταυτοποίηση του εγγράφου " Μέρος 2: Γενική περιγραφή του λογισµικού " Μέρος 3: Ειδικές απαιτήσεις! Προσαρµόσιµο κατά περίπτωση (3ο µέρος) " Απαιτήσεις επικοινωνίας " Λειτουργικές απαιτήσεις! Ανάγκη σαφούς διάκρισης εννοιών! ύσκολη διατήρηση σε ενηµερωµένη κατάσταση 39

Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό! Μέρος 1 " 1.1. Ταυτότητα του εγγράφου Χαρακτηρισµός του εγγράφου στο έργο. " 1.2. Σκοπός Αναφορά στο σκοπό του εγγράφου: σε ποιον απευθύνεται, τι θέλει να του µεταδώσει, πώς εντάσσεται στο έργο. " 1.3. Εµβέλεια Τι θα καλύψει και τι όχι. " 1.4. Ορισµοί, ακρωνύµια, συντοµογραφίες " 1.5. Πηγές αναφορών Βιβλιογραφία και αναφορά στις συνεντεύξεις. " 1.6. Περίληψη Executive summary Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό! Μέρος 2 " 2.1. Στίγµα Ποιος είναι ο ανταγωνισµός / συναφή προϊόντα και πώς διαφέρει από αυτά (γενική περιγραφή) " 2.2. Προοπτική Ποια είναι η επιδιωκόµενη πορεία του λογισµικού στην αγορά στην οποία προορίζεται " 2.3. Γενικές λειτουργίες του λογισµικού Ποιες είναι οι εργασίες που κάνει το λογισµικό, όπως θα αναφέρονται περιληπτικά ώστε να το ταυτοποιούν " 2.4. Χαρακτηριστικά χρηστών Ποιοι είναι οι χρήστες του λογισµικού και τι προδιαγραφές έχουν (για όλες τις κατηγορίες χρηστών) 40

Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό! Μέρος 2 " 2.5. Περιορισµοί Τι ισχύει στο περιβάλλον ανάπτυξης, χρήσης, στην σχέση µε τον «πελάτη», στο νοµικό πλαίσιο ή αλλού, το οποίο µπορεί να θεωρηθεί ως περιορισµός στην ανάπτυξη του λογισµικού " 2.6. Παραδοχές και εξαρτήσεις Τι θα διαταράξει τα χαρακτηριστικά του λογισµικού ή της ανάπτυξης, αν µεταβληθεί (κατά την ανάπτυξη, αλλά και κατά τη χρήση του λογισµικού) Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό Μέρος 3! 3.1. Απαιτήσεις εξωτερικών διαπροσωπειών " 3.1.1. ιαπροσωπείες χρήστη Περιγραφή της επαφής του λογισµικού µε τον χρήστη (οθόνες, χαρακτηριστικά, φιλοσοφία λειτουργίας) " 3.1.2. ιαπροσωπείες υλικού Περιγραφή της επικοινωνίας του λογισµικού µε άλλες συσκευές " 3.1.3. ιαπροσωπείες λογισµικού Περιγραφή της επικοινωνίας του λογισµικού µε άλλες εφαρµογές λογισµικού " 3.1.4. ιαπροσωπείες επικοινωνιών Προδιαγραφές και πρότυπα επικοινωνιών 41

Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό Μέρος 3! 3.2. Λειτουργικές απαιτήσεις " 3.2.1. Τρόπος λειτουργίας 1 3.2.1.1. Λειτουργική απαίτηση 1.1 3.2.1.2. Λειτουργική απαίτηση 1.2... " 3.2.2. Τρόπος λειτουργίας 2 3.2.2.1. Λειτουργική απαίτηση 2.1 3.2.2.2. Λειτουργική απαίτηση 2.2 " " 3.2.Ν. Τρόπος λειτουργίας Ν Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό Μέρος 3! 3.2.Χ.Χ Λειτουργική απαίτηση Χ.Χ " Περιγραφή Λίγα λόγια για το «τι κάνει» το λογισµικό " Είσοδοι Ποια είναι τα δεδοµένα και οι συνθήκες εισόδου, από πού προέρχονται " Επεξεργασία Πώς πρέπει να γίνει η επεξεργασία των δεδοµένων εισόδου ώστε να επιτευχθεί το επιθυµητό " Εξοδοι Ποια είναι τα δεδοµένα που παράγονται και ποιες οι συνθήκες που ισχύουν όταν εκτελεστεί η λειτουργία που περιγράφεται 42

Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό Μέρος 3! 3.3. Απαιτήσεις επιδόσεων! 3.4. Περιορισµοί σχεδίασης " 3.4.1. Περιορισµοί από το υλικό Τυχόν περιορισµοί που επιβάλλονται από υλικό (hardware) η χρήση του οποίου θεωρείται δεδοµένη " 3.4.2. Συµµόρφωση µε πρότυπα Περιορισµοί που επιβάλλονται από την ανάγκη να υπάρχει συµµόρφωση µε πρότυπα Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό Μέρος 3! 3.5. Χαρακτηριστικά του λογισµικού " 3.5.1. Αξιοπιστία Απαιτήσεις αξιοπιστίας, ανάλογα µε την κρισιµότητα της εφαρµογής " 3.5.2. ιαθεσιµότητα Απαιτήσεις σε διαθεσιµότητα, δηλαδή σε ποσοστό χρόνου όπου το λογισµικό µπορεί να χρησιµοποιηθεί παραγωγικά " 3.5.3. Ασφάλεια Προδιαγραφή πρόσβασης " 3.5.2. Μεταφερσιµότητα Περιβάλλοντα λειτουργίας! 3.6. Άλλες απαιτήσεις 43

Παράδειγµα προδιαγραφής απαιτήσεων! 3.2.1. Λειτουργική απαίτηση Α1 " Τήρηση αρχείου σπουδαστών. Η εφαρµογή εµφανίζει φόρµα µέσω της οποίας ο χρήστης ενηµερώνει το αρχείο σπουδαστών. Εισοδος: στοιχεία σπουδαστών από το πληκτρολόγιο. Επεξεργασία: ετοιµασία και επαλήθευση της εγγραφής. Εξοδοι: ενηµερωµένο αρχείο σπουδαστών ή µήνυµα λάθους.! 3.2.2. Λειτουργική απαίτηση Α2 " Τήρηση αρχείου καθηγητών. Η εφαρµογή εµφανίζει φόρµα µέσω της οποίας ο χρήστης ενηµερώνει το αρχείο καθηγητών. Εισοδος: στοιχεία καθηγητών από το πληκτρολόγιο. Επεξεργασία: ετοιµασία και επαλήθευση της εγγραφής. Εξοδοι: ενηµερωµένο αρχείο καθηγητών ή µήνυµα λάθους. Παράδειγµα προδιαγραφής απαιτήσεων! 3.2.3.Λειτουργική απαίτηση Α3 " Τήρηση αρχείου µαθηµάτων. Η εφαρµογή εµφανίζει φόρµα µέσω της οποίας ο χρήστης ενηµερώνει το αρχείο µαθηµάτων. Εισοδος: στοιχεία µαθηµάτων από το πληκτρολόγιο. Επεξεργασία: ετοιµασία και επαλήθευση της εγγραφής. Εξοδοι: ενηµερωµένο αρχείο µαθηµάτων ή µήνυµα λάθους.! 3.2.4.Λειτουργική απαίτηση Α4 " ιαγραφή σπουδαστή. Η εφαρµογή εµφανίζει φόρµα στην οποία ο χρήστης δίνει τα στοιχεία του σπουδαστή που επιθυµεί να διαγράψει. Εισοδος: στοιχεία σπουδαστή προς διαγραφή. Επεξεργασία: έλεγχος ύπαρξης σπουδαστή, έλεγχος εγγραφής του σε µάθηµα, έλεγχος συµµετοχής του σε εξέταση. Εξοδοι: αρχείο µε διαγραµµένη εγγραφή σπουδαστή, ή µήνυµα λάθους. 44

Παράδειγµα διαγράµµατος ροής δεδοµένων Αρ.µητρώου σπουδαστή ιαγραφή σπουδαστή Αποτέλεσµα εργασίας ΧΡΗΣΤΗΣ ΧΡΗΣΤΗΣ Αρ.µητρώου σπουδαστή Υπαρξη εγγραφής Αρχείο σπουδαστών Ελεγχος δεδοµένων Υπαρξη εγγραφής Αρχείο εγγραφών Επίτρεψη διαγραφής Υπαρξη εγγραφής Αρχείο βαθµολογίας Στοιχεία προς διαγραφή Αρχείο σπουδαστών Παράδειγµα! Εφαρµογή χρηµατιστηρίου Στο χρηµατιστήριο διαπραγµατεύονται µετοχές εισηγµένων εταιριών. Σε κάθε συνεδρίαση, κάθε µετοχή πραγµατοποιεί έναν αριθµό πράξεων αγοραπωλησίας συνολικής αξίας ενός ποσού (τζίρος). Κατά τις πράξεις αυτές, µας ενδιαφέρει η τήρηση της πληροφορίας του τζίρου, της µέγιστης, της ελάχιστης και της µέσης τιµής διαπραγµάτευσης, καθώς και της τιµής κλεισίµατος, δηλαδή της τιµής µε την οποία έγινε η τελευταία πράξη για κάθε µετοχή. Από τις πληροφορίες αυτές, θέλουµε να εξάγουµε στατιστικά στοιχεία όπως µέσος τζίρος περιόδου, διαφορά τιµής περιόδου, µέγιστη και ελάχιστη τιµή περιόδου. 45

Παράδειγµα Λειτουργικές απαιτήσεις! Μια πρώτη καταγραφή " 1. Τήρηση αρχείου εισηγµένων εταιριών " 2. Τήρηση αναλυτικού ηµερολογίου χρηµατιστηριακών πράξεων " 3. Τήρηση αρχείου κλεισιµάτων " 4. Υπολογισµός ηµερησίου µέγιστου, ελάχιστου, µέσης τιµής, τιµής κλεισίµατος, όγκου συναλλαγών " 5. Υπολογισµός µέσου τζίρου περιόδου " 6. Υπολογισµός µέγιστης και ελάχιστης τιµής περιόδου " 7. Υπολογισµός µεταβολής τιµής περιόδου Παράδειγµα ιάγραµµα ροής δεδοµένων ΧΡΗΣΤΗΣ Στοιχεία µετοχής Στοιχεία πράξης Ελεγχος δεδοµένων Μετοχή Ηµεροµηνία, ώρα Αγορά/ πώληση Τιµή Ετοιµασία εγγραφής Υπαρξη εγγραφής Αγοραστής πωλητής Νέα εγγραφή Αρχείο εισηγµ. εταιριών Αρχείο πράξεων Εγγραφές Εγγραφές Εγγραφές Υπολογισµός ηµερησίων τιµών Εγγραφές Αρχείο κλεισιµάτων Υπολογισµός µέσων τιµών κλπ Εγγραφές Αποτελέσµατα ΧΡΗΣΤΗΣ 46

Σύντοµη παρουσίαση εργασιών 1. Εφαρµογή λογισµικού τήρησης αρχείου διδασκόντων και µεταβολών εργασιακής κατάστασης. 2. Εφαρµογή λογισµικού τήρησης αρχείου µαθηµάτων και προαπαιτήσεων. 3. Εφαρµογή λογισµικού τήρησης αρχείου σπουδαστών, περιόδων διδασκαλίας και εγγραφών σε περιόδους. 4. Εφαρµογή λογισµικού εγγραφών σπουδαστών σε µαθήµατα. 5. Εφαρµογή λογισµικού ανάθεσης διδασκαλίας σε διδάσκοντες. 6. Εφαρµογή λογισµικού ωρολογίου προγράµµατος διδασκαλίας µαθηµάτων. Σύντοµη παρουσίαση εργασιών 7. Εφαρµογή λογισµικού παρακολούθησης διδαχθείσας ύλης. 8. Εφαρµογή λογισµικού παρακολούθησης διανοµής σηµειώσεων και βιβλίων. 9. Εφαρµογή λογισµικού παρακολούθησης απουσιών σπουδαστών. 10.Εφαρµογή λογισµικού παρακολούθησης παρουσιών διδασκόντων. 11.Εφαρµογή λογισµικού καταχώρησης βαθµολογίας εξετάσεων. 12.Εφαρµογή λογισµικού έκδοσης βαθµολογίας µαθηµάτων. 13.Εφαρµογή λογισµικού έκδοσης καρτέλας σπουδαστή. 14.Εφαρµογή λογισµικού έκδοσης πιστοποιητικών σπουδαστών. 15.Εφαρµογή λογισµικού τήρησης βιβλιογραφίας µαθηµάτων. 47

Σύντοµη παρουσίαση εργασιών 16.Εφαρµογή λογισµικού ηλεκτρονικού βιβλίου. 17.Εφαρµογή λογισµικού ηλεκτρονικών ανακοινώσεων. 18.Εφαρµογή λογισµικού εξαγωγής στατιστικών στοιχείων εγγραφών σε µαθήµατα. 19.Εφαρµογή λογισµικού εξαγωγής στατιστικών στοιχείων βαθµολογίας µαθηµάτων. 20.Εφαρµογή λογισµικού τήρησης εκπαιδευτικών εργαστηρίων και χρέωσης εξοπλισµού. 21.Εφαρµογή λογισµικού παρακολούθησης λειτουργίας εκπαιδευτικού εργαστηρίου. 22.Εφαρµογή λογισµικού παρακολούθησης βλαβών εργαστηριακού εξοπλισµού. Σύντοµη παρουσίαση εργασιών 23.Εφαρµογή λογισµικού παρακολούθησης προσπέλασης εκπαιδευτικού υλικού στο web. 24.Εφαρµογή λογισµικού γραφικής παράστασης pie chart και bar chart σε περιβάλλον web. 25.Εφαρµογή λογισµικού υλοποίησης συστήµατος ηλεκτρονικής διανοµής σηµειώσεων σε περιβάλλον web. 26.Υλοποίηση ηλεκτρονικού εκπαιδευτικού υλικού για το µάθηµα "Τεχνολογία Λογισµικού" µε χρήση Java / HTML. 27.Υλοποίηση ηλεκτρονικού εκπαιδευτικού υλικού για το µάθηµα "Αντικειµενοστρεφής σχεδιασµός και προγραµµατισµός" µε χρήση Java / HTML. 48

Σύντοµη παρουσίαση εργασιών 28.Εφαρµογή λογισµικού τήρησης αρχείου φορέων πρακτικής άσκησης και προσφεροµένων ειδικοτήτων ανά φορέα. 29.Εφαρµογή λογισµικού διαχείρισης αιτήσεων σπουδαστών για πρακτική άσκηση σε συγκεκριµένες θεµατικές περιοχές ενδιαφέροντος. 30.Εφαρµογή λογισµικού αντιστοίχισης φορέων πρακτικής άσκησης και σπουδαστών. 31.Εφαρµογή λογισµικού παρακολούθησης της πρακτικής άσκησης σε φορείς. 32.Εφαρµογή λογισµικού συµπλήρωσης ερωτηµατολογίων αξιολόγησης µαθήµατος µέσω Internet. 33.Εφαρµογή λογισµικού επεξεργασίας ερωτηµατολογίων αξιολόγησης µαθήµατος. 34.Εφαρµογή λογισµικού έκδοσης αποτελεσµάτων και δεικτών ερωτηµατολογίων αξιολόγησης µαθήµατος µέσω Internet. Τέλος ενότητας 3 49

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

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

Παράδειγµα Επεξεργασία λειτουργικών απαιτήσεων Σχετικά στοιχεία! Ηµεροµηνία, µετοχή, σύνολο τεµαχίων, σύνολο τζίρου, µέγιστη τιµή, ελάχιστη τιµή, µέση τιµή, τιµή κλεισίµατος Παρατήρηση! Για κάθε µετοχή, κάθε ηµέρα, προκύπτει, µετά από υπολογισµούς πάνω στις ηµερήσιες συναλλαγές, ένα τέτοιο σύνολο στοιχείων, το οποίο: " Πάντα θα περιέχει τις ίδιες τιµές " εν µπορεί να µεταβληθεί µετά την εκκαθάριση των συναλλαγών Εντοπισµός νέας απαίτησης! Τήρηση αρχείου ηµερησίων στοιχείων ανά µετοχή Παράδειγµα Επεξεργασία λειτουργικών απαιτήσεων ΙΑΤΥΠΩΣΗ Από τις πληροφορίες αυτές, θέλουµε να εξάγουµε στατιστικά στοιχεία όπως µέσος τζίρος περιόδου, διαφορά τιµής περιόδου, µέγιστη και ελάχιστη τιµή περιόδου. Εντοπισµός απαιτήσεων! Υπολογισµός µέσου τζίρου περιόδου! Υπολογισµός µεταβολής τιµής περιόδου! Υπολογισµός µέγιστης τιµής περιόδου! Υπολογισµός ελάχιστης τιµής περιόδου 52

Παράδειγµα Επεξεργασία λειτουργικών απαιτήσεων Μελέτη προβλήµατος Ανάλυση απαιτήσεων Προδιαγραφή απαιτήσεων Απαιτήσεις από το σύστηµα / ανάγκες του πελάτη Μοντέλα περιγραφής λογισµικού Ταυτότητα και περιγραφή απαιτήσεων Συµβολισµοί: Προϊόν Εργασία Εγγραφο προδιαγραφών των απαιτήσεων από το λογισµικό Αρχή Κατανόηση προβλήµατος Εύρεση και ταξινόµηση απαιτήσεων Επαλήθευση απαιτήσεων Αντιµετώπιση συγκρούσεων ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ Ιεράρχηση Προδιαγραφή απαιτήσεων Παράδειγµα Επεξεργασία λειτουργικών απαιτήσεων Σύνοψη απαιτήσεων που εντοπίστηκαν (α)! Τήρηση αρχείου εισηγµένων εταιριών! Τήρηση αναλυτικού ηµερολογίου χρηµατιστηριακών πράξεων! Υπολογισµός όγκου συναλλαγών (τζίρου)! Υπολογισµός ηµερήσιας µέγιστης τιµής! Υπολογισµός ηµερήσιας ελάχιστης τιµής! Υπολογισµός ηµερήσιας µέσης τιµής! Υπολογισµός τιµής κλεισίµατος 53

Παράδειγµα Επεξεργασία λειτουργικών απαιτήσεων Σύνοψη απαιτήσεων που εντοπίστηκαν (β)! Τήρηση αρχείου ηµερησίων στοιχείων ανά µετοχή! Υπολογισµός µέσου τζίρου περιόδου! Υπολογισµός µεταβολής τιµής περιόδου! Υπολογισµός µέγιστης τιµής περιόδου! Υπολογισµός ελάχιστης τιµής περιόδου Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων! ΒΗΜΑ 1: Εντοπισµός των συστατικών στοιχείων του διαγράµµατος " Μετασχηµατισµοί " Αποθήκες δεδοµένων " Ροές δεδοµένων! ΒΗΜΑ 2: Επιλογή των επιπέδων λεπτοµέρειας " Από κάτω προς τα πάνω " Από πάνω προς τα κάτω! ΒΗΜΑ 3: Σχεδίαση ενός επιπέδου του διαγράµµατος! ΒΗΜΑ 4: Επαλήθευση 54

Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων Βήµα 1 µετασχηµατισµοί! Σε κάθε λειτουργική απαίτηση αντιστοιχεί τουλάχιστον ένας µετασχηµατισµός 1. Τήρηση αρχείου εισηγµένων 2. Τήρηση ηµ/γίου πράξεων 3. Τήρηση αρχείου ηµερησίων στοιχείων 4. Υπολογισµός ηµ. τζίρου 5. Υπολογισµός ηµ. µέγιστης τιµής 6. Υπολογισµός ηµ. ελάχιστης τιµής 7. Υπολογισµός ηµ. µέσης τιµής 8. Υπολογισµός ηµ. τιµής κλεισίµατος 9. Υπολογισµός µέσου τζίρου περιόδου 10. Υπολογισµός µεταβολής περιόδου 11. Υπολογισµός µέγιστου περιόδου 12. Υπολογισµός ελαχίστου περιόδου Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων! Βήµα 1 αποθήκες δεδοµένων ΕΙΣΗΓΜΕΝΕΣ ΕΤΑΙΡΙΕΣ ΠΡΑΞΕΙΣ ΗΜΕΡΗΣΙΑ ΣΤΟΙΧΕΙΑ! Βήµα 2 Επιλογή επιπέδων λεπτοµέρειας " Από πάνω προς τα κάτω: Οµαδοποίηση των λειτουργικών απαιτήσεων µετασχηµατισµών και κατόπιν σχεδίαση διαγράµµατος " Από κάτω προς τα πάνω: Σχεδίαση διαγράµµατος και από εκεί, οµαδοποίηση των µετασχηµατισµών 55

Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων Συναρµολόγηση διαγράµµατος! Καταγραφή πράξεων! Υπολογισµοί ηµερησίων τιµών! Υπολογισµοί τιµών περιόδου Α. Καταγραφή πράξεων ΧΡΗΣΤΗΣ Β. Ηµερήσιοι υπολογισµοί ΧΡΗΣΤΗΣ Γ. Υπολογισµοί περιόδου Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων 1. Τήρηση αρχείου εισηγµένων 2. Τήρηση ηµ/γίου πράξεων 3. Τήρηση αρχείου ηµερησίων στοιχείων 4. Υπολογισµός ηµ. τζίρου 5. Υπολογισµός ηµ. µέγιστης τιµής 6. Υπολογισµός ηµ. ελάχιστης τιµής 7. Υπολογισµός ηµ. µέσης τιµής 8. Υπολογισµός ηµ. τιµής κλεισίµατος 9. Υπολογισµός µέσου τζίρου περιόδου 10. Υπολογισµός µεταβολής περιόδου 11. Υπολογισµός µέγιστου περιόδου 12. Υπολογισµός ελαχίστου περιόδου 56

Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων 1. Τήρηση αρχείου εισηγµένων ΧΡΗΣΤΗΣ ΕΙΣΗΓΜΕΝΕΣ ΕΤΑΙΡΙΕΣ 2. Τήρηση ηµ/γίου πράξεων ΠΡΑΞΕΙΣ Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων ΠΡΑΞΕΙΣ 4. Υπολογισµός ηµ. τζίρου 7. Υπολογισµός ηµ. µέσης τιµής 5. Υπολογισµός ηµ. µέγιστης τιµής 6. Υπολογισµός ηµ. ελάχιστης τιµής 3. Τήρηση αρχείου ηµερησίων στοιχείων 8. Υπολογισµός ηµ. τιµής κλεισίµατος ΗΜΕΡΗΣΙΑ ΣΤΟΙΧΕΙΑ 57

Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων ΕΙΣΗΓΜΕΝΕΣ ΕΤΑΙΡΙΕΣ ΧΡΗΣΤΗΣ 9. Υπολογισµός µέσου τζίρου περιόδου 10. Υπολογισµός µεταβολής περιόδου 11. Υπολογισµός µέγιστου περιόδου 12. Υπολογισµός ελαχίστου περιόδου ΧΡΗΣΤΗΣ ΠΡΑΞΕΙΣ Παράδειγµα ηµιουργία διαγράµµατος ροής δεδοµένων ΕΙΣΗΓΜΕΝΕΣ ΕΤΑΙΡΙΕΣ ΣΤΟΙΧΕΙΑ ΕΤΑΙΡΙΑΣ ΧΡΗΣΤΗΣ ΕΤΑΙΡΙΑ ΠΕΡΙΟ ΟΣ 9. Υπολογισµός µέσου τζίρου περιόδου ΜΕΣΟΣ ΤΖΙΡΟΣ ΠΕΡΙΟ ΟΥ ΧΡΗΣΤΗΣ ΠΡΑΞΕΙΣ ΠΕΡΙΟ ΟΥ ΠΡΑΞΕΙΣ 58

Παράδειγµα Εγγραφο προδιαγραφών απαιτήσεων Λειτουργική απαίτηση 9: Υπολογισµός µέσου τζίρου περιόδου " Ο χρήστης δίνει τον κωδικό της µετοχής, την ηµεροµηνία έναρξης και την ηµεροµηνία λήξης και το σύστηµα υπολογίζει τον µέσο τζίρο της µετοχής για την περίοδο αυτή.! Είσοδοι: " Κωδικός µετοχής, Ηµεροµηνία έναρξης, Ηµεροµηνία λήξης! Επεξεργασία " Το λογισµικό επαληθεύει την εγκυρότητα των στοιχείων Ανοίγει το αρχείο κινήσεων και κάνει τον υπολογισµό! Εξοδοι " Η µέση τιµή (αν υπολογίζεται) " Μήνυµα λάθους (αν τα στοιχεία εισόδου είναι άκυρα) Προβλήµατα στον προσδιορισµό απαιτήσεων! Προβλήµατα επικοινωνίας " Ο πελάτης δεν αντιλαµβάνεται αυτό που περιγράφει και δεν περιγράφει αυτό που αντιλαµβάνεται.! Προβλήµατα προτύπων " Ο κατασκευαστής χρησιµοποιεί ad-hoc µοντέλα παράστασης λογισµικού και συµβολισµούς, τους οποίους αργότερα ούτε ο ίδιος δεν θυµάται.! Προβλήµατα γλώσσας " Ο τρόπος χειρισµού της φυσικής γλώσσας δηµιουργεί διφορούµενα και ασάφειες, φαινόµενα ανεπιθύµητα και µε αρνητικές επιπτώσεις στο λογισµικό.! Προβλήµατα οικονοµικά " Το λογισµικό είναι προϊόν και πρέπει να παράγει κέρδος 59