Απαιτήσεις
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Είδη απαιτήσεων
Προϊόν / διεργασία
Απαιτήσεις από το προϊόν
Επίπεδα εμβάθυνσης
Οδηγοί
Οι προδιαγραφές οδηγούνται κατά κύριο λόγο από:
- Επιχειρηματικούς στόχους (υψηλού επιπέδου)
- Περιβάλλον λειτουργίας
- Οργανωτικό περιβάλλον
Στη διαμόρφωση των προδιαγραφών συμμετέχουν οι
παρακάτω εταίροι (stakeholders):
- Χρήστες
- Πελάτες
- Ρυθμιστικές αρχές
- Μηχανικοί ανάπτυξης
Στοιχεία μπορούν ακόμα να προέλθουν και από άλλες πηγές όπως μελέτες αγοράς.
Ο κύκλος ζωής των απαιτήσεων
- Εκμαίευση (elicitation)
- Ανάλυση και διαπραγμάτευση (analysis and negotiation)
- Καθορισμός (specification)
- Επικύρωση (validation)
Τεχνικές εκμαίευσης
- Συνεντεύξεις
- Σενάρια
- Κατασκευή αρχετύπων
- Δομημένες συναντήσεις
- Ουδέτερος χώρος
- Κανόνες προετοιμασίας και συμμετοχής
- Πλήρης άλλα και ανοιχτή ημερήσια διάταξη
- Οργανωτής
- Μηχανισμός καταγραφής απαιτήσεων (χαρτί, υπολογιστής, κάρτες)
- Παρατήρηση
- Υπάρχουσα εσωτερική και εξωτερική τεκμηρίωση
Ανάλυση απαιτήσεων
Η ανάλυση των απαιτήσεων γίνεται με την περιγραφή του
Για την περιγραφή του ιδεατού μοντέλου χρησιμοποιούνται τα παρακάτω διαγράμματα της UML:
Για την περιγραφή του μοντέλου απαιτήσεων χρησιμοποιούνται τα παρακάτω διαγράμματα της UML:
Καθορισμός λειτουργικών απαιτήσεων
Περιγράφουν τις δυνατότητες (capabilities)
του συστήματος.
Πρέπει να είναι:
Καθορισμός μη λειτουργικών απαιτήσεων
Απαιτήσεις από το προϊόν
Απαιτήσεις από τη διεργασία ανάπτυξης
Εξωτερικές απαιτήσεις
Μετρικές μη λειτουργικών απαιτήσεων
- Χρόνος
- Συναλλαγές / sec
- Χρόνος απόκρισης
- Χρόνος περάτωσης μιας λειτουργίας
- Χώρος
- Κεντρική μνήμη
- Περιφερειακή μνήμη
- Ευχρηστία
- Χρόνος εκπαίδευσης
- Αριθμός επιλογών
- Αριθμός κινήσεων ποντικιού
- Αξιοπιστία
- Μέσος χρόνος αποτυχίας
- Πιθανότητα μη διαθεσιμότητας
- Ρυθμός εμφάνισης αστοχιών
- Διαθεσιμότητα
- Στιβαρότητα (robustness)
- Χρόνος επανεκκίνησης
- Ποσοστό συμβάντων που οδηγούν σε καταστροφική αστοχία
- Πιθανότητα καταστροφής δεδομένων μετά από αστοχία
- Μεταφερσιμότητα
- Ποσοστό μη μεταφέρσιμου κώδικα
- Αριθμός διαφορετικών συστημάτων που υποστηρίζουν το λογισμικό
Επικύρωση απαιτήσεων
Οι παραπάνω έλεγχοι μπορούν να γίνουν με:
- Επιθεωρήσεις απαιτήσεων
- Δημιουργία αρχετύπων
- Δημιουργία ελέγχων του λογισμικού (test cases)
- Αυτόματο έλεγχο συνέπειας με τη χρήση εργαλείων
Διαχείριση απαιτήσεων
Η διαχείριση των προδιαγραφών περιλαμβάνει τα παρακάτω στοιχεία:
Τα στοιχεία ιχνηλασιμότητας που πρέπει να φυλάσσονται είναι τα παρακάτω:
- Πηγές απαιτήσεων
- Σύνδεση μεταξύ απαιτήσεων
- Σύνδεση απαιτήσεων και σχεδίου του λογισμικού
Το έγγραφο προδιαγραφής απαιτήσεων συστήματος
Το έγγραφο προδιαγραφών απαιτήσεων από το σύστημα (system requirements document)
περιέχει τα παρακάτω στοιχεία (Σκορδαλάκης 1991, σ. 54):
- Ορισμός του προβλήματος
- Αιτιολόγηση του προβλήματος
- Σκοπός του συστήματος και του έργου
- Περιορισμοί στο σύστημα και στο έργο
- Λειτουργίες ανά συνιστώσα του προβλήματος
- Υλικό
- Λογισμικό
- 'Aνθρωποι
- Χαρακτηριστικά χρηστών
- Περιβάλλοντα
- ανάπτυξης,
- λειτουργίας και
- συντήρησης
- Στρατηγική λύσης του προβλήματος
- Προτεραιότητες στα χαρακτηριστικά του συστήματος
- Κριτήρια αποδοχής του συστήματος
- Πηγές πληροφοριών
- Λεξιλόγιο
Το έγγραφο προδιαγραφής απαιτήσεων λογισμικού
Το έγγραφο προδιαγραφών απαιτήσεων από το λογισμικό (software requirements document)
περιέχει τα παρακάτω στοιχεία (Σκορδαλάκης 1991, σ. 63):
- Εισαγωγή
- Σκοπός
- Έκταση
- Ορισμοί, ακρονυμίες και συντομογραφίες
- Αναφορές
- Γενική εικόνα
- Γενική περιγραφή
- Προοπτική του προϊόντος
- Λειτουργίες
- Χαρακτηριστικά των χρηστών
- Γενικοί περιορισμοί
- Παραδοχές και εξαρτήσεις
- Ειδικές απαιτήσεις
- Λειτουργικές απαιτήσεις
- Λειτουργική απαίτηση 1
- Εισαγωγή
- Είσοδοι
- Επεξεργασία
- Έξοδοι
- Λειτουργική απαίτηση 1
- ...
- Λειτουργική απαίτηση ν
- Απαιτήσεις εξωτερικών διαπροσωπειών
- Διαπροσωπείες χρήστη (user interfaces)
- Διαπροσωπείες υλικού (hardware interfaces)
- Διαπροσωπείες λογισμικού (software interfaces)
- Διαπροσωπείες επικοινωνιών (communication interfaces)
- Απαιτήσεις επίδοσης
- Περιορισμοί σχεδίασης
- Συμμόρφωση με τα πρότυπα
- Περιορισμοί από το υλικό
- Ιδιώματα
- Διαθεσιμότητα
- Ασφάλεια
- Συντηρισιμότητα
- Μεταφερσιμότητα
- 'Αλλες απαιτήσεις
- Βάση δεδομένων
- Τρόποι λειτουργίας
- Προσαρμογή στο χώρο εγκατάστασης
- Παραρτήματα
- Ευρετήριο
Συχνά λάθη
Συχνά η περιγραφή των απαιτήσεων γίνεται σε φυσική γλώσσα.
Κατά την περιγραφή των απαιτήσεων πρέπει να αποφεύγονται τα
παρακάτω συχνά λάθη:
- Μακροπερίοδος λόγος με παρενθετικές προτάσεις
- Χρήση διφορούμενων όρων
- Παρουσίαση πολλαπλών απαιτήσεων ως μια απαίτηση
- Ασυνέπεια στη χρήση όρων, χρήση διαφορετικών όρων για την ίδια έννοια
- Σύγχυση λειτουργικών και μη λειτουργικών απαιτήσεων
Βιβλιογραφία
- Εμμανουήλ Σκορδαλάκης.
Εισαγωγή στην Τεχνολογία Λογισμικού, σελίδες 49-78.
Εκδόσεις Συμμετρία, 1991.
- Εμμ. Α. Γιακουμάκης
Τεχνολογία Λογισμικού: Απαιτήσεις Λογισμικού, σχεδίαση λογισμικού,
σελίδες 39-75, 197-234.
Εκδόσεις Α. Σταμούλης, Αθήνα, Πειραιάς, 1994.
- John Daniels.
Modeling with a sense of purpose.
IEEE Software, 19(1):8–11, January/February 2002.
- Alan M. Davis.
201
Principles of Software Development, pages 47–70.
McGraw-Hill, 1995.
- Institute of Electrical and
Electronics Engineers, Inc., New York, NY, USA.
IEEE Guide for Developing System Requirements Specifications (including
IEEE 1233a), 1998.
IEEE Standard 1233-1998.
- Institute of Electrical and
Electronics Engineers, Inc., New York, NY, USA.
IEEE Recommended Practice for Software Requirements
Specifications, 1998.
IEEE Standard 830-1998.
- Michael Jackson.
Software Requirements & Specifications: a Lexicon of Practice, Principles and
Prejudices.
Addison-Wesley, 1995.
- Roger S. Pressman.
Software Engineering: A Practitioner's Approach, pages 251–260.
McGraw-Hill, fifth edition, 2000.
European Adaptation. Adapted by Darrel Ince.
- Ian Sommerville.
Software Engineering, pages 97–145.
Addison-Wesley, sixth edition, 2001.
Ασκήσεις
-
Καταγράψτε το έγγραφο προσδιορισμού απαιτήσεων λογισμικού για την
υλοποίηση ενός προγράμματος επεξεργασίας κειμένου συμβατού με το
πρόγραμμα Microsoft Word.
Καλύψτε το πλήρες πλάτος του εγγράφου χωρίς να επεκταθείτε σε λεπτομέρειες.
- Εξηγήστε ποιοι εταίροι θα πρέπει να συμμετέχουν στη διαδικασία συλλογής
απαιτήσεων για το πληροφοριακό σύστημα του πανεπιστημίου.
- Απαριθμίστε συστήματα όπου οι απαιτήσεις τους επηρεάζονται σημαντικά
από πολιτικούς και κοινωνικούς παράγοντες.