Εργασία για το μάθημα Μοντελοποίηση Συστημάτων 29 Οκτωβρίου 204 Α. Στόχος Στην εργασία αυτή θα εξοικειωθείτε με τα πρώτα στάδια σχεδιασμού λογισμικού. Συγκεκριμένα, μετά την εκπόνηση της εργασίας θα πρέπει να είστε σε θέση να περνάτε από μια αρχική προδιαγραφή των απαιτήσεων του πελάτη σε ένα πρώτο σχεδιασμό του υπό ανάπτυξη λογισμικού βασιζόμενοι κυρίως στις Περιπτώσεις Χρήσης (Use Cases). Β. Ζητούμενα Σας ζητείται η ανάπτυξη ενός συστήματος λογισμικού. Η ανάπτυξη θα ξεκινήσει από την περιγραφή του προβλήματος όπως την αντιλαμβάνεται αυτός που μας ζητά το λογισμικό (πελάτης). Αυτό συνεπάγεται ότι η περιγραφή μπορεί να μην είναι τόσο προφανής ή σαφής για εμάς. Παρόλα αυτά μέσα από διευκρινίσεις των επίμαχων σημείων και προσεκτική ανάλυση είναι δυνατόν να καταλήξουμε σε μια πρώτη σχεδίαση του υπό ανάπτυξη λογισμικού, η οποία να περιλαμβάνει το μοντέλο του πεδίου του προβλήματος (Domain Model) και τις αναμενόμενες οθόνες του ζητούμενου συστήματος (Screen Prototypes) καθώς και τις Περιπτώσεις Χρήσης (Use Cases) του πεδίου του προβλήματος (Problem Domain). Διαβάστε προσεκτικά την περιγραφή του προβλήματος που θα βρείτε στο Παράρτημα και εκπονήστε την εργασία σας η οποία να περιλαμβάνει τα εξής: ) Από έως 4 βασικά ερωτήματα που πρέπει να απαντηθούν μέσα από την ανάγνωση της περιγραφής, τα οποία είναι κατά τη γνώμη σας ασαφή και σας εμποδίζουν να προχωρήσετε στη σχεδίαση του μελλοντικού συστήματος. Θεωρείστε ότι τα ερωτήματα αυτά διευκρινίζονται μετά από συζήτηση με τον υποθετικό πελάτη του συστήματος που αναπτύσσετε και καταγράψτε την απάντηση υπό μορφή παραδοχής. 2) Το μοντέλο (κλάσεων) του πεδίου του προβλήματος (Domain Model). 3) Αναμενόμενες οθόνες του συστήματος (screen prototypes), όπως τις αντιλαμβάνεστε εσείς, έτσι ώστε να δείξετε στο πελάτη σας τι έχετε κατανοήσει για το σύστημα που σχεδιάζετε να παραδώσετε. 4) Το μοντέλο περιπτώσεων χρήσης (Use Case Model) για το πεδίο προβλήματος (Problem Domain) που μελετάτε. Το μοντέλο αυτό περιλαμβάνει: α. Την αναγνώριση των χειριστών και των περιπτώσεων χρήσης β. Το διάγραμμα περιπτώσεων χρήσης γ. Τη λεκτική περιγραφή των περιπτώσεων χρήσης
δ. Το διάγραμμα δραστηριοτήτων για κάθε μια από τις περιπτώσεις χρήσεις 5) Αναλυτικά διαγράμματα ακολουθίας και εμπλουτισμό του μοντέλου κλάσεων με λειτουργίες και ιδιότητες που ενδεχομένως προκύψουν. Όπου χρειαστούν παραδοχές, αυτές μπορούν να γίνουν από εσάς εφόσον είναι σε λογικά πλαίσια και τις παραθέσετε στην εργασία σας. Για τη σχεδίαση των διαγραμμάτων που απαιτούνται μπορείτε να χρησιμοποιήσετε οποιοδήποτε εργαλείο CASE επιθυμείτε ή ακόμη και κάποιο σχεδιαστικό εργαλείο (π.χ. Microsoft Visio). Γ. Ημερομηνία Παράδοσης - Οδηγίες. Η εργασία είναι προαιρετική. 2. Η εργασία ισχύει μόνο για τις εξεταστικές περιόδους του τρέχοντος εξάμηνου και δε μεταφέρεται σε επόμενα εξάμηνα. 3. Η εργασία θα υλοποιηθεί σε ομάδες ενός ή δύο ατόμων. 4. Η εργασία σας θα πρέπει να υποβληθεί το αργότερο μέχρι την Τρίτη 20 Ιανουαρίου 205, μέσω του ηλεκτρονικής σελίδας του μαθήματος στο σύστημα Open e- Class στην ακόλουθη διεύθυνση: https://openeclass.teimes.gr/modules/work/work.php?course=cied5&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% ΠΕ ΤΑ ΤΒΕ Πληρότητα Ερωτημάτων Τεχνική Αναφορά Τελικός Βαθμός Εργασίας Ερώτημα Ερώτημα Ερώτημα 2 Ερώτημα 3 Ερώτημα 4 Ερώτημα 4α Ερώτημα 4β Ερώτημα 4γ Ερώτημα 4δ Ερώτημα 5 Σύνολο Βαθμός 2 4 2 0 ΣΤ. Βαθμολογία Μαθήματος H τελική βαθμολογία της εργασίας μαθήματος θα υπολογιστεί σύμφωνα με τον ακόλουθο τύπο: ΤΒΜ = ΤΒΕ*60% + ΒΕΘ*40% ΤΒΜ Τελικός Βαθμός Μαθήματος ΤΒΕ Τελικός Βαθμός Εργασίας ΒΕΘ Βαθμός Εξέτασης Θεωρίας Η εργασία συμμετέχει στον υπολογισμό του τελικού βαθμού μόνο αν ισχύει η συνθήκη: ΒΕΘ 5 3
ΠΑΡΑΡΤΗΜΑ Α - Απαιτήσεις Λογισμικού Ηλεκτρονικό Σύστημα Διαχείρισης Παραγγελιοληψίας Σκοπός της εφαρμογής που καλείστε να αναπτύξετε είναι η δημιουργία ενός online διαδραστικού συστήματος παραγγελιοληψίας για τη διαχείριση των παραγγελιών ενός καταστήματος εστίασης (π.χ. καφετέρια, εστιατόριο, κλπ.). Το σύστημα θα αποτελείται από μία Βάση Δεδομένων και από ένα web περιβάλλον διεπαφής (web interface). Στη βάση θα αποθηκεύονται πληροφορίες για τα προϊόντα του καταστήματος, τις παραγγελίες και τους σερβιτόρους. Συγκεκριμένα, ο κάθε σερβιτόρος θα μπορεί να κάνει είσοδο στο υποσύστημα των σερβιτόρων με τον προσωπικό του λογαριασμό και να εισάγει νέες εγγραφές που αφορούν παραγγελίες ειδών από τον κατάλογο. Ο διαχειριστής, θα μπορεί να κάνει είσοδο στο υποσύστημα του διαχειριστή με τον προσωπικό του λογαριασμό και να διαχειρίζεται τους σερβιτόρους και τα προϊόντα του καταλόγου. Επίσης, θα έχει πρόσβαση και σε στατιστικά στοιχεία που αφορούν το κατάστημα. Εισαγωγή / Τροποποίηση / Διαγραφή Χρηστών Ο διαχειριστής, αφού κάνει είσοδο στο υποσύστημα διαχειριστών με ένα προκαθορισμένο username/password, θα έχει τη δυνατότητα να δημιουργήσει επιπλέον χρήστες, είτε διαχειριστές είτε σερβιτόρους. Επίσης, θα έχει τη δυνατότητα να τροποποιήσει ή να διαγράψει τους υπάρχοντες λογαριασμούς χρηστών. Διαχείριση καταλόγου Ο διαχειριστής θα έχει τη δυνατότητα της διαχείρισης του καταλόγου του καταστήματος. Συγκεκριμένα, θα μπορεί να προσθέτει ή και να τροποποιεί είδη από τον κατάλογο. Για κάθε είδος ο διαχειριστής θα έχει τη δυνατότητα να εισάγει το όνομα, την τιμή και προαιρετικά μία σύντομη περιγραφή. Τα είδη του καταλόγου θα εμφανίζονται στο διαχειριστή σε μορφή λίστας, ταξινομημένα αλφαβητικά ως προς το όνομα. Παραγγελία ειδών Οι σερβιτόροι, αφού κάνουν είσοδο στο σύστημα με τον προσωπικό τους κωδικό, θα έχουν τη δυνατότητα να καταχωρούν στο σύστημα παραγγελίες ειδών από τον κατάλογο. Ο κατάλογος θα εμφανίζει όλα τα είδη αλφαβητικά ως προς το όνομα. Ο σερβιτόρος θα επιλέγει ένα συγκεκριμένο είδος προς παραγγελία και θα ορίζει την ποσότητα (π.χ. «2 κέικ σοκολάτας»). Μετά την καταχώρηση της παραγγελίας θα επιστρέφει αυτόματα στην αρχική οθόνη ώστε να έχει άμεσα δυνατότητα για καταχώρηση νέας παραγγελίας. Εμφάνιση παραγγελιών και στατιστικών Το σύστημα θα πρέπει να παρέχει στον διαχειριστή τη δυνατότητα προβολής όλων 4
των παραγγελιών που πραγματοποιούνται, από τη νεότερη προς την παλαιότερη, σελιδοποιημένες ανά 20. Επίσης, ο διαχειριστής θα έχει τη δυνατότητα να εμφανίζει κάποια βασικά στατιστικά πωλήσεων του καταστήματος. Συγκεκριμένα θα πρέπει να υπολογίζονται τα παρακάτω στατιστικά στοιχεία: Τα 5 προϊόντα με τις περισσότερες και τις λιγότερες παραγγελίες. Το συνολικό τζίρο του καταστήματος για την τρέχουσα ημέρα, εβδομάδα και μήνα. 5
ΠΑΡΑΡΤΗΜΑ Β Δομή Τεχνικής Αναφοράς ΕΡΓΑΣΙΑ ΓΙΑ ΤΟ ΜΑΘΗΜΑ «ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ» ΟΝΟΜΑ ΕΠΩΝΥΜΟ, ΑΜ ΟΝΟΜΑ2 ΕΠΩΝΥΜΟ2, ΑΜ2 Ημερομηνία 6
. Ανάλυση του Αρχικού Κειμένου Απαιτήσεων Χρήστη 2. Ερωτήματα Παραδοχές 3. Ενδεικτική Σχεδίαση Διεπαφών (Prototype Screens) 4. Μοντέλο (Ανάλυσης) Κλάσεων Πεδίου του Προβλήματος 5. Περιγραφή Κλάσεων 6. Πιθανοί Χειριστές (Actors) του Πεδίου του Προβλήματος 7. Συνολικό Μοντέλο Περιπτώσεων Χρήσης 8. Περιγραφή Περιπτώσεων Χρήσης 8.. Περίπτωση Χρήση «ΑΒΓ» 8.. Λεκτική Περιγραφή 8..2 Βασική Ροή 8..3 Εναλλακτική Ροή 8..4 Εναλλακτική Ροή 2 8.. Χ Διάγραμμα Δραστηριοτήτων 8.2. Περίπτωση Χρήση «ΧΥΖ» 7
9. Διαγράμματος ακολουθίας 0. Διάγραμμα ακολουθίας 0.2 Διάγραμμα ακολουθίας 2. 0. Εμπλουτισμένο μοντέλο κλάσεων 8