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

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

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

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

1. Από το κεντρικό site του Ιδρύματος επιλέγουμε το σύνδεσμο "Γραμματείες Τμημάτων".

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

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

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

ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ

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

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

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

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

ΠΡΟΧΩΡΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Χαρίδημος Κονδυλάκης Εισαγωγή

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

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

Ανάπτυξη συστήματος λογισμικού βάσει της μεθοδολογίας ICONIX

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

Από τα Δεδομένα στην Πληροφορία: Διδακτικό Σενάριο για Εισαγωγή στη Γλώσσα SQL. Σ. Φίλου Β. Βασιλάκης

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Εγχειρίδιο χρήσης για τον φοιτητή

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

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

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

ΥΠΗΡΕΣΙΑ ΣΠΟΥΔΩΝ ΚΑΙ ΦΟΙΤΗΤΙΚΗΣ ΜΕΡΙΜΝΑΣ. Οδηγός Πρόσβασης Φοιτητών στις Εξαιρέσεις Απαιτήσεων Μαθημάτων. που τους Παραχωρήθηκαν

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

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

Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής - Εβδομάδα 1

ΕΙΔΙΚΟ ΕΝΤΥΠΟ ΠΕΡΙΓΡΑΦΗΣ ΜΑΘΗΜΑΤΩΝ. Υποχρεωτικής επιλογής (Κατεύθυνσης)

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τµήµα ιοικητικής Επιστήµης και Τεχνολογίας ΥΛΟΠΟΙΗΣΗ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ - ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ JAVA.

Δηλώσεις Εργαστηρίων

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

Συνοπτικός Οδηγός Χρήσης του Moodle για το Φοιτητή

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

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

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ. Εφαρμογή κατασκευής Προγράμματος εξεταστικών περιόδων. εφαρμογής

Πλήρης οδηγός δημιουργίας ενός Ανοικτού Ακαδημαϊκού Μαθήματος. Μονάδα Υλοποίησης Ανοικτών Ακαδημαϊκών Μαθημάτων ΕΜΠ

ΡΥΘΜΙΣΕΙΣ ΚΑΝΟΝΙΣΜΟΥ ΣΠΟΥΔΩΝ ΑΚΑΔ. ΕΤΟΥΣ

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

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

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

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

ΠΕΡΙΓΡΑΜΜΑ ΜΑΘΗΜΑΤΟΣ

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

Ενδιάμεσο πληροφοριακό σύστημα αξιολόγησης μαθημάτων: λειτουργία και συμπεράσματα

ΥΠΗΡΕΣΙΑ ΣΠΟΥΔΩΝ ΚΑΙ ΦΟΙΤΗΤΙΚΗΣ ΜΕΡΙΜΝΑΣ. Οδηγός Καταχώρησης Εξαίρεσης Απαιτήσεων Μαθημάτων από Διδάσκοντες

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

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

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

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

Σύνθεση και Κληρονομικότητα

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

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

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

Δημιουργία μιας εφαρμογής Java με το NetBeans

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

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

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

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

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

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

(CUT Portal). ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ - ΥΠΟΒΟΛΗ ΑΙΤΗΣΗΣ ΓΙΑ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED αντικειμενοστραφής προγραμματισμός ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

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

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

Δηλώσεις Εργαστηρίων 7ου Εξαμήνου

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ Προπτυχιακό ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ GD2520

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

Εγχειρίδιο Χρήσης Εφαρμογής TRS Client

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

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

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

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

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

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

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

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

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

Γλώσσες Προγραμματισμού

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

Παιδαγωγική προσέγγιση: Πρόταση για την διδασκαλία της έννοιας αλγόριθµός στο περιβάλλον MicroWorlds Pro

ΣυνοπτικόςΟδηγόςΧρήσηςτουMoodle για το Φοιτητή

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ ΕΡΓΑΣΤΗΡΙΟ ΑΠΑΙΤΗΣΕΙΣ ΚΑΙ ΔΙΑΔΙΚΑΣΙΑ ΕΞΕΤΑΣΗΣ

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

ΟΔΗΓΙΕΣ ΔΗΛΩΣΗΣ ΜΑΘΗΜΑΤΩΝ. Η δήλωση να πραγματοποιείται MONO μέσω Internet Explorer

Οδηγίες Δέσμευσης Αιθουσών Υπολογιστών. στο Μηχανογραφικό Κέντρο. Πίνακας Περιεχομένων

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

Α.2 Μαθησιακά Αποτελέσματα Έχοντας ολοκληρώσει επιτυχώς το μάθημα οι εκπαιδευόμενοι θα είναι σε θέση να:

Περίπτωση Χρήσης Use case

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

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

Εικόνα 1. Δείκτης Προόδου

Εικόνα 1. Δείκτης Προόδου

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

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

Τα εργαστήρια Πληροφορικής και η διδασκαλία του μαθήματος στη Δευτεροβάθμια Εκπαίδευση

Transcript:

Πρόγραμμα Μεταπτυχιακών Σπουδών στην Εφαρμοσμένη Πληροφορική Προηγμένη Τεχνολογία Λογισμικού, 2016 Α. Χατζηγεωργίου Εφαρμογή Μεθοδολογίας ICONIX Παράδειγμα: Εγγραφή Φοιτητή σε Μάθημα

Θέμα Θεωρείστε ότι συμμετέχετε στην ομάδα ανάπτυξης του συστήματος λογισμικού για ένα Πανεπιστήμιο. Σας δίνεται η κάτωθι περιγραφή ενός τμήματος της συνολικής λειτουργικότητας του συστήματος που σχετίζεται με τη δυνατότητα εγγραφής ενός φοιτητή σε μάθημα το οποίο επιλέγει. Ο φοιτητής πρέπει να έχει τη δυνατότητα επιλογής ενός μαθήματος. Για να μπορέσει ο φοιτητής να εγγραφεί σε ένα μάθημα θα πρέπει να συντρέχουν κάποιες προϋποθέσεις: α) ο φοιτητής θα πρέπει να έχει περάσει επιτυχώς τα προαπαιτούμενα μαθήματα για το μάθημα που επιλέγει, β) Κάθε μάθημα πραγματοποιείται σε μια αίθουσα ή σε ένα εργαστήριο με καθορισμένη χωρητικότητα. Επομένως θα πρέπει να υπάρχει διαθέσιμος χώρος στην αντίστοιχη αίθουσα ή το εργαστήριο και γ) Αν το επιλεγμένο μάθημα είναι η πτυχιακή εργασία σε έναν καθηγητή θα πρέπει ο αντίστοιχος καθηγητής να έχει περιθώριο επίβλεψης (κάθε καθηγητής μπορεί να επιβλέψει έως και 5 πτυχιακές εργασίες). Αν οποιαδήποτε συνθήκη δεν πληρείται θα εμφανίζεται κατάλληλο μήνυμα και ο φοιτητής δεν θα εγγράφεται στο μάθημα. Σημείωση 1: To υπό ανάπτυξη σύστημα, στο αρχικό πρωτότυπο, δεν θα συνεργάζεται με βάση δεδομένων. Όλα τα αντικείμενα θα ανακτώνται από δυαδικά αρχεία και θα βρίσκονται στη μνήμη του υπολογιστή. Για την εξεταζόμενη λειτουργικότητα δεν θα πρέπει να σας απασχολεί ο τρόπος ανάκτησης/αποθήκευσης αντικειμένων από/στα αρχεία. Σημείωση 2: Ο φοιτητής έχει πραγματοποιήσει εισαγωγή στο σύστημα (login) σε άλλο στάδιο και δεν μας απασχολεί στο πλαίσιο της εξεταζόμενης λειτουργικότητας

Θέμα (α) Δημιουργήστε το μοντέλο του πεδίου του προβλήματος με βάση την περιγραφή που δόθηκε. (β) Καταγράψτε υπό μορφή λεκτικής περιγραφής μιας (1) περίπτωσης χρήσης την ανωτέρω λειτουργικότητα. (γ) Δημιουργήστε το διάγραμμα ευρωστίας για την περίπτωση χρήσης που περιγράψατε. (δ) Δημιουργήστε το διάγραμμα ακολουθίας για την περίπτωση χρήσης που περιγράψατε. (ε) Αποτυπώστε το τελικό διάγραμμα κλάσεων με όλα τα στοιχεία που προέκυψαν από την ανάλυση και σχεδίαση αναφορικά με το συγκεκριμένο τμήμα λειτουργικότητας. (στ) να αναπτύξετε κώδικα σε Java για: - την υλοποίηση των κλάσεων του διαγράμματος κλάσεων (συμπεριλαμβανομένων των ιδιοτήτων των κλάσεων καθώς και των σχέσεων μεταξύ τους) - την υλοποίηση των μεθόδων του διαγράμματος κλάσεων - τη δοκιμή των μεθόδων με τη χρήση κατάλληλου προγράμματος οδήγησης (π.χ. μέσω εντολών δημιουργίας αντικειμένων και κλήσης μεθόδων επί αυτών, στη μέθοδο main)

Θέμα (α) Δημιουργήστε το μοντέλο του πεδίου του προβλήματος με βάση την περιγραφή που δόθηκε. (β) Καταγράψτε υπό μορφή λεκτικής περιγραφής μιας (1) περίπτωσης χρήσης την ανωτέρω λειτουργικότητα. (γ) Δημιουργήστε το διάγραμμα ευρωστίας για την περίπτωση χρήσης που περιγράψατε. (δ) Δημιουργήστε το διάγραμμα ακολουθίας για την περίπτωση χρήσης που περιγράψατε. (ε) Αποτυπώστε το τελικό διάγραμμα κλάσεων με όλα τα στοιχεία που προέκυψαν από την ανάλυση και σχεδίαση αναφορικά με το συγκεκριμένο τμήμα λειτουργικότητας. (στ) να αναπτύξετε κώδικα σε Java για: - την υλοποίηση των κλάσεων του διαγράμματος κλάσεων (συμπεριλαμβανομένων των ιδιοτήτων των κλάσεων καθώς και των σχέσεων μεταξύ τους) - την υλοποίηση των μεθόδων του διαγράμματος κλάσεων - τη δοκιμή των μεθόδων με τη χρήση κατάλληλου προγράμματος οδήγησης (π.χ. μέσω εντολών δημιουργίας αντικειμένων και κλήσης μεθόδων επί αυτών, στη μέθοδο main)

Μοντέλο Πεδίου προβλήματος προαπαιτούμενα Φοιτητής έχει περάσει Μάθημα ΧώροςΔιδασκαλίας Καθηγητής Πτυχιακή ΔιδασκόμενοΜάθημα Αίθουσα Εργαστήριο

Λεκτική Περιγραφή Περίπτωσης Χρήσης Βασική ροή 1. Ο φοιτητής επιλέγει το μάθημα στο οποίο επιθυμεί να εγγραφεί στην οθόνη «Εγγραφή σε Μάθημα» 2. Το σύστημα εμφανίζει τα προαπαιτούμενα μαθήματα για το επιλεγμένο μάθημα 3. Το σύστημα διαπιστώνει ότι ο φοιτητής έχει περάσει επιτυχώς τα προαπαιτούμενα μαθήματα 4. Το σύστημα διαπιστώνει ότι το επιλεγμένο μάθημα είναι διδασκόμενο μάθημα (όχι πτυχιακή) 5. Το σύστημα διαπιστώνει ότι υπάρχει χώρος στην αίθουσα ή το εργαστήριο στο οποίο διδάσκεται το επιλεγμένο μάθημα 6. Το σύστημα εγγράφει τον φοιτητή στο επιλεγμένο μάθημα και εμφανίζει μήνυμα επιτυχούς εγγραφής 7. Το σύστημα επιστρέφει στην οθόνη «Εγγραφή σε Μάθημα»

Λεκτική Περιγραφή Περίπτωσης Χρήσης Εναλλακτική ροή 1 3.α.1 Το σύστημα διαπιστώνει ότι ο φοιτητής δεν έχει περάσει ένα τουλάχιστον από τα προαπαιτούμενα μαθήματα 3.α.2 Το σύστημα εμφανίζει οθόνη αδυναμίας εγγραφής λόγω μη επιτυχούς ολοκλήρωσης των προαπαιτούμενων για το συγκεκριμένο μάθημα 3.α.3 Ο φοιτητής κλείνει το μήνυμα 3.α.4 Το σύστημα εμφανίζει την οθόνη «Εγγραφή σε Μάθημα» Εναλλακτική ροή 2 4.α.1 Το σύστημα διαπιστώνει ότι το επιλεγμένο μάθημα είναι πτυχιακή εργασία και εμφανίζει πεδίο επιλογής καθηγητή 4.α.2 Ο φοιτητής επιλέγει καθηγητή 4.α.3 Το σύστημα διαπιστώνει ότι ο επιλεγμένος καθηγητής δεν έχει υπερβεί το όριο πτυχιακών εργασιών 4.α.4 Το σύστημα εγγράφει τον φοιτητή στη λίστα επιβλεπομένων φοιτητών του επιλεγμένου καθηγητή 4.α.5 Ο φοιτητής κλείνει το μήνυμα 4.α.6 Το σύστημα εμφανίζει την οθόνη «Εγγραφή σε Μάθημα»

Λεκτική Περιγραφή Περίπτωσης Χρήσης Εναλλακτική ροή 3 4.β.1 Το σύστημα διαπιστώνει ότι το επιλεγμένο μάθημα είναι πτυχιακή εργασία και εμφανίζει πεδίο επιλογής καθηγητή 4.β.2 Ο φοιτητής επιλέγει καθηγητή 4.β.3 Το σύστημα διαπιστώνει ότι ο επιλεγμένος καθηγητής έχει υπερβεί το όριο πτυχιακών εργασιών 4.β.4 Το σύστημα εμφανίζει οθόνη αδυναμίας εγγραφής λόγω αδυναμίας του επιλεγμένου καθηγητή να επιβλέψει άλλες εργασίες 4.β.5 Ο φοιτητής κλείνει το μήνυμα 4.β.6 Το σύστημα εμφανίζει την οθόνη «Εγγραφή σε Μάθημα» Εναλλακτική ροή 4 5.α.1 Το σύστημα διαπιστώνει ότι δεν υπάρχει χώρος στην αίθουσα ή το εργαστήριο στο οποίο διδάσκεται το επιλεγμένο μάθημα 5.α.2 Το σύστημα εμφανίζει οθόνη αδυναμίας εγγραφής λόγω ανεπάρκειας χώρου 5.α.3 Ο φοιτητής κλείνει το μήνυμα 5.α.4 Το σύστημα εμφανίζει την οθόνη «Εγγραφή σε Μάθημα»

Διάγραμμα Ευρωστίας & Αναθ. Λεκτ. Περιγρ. See next slide

Αναθ. Μοντέλο του πεδίου του προβλήματος Παρατηρήσεις επί αλλαγών σε σχέση με το αρχικό μοντέλο του πεδίου του προβλήματος: 1. Από την περιγραφή και την ανάλυση ευρωστίας δεν προκύπτει ότι απαιτούνται διαφορετικές ιδιότητες ή διαφορετικές λειτουργίες από εργαστήρια και αίθουσες και κατά συνέπεια αφαιρείται η σχετική ιεραρχία κληρονομικότητας 2. Το μάθημα που επιλέγει (κατ όνομα) ο φοιτητής θα πρέπει να εντοπιστεί ως αντικείμενο και για το λόγο αυτό απαιτείται η προσθήκη κλάσης Λίστα Μαθημάτων στην οποία θα αναζητηθεί το μάθημα 3. Ο βαθμός ενός φοιτητή σε ένα μάθημα, βάσει του οποίου ελέγχεται εάν έχει περάσει τα προαπαιτούμενα δεν αποτελεί ιδιότητα του φοιτητή ούτε το μαθήματος. Μοντελοποιείται ως μια κλάση συσχέτισης μεταξύ Φοιτητή και Μαθήματος. 4. Η εγγραφή ενός φοιτητή σε πτυχιακή υπό την επίβλεψη ενός Καθηγητή συνεπάγεται την ύπαρξη συσχέτιση μεταξύ τους. 5. Πολλαπλότητες: Ένα μάθημα μπορεί να έχει πολλά προαπαιτούμενα, η λίστα μαθημάτων περιλαμβάνει πολλά μαθήματα, ένας Καθηγητής μπορεί να επιβλέπει από κανέναν έως πέντε φοιτητές 6. Ο Χώρος διδασκαλίας περιλαμβάνει ιδιότητα χωρητικότητα

Αναθ. Μοντέλο του πεδίου του προβλήματος ΒαθμολογίαΜαθήματος - βαθμός ΛίσταΜαθημάτων προαπαιτούμενα * * Φοιτητής έχει περάσει * Μάθημα ΧώροςΔιδασκαλίας - χωρητικότητα 0..5 επιβλεπόμενοι Καθηγητής 1 Πτυχιακή ΔιδασκόμενοΜάθημα

Διάγραμμα Ακολουθίας See next slide

Βασική ροή 1. Ο φοιτητής επιλέγει το μάθημα στο οποίο επιθυμεί να εγγραφεί στην οθόνη «Εγγραφή σε Μάθημα» 2.Το σύστημα εντοπίζει στον Κατάλογο Μαθημάτων το επιλεγμένο Μάθημα και ζητά την εγγραφή του φοιτητή στο Μάθημα 3.Το Μάθημα λαμβάνει από τον Φοιτητή τα μαθήματα που έχει ολοκληρώσει επιτυχώς και διαπιστώνει ότι ο φοιτητής έχει περάσει επιτυχώς τα προαπαιτούμενα μαθήματα 4.Το σύστημα διαπιστώνει ότι το επιλεγμένο μάθημα είναι διδασκόμενο μάθημα (όχι πτυχιακή) 5.Το σύστημα διαπιστώνει ότι υπάρχει χώρος στην αίθουσα ή το εργαστήριο στο οποίο διδάσκεται το επιλεγμένο μάθημα 6.Το σύστημα εγγράφει τον φοιτητή στο επιλεγμένο μάθημα και εμφανίζει μήνυμα επιτυχούς εγγραφής 7.Το σύστημα επιστρέφει στην οθόνη «Εγγραφή σε Μάθημα» SD: Εγγραφή σε Μάθημα Φοιτητής 1: Επιλογή Μαθήματος alt Οθόνη «Εγγραφή σε Μάθημα» Κατάλογος Μαθημάτων 2: εύρεσημαθήματος(string) 3: Μάθημα [Ανεπιτυχής ολοκλήρωση] 4: εγγραφήφοιτητή(φοιτητής) Μάθημα 5:λήψηΟλοκληρωμένω νμαθημάτων Λίσταολοκληρωμέ νωνμαθημάτων 6: έλεγχος προαπαιτουμένων Φοιτητής ΧώροςΔιδασκαλίας Λίστα Καθηγητών Καθηγητής 7: εμφάνισε (αδυναμία εγγραφής λόγω μη ολοκλήρωσης προαπαιτουμένων) Μήνυμα Σφάλματος Εναλλακτική ροή 1 3.α.1 Το σύστημα διαπιστώνει ότι ο φοιτητής δεν έχει περάσει ένα τουλάχιστον από τα προαπαιτούμενα μαθήματα 3.α.2 Το σύστημα εμφανίζει μήνυμα αδυναμίας εγγραφής λόγω μη επιτυχούς ολοκλήρωσης των προαπαιτούμενων για το συγκεκριμένο μάθημα alt [Eίναι διδασκόμενο μάθημα] 8: έλεγχος Χωρητικότητας(Πλήθος φοιτητών) Αποτέλεσμα Ελέγχου Χωρητικότητας Εναλλακτική ροή 2 4.α.1 Το σύστημα διαπιστώνει ότι το επιλεγμένο μάθημα είναι πτυχιακή εργασία και εμφανίζει πεδίο επιλογής καθηγητή 4.α.2 Ο φοιτητής επιλέγει καθηγητή 4.α.3 Το σύστημα διαπιστώνει ότι ο επιλεγμένος καθηγητής δεν έχει υπερβεί το όριο πτυχιακών εργασιών 4.α.4 Το σύστημα εγγράφει τον φοιτητή στη λίστα επιβλεπομένων φοιτητών του επιλεγμένου καθηγητή και εμφανίζει μήνυμα επιτυχούς εγγραφής alt [Ανεπάρκεια θέσεων] 9: εμφάνισε (αδυναμία εγγραφής λόγω θέσεων) 10: προσθήκηφοιτητή(φοιτητής) 11: εμφάνισε (επιτυχής εγγραφή) Εναλλακτική ροή 3 4.β.1 Το σύστημα διαπιστώνει ότι το επιλεγμένο μάθημα είναι πτυχιακή εργασία και εμφανίζει πεδίο επιλογής καθηγητή 4.β.2 Ο φοιτητής επιλέγει καθηγητή 4.β.3 Το σύστημα διαπιστώνει ότι ο επιλεγμένος καθηγητής έχει υπερβεί το όριο πτυχιακών εργασιών 4.β.4 Το σύστημα εμφανίζει οθόνη αδυναμίας εγγραφής λόγω αδυναμίας του επιλεγμένου καθηγητή να επιβλέψει άλλες εργασίες Εναλλακτική ροή 4 5.α.1 Το σύστημα διαπιστώνει ότι δεν υπάρχει χώρος στην αίθουσα ή το εργαστήριο στο οποίο διδάσκεται το επιλεγμένο μάθημα 5.α.2 Το σύστημα εμφανίζει οθόνη αδυναμίας εγγραφής λόγω ανεπάρκειας χώρου 13: Επιλογή Καθηγητή [Eίναι πτυχιακή] 12: Εμφάνιση πεδίου επιλογής καθηγητή alt [Ο επιλεγμένος καθηγητής είναι διαθέσιμος] 14: εύρεσηκαθηγητή(string) Καθηγητής 15: είναιδιαθέσιμος Αποτέλεσμα Ελέγχου Διαθεσιμότητας 16: εμφάνισε (αδυναμία εγγραφής λόγω μη διαθεσιμότητας καθηγητή) 17: προσθήκηφοιτητή(φοιτητής) 18: εμφάνισε (επιτυχής εγγραφή)

Παρατηρήσεις - Γενική παρατήρηση: κατά τη σχεδίαση του συστήματος υπάρχουν πολλές εναλλακτικές. Οι εναλλακτικές μπορεί να εξασφαλίζουν την ίδια λειτουργικότητα, αλλά διαφέρουν ως προς τα ποιοτικά χαρακτηριστικά της σχεδίασης. Στο ανωτέρω διάγραμμα ακολουθίας έχει ληφθεί μέριμνα ώστε η λειτουργικότητα του συστήματος (οι διάφοροι έλεγχοι) να κατανεμηθούν στις κλάσεις οντοτήτων του πεδίου του προβλήματος (Μάθημα, Αίθουσα, Καθηγητής) και να μην συσσωρευτούν σε μια «Θεϊκή» κλάση - Στο ανωτέρω διάγραμμα ακολουθίας αξιοποιείται ο πολυμορφισμός για την αποφυγή πραγματοποίησης ρητού ελέγχου για τον τύπο του μαθήματος (Διδασκόμενο μάθημα ή Πτυχιακή). Η μέθοδος εγγραφής φοιτητή σε μάθημα καλεί την αφηρημένη μέθοδο (checkotherpreconditions) η οποία υλοποιείται με διαφορετικό τρόπο στις δύο υποκλάσεις της κλάσης Μάθημα. - στο σύστημα έχει εισαχθεί πέραν του Καταλόγου μαθημάτων και κατάλογος διδασκόντων θεωρώντας ότι ο φοιτητής πληκτρολογεί το όνομα του καθηγητή και κατά συνέπεια πρέπει να εντοπιστεί το αντίστοιχο αντικείμενο Καθηγητής - η ακολουθία των ενεργειών στα πρώτα βήματα της λεκτικής περιγραφής έχει τροποποιηθεί ώστε να είναι σαφές ότι ο έλεγχος των προαπαιτουμένων θα πραγματοποιείται από το αντικείμενο τύπου Μάθημα - οι οθόνες που αφορούν σε μηνύματα εξόδου έχουν αφαιρεθεί μια και τα μηνύματα εμφανίζονται στο σχετικό πρόγραμμα στην κονσόλα (για λόγους απλότητας)

Διάγραμμα Κλάσεων ΚατάλογοςΜαθημάτων ΒαθμολογίαΜαθήματος - grade : int + findcourse(string):course προαπαιτούμενα * * Φοιτητής + getpassedcourses() : ArrayList<Course> επιβλεπόμενοι 0..5 * * - name Μάθημα + enrollstudent(student) + checkprerequisites(arraylist<course>):boolean + addstudent(student) + checkotherpreconditions(student) ΛίσταΚαθηγητών + findprofessor(string):professor * Καθηγητής + isavailable():boolean + addstudent(student) 1 Πτυχιακή ΔιδασκόμενοΜάθημα + checkotherpreconditions(student) + checkotherpreconditions(student) ΧώροςΔιδασκαλίας - capacity + checkcapacity(int):boolean

Υλοποίηση Παρατηρήσεις: - Στον κώδικα των κλάσεων έχουν προστεθεί και άλλες μέθοδοι πέραν αυτών που υπάρχουν στο διάγραμμα κλάσεων για να ελεγχθεί η λειτουργικότητα του συστήματος. Για παράδειγμα, στην κλάση CourseList έχει προστεθεί και μέθοδος προσθήκης μαθήματος - Οι κλάσεις CourseList και ProfessorList έχουν δηλωθεί με στατικές μεθόδους για ευκολία κλήσης τους (χωρίς την ύπαρξη αναφοράς) (Ο πηγαίος κώδικας βρίσκεται στο επισυναπτόμενο Eclipse Project μαζί με τη μέθοδο main προς επίδειξη της λειτουργικότητας του συστήματος)