Εργασία για το μάθημα Μοντελοποίηση Συστημάτων 5 Νοεμβρίου 2015 Α. Στόχος Στην εργασία αυτή θα εξοικειωθείτε με τα πρώτα στάδια σχεδιασμού λογισμικού. Συγκεκριμένα, μετά την εκπόνηση της εργασίας θα πρέπει να είστε σε θέση να περνάτε από μια αρχική προδιαγραφή των απαιτήσεων του πελάτη σε ένα πρώτο σχεδιασμό του υπό ανάπτυξη λογισμικού βασιζόμενοι κυρίως στις Περιπτώσεις Χρήσης (Use Cases). Β. Ζητούμενα Σας ζητείται η ανάπτυξη ενός συστήματος λογισμικού. Η ανάπτυξη θα ξεκινήσει από την περιγραφή του προβλήματος όπως την αντιλαμβάνεται αυτός που μας ζητά το λογισμικό (πελάτης). Αυτό συνεπάγεται ότι η περιγραφή μπορεί να μην είναι τόσο προφανής ή σαφής για εμάς. Παρόλα αυτά μέσα από διευκρινίσεις των επίμαχων σημείων και προσεκτική ανάλυση είναι δυνατόν να καταλήξουμε σε μια πρώτη σχεδίαση του υπό ανάπτυξη λογισμικού, η οποία να περιλαμβάνει το μοντέλο του πεδίου του προβλήματος (Domain Model) και τις αναμενόμενες οθόνες του ζητούμενου συστήματος (Screen Prototypes) καθώς και τις Περιπτώσεις Χρήσης (Use Cases) του πεδίου του προβλήματος (Problem Domain). Διαβάστε προσεκτικά την περιγραφή του προβλήματος που θα βρείτε στο Παράρτημα και εκπονήστε την εργασία σας η οποία να περιλαμβάνει τα εξής: 1) Από 1 έως 4 βασικά ερωτήματα που πρέπει να απαντηθούν μέσα από την ανάγνωση της περιγραφής, τα οποία είναι κατά τη γνώμη σας ασαφή και σας εμποδίζουν να προχωρήσετε στη σχεδίαση του μελλοντικού συστήματος. Θεωρείστε ότι τα ερωτήματα αυτά διευκρινίζονται μετά από συζήτηση με τον υποθετικό πελάτη του συστήματος που αναπτύσσετε και καταγράψτε την απάντηση υπό μορφή παραδοχής. 2) Το μοντέλο (κλάσεων) του πεδίου του προβλήματος (Domain Model). 3) Αναμενόμενες οθόνες του συστήματος (screen prototypes), όπως τις αντιλαμβάνεστε εσείς, έτσι ώστε να δείξετε στο πελάτη σας τι έχετε κατανοήσει για το σύστημα που σχεδιάζετε να παραδώσετε. 4) Το μοντέλο περιπτώσεων χρήσης (Use Case Model) για το πεδίο προβλήματος (Problem Domain) που μελετάτε. Το μοντέλο αυτό περιλαμβάνει: α. Την αναγνώριση των χειριστών και των περιπτώσεων χρήσης β. Το διάγραμμα περιπτώσεων χρήσης γ. Τη λεκτική περιγραφή των περιπτώσεων χρήσης 1
δ. Το διάγραμμα δραστηριοτήτων για κάθε μια από τις περιπτώσεις χρήσεις 5) Αναλυτικά διαγράμματα ακολουθίας και εμπλουτισμό του μοντέλου κλάσεων με λειτουργίες και ιδιότητες που ενδεχομένως προκύψουν. Όπου χρειαστούν παραδοχές, αυτές μπορούν να γίνουν από εσάς εφόσον είναι σε λογικά πλαίσια και τις παραθέσετε στην εργασία σας. Για τη σχεδίαση των διαγραμμάτων που απαιτούνται μπορείτε να χρησιμοποιήσετε οποιοδήποτε εργαλείο CASE επιθυμείτε ή ακόμη και κάποιο σχεδιαστικό εργαλείο (π.χ. Microsoft Visio). Γ. Ημερομηνία Παράδοσης - Οδηγίες 1. Η εργασία είναι προαιρετική. 2. Η εργασία ισχύει μόνο για τις εξεταστικές περιόδους του τρέχοντος εξάμηνου και δε μεταφέρεται σε επόμενα εξάμηνα. 3. Η εργασία θα υλοποιηθεί σε ομάδες ενός ή δύο ατόμων. 4. Η εργασία σας θα πρέπει να υποβληθεί το αργότερο μέχρι την Τετάρτη 20 Ιανουαρίου 2016, μέσω του ηλεκτρονικής σελίδας του μαθήματος στο σύστημα Open e-class στην ακόλουθη διεύθυνση: https://openeclass.teimes.gr/modules/work/work.php?course=cied115&id=4 H απάντηση θα πρέπει να είναι συγκεντρωμένη σε ένα αρχείο Word (συμπιεσμένο αν το μέγεθος είναι μεγάλο). Περισσότερα του ενός αρχεία δε θα γίνουν δεκτά. 5. Όπου χρειαστούν παραδοχές, αυτές μπορούν να γίνουν από εσάς εφόσον είναι σε λογικά πλαίσια και τις παραθέσετε στην εργασία σας. Ως εργαλείο ανάπτυξης λογισμικού CASE προτείνεται το: Visual Paradigm for UML Community Edition, της Visual Paradigm, το οποίο διατίθεται ελεύθερα και θα το «κατεβάσετε» από τη διεύθυνση: http://www.visual-paradigm.com/product/vpuml/productinfovpumlce.jsp Εναλλακτικά μπορείτε να χρησιμοποιήσετε το Umbrello UML Modeller το οποίο είναι διαθέσιμο στην ηλεκτρονική διεύθυνση: http://uml.sourceforge.net/index.php Μπορείτε ωστόσο για τη σχεδίαση των διαγραμμάτων που απαιτούνται να χρησιμοποιήσετε οποιοδήποτε εργαλείο CASE επιθυμείτε ή ακόμη και κάποιο σχεδιαστικό εργαλείο (π.χ. Microsoft Visio). Δ. Κριτήρια αξιολόγησης Η εργασία θα αξιολογηθεί με βάση τα ακόλουθα κριτήρια: Πληρότητα. Κατά πόσο τα διαγράμματα που θα παραδοθούν για κάθε ερώτημα είναι πλήρη και επαρκώς τεκμηριωμένα. 2
Ορθότητα τεχνικής αναφοράς. Οι απαντήσεις σας θα πρέπει να συνοδεύονται τεχνική αναφορά η οποία θα παρουσιάζει αναλυτικά και θα τεκμηριώνει τις προτεινόμενες λύσεις. Για την δημιουργία της τεχνικής αναφοράς προτείνεται να ακολουθηθεί η δομή που παρουσιάζεται στο Παράρτημα Β. Ε. Βαθμολογία Εργασίας H τελική βαθμολογία της εργασίας θα υπολογιστεί σύμφωνα με τον ακόλουθο τύπο: ΤΒΕ = ΠΕ*50%+ΤΑ*50% ΠΕ ΤΑ ΤΒΕ Πληρότητα Ερωτημάτων Τεχνική Αναφορά Τελικός Βαθμός Εργασίας ΣΤ. Βαθμολογία Μαθήματος Ερώτημα Βαθμός Ερώτημα 1 1 Ερώτημα 2 2 Ερώτημα 3 1 Ερώτημα 4 4 Ερώτημα 4α 1 Ερώτημα 4β 1 Ερώτημα 4γ 1 Ερώτημα 4δ 1 Ερώτημα 5 2 Σύνολο 10 H τελική βαθμολογία της εργασίας μαθήματος θα υπολογιστεί σύμφωνα με τον ακόλουθο τύπο: ΤΒΜ = ΤΒΕ*60% + ΒΕΘ*40% ΤΒΜ Τελικός Βαθμός Μαθήματος ΤΒΕ Τελικός Βαθμός Εργασίας ΒΕΘ Βαθμός Εξέτασης Θεωρίας Η εργασία συμμετέχει στον υπολογισμό του τελικού βαθμού μόνο αν ισχύει η συνθήκη: ΒΕΘ 5 3
ΠΑΡΑΡΤΗΜΑ Α - Απαιτήσεις Λογισμικού Online Διαδραστικό Σύστημα Διαχείρισης Σχολικής Τάξης Σκοπός της εφαρμογής που καλείστε να αναπτύξετε είναι η δημιουργία ενός online διαδραστικού συστήματος για τη διαχείριση μιας σχολικής τάξης. Το σύστημα θα αποτελείται από μία Βάση Δεδομένων και από ένα web περιβάλλον διεπαφής (web interface). Στη βάση θα αποθηκεύονται πληροφορίες για τον εκπαιδευτικό, τους μαθητές της τάξης, τα μαθήματα και τις εργασίες. Το σύστημα θα διαθέτει δύο ρόλους χρηστών, του εκπαιδευτικού και του μαθητή. Συγκεκριμένα, ο εκπαιδευτικός θα μπορεί να κάνει είσοδο στο υποσύστημα με τον προσωπικό του λογαριασμό και θα μπορεί να δημιουργεί μάθημα, να εισάγει τους μαθητές της τάξης του σε κάθε μάθημα και να ανεβάζει εργασίες για κάθε μάθημα. Ο μαθητής θα μπορεί να εισέλθει στον προσωπικό του λογαριασμό, να δει τις εργασίες που έχει ανεβάσει ο εκπαιδευτικός στο μάθημα και να τις κατεβάσει. Εισαγωγή / Τροποποίηση / Διαγραφή Χρηστών Ο εκπαιδευτικός, αφού κάνει είσοδο στο υποσύστημα της e-τάξης με ένα προκαθορισμένο username/password, θα έχει τη δυνατότητα να δημιουργήσει επιπλέον χρήστες με ρόλο μαθητή. Επίσης, θα έχει τη δυνατότητα να τροποποιήσει ή να διαγράψει τους υπάρχοντες λογαριασμούς χρηστών (μαθητών). Όταν θελήσει ο εκπαιδευτικός να διαγράψει ένα μαθητή θα πρέπει να εμφανίζεται μήνυμα ελέγχου για επιβεβαίωση της διαγραφής. Οι μαθητές θα έχουν τη δυνατότητα τροποποίησης του προφίλ τους με προσθήκη περισσότερων στοιχείων όπως π.χ. ημερομηνία γέννησης, τόπος διαμονής, ενδιαφέροντα καθώς επίσης θα μπορούν ανεβάζουν φωτογραφία για το προφίλ τους τα οποία στοιχεία θα είναι προαιρετικά. Δεν θα μπορούν να διαγράφουν το λογαριασμό τους οι μαθητές. Διαχείριση μαθήματος Ο εκπαιδευτικός θα έχει τη δυνατότητα διαχείρισης της e-τάξης. Συγκεκριμένα, θα μπορεί να εισάγει μάθημα και μαθητές. Για κάθε μάθημα ο εκπαιδευτικός θα έχει τη δυνατότητα να εισάγει το όνομα και προαιρετικά μία σύντομη περιγραφή. Η εισαγωγή μαθήματος θα πρέπει να προηγείται της εισαγωγής μαθητών. Ένας μαθητής θα μπορεί να ανήκει σε περισσότερα από ένα μαθήματα. Γι αυτό όταν ο εκπαιδευτικός θα εισάγει τον μαθητή σε ένα μάθημα, τα μαθήματα θα πρέπει να εμφανίζονται π.χ. με τη μορφή drop down list και ο εκπαιδευτικός να μπορεί να διαλέξει ένα ή περισσότερα μαθήματα μαζί. Επίσης θα μπορεί να τροποποιεί ένα μάθημα ή να διαγράφει ένα μάθημα. Διαχείριση εργασιών μαθήματος Ο εκπαιδευτικός για να εισάγει μία εργασία σε ένα μάθημα θα πρέπει να δίνει όνομα εργασίας, να ανεβάζει ένα αρχείο, να δίνει μια σύντομη περιγραφή της εργασίας και λέξεις κλειδιά. Η κάθε εργασία ανήκει σε ένα μόνο μάθημα. Για τις εργασίες θα υπάρχει η δυνατότητα στον εκπαιδευτικό να είναι ορατές ή αόρατες 4
στους μαθητές. Ο μαθητής θα πρέπει να έχει τη δυνατότητα να κατεβάσει την εργασία τοπικά στον υπολογιστή του. Το σύστημα θα πρέπει να παρέχει στον εκπαιδευτικό τη δυνατότητα προβολής όλων των εργασιών που αναρτώνται, από τη νεότερη προς την παλαιότερη, σελιδοποιημένες ανά 5. Δημιουργία σύννεφου λέξεων Στο περιβάλλον τόσο του εκπαιδευτικού όσο και του μαθητή να εμφανίζεται ένα σύννεφο λέξεων με τις λέξεις κλειδιά από τις εργασίες. Οι λέξεις που συναντώνται πιο συχνά θα πρέπει να εμφανίζονται πιο έντονα από ότι άλλες που εμφανίζονται λιγότερες φορές ή μόνο μία. Πατώντας πάνω σε μία λέξη από το σύννεφο λέξεων να εμφανίζεται μία λίστα με το όνομα των εργασιών που συναντάται η λέξη κλειδί. 5
ΠΑΡΑΡΤΗΜΑ Β Δομή Τεχνικής Αναφοράς ΕΡΓΑΣΙΑ ΓΙΑ ΤΟ ΜΑΘΗΜΑ «ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ» ΟΝΟΜΑ1 ΕΠΩΝΥΜΟ 1, ΑΜ1 ΟΝΟΜΑ2 ΕΠΩΝΥΜΟ2, ΑΜ2 Ημερομηνία 6
1. Ανάλυση του Αρχικού Κειμένου Απαιτήσεων Χρήστη 2. Ερωτήματα Παραδοχές 3. Ενδεικτική Σχεδίαση Διεπαφών (Prototype Screens) 4. Μοντέλο (Ανάλυσης) Κλάσεων Πεδίου του Προβλήματος 5. Περιγραφή Κλάσεων 6. Πιθανοί Χειριστές (Actors) του Πεδίου του Προβλήματος 7. Συνολικό Μοντέλο Περιπτώσεων Χρήσης 8. Περιγραφή Περιπτώσεων Χρήσης 8.1. Περίπτωση Χρήση «ΑΒΓ» 8.1.1 Λεκτική Περιγραφή 8.1.2 Βασική Ροή 8.1.3 Εναλλακτική Ροή 1 8.1.4 Εναλλακτική Ροή 2 8.1. Χ Διάγραμμα Δραστηριοτήτων 8.2. Περίπτωση Χρήση «ΧΥΖ» 7
9. Διαγράμματος ακολουθίας 10.1 Διάγραμμα ακολουθίας 1 10.2 Διάγραμμα ακολουθίας 2. 10. Εμπλουτισμένο μοντέλο κλάσεων 8