1. Λειτουργικές απαιτήσεις: Αυτά περιγράφουν * τι πρέπει να κάνει το σύστημα. Συχνά εκφράζονται ως:
* Χρήση περιπτώσεων: Περιγράψτε τις αλληλεπιδράσεις μεταξύ των χρηστών (ή άλλων συστημάτων) και του συστήματος, περιγράφοντας μια συγκεκριμένη ακολουθία ενεργειών και αναμενόμενων αποτελεσμάτων.
* Ιστορίες χρήστη: Σύντομα, πιο άτυπες περιγραφές λειτουργικότητας από την άποψη ενός χρήστη (π.χ. "Ως πελάτης, θέλω να προσθέσω αντικείμενα στο καλάθι αγορών μου, ώστε να μπορώ να τα αγοράσω αργότερα.").
* Λίστα χαρακτηριστικών: Μια απλή απαρίθμηση των χαρακτηριστικών του συστήματος. Λιγότερο λεπτομερές από τις περιπτώσεις χρήσης, αλλά χρήσιμες για προγραμματισμό υψηλού επιπέδου.
* Διαγράμματα κατάστασης: Δείξτε τις διαφορετικές καταστάσεις που μπορεί να είναι ένα σύστημα και πώς μεταβαίνει μεταξύ τους. Χρήσιμο για συστήματα με σύνθετη διαχείριση του κράτους.
* Διαγράμματα ροής δεδομένων: Απεικονίστε τη ροή δεδομένων μέσω του συστήματος.
2. Μη λειτουργικές απαιτήσεις (ή χαρακτηριστικά ποιότητας): Αυτά περιγράφουν * πώς πρέπει να εκτελέσει το σύστημα. Συχνά σχετίζονται με:
* απόδοση: Χρόνοι απόκρισης, διακίνηση, ποσοστά συναλλαγών, αξιοποίηση πόρων (CPU, μνήμη, δίκτυο). Συχνά εκφράζεται ποσοτικά (π.χ., "το σύστημα πρέπει να ανταποκρίνεται στα αιτήματα των χρηστών εντός 2 δευτερολέπτων").
* Επιμελητικότητα: Δυνατότητα χειρισμού αυξανόμενου φορτίου (χρήστες, δεδομένα, συναλλαγές). Συχνά καθορίζεται από την άποψη της αναμενόμενης ανάπτυξης και της απόδοσης του συστήματος υπό την ανάπτυξη αυτή.
* Ασφάλεια: Προστασία από μη εξουσιοδοτημένη πρόσβαση, παραβιάσεις δεδομένων και άλλες απειλές. Που ορίζονται μέσω πολιτικών ασφαλείας και μηχανισμών ελέγχου πρόσβασης.
* Αξιοπιστία: Συχνότητα και διάρκεια των αποτυχιών, ο μέσος χρόνος μεταξύ των αποτυχιών (MTBF), ο μέσος χρόνος ανάκτησης (MTTR).
* Διαθεσιμότητα: Ποσοστό του χρόνου Το σύστημα λειτουργεί.
* Διατήρηση: Ευκολία τροποποίησης και ενημέρωσης του συστήματος.
* χρηστικότητα: Ευκολία χρήσης για τους προβλεπόμενους χρήστες. Συχνά μετράται μέσω δοκιμών και ανατροφοδότησης χρήστη.
* Φορητότητα: Δυνατότητα λειτουργίας σε διαφορετικές πλατφόρμες και περιβάλλοντα.
3. Απαιτήσεις χωρητικότητας: Αυτά περιγράφουν την ικανότητα του συστήματος να χειρίζεται ένα συγκεκριμένο φόρτο εργασίας. Αυτό περιλαμβάνει:
* Όγκος δεδομένων: Ποσό δεδομένων Το σύστημα πρέπει να αποθηκεύει και να επεξεργάζεται.
* Συμφωνία χρήστη: Αριθμός ταυτόχρονων χρηστών που μπορεί να υποστηρίξει το σύστημα.
* Ποσοστό συναλλαγής: Αριθμός συναλλαγών Το σύστημα μπορεί να επεξεργαστεί ανά μονάδα χρόνου.
* Όρια πόρων: Όρια στη CPU, τη μνήμη, την αποθήκευση, το εύρος ζώνης δικτύου.
Μέθοδοι για τον προσδιορισμό της λειτουργικότητας και της χωρητικότητας:
* Φυσική γλώσσα: Συχνά χρησιμοποιούνται για περιγραφές υψηλού επιπέδου, αλλά μπορεί να είναι διφορούμενες.
* Τυπικές γλώσσες προδιαγραφών: Χρησιμοποιήστε ακριβείς μαθηματικές ή λογικές σημειώσεις για να αποφύγετε την ασάφεια (π.χ. z, vdm). Πιο αυστηρή, αλλά απαιτεί εξειδικευμένη εμπειρογνωμοσύνη.
* Γλώσσες μοντελοποίησης: Χρησιμοποιήστε οπτικές σημειώσεις για να αντιπροσωπεύετε τη δομή και τη συμπεριφορά του συστήματος (π.χ. UML). Μια καλή ισορροπία μεταξύ ακρίβειας και κατανόησης.
* Προδιαγραφές απαιτήσεων συστήματος (SRS) Έγγραφο: Ένα επίσημο έγγραφο που περιγράφει εκτενώς όλες τις λειτουργικές και μη λειτουργικές απαιτήσεις.
Η επιλογή των μεθόδων εξαρτάται από παράγοντες όπως το μέγεθος του έργου, η πολυπλοκότητα, ο προϋπολογισμός και η τεχνική τεχνογνωσία της ομάδας. Συχνά, ένας συνδυασμός αυτών των μεθόδων χρησιμοποιείται για τη δημιουργία μιας ολοκληρωμένης και σαφούς προδιαγραφής. Είναι σημαντικό να διασφαλιστεί ότι οι προδιαγραφές είναι σαφείς, πλήρεις, συνεπείς και επαληθεύσιμες. Η ανιχνευσιμότητα μεταξύ των απαιτήσεων, του σχεδιασμού και της εφαρμογής είναι επίσης σημαντική για την αποτελεσματική ανάπτυξη και συντήρηση του συστήματος.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα