1 Ελληνικό Ανοικτό Πανεπιστήµιο Η ιαχείριση Απαιτήσεων στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής
Περιεχόµενα Τι είναι διαχείριση απαιτήσεων Ποια είναι η ροή των εργασιών στη φάση της καταγραφής των απαιτήσεων Ποια είναι τα βασικά χαρακτηριστικά της διαδικασίας διαχείρισης των απαιτήσεων 2
Η διαχείριση των απαιτήσεων Η διαχείριση των απαιτήσεων είναι µια δυναµική διαδικασία Είναι αναµενόµενο και απολύτως φυσιολογικό οι απαιτήσεις να αλλάζουν: Αλλάζουν οι ανάγκες έργου Αλλάζει η αγορά στην οποία απευθύνεται το προϊόν Αλλάζει ο οργανισµός για τον οποίο προορίζεται το σύστηµα Αλλάζει το νοµικό καθεστώς 3
4 Ησηµασία των απαιτήσεων... ύο είναι οι βασικές δουλειές που έχουµε να κάνουµε στην ανάπτυξη συστηµάτων Να κατανοήσουµε τι θέλει ο χρήστης πελάτης Να του δώσουµε αυτόπουθέλει Οι χρήστες δεν ικανοποιούνται από ένα καλά σχεδιασµένο σύστηµα ή από τον εξαιρετικό κώδικα Όλα τα άλλα αν και είναι απαραίτητα για να επιτύχουµε το στόχο µας δεν ενδιαφέρουν τον πελάτη
Ησηµασία των απαιτήσεων... 5
6 Το να καταγράψουµε τις απαιτήσεις... Είναι εύκολο... Αν ξέρουµε τι θέλουµε να κάνουµε Αν το έχουµε ξαναφτιάξει Αν ο πελάτης µας έχει ξεκάθαρη γνώµη για το τι θέλει να κάνει Είναι πιο δύσκολο αν... εν είµαστε σίγουροι για το τι χρειάζεται εν το έχουµε ξαναφτιάξει Υπάρχει ποικιλία εναλλακτικών λύσεων Υπάρχει υποκειµενικότητα σε µια σειρά θεµάτων (ποιότητα, χρηστικότητα κ.λπ.)
Τι είναι απαιτήσεις και τι σηµαίνει διαχείριση απαιτήσεων Οι απαιτήσεις είναι συνθήκες που το σύστηµα πρέπει να ικανοποιεί ή ικανότητες που πρέπει να έχει. Η διαχείριση απαιτήσεων (Requirements management) είναι η συστηµατική προσέγγιση µε σκοπό Την εύρεση, οργάνωση, προσδιορισµόκαι τεκµηρίωση των απαιτήσεων του συστήµατος και Ηδηµιουργία και συντήρηση µεταξύ του πελάτη/χρήστη και της οµάδας ανάπτυξης του συστήµατος 7
8 Οι απαιτήσεις είναι η συµφωνία για το τι πρέπει να κάνει το σύστηµα... Οστόχος Πελάτης ρήστες/συµµετέχοντες στο έργο Επαλήθευση Απαιτήσεων ευτερεύοντες Στόχοι Σύστηµα προς Ανάπτυξη Απαιτήσεις
9 Οι απαιτήσεις είναι ο πυρήνας του έργου Σχεδιασµός και ανάλυση ιαχείριση Έργου Απαιτήσεις ιαχείριση Αλλαγών ιασφάλιση Ποιότητας και Έλεγχος
10 Η καταγραφή των απαιτήσεων και οκύκλοςζωής Βασικές Ροές Εργασιών Σχεδιασµός Επιχειρηµατικών ιαδικασιών Απαιτήσεις Ανάλυση και Σχεδιασµός Υλοποίηση Έλεγχος ιάταξη (deployment) Υποστηρικτικές Ροές Εργασιών Σύλληψη Επεξεργασία Κατασκευή Φάσεις Μετάβαση ιαχείριση Σχηµατισµών ιαχείριση έργου Περιβάλλον Επαν. Επαν. #1 Επαν. #2 Επαν. #n Επαν. #n+1 Επαν. #n+2 Επαν. #m Επαν. #m+1 Επαναλήψεις
11 Η καταγραφή των απαιτήσεων και οκύκλοςζωής(συνέχεια) Κατά τη διάρκεια της φάσης της Σύλληψης Καταγράφει όλες τις περιπτώσεις χρήσης Αναλύει και προδιαγράφει το 10% των πιο σηµαντικών περιπτώσεων χρήσης Επεξεργασία (elaboration) Καταγράφεται το 80% τωναπαιτήσεωνκαι προδιαγράφεται το µεγαλύτερο µέρος των περιπτώσεων χρήσης 5%-10% των απαιτήσεων συµπεριλαµβάνεται στην αρχική αρχιτεκτονική Κατασκευή (construction) Καταγράφονται, προδιαγράφονται και υλοποιούνται όλες οι απαιτήσεις Μετάβαση (transition) εν γίνεται επεξεργασία απαιτήσεων
Η ροή εργασιών στην διαχείριση των απαιτήσεων Αναλυτής Όραµα Συστήµατος ιαχείριση Εξαρτήσεων Ανάγκες Συµµετεχόντων Εύρεση Χειριστών και Περιπτώσεων Χρήσης Ανάπτυξη Λεξιλογίου οµή Μοντέλου Περιπτώσεων Χρήσης Ελεγκτής Απαιτήσεων Υπεύθυνος Ανάπτυξης Περιπτώσεων Χρήσης Προσδιορισµός Περιπτώσεων Χρήσης Έλεγχος Απαιτήσεων Σχεδιαστής User-Interface Μοντελοποίηση User-Interface Πρωτοτυποποίηση User-Interface Προτεραιότητες 12
13 Οι στόχοι στη ροή εργασιών στην διαχείριση των απαιτήσεων Οι στόχοι της ροής εργασιών στην διαχείριση των απαιτήσεων είναι: Να έρθουµε σε συµφωνία µε τον πελάτη και τους χρήστες για το τι θα πρέπει να κάνει το σύστηµα Να αναπτύξουµε µια καλύτερη κατανόηση του συστήµατος Να προσδιορίσουµε το αντικείµενο των εργασιών για το έργο Να δηµιουργήσουµε τη βάση για τον ακριβή προσδιορισµό καιπρογραµµατισµό των εργασιών. Να προσδιορίσουµε το user interface του συστήµατος µέσω της πρωτοτυποποίησης
14 Τα παραδοτέα Τα αποτελέσµατα παραδοτέα (artifacts) της ροής των εργασιών είναι τα παρακάτω έγγραφα: To έγγραφο που περιγράφει τους στρατηγικούς στόχους του συστήµατος και το όραµα πουέχουµε από αυτό (vision statement) Το έγγραφο περιγραφής των αναγκών των συµµετεχόντων (stakeholders) Το µοντέλο περιπτώσεων χρήσης (Use case model) και Οποιαδήποτε συµπληρωµατική πληροφορία κρίνουµε αναγκαία Συµπληρωµατικά στα παραπάνω µπορούµε να αναπτύξουµε Γλωσσάριο Συνοριακές κλάσεις Πρωτότυπο User-Interface
Γιατί η καταγραφή και προσδιορισµός των απαιτήσεων είναι δύσκολος Καταγραφή και προσδιορισµός των απαιτήσεων = επικοινωνία µε τον πελάτη Κατανόηση των αναγκών του πελάτη Ακούω κατανοώ Προετοιµασία συναντήσεων σηµαίνει Γνώση του πελάτη Μελέτη της διαθέσιµης τεκµηρίωσης Σαφείς στόχους από τη συνάντηση Γνώση των προβληµατικών περιοχών Σωστή αξιοποίηση του χρόνου 15
16 Βασικοί στόχοι για την καταγραφή των απαιτήσεων Πρέπει να κατανοήσουµε Ποιος είναι αυτός που χρηµατοδοτεί το έργο; Ποιος είναι αυτός που θα χρησιµοποιεί το σύστηµα; Ποιος είναι αυτός που επωφελείται από το σύστηµα; Ποια είναι τα οφέλη από το καινούργιο σύστηµα Τι θεωρείται ως καλή λύση Ποιο είναι το περιβάλλον στο οποίο θα λειτουργήσει το σύστηµα Υπάρχουν περιορισµοί; Αν ναι ποιοι; Ποιοι είναι οι υπεύθυνοι να µας περιγράψουν τις διαδικασίες και τις απαιτήσεις Υπάρχουν ειδικοί χρήστες µε ιδιαίτερες γνώσεις και ιδιαίτερες ανάγκες;
17 Στόχος µας είναι... Να µεγιστοποιήσουµε την ικανοποίηση του πελάτη Υπάρχουν τριών ειδών απαιτήσεις: Περιγραφόµενες: Οι απαιτήσεις που περιγράφουν την συµπεριφορά του συστήµατος όπως αυτή περιγράφεται από τους χρήστες Αναµενόµενες: είναι οι απαιτήσεις που κάποιος περιµένει από το σύστηµα έτσι και αλλιώς Υπερβάλουσες: είναιοιαπαιτήσειςη υλοποίηση των οποίων δεν αναµένεται από το σύστηµα
18 Λειτουργικές και µη λειτουργικές απαιτήσεις Οι λειτουργικές απαιτήσεις καθορίζουν την συµπεριφορά του συστήµατος Π.χ. Όταν πατάω το κουµπί OK το παράθυρο κλείνει αφού πρώτα αποθηκευθούν τα δεδοµένα Μη λειτουργικές (non functional) Περιγράφουν περιορισµούς στους οποίους υπόκειται το σύστηµα Το λειτουργικό σύστηµα στο οποίο τρέχει το πληροφοριακό σύστηµα Οχρόνοςαπόκρισηςσεµια συναλλαγή Η χωρητικότητα του δικτύου Κ.λπ. Οι λειτουργικές απαιτήσεις πρέπει να ποσοτικοποιούνται
19 Μερικές συµβουλές για την καταγραφή των απαιτήσεων Κατανόηση του προβλήµατος πριν ξεκινήσουµε την καταγραφή των απαιτήσεων Να βεβαιωθούµε ότι λύνουµε τοσωστόπρόβληµα Ανάπτυξη πρωτότυπου συστήµατος (τουλάχιστον το userinterface) Το User interface είναι αυτό που για τον χρήστη καθορίζει την «ποιότητα» Καταγραφή της προέλευσης των απαιτήσεων καθώς και του λόγου ύπαρξης Π.χ. Οχρήστης«Παπαδόπουλος» ζήτησε να υπάρχει µια φόρµα... Χρήση πολλών επικαλυπτόµενων όψεων µε περιγραφήτων διαδικασιών από την οπτική γωνία διαφορετικών ρόλων µειώνει τον κίνδυνο να παραλείψουµε κάτι ίνουµε προτεραιότητα στις βασικές απαιτήσεις (κανόνας 80-20) Είµαστε σαφείς στην καταγραφή των απαιτήσεων στο µέγιστο βαθµό
20 Πρωτοτυποποίηση Ο στόχος της πρωτοτυποποίησης είναι: να επαληθεύσουµε ότι η καταγραφή των απαιτήσεων είναι σωστή Να διερευνήσουµε βασικά εναλλακτικά σενάρια σχεδιασµού Να δοκιµάσουµε εναλλακτικές τεχνολογίες Ειδικά για το user interface Πρωτότυπα στο χαρτί Πρωτότυπα µε ειδικά εργαλεία σχεδιασµού user interface αλλά χωρίς να υλοποιούµαι την λογικήgui builder for mock-up Πρώτη έκδοση του εγχειριδίου χρήσης Πρωτότυπα µιας χρήσης εξελικτικά πρωτότυπα.
Βασικές αρχές για να αποφύγουµε τα σφάλµατα Λεπτοµερής ανάλυση του προβλήµατος µαζί µε τους χρήστες Οι χρήστες πρέπει να συµφωνήσουν και να υπογράψουν ότι συµφωνούν µετις απαιτήσεις Πρωτοτυποποίηση του user interface για επαλήθευση βασικών σηµείων ηµιουργία γραµµών αναφοράς για τις απαιτήσεις µέσω των οποίων διαχειριζόµαστε τις αλλαγές Χρήση επαναληπτικής διαδικασίας 21
22 Συµπεράσµατα Οι απαιτήσεις είναι το βασικό σηµείο αναφοράς στην ανάπτυξη του συστήµατος Η καταγραφή των απαιτήσεων είναι µια δυναµική διαδικασία Οι απαιτήσεις του συστήµατος συνεχώς µεταβάλλονται και είναι απαραίτητη η διαχείριση των αλλαγών