ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ Άσκηση 1 Εφαρµογή Web Α)
Τα παραπάνω διαγράµµατα περιπτώσεων χρήσης ικανοποιούν τις απαιτήσεις του συστήµατος ως εξής: ΑΠΑΙΤΗΣΕΙΣ ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ Μόνο οι φοιτητές του συγκεκριµένου πανεπιστηµίου είναι σε Ρόλος: Student. Συσχετίζεται µε τη Login η οποία θέση να χρησιµοποιήσουν την υπό εξέταση εφαρµογή Web. περιλαµβάνει την αυθεντικοποίηση/εγκυροποίηση Κατά την πραγµατοποίηση µιας αίτησης κράτησης οι φοιτητές πρέπει να προσδιορίσουν το ονοµατεπώνυµό τους, τον αριθµό ( authenticate ) από το σύστηµα Ρόλος: Student. Συσχετίζεται µε τη Send Application η οποία περιλαµβάνει την Fill in Application
της φοιτητικής τους ταυτότητας, το τµήµα στο οποίο ανήκουν, το έτος εισαγωγής τους στο πανεπιστήµιο, τη διεύθυνση ηλεκτρονικού ταχυδροµείου (e-mail) που διαθέτουν, καθώς και τρεις φοιτητικές εστίες στις οποίες προτιµούν να έχουν δωµάτιο (αφού το πανεπιστήµιο διαθέτει αρκετές διαφορετικές φοιτητικές εστίες). Ο αρµόδιος υπάλληλος του πανεπιστηµίου χρησιµοποιώντας την υπό εξέταση εφαρµογή Web, πραγµατοποιεί µια κατανοµή των φοιτητών σε δωµάτια στις φοιτητικές εστίες πριν από την αρχή της ακαδηµαϊκής χρονιάς, αφού πρώτα κάνει έναν έλεγχο της εγκυρότητας της αίτησής τους. Ο υπάλληλος του πανεπιστηµίου προσπαθεί, όπου κάτι τέτοιο είναι δυνατό, να δώσει στους φοιτητές δωµάτιο σε µια από τις φοιτητικές εστίες που έχουν δηλώσει στις προτιµήσεις τους. Οι φοιτητές ενηµερώνονται έγκαιρα για το δωµάτιο που θα έχουν τη νέα ακαδηµαϊκή χρονιά από τον αρµόδιο υπάλληλο του πανεπιστηµίου µέσω της υπό εξέταση εφαρµογής Web (µε την αποστολή κατάλληλου µηνύµατος ηλεκτρονικού ταχυδροµείου). Β) Ρόλος: Employee. Συσχετίζεται µε τη Assign dorms to students η οποία επεκτείνεται από την Assign dorms to students according to preferences και περιλαµβάνει τον έλεγχο των αιτήσεων ( Validate applications ) Ρόλος: Employee. Συσχετίζεται µε τη Notify Students η οποία περιλαµβάνει τις δύο περιπτώσεις χρήσης κατανοµής δωµατίων σε φοιτητές ( Assign dorms to students και Assign dorms to students according to preferences ). Με την περίπτωση χρήσης Notify Students συσχετίζεται και ο ρόλος Email System, µέσω του οποίου αποστέλλονται τα ηλεκτρονικά µηνύµατα στους φοιτητές
Άσκηση 2 Αττικό Μετρό 1
Άσκηση 3 Αττικό Μετρό 2 Σε µια τέτοια εφαρµογή θα έχουµε 2 αντικείµενα της κλάσης ΣΥΡΜΟΣ, όπου µε βάση το ΡΟΜΟΛΟΓΙΟ µε το οποίο συνδέεται το καθένα, το κάθε ένα θα έχει κατεύθυνση : προορισµός (όνοµα) και αφετηρία (όνοµα). Και τα δύο αντικείµενα περνούν από Σταθµούς της κόκκινης γραµµής (ΓΡΑΜΜΗ). Το κάθε αντικείµενο της κλάσης ΣΥΡΜΟΣ έχει ένα δροµολόγιο. Βρίσκουµε το δροµολόγιο του
αντικειµένου χρησιµοποιώντας το αντικείµενο της κλάσης ΡΟΜΟΛΟΓΙΟ και τη µέθοδο getname() της κλάσης αυτής. Η µέθοδος αυτή µε τη σειρά της επικοινωνεί µέσω του αντικειµένου της κλάσης ΣΤΑΘΜΟΣ και µας γυρίζει τόσο την αφετηρία όσο και το προορισµό για το συγκεκριµένο αντικείµενο ΡΟΜΟΛΟΓΙΟ. Τόσο ο ΣΤΑΘΜΟΣ αφετηρίας όσο και αυτός του προορισµού θα πρέπει να είναι της κόκκινης γραµµής (αντικείµενογραµµη. getcolor(dr: ΡΟΜΟΛΟΓΙΟ)). Άσκηση 4 Μοντελοποίηση µε διάγραµµα κλάσεων της «Ενοποιηµένης Προσέγγισης»
Άσκηση 5 Αναλυτικός προσδιορισµός περιπτώσεων χρήσης Τίτλος περίπτωσης χρήσης: Αποστολή SMS µηνύµατος Σύντοµη περιγραφή Αυτή η περίπτωση χρήσης επιτρέπει τη αποστολή µηνύµατος SMS σε οποιοδήποτε αριθµό κινητού τηλεφώνου. Χειριστές: Κάτοχος κινητού τηλεφώνου, Σύστηµα Κινητής Τηλεφωνίας Ροή γεγονότων Βασική ροή 1) Ο χρήστης επιλέγει «Μηνύµατα» από το κεντρικό µενού του συστήµατος. 2) Το σύστηµα εµφανίζει τις επιλογές : MMS, SMS, Email 3) Ο χρήστης επιλέγει SMS και το σύστηµα του εµφανίζει τις επιλογές «ηµιουργία Μηνύµατος», «Εισερχόµενα», «Σταλµένα», «Πρόχειρα». 4) Ο χρήστης επιλέγει «ηµιουργία Μηνύµατος» και το σύστηµα του εµφανίζει το πεδίο εισαγωγής χαρακτήρων. 5) Ο χρήστης εισάγει το επιθυµητό κείµενο και επιλέγει «Αποστολή» 6) Το σύστηµα αποκρίνεται ζητώντας από το χρήστη να εισάγει τον αριθµό του αποδέκτη. 7) Ο χρήστης τον εισάγει και επιλέγει «ΟΚ». 8) Το σύστηµα εµφανίζει µια µπάρα προόδου των εκτελούµενων εργασιών (ήτοι αποστολή του µηνύµατος). 9) Αφού σταλεί το µήνυµα επιτυχώς το σύστηµα εµφανίζει ένα ανάλογο µήνυµα επιτυχίας (ίσως συνοδευµένο και από ένα χαρακτηριστικό ήχο) 10) Το διαθέσιµο ποσό του χρήστη εάν είναι καρτο-συµβόλαιο µειώνεται, ενώ εάν είναι απλό συµβόλαιο αυξάνεται ο λογαριασµός του Εναλλακτικές ροές Εναλλακτική ροή 1: «Εισαγωγή αριθµού» Στο σύστηµα ο χρήστης µπορεί να επιλέξει ένα ήδη υπάρχον αριθµό τηλεφώνου από τις «Επαφές». 7α) Το σύστηµα εµφανίζει όλες τις επαφές του χρήστη. 7β) Ο χρήστης επιλέγει την επιθυµητή επαφή και πατά «ΟΚ». 7γ) Εκτέλεση βήµατος 8 βασικής ροής. Εναλλακτική ροή 2: «Ακύρωση διαδικασίας» Ο χρήστης µπορεί να ακυρώσει τη διαδικασία αποστολής µηνύµατος πατώντας «Ακύρωση» Εναλλακτική ροή 3: «Καθαρισµός κειµένου» Ο χρήστης µπορεί να διαγράψει το κείµενο που έχει καταχωρήσει, µε την επιλογή «Καθαρισµός». Ειδικές απαιτήσεις
Μη λειτουργικές απαιτήσεις Ο χρήστης έχει επαρκές ποσό στο λογαριασµό (εάν είναι κάρτα) για την αποστολή µηνύµατος Το κινητό τηλέφωνο έχει επαρκές σήµα για την αποστολή µηνύµατος Κατάσταση εισόδου εν υπάρχουν. Κατάσταση εξόδου Το µήνυµα εστάλη Χρεώση του χρήστη Άσκηση 6 Μοντελοποίηση υπολογιστή Α)
Β)
Άσκηση 7 ιαγράµµατα ακολουθίας - συνεργασίας Θεωρούµε ένα αντικείµενο της κλάσης LibraryMember, το οποίο είναι ο υπάλληλος της Βιβλιοθήκης και ο οποίος είναι βασικός actor του σεναρίου που περιγράφουµε (θεωρώντας ότι η διαδικασία δανεισµού γίνεται στη βιβλιοθήκη). Θεωρούµε ότι ο δανειζόµενος έχει κάνει ήδη κράτηση ένα βιβλίο. Ο δανειζόµενος λοιπόν δίνει τα στοιχεία της κράτησης και ο υπάλληλος αφού αναζητήσει το βιβλίο (getboook(isbn)) αποζητά την επιβεβαίωση αυτής (findreservations(isbn,name)). Έπειτα ο υπάλληλος αναζητά το κρατηµένο αντίγραφο του βιβλίου και θέτει τόσο το βιβλίο όσο και το αντίγραφό του ως δανεισµένα (setborrowed(true), borrow()), ενώ µειώνονται τα διαθέσιµα αντίγραφα κατά ένα (reduceavailablecopies()). Τέλος, η κράτηση διαγράφεται από το σύστηµα. Α)
Β) Θεωρούµε ένα αντικείµενο της κλάσης LibraryMember, το οποίο είναι ο υπάλληλος της Βιβλιοθήκης και ο οποίος είναι βασικός actor του σεναρίου που περιγράφουµε (θεωρώντας ότι η διαδικασία επιστροφής γίνεται στη βιβλιοθήκη). Ο δανειζόµενος επιστρέφει το βιβλίο και δίνει τα στοιχεία του και ο υπάλληλος αφού αναζητήσει το βιβλίο (getboook(isbn)) αφού ελέγξει την ηµ/νία επιστροφής (θεωρούµε ότι η επιστροφή έγινε έγκαιρα returndate<=duedate) θέτει τόσο το βιβλίο όσο και το αντίγραφό του ως διαθέσιµα (setborrowed(false), return()), ενώ αυξάνονται τα διαθέσιµα αντίγραφα κατά ένα (increaseavailablecopies()).
Γ)
Άσκηση 8 ιαγράµµατα καταστάσεων Α)
Β)