Περιεχόµενα ΕΠΛ 435: Αλληλεπίδραση Ανθρώπου Υπολογιστή Σχεδίαση ιαδραστικών Συστηµάτων: Αρχικός προσδιορισµός απαιτήσεων Καταγραφή βασικών εργασιών χρηστών Πως; Παράδειγµα: Σύστηµα βιβλιοθήκης Ανάλυση απαιτήσεων µέσω δηµιουργίας σεναρίων χρήσης Σενάρια Περιπτώσεις χρήσης (Use cases) Ουσιαστικές περιπτώσεις χρήσης (Essential Use Cases) Ανάπτυξη αρχικών προδιαγραφών Κατηγορίες προδιαγραφών Ένα παράδειγµα καταγραφής προδιαγραφών Βιβλιογραφία Εισαγωγή Dix [2004]: Chapter 13 [pdf] Preece [2002]: Chapter 7 [slides] Volere Requirement Resources [link] Shneiderman [2004]: Chapter 3, [link] what is wanted interviews ethnography what is there vs. what is wanted scenarios task analysis analysis evaluation heuristics dialogue notations prototype guidelines principles design precise specification implement and deploy architectures documentation help
Ανάλυση αναγκών και απαιτήσεων Καταγραφή βασικών εργασιών χρηστών [ ] Χωρισµός χρηστών σε οµογενείς οµάδες και ανάλυση των χαρακτηριστικών τους Αναγνώριση και ανάλυση χρηστών Μεθοδολογίες συλλογής δεδοµένων για τους χρήστες Παρατήρηση χρηστών στο περιβάλλον εργασίας τους [ ] Καταγραφή βασικών εργασιών και ταξινόµηση τους σε ενότητες [ ] Ανάλυση απαιτήσεων µέσω δηµιουργίας σεναρίων χρήσης µε συµµετοχή των χρηστών [ ] Ανάπτυξη αρχικών προδιαγραφών µε βάση την ανάλυση αναγκών και απαιτήσεων Περιγραφή των εργασιών µέσω ροών στοιχειωδών εργασιών (task flow) Εντοπισµός των κυρίων αντικειµένων και δοµών που θα χρησιµοποιηθούν στη διεπιφάνεια χρήστη Βασική αρχή: Ποιοι ακριβώς θα χρησιµοποιούν το σύστηµα και για να διεκπεραιώσουν ποιες εργασίες; Αναγνώριση εργασιών: Καθορισµός συγκεκριµένων χρηστών και παρακολούθηση των εργασιών τους Mary Franklin a real person with real constraints trying to get her job done Αναγνώριση βασικών εργασιών Αναγνώριση βασικών εργασιών (II) Πως αναγνωρίζουµε τις βασικές εργασίες; Μέσω κάποιας µεθοδολογίας συλλογής δεδοµένων. Για το στάδιο αυτό η εµπλοκή του σχεδιαστή στο περιβάλλον εργασίας του χρήστη είναι σχεδόν απαραίτητη: Παρακολούθηση των χρηστών στο πραγµατικό περιβάλλον εργασίας τους Λήψη συνεντεύξεων από τους χρήστες την ώρα που εκτελούν τις εργασίες τους Βήµα προς βήµα καταγραφή των ενεργειών των χρηστών Εκτέλεσης µαθητείας στους χρήστες Αν δεν υπάρχουν χρήστες; Σκεφτείτε καλύτερα: Ίσως υπάρχουν => Jeff Hawkins, the inventor of the Palm Pilot, was said to have carried a small block of wood around in his shirt pocket As various everyday situations arose, he would take out the block of wood and imagine how he would use the device.
Αναγνώριση βασικών εργασιών (IIΙ) Αν δεν πετύχει τίποτα από τα προηγούµενα: Περιγράψτε τους χρήστες σας Περιγράψτε τις αναµενόµενες εργασίες που οι χρήστες που έχετε δηµιουργήσει εκτελούν Αυτά θα αποτελούν στην συνέχεια της σχεδίασης τους χρήστες και τις εργασίες του συστήµατος, και θα: Επιβεβαιώνονται όταν σε µεταγενέστερο στάδιο περισσότερη πληροφορία θα καθίσταται διαθέσιµη Τροποποιούνται ανάλογα µε τις ανάγκες και ως αποτέλεσµα της επαναληπτικής (iterative) σχεδίασης Πως πραγµατοποιείται; Ηορθή καταγραφή εργασιών: Αναφέρει µε σαφήνεια τι θέλει να κάνει ο χρήστης αλλά όχι πως θα το κάνει εν γίνεται καµιά παραδοχή ή αναφορά στη διαπροσωπεία που θα χρησιµοποιηθεί Μπορεί να χρησιµοποιηθεί για την σύγκριση εναλλακτικών σχεδιάσεων Πρέπει να είναι πολύ συγκεκριµένη Λέει ακριβώς τι ο χρήστης θέλει να κάνει Καθορίζει τα αντικείµενα που ο χρήστης χρειάζεται για να διεκπεραιώσει την εργασία του Πως πραγµατοποιείται; (ΙΙ) Ηορθή καταγραφή εργασιών: Πρέπει να περιγράφει µια πλήρη εργασία Οδηγεί το σχεδιαστή στην ικανότητα να οµαδοποιεί χαρακτηριστικά στη διαπροσωπεία Καθορίζει τη ροή της πληροφορίας εν Από που προέρχεται η πληροφορία Σε ποιον απευθύνεται η πληροφορία Ποιο είναι το επόµενο στάδιο ηµιουργεί κατάλογο µικρών στοιχείων που η διαπροσωπεία πρέπει να υποστηρίζει ηµιουργεί αλληλοεξαρτώµενους στόχους Πως πραγµατοποιείται; (ΙΙΙ) Η ορθή καταγραφή εργασιών: Καταγράφει δραστηριότητες οι οποίες µπορούν να αξιολογηθούν: ηµιουργήστε µια περιγραφή της εργασίας και ρωτήστε τους πραγµατικούς χρήστες για: Παραλείψεις ιορθώσεις ιευκρινήσεις Εισηγήσεις ηµιουργεί (ως σύνολο) µια ευρεία κάλυψη χρηστών και εργασιών Τυπικοί ή αναµενόµενοι χρήστες => Τυπικές εργασίες ή εργασίες ρουτίνας Περιστασιακοί αλλά σηµαντικοί χρήστες => Μη συνηθισµένες αλλά σηµαντικές εργασίες Σπάνιοι χρήστες => Μη αναµενόµενες ή παράξενες εργασίες
Ένα παράδειγµα Το σύστηµα διαχείρισης πελατών στην µικρή βιβλιοθήκη: Από την επιτόπου µελέτη των εργασιών των χρηστών προέκυψαν οι εξής βασικές εργασίες: Υποβοήθηση Πελατών: Απάντηση συγκεκριµένων ερωτήσεων πελατών (είτε τηλεφωνικά είτε πρόσωπο µε πρόσωπο) Ενηµέρωση πελατών για τα βιβλία που κρατούν και τις οικονοµικές οφειλές τους προς τη βιβλιοθήκη Καταχώρηση Υλικού: Έλεγχος εισερχοµένου (επιστρεφοµένου) και εξερχόµενου υλικού Ενηµέρωση πελατών για ληξιπρόθεσµο (καθυστερούµενο) υλικό Οικονοµική διαχείριση: Καθυστερούµενες οφειλές και ειδοποίηση πελατών Συλλογή οφειλοµένων ιαχείριση καρτών πελατών: ηµιουργία καρτών για νέα µέλη Έλεγχος για λήξη καρτών Ανανέωση καρτών Ανάλυση απαιτήσεων µέσω σεναρίων χρήσης Για την ανάλυση απαιτήσεων από τις καταγεγραµµένες εργασίες χρησιµοποιούµε Σενάρια: Ανεπίσηµες διηγηµατικές ιστορίες µε απλή δοµή, µικρή έκταση, που αντιπροσωπεύουν την καθηµερινότητα, είναι προσωπικές (αναφέρονται σε συγκεκριµένα άτοµα), και δεν µπορούν να γενικευτούν ίνουν έµφαση στους στόχους των χρηστών Περιπτώσεις χρήσης (Use Cases) Περιγράφουν µια εργασία δίνοντας έµφαση στα διάφορα βήµατα ίνουν έµφαση στην αλληλεπίδραση µε το σύστηµα Υποθέτουν λεπτοµερή κατανόηση της αλληλεπίδρασης του χρήστη µε τοσύστηµα για την διεκπεραίωση της εργασίας του Ουσιαστικές περιπτώσεις χρήσης (Essential Use Cases) Είναι περιπτώσεις χρήσης οι οποίες εστιάζουν απλά τους εµπλεκόµενους στην αλληλεπίδραση (actors) και την υπευθυνότητα που έχει ο καθένας κατά τη διάρκεια της αλληλεπίδρασης Ανάλυση απαιτήσεων µέσω σεναρίων χρήσης = > Σενάριο Ανάλυση απαιτήσεων µέσω σεναρίων χρήσης = > Περιπτώσεις χρήσης The user types in all the names of the meeting participants together with some constraints such as the length of the meeting, roughly when the meeting needs to take place, and possibly where it needs to take place. The system then checks against the individuals calendars and the central departmental calendar and presents the user with a series of dates on which everyone is free all at the same time. Then the meeting could be confirmed and written into people s calendars. Some people, though, will want to be asked before the calendar entry is made. Perhaps the system could email them automatically and ask that it be confirmed before it is written in. 1. The user chooses the option to arrange a meeting. 2. The system prompts user for the names of attendees. 3. The user types in a list of names. 4. The system checks that the list is valid. 5. The system prompts the user for meeting constraints. 6. The user types in meeting constraints. 7. The system searches the calendars for a date that satisfies the constraints. 8. The system displays a list of potential dates. 9. The user chooses one of the dates. 10. The system writes the meeting into the calendar. 11. The system emails all the meeting participants informing them of them appointment
Ανάλυση απαιτήσεων µέσω σεναρίων χρήσης = > Ουσιαστικές περιπτώσεις χρήσης Ανάπτυξη αρχικών προδιαγραφών ΑrrangeMeeting USER INTENTION arrange a meeting identify meeting attendees & constraints choose preferred date SYSTEM RESPONSIBILITY request meeting attendees & constraints search calendars for suitable dates suggest potential dates book meeting Προκύπτουν ως αποτέλεσµα της λεπτοµερούς διερεύνησης των σεναρίων, περιπτώσεων χρήσης και ουσιαστικών περιπτώσεων χρήσης καθώς και από γενικές στρατηγικές σχεδίασης (π.χ. προδιαγραφές ευχρηστίας) Ποιοι χρήστες θα εξυπηρετούνται από το σύστηµα; Η σχεδίαση του συστήµατος δεν µπορεί να προσαρµοστεί σε όλους τους πιθανούς χρήστες Για ποιο λόγω επιλέξαµε τους συγκεκριµένους χρήστες για τη προσαρµογή τους συστήµατος στις ιδιαιτερότητες τους; Ποιες εργασίες θα υποστηρίζονται από τη διαπροσωπεία; Η σχεδίαση του συστήµατος δεν µπορεί να περιλαµβάνει όλες τις πιθανές εργασίες Αξιολόγηση της σηµασίας και κρισιµότητας των διαφόρων εργασιών Ανάπτυξη αρχικών προδιαγραφών = > Ανάπτυξη αρχικών προδιαγραφών = > Κατηγορίες Προδιαγραφών Καθοδηγητικές προδιαγραφές Στόχοι του συστήµατος Χρήστες Ενδιαφερόµενοι Περιορισµοί Εντεταλµένοι Ονοµατολογία και Ορισµοί Παραδοχές Λειτουργικές Σκοπός του συστήµατος (αρχική ιδέα) Λειτουργίες οµές δεδοµένων Κατηγορίες Προδιαγραφών (ΙΙ) Μη λειτουργικές Αισθητικής Προδιαγραφές ευχρηστίας Συντήρησης Ασφαλείας Πολιτισµικές Νοµικές ιαχειριστικές Ανοικτά θέµατα Έτοιµες λύσεις Κόστος Τεκµηρίωση
Ανάπτυξη αρχικών προδιαγραφών = > Ένα παράδειγµα καταγραφής προδιαγραφών Ανάπτυξη αρχικών προδιαγραφών = > Ένα παράδειγµα καταγραφής προδιαγραφών (II)