Professional Documents
Culture Documents
3. Ανάλυση απαιτήσεων
Πάνος Κωνσταντόπουλος
Οικονομικό Πανεπιστήμιο Αθηνών
Φθινοπωρινό εξάμηνο 2020-2021
Ανάλυση απαιτήσεων
Επισκόπηση
• Το πεδίο του προβλήματος και η μηχανή
• Διαστάσεις της ΑΑ: γιατί, τι, ποιός
• Είδη προτάσεων: περιγραφικές (descriptive)και ρυθμιστικές (prescriptive)
• Κατηγορίες απαιτήσεων: λειτουργικές (functional) και τροπικές (non-functional)
• Αντικείμενα της ΑΑ: δράστες (actors), διεργασίες (processes), προϊόντα (products)
• Κριτήρια ποιότητας
1
10/20/20
Πρόβλημα Πλαίσιο
Το λύσιμο του χειρόφρενου μπορεί υπό οδήγηση αυτοκινήτου
ορισμένες συνθήκες να είναι άβολο.
2
10/20/20
Υφιστάμενο σύστημα
έννοιες, φαινόμενα και κανονισμοί
σχετικοί με την αυτόματη χειροπέδηση
3
10/20/20
βάσει των προβλημάτων που παρουσιάζει ένα υφιστάμενο σύστημα και των
ευκαιριών που προσφέρει η τεχνολογία
• Υπό σχεδίαση λογισμικό: μέρος της μηχανής και του υπό σχεδίαση συστήματος
• Περιβάλλον: όλα τα άλλα στοιχεία του υπό σχεδίαση συστήματος:
άνθρωποι, συσκευές, προϋπάρχον λογισμικό
• Απαιτήσεις συστήματος: πρέπει να ικανοποιούνται από το υπό σχεδίαση
σύστημα, διατυπώνονται με αναφορά στα φαινόμενα του περιβάλλοντος
– Π.χ.: Το χειρόφρενο θα λύνεται όταν ο οδηγός θέλει να ξεκινήσει
• Απαιτήσεις λογισμικού: πρέπει να ικανοποιούνται από το υπό σχεδίαση
λογισμικό, διατυπώνονται με αναφορά σε φαινόμενα κοινά μεταξύ λογισμικού
και περιβάλλοντος
– Π.χ.: Η μεταβλητή εξόδου handBrakeCtrl παίρνει την τιμή off όταν η
μεταβλητή εισόδου motorRegime παίρνει την τιμή up
4
10/20/20
ΤΙ θα κάνει;
ΓΙΑΤΙ
• Προσδιορίζονται, αναλύονται και εξειδικεύονται οι σκοποί του υπό
σχεδίαση συστήματος
– αντιμετώπιση μειονεκτημάτων του υφισταμένου συστήματος
– εξυπηρέτηση των επιχειρησιακών σκοπών
– αξιοποίηση τεχνολογικών ευκαιριών
• Δυσκολίες
– Απόκτηση γνώσης του πεδίου
– Σύγκριση εναλλακτικών λύσεων
– Συσχετισμός προβλημάτων και ευκαιριών, αξιολόγηση επιπτώσεων
– Αντιμετώπιση αντιφατικών σκοπών
10
5
10/20/20
ΤΙ
• Προσδιορισμός των λειτουργιών του υπό σχεδίαση συστήματος (λογισμικές,
μηχανικές, ανθρώπινες)
– για την εκπλήρωση των διατυπωμένων σκοπών
– τηρώντας περιορισμούς ποιότητας: ασφάλεια, επιδόσεις,...
– βάσει ρεαλιστικών υποθέσεων περί του περιβάλλοντος
• Δυσκολίες
– Να βρεθούν οι σωστές λειτουργίες
– Να προσδιορισθούν με ακρίβεια ώστε να είναι κατανοητές από όλα τα
ενδιαφερόμενα μέρη
– Να κατοχυρωθεί η σύνδεση με τους σκοπούς του συστήματος : ιχνηλασιμότητα
11
ΠΟΙΟΣ
• Ανάθεση αρμοδιότητας για εκπλήρωση σκοπών, τέλεση λειτουργιών, τήρηση
περιορισμών σε συντελεστές του υπό σχεδίαση συστήματος
– βάσει των ικανοτήτων τους και των σκοπών του συστήματος
– ώστε να ορίζεται το σύνορο λογισμικού – περιβάλλοντος
• Δυσκολίες
– Σύγκριση εναλλακτικών λύσεων
– Εύρεση του κατάλληλου βαθμού αυτοματισμού
12
6
10/20/20
Είδη προτάσεων
• Σημαντική διαφορά:
– Οι ρυθμιστικές προτάσεις είναι διαπραγματεύσιμες και μπορούν να
αντικατασταθούν από άλλες
– Οι περιγραφικές, όχι.
13
trainPosition-DB
updated
errorCode = 05
ΤρένοΣτοΣταθμό
doorsState = 'closed'
Περιβάλλον Λογισμικό
2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 14
14
7
10/20/20
15
• Ιδιότητα πεδίου: περιγραφική πρόταση περί των φαινομένων του πεδίου (ισχύει
ανεξαρτήτως οποιουδήποτε υπό σχεδίαση λογισμικού)
– Π.χ.: επιτάχυνσηΤρένου > 0 ® ταχύτηταΤρένου ¹ 0
16
8
10/20/20
trainSpeed measuredSpeed
M: µεταβλητές απόκρισης I: δεδοµένα εισόδου
περιβάλλον λογισµικό
DoorsClosed doorsState
C: µεταβλητές ελέγχου O: δεδοµένα εξόδου
17
18
9
10/20/20
Κατηγορίες απαιτήσεων
19
ακρίβεια
κατανομή
ασφάλεια αξιοπιστία επίδοση διεπαφή εγκατάσταση κόστος συντήρηση
μεταβλητότητα
κόστος προθεσμία
χρόνος
εμπιστευτι ακεραιό διαθεσιμό χώρος χρήσης ζεύξης διαλειτουργικότητα
κότητα τητα τητα συσκευών
: υποτάξη
• Πιθανές επικαλύψεις
– λειτουργικών/τροπικών: π.χ. οι λειτουργικές απαιτήσεις ενός firewall
management σχετίζονται με ασφάλεια
– επικαλύψεις τροπικών: π.χ. «μεγάλη συχνότητα εκπομπής εντολών στα τρένα»
σχετίζεται με επίδοση και ασφάλεια
2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 20
20
10
10/20/20
• Εξειδίκευση απαιτήσεων
• Σημασιολογική διευκρίνιση των απαιτήσεων
– επιθυμητές συμπεριφορές , π.χ. διάφορες λειτουργικές απαιτήσεις
– ανεπιθύμητες συμπεριφορές, π.χ. διάφορες απαιτήσεις ασφάλειας και ακρίβειας
– προτιμώμενες συμπεριφορές, π.χ. διαθεσιμότητα, ταχύτητα
• Καθοδήγηση της εκμαίευσης και της ανάλυσης των απαιτήσεων
Π.χ.
– Υπάρχει απαίτηση εμπιστευτικότητας για την πληροφορία X ;
– Υπάρχει απαίτηση ακρίβειας για την πληροφορία Y ;
– Υπάρχει καμμία αντίφαση μεταξύ απαιτήσεων εμπιστευτικότητας και λογοδοσίας;
21
Η διεργασία της ΑΑ
• Επαναληπτική διεργασία
• ΟΙ φάσεις δεν έχουν αυστηρή σειρά, αλλά συμπλέκονται
• Οι επαναλήψεις αποσκοπούν στην διόρθωση λαθών και στην παρακολούθηση
των μεταβολών στις απαιτήσεις (κατά τη διάρκεια της ΑΑ, αλλά και στη
συνέχεια κατά την ανάπτυξη και τη χρήση/συντήρηση του λογισμικού)
προτάσεις
τεκµηριωµένες απαιτήσεις
2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 22
22
11
10/20/20
23
Εκμαίευση απαιτήσεων
24
12
10/20/20
25
26
13
10/20/20
Έλεγχος
27
28
14
10/20/20
• Παραλείψεις:
– π.χ. απροσδιόριστη κατάσταση των θυρών του τρένου σε περίπτωση στάσεως
ανάγκης
• Αντιφάσεις :
– π.χ. «Οι θύρες πρέπει να είναι πάντοτε κλειστές μεταξύ δύο σταθμών» ΚΑΙ «Οι
θύρες πρέπει να ανοίγουν σε περίπτωση στάσεως ανάγκης»
• Ανεπάρκεια:
– π.χ. «Οι οθόνες μέσα στα τρένα θα δείχνουν όλες τις πτήσεις που εξυπηρετούνται
στην επόμενη στάση»
• Ασάφεια:
– π.χ. «ΟΙ θύρες θα είναι ανοικτές όταν το τρένο είναι σταματημένο στο σταθμό»
• Αδυναμία σύγκρισης και ελέγχου λύσεων:
– π.χ. «Οι οθόνες πληροφόρησης μέσα στα τρένα θα είναι φιλικές προς το χρήστη»
29
30
15