You are on page 1of 15

10/20/20

Ανάλυση και σχεδίαση πληροφοριακών συστημάτων

3. Ανάλυση απαιτήσεων

Πάνος Κωνσταντόπουλος
Οικονομικό Πανεπιστήμιο Αθηνών
Φθινοπωρινό εξάμηνο 2020-2021

Πηγή: Axel van Lamsweerde, Requirements Engineering: From System


Goals to UML Models to Software Specifications, Wiley, 2009

Ανάλυση απαιτήσεων

Επισκόπηση
• Το πεδίο του προβλήματος και η μηχανή
• Διαστάσεις της ΑΑ: γιατί, τι, ποιός
• Είδη προτάσεων: περιγραφικές (descriptive)και ρυθμιστικές (prescriptive)
• Κατηγορίες απαιτήσεων: λειτουργικές (functional) και τροπικές (non-functional)
• Αντικείμενα της ΑΑ: δράστες (actors), διεργασίες (processes), προϊόντα (products)
• Κριτήρια ποιότητας

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 2

1
10/20/20

Το πεδίο του προβλήματος και η μηχανή


• Ένα σύστημα λογισμικού λύνει κάποιο πρόβλημα: το λύνει «σωστά»;
• Χρειάζεται να κατανοήσουμε και να ορίσουμε
– ποιό είναι το πρόβλημα
– σε ποιό πλαίσιο αυτό εκδηλώνεται
[Πλαίσιο / συγκείμενα / συμφραζόμενα – context]

Πρόβλημα Πλαίσιο
Το λύσιμο του χειρόφρενου μπορεί υπό οδήγηση αυτοκινήτου
ορισμένες συνθήκες να είναι άβολο.

Η φωτεινότητα της οθόνης του πλοηγού νυκτερινή οδήγηση


δυσχεραίνει την ορατότητα

Η συμπλήρωση του ΙΒΑΝ στο πεδίο διαδικτυακή τραπεζική


λογαριασμός

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 3

Το πεδίο του προβλήματος και η μηχανή- 2

• Πεδίο / κόσμος (world): Το μέρος του πραγματικού κόσμου όπου εκδηλώνεται


το πρόβλημα. Περιλαμβάνει:
– ανθρώπινες συνιστώσες: προσωπικό, οργανωτικές μονάδες, ...
– φυσικές συνιστώσες: συσκευές, λογισμικό, στοιχεία της φύσης,...

• Μηχανή (machine): Το τέχνημα που είναι αναγκαίο για τη λύση του


προβλήματος
– λογισμικό που αγοράζεται ή/και αναπτύσσεται
– υλικό, περιβάλλον υλοποίησης, συσκευές εισόδου και εξόδου (π.χ. αισθητήριες και
κινητήριες συσκευές, μικρόφωνα, οθόνες, κ.α.)
• Η ανάλυση απαιτήσεων (ΑΑ) ασχολείται με
– τις επιθυμητές επιδράσεις της μηχανής επί του πεδίου
– τις υποθέσεις περί του πεδίου και τις σχετικές ιδιότητες αυτού

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 4

2
10/20/20

Το πεδίο του προβλήματος και η μηχανή- 3


• Το πεδίο και η μηχανή περιλαμβάνουν φαινόμενα, ορισμένα κοινά και άλλα όχι
• Η ΑΑ ασχολείται με τα φαινόμενα του πεδίου, περιλαμβανομένων των κοινών
με τη μηχανή [Jackson95]
• Η σχεδίαση λογισμικού ασχολείται με τα φαινόμενα της μηχανής

εκκίνηση φαινόμενα κοινά φαινόμενα


πεδίου φαινόμενα μηχανής
κινητήρα
Ο οδηγός θέλει να motor.Regime = ‘up’
ξεκινήσει
stateDatabase
updated
errorCode = 013
λυμένο χειρόφρενο
World Machine handBrakeCtrl = ‘off’
2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 5

Υφιστάμενο και υπό σχεδίαση σύστημα


• Σύστημα: σύνολο αλληλεπιδρώντων στοιχείων που συνιστούν το πεδίο του
προβλήματος
• Υφιστάμενο σύστημα: όπως είναι πριν την εγκατάσταση της μηχανής
• Υπό σχεδίαση σύστημα: όπως πρέπει να είναι όταν θα λειτουργεί η
μηχανή σε αυτό

έννοιες, φαινόμενα και κανονισμοί αυτοκίνητο


σχετικοί με τη χειροκίνητη
χειροπέδηση οδηγός φρένο

Υφιστάμενο σύστημα
έννοιες, φαινόμενα και κανονισμοί
σχετικοί με την αυτόματη χειροπέδηση

Υπό σχεδίαση σύστημα


μηχανή
2020-2021
Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 6

3
10/20/20

Ένας αρχικός ορισμός της ΑΑ


Σύνολο συντονισμένων δραστηριοτήτων
για την διερεύνηση, αξιολόγηση, τεκμηρίωση, σύνθεση, αναθεώρηση και
προσαρμογή των στόχων, δυνατοτήτων, ιδιοτήτων, περιορισμών και υποθέσεων
ενός συστήματος (λογισμικού)

βάσει των προβλημάτων που παρουσιάζει ένα υφιστάμενο σύστημα και των
ευκαιριών που προσφέρει η τεχνολογία

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 7

Απαιτήσεις συστήματος και απαιτήσεις λογισμικού

• Υπό σχεδίαση λογισμικό: μέρος της μηχανής και του υπό σχεδίαση συστήματος
• Περιβάλλον: όλα τα άλλα στοιχεία του υπό σχεδίαση συστήματος:
άνθρωποι, συσκευές, προϋπάρχον λογισμικό
• Απαιτήσεις συστήματος: πρέπει να ικανοποιούνται από το υπό σχεδίαση
σύστημα, διατυπώνονται με αναφορά στα φαινόμενα του περιβάλλοντος
– Π.χ.: Το χειρόφρενο θα λύνεται όταν ο οδηγός θέλει να ξεκινήσει
• Απαιτήσεις λογισμικού: πρέπει να ικανοποιούνται από το υπό σχεδίαση
λογισμικό, διατυπώνονται με αναφορά σε φαινόμενα κοινά μεταξύ λογισμικού
και περιβάλλοντος
– Π.χ.: Η μεταβλητή εξόδου handBrakeCtrl παίρνει την τιμή off όταν η
μεταβλητή εισόδου motorRegime παίρνει την τιμή up

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 8

4
10/20/20

Ο «τριδιάστατος χώρος» της ΑΑ

ΓΙΑΤΙ ένα νέο σύστημα;

ΤΙ θα κάνει;

ΠΟΙΟΣ κάνει τί;

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 9

ΓΙΑΤΙ
• Προσδιορίζονται, αναλύονται και εξειδικεύονται οι σκοποί του υπό
σχεδίαση συστήματος
– αντιμετώπιση μειονεκτημάτων του υφισταμένου συστήματος
– εξυπηρέτηση των επιχειρησιακών σκοπών
– αξιοποίηση τεχνολογικών ευκαιριών

Παράδειγμα: έλεγχος τρένου αεροδρομίου


“Να εξυπηρετεί περισσότερους επιβάτες”
“Να μειώσει το χρόνο μετάβασης μεταξύ τερματικών σταθμών”

• Δυσκολίες
– Απόκτηση γνώσης του πεδίου
– Σύγκριση εναλλακτικών λύσεων
– Συσχετισμός προβλημάτων και ευκαιριών, αξιολόγηση επιπτώσεων
– Αντιμετώπιση αντιφατικών σκοπών

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 10

10

5
10/20/20

ΤΙ
• Προσδιορισμός των λειτουργιών του υπό σχεδίαση συστήματος (λογισμικές,
μηχανικές, ανθρώπινες)
– για την εκπλήρωση των διατυπωμένων σκοπών
– τηρώντας περιορισμούς ποιότητας: ασφάλεια, επιδόσεις,...
– βάσει ρεαλιστικών υποθέσεων περί του περιβάλλοντος

Παράδειγμα: έλεγχος τρένου αεροδρομίου


“Υπολογισμός ασφαλών επιταχύνσεων”
“Παροχή χρήσιμων πληροφοριών στους επιβάτες εντός του τρένου”

• Δυσκολίες
– Να βρεθούν οι σωστές λειτουργίες
– Να προσδιορισθούν με ακρίβεια ώστε να είναι κατανοητές από όλα τα
ενδιαφερόμενα μέρη
– Να κατοχυρωθεί η σύνδεση με τους σκοπούς του συστήματος : ιχνηλασιμότητα

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 11

11

ΠΟΙΟΣ
• Ανάθεση αρμοδιότητας για εκπλήρωση σκοπών, τέλεση λειτουργιών, τήρηση
περιορισμών σε συντελεστές του υπό σχεδίαση συστήματος
– βάσει των ικανοτήτων τους και των σκοπών του συστήματος
– ώστε να ορίζεται το σύνορο λογισμικού – περιβάλλοντος

Παράδειγμα: έλεγχος τρένου αεροδρομίου


– “Ασφαλής επιτάχυνση” ...
• υπό τον άμεσο έλεγχο του λογισμικού (χωρίς οδηγό) ή
• υπό τον έλεγχο του οδηγού με βοηθητικές ενδείξεις από το λογισμικό
– “Ακριβής εκτίμηση της ταχύτητας και θέσης του τρένου” ...
• από ένα σύστημα παρακολούθησης ή από το προπορευόμενο τρένο

• Δυσκολίες
– Σύγκριση εναλλακτικών λύσεων
– Εύρεση του κατάλληλου βαθμού αυτοματισμού

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 12

12

6
10/20/20

Είδη προτάσεων

• Περιγραφικές προτάσεις: αποδίδουν ιδιότητες του συστήματος οι οποίες


ισχύουν ανεξαρτήτως της επιθυμητής συμπεριφοράς αυτού (φυσικοί νόμοι,
τεχνικοί περιορισμοί, κλπ.)
– Π.χ.: «Εάν οι θύρες του τρένου είναι κλειστές, τότε δεν είναι ανοικτές»
– «Εάν η επιτάχυνση του τρένου είναι θετική, τότε η ταχύτητά του δεν είναι
μηδενική»
• Ρυθμιστικές προτάσεις: αποδίδουν επιθυμητές ιδιότητες του συστήματος, η
ισχύς των οποίων εξαρτάται από τη συμπεριφορά του
– Π.χ.: « Οι θύρες θα παραμένουν πάντοτε κλειστές ενόσω το τρένο κινείται»

• Σημαντική διαφορά:
– Οι ρυθμιστικές προτάσεις είναι διαπραγματεύσιμες και μπορούν να
αντικατασταθούν από άλλες
– Οι περιγραφικές, όχι.

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 13

13

Οι προτάσεις στην ΑΑ αναφέρονται:

• σε φαινόμενα αποκλειστικά του περιβάλλοντος, ή


• σε φαινόμενα κοινά μεταξύ του περιβάλλοντος και του υπό σχεδίαση
λογισμικού

Τρένο Κινειται à ΘύρεςΚλειστές


measuredSpeed ≠0 à doorsState = 'closed'
ΤρένοΚινείται
ΘύρεςΚλειστές measuredSpeed ≠ 0

trainPosition-DB
updated
errorCode = 05
ΤρένοΣτοΣταθμό
doorsState = 'closed'
Περιβάλλον Λογισμικό
2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 14

14

7
10/20/20

Απαιτήσεις συστήματος – απαιτήσεις λογισμικού

• Απαιτήσεις συστήματος: ρυθμιστικές προτάσεις που αναφέρονται σε


φαινόμενα του περιβάλλοντος (κοινά ή μη)
– θα υλοποιηθούν από το υπό σχεδίαση λογισμικό, ενδεχομένως μαζί με άλλες
συνιστώσες του συστήματος
– η διατύπωσή τους πρέπει να είναι κατανοητή από όλα τα ενδιαφερόμενα μέρη
– Π.χ.: ΤρένοΕνΚινήσει à ΘύρεςΚλειστές

• Απαιτήσεις λογισμικού: ρυθμιστικές προτάσεις που αναφέρονται σε φαινόμενα


κοινά μεταξύ του περιβάλλοντος και του υπό σχεδίαση λογισμικού
– θα υλοποιηθούν αποκλειστικά από το υπό σχεδίαση λογισμικό
– η διατύπωσή τους πρέπει να είναι κατανοητή από τους προγραμματιστές
– Π.χ.: measuredSpeed ≠ 0 à doorsState = 'closed’

• Μία απαίτηση λογισμικού είναι απαίτηση συστήματος, όχι το αντίστροφο

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 15

15

Ιδιότητες πεδίου,υποθέσεις, ορισμοί

• Ιδιότητα πεδίου: περιγραφική πρόταση περί των φαινομένων του πεδίου (ισχύει
ανεξαρτήτως οποιουδήποτε υπό σχεδίαση λογισμικού)
– Π.χ.: επιτάχυνσηΤρένου > 0 ® ταχύτηταΤρένου ¹ 0

• Υπόθεση: ρυθμιστική πρόταση που πρέπει να ικανοποιείται από το περιβάλλον


του υπό σχεδίαση λογισμικού
– διατυπώνονται εν αναφορά προς τα φαινόμενα του περιβάλλοντος
– Π.χ.: measuredSpeed ¹ 0 iff trainSpeed ¹ 0

• Ορισμός: πρόταση που αποδίδει το ακριβές νόημα εννοιών και όρων


– δεν έχει τιμή αληθείας
– Π.χ.: Η μετρούμενηΤαχύτητα είναι η ένδειξη του ταχυμέτρου του τρένου

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 16

16

8
10/20/20

Σχέση απαιτήσεων συστήματος και λογισμικού: το μοντέλο


των 4 μεταβλητών [Parnas95]
συσκευές εισόδου (π.χ. αισθητήρες)

trainSpeed measuredSpeed
M: µεταβλητές απόκρισης I: δεδοµένα εισόδου

περιβάλλον λογισµικό

DoorsClosed doorsState
C: µεταβλητές ελέγχου O: δεδοµένα εξόδου

συσκευές εξόδου (π.χ. ηλεκτρομηχανικές)

Απαιτήσεις συστήµατος ΑΣ ⊆MXC σχέση επί των µεταβλητών ελέγχου/απόκρισηςτου


περιβάλλοντος
Απαιτήσεις λογισµικού ΑΛ⊆ IXO σχέση επί των µεταβλητών εισόδου/εξόδου του
λογισµικού

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 17

17

Λογική σχέση απαιτήσεων συστήματος και απαιτήσεων


λογισμικού
ΑΛ, Υ, ΙΠ è ΑΣ
Εάν οι απαιτήσεις λογισμικού ΑΛ, οι υποθέσεις Υ και οι ιδιότητες πεδίου
ΙΠ ικανοποιούνται και είναι συνεπείς, τότε οι απαιτήσεις συστήματος ΑΣ
ικανοποιούνται.
ΑΛ: measuredSpeed ¹ 0 ® doorsState = 'closed’
Υ: measuredSpeed ¹ 0 iff trainSpeed ¹ 0
doorsState = 'closed’ iff DoorsClosed
ΙΠ: TrainMoving iff trainSpeed ¹ 0

ΑΣ: TrainMoving ® DoorsClosed


Επί πλέον των απαιτήσεων πρέπει να βρούμε και τις σχετικές υποθέσεις και
ιδιότητες πεδίου

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 18

18

9
10/20/20

Κατηγορίες απαιτήσεων

• Λειτουργικές απαιτήσεις: καθορίζουν τις λειτουργίες / υπηρεσίες του υπό


σχεδίαση λογισμικού
– επιθυμητές επιδράσεις του λογισμικού στο περιβάλλον, συνθήκες εφαρμογής
– λειτουργικές μονάδες
– Π.χ.: Το λογισμικό θα ελέγχει την επιτάχυνση όλων των τρένων

• Τροπικές απαιτήσεις: καθορίζουν τον τρόπο με τον οποίο αυτές οι λειτουργίες /


υπηρεσίες επιτελούνται
– απαιτήσεις ποιότητας: ασφάλεια, ακρίβεια, ευχρηστία,...
– άλλες: συμμόρφωση, αρχιτεκτονική, ...
– Π.χ. Εντολές επιτάχυνσης θα διαβιβάζονται σε κάθε τρένο κάθε 3 δευτερόλεπτα

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 19

19

Μία ταξινομία τροπικών απαιτήσεων


τροπική απαίτηση

ποιότητα συμμόρφωση αρχιτεκτονική κατασκευαστική

ακρίβεια
κατανομή
ασφάλεια αξιοπιστία επίδοση διεπαφή εγκατάσταση κόστος συντήρηση
μεταβλητότητα
κόστος προθεσμία
χρόνος
εμπιστευτι ακεραιό διαθεσιμό χώρος χρήσης ζεύξης διαλειτουργικότητα
κότητα τητα τητα συσκευών

: υποτάξη

• Πιθανές επικαλύψεις
– λειτουργικών/τροπικών: π.χ. οι λειτουργικές απαιτήσεις ενός firewall
management σχετίζονται με ασφάλεια
– επικαλύψεις τροπικών: π.χ. «μεγάλη συχνότητα εκπομπής εντολών στα τρένα»
σχετίζεται με επίδοση και ασφάλεια
2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 20

20

10
10/20/20

Χρησιμότητα των ταξινομιών απαιτήσεων

• Εξειδίκευση απαιτήσεων
• Σημασιολογική διευκρίνιση των απαιτήσεων
– επιθυμητές συμπεριφορές , π.χ. διάφορες λειτουργικές απαιτήσεις
– ανεπιθύμητες συμπεριφορές, π.χ. διάφορες απαιτήσεις ασφάλειας και ακρίβειας
– προτιμώμενες συμπεριφορές, π.χ. διαθεσιμότητα, ταχύτητα
• Καθοδήγηση της εκμαίευσης και της ανάλυσης των απαιτήσεων
Π.χ.
– Υπάρχει απαίτηση εμπιστευτικότητας για την πληροφορία X ;
– Υπάρχει απαίτηση ακρίβειας για την πληροφορία Y ;
– Υπάρχει καμμία αντίφαση μεταξύ απαιτήσεων εμπιστευτικότητας και λογοδοσίας;

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 21

21

Η διεργασία της ΑΑ
• Επαναληπτική διεργασία
• ΟΙ φάσεις δεν έχουν αυστηρή σειρά, αλλά συμπλέκονται
• Οι επαναλήψεις αποσκοπούν στην διόρθωση λαθών και στην παρακολούθηση
των μεταβολών στις απαιτήσεις (κατά τη διάρκεια της ΑΑ, αλλά και στη
συνέχεια κατά την ανάπτυξη και τη χρήση/συντήρηση του λογισμικού)

προτάσεις

κατανόηση του πεδίου αξιολόγηση και συμφωνία


εκμαίευση απαιτήσεων

τελική διατύπωση συµφωνηµένες απαιτήσεις

επικύρωση και επαλήθευση προδιαγραφή και τεκμηρίωση

τεκµηριωµένες απαιτήσεις
2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 22

22

11
10/20/20

Κατανόηση του πεδίου

• Μελέτη του υφισταμένου συστήματος


– Οργάνωση της επιχείρησης: δομή, στόχοι, πολιτικές, ροές εργασίας, διαδικασίες,
– Πεδίο εφαρμογής: έννοιες, αντικείμενα. ενέργειες, περιορισμοί, κανονισμοί,...
– Πλεονεκτήματα και μειονεκτήματα του υφισταμένου συστήματος

• Αναγνώριση των ενδιαφερομένων μερών (stakeholders):


– Ομάδες ή άτομα που επηρεάζονται από το υπό σχεδίαση σύστημα ή που μπορούν
να επηρεάσουν την ανάπτυξη και την αποδοχή του: διευθυντές, στελέχη, ειδικοί του
πεδίου, χρήστες, πελάτες, κατασκευαστές

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 23

23

Εκμαίευση απαιτήσεων

Διερεύνηση του πεδίου


• Προβλήματα του υφισταμένου συστήματος: συμπτώματα, αιτίες, συνέπειες
• Ανάλυση τεχνολογικών ευκαιριών, συνθηκών της αγοράς
• Προσδιορισμός:
– στόχων βελτίωσης
– οργανωτικών και τεχνικών περιορισμών για το υπό σχεδίαση σύστημα
– εναλλακτικών δυνατοτήτων για την ικανοποίηση στόχων και την ανάθεση
αρμοδιοτήτων
– σεναρίων υποθετικής αλληλεπίδρασης λογισμικού και περιβάλλοντος
– απαιτήσεων λογισμικού και υποθέσεων περιβάλλοντος

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 24

24

12
10/20/20

Αξιολόγηση και συμφωνία

• Εντοπισμός και διευθέτηση συγκρούσεων ενδιαφερόντων


• Εντοπισμός και αντιμετώπιση κινδύνων για το σχεδιαζόμενο σύστημα
• Σύγκριση εναλλακτικών λύσεων ως προς τους στόχους και τους κινδύνους και
επιλογή των προτιμοτέρων

• Σειρά προτεραιότητας απαιτήσεων: υποβοηθεί την διευθέτηση συγκρούσεων,


την ικανοποίηση περιορισμών και την σταδιακή ανάπτυξη του συστήματος

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 25

25

Προδιαγραφή και τεκμηρίωση

• Ακριβής ορισμός όλων των ιδιοτήτων του συμφωνηθέντος συστήματος


– Στόχοι, έννοιες, ιδιότητες πεδίου, απαιτήσεις συστήματος και λογισμικού, υποθέσεις,
αρμοδιότητες
– Αιτιολόγηση επιλογών
– Πιθανές παραλλαγές και εξέλιξη του συστήματος
– Εκτιμώμενο κόστος
• Οργάνωση των παραπάνω σε μία συνεκτική δομή
• Τεκμηρίωση κατά τρόπο κατανοητό από όλους τους ενδιαφερόμενους
Αποτέλεσμα: Μελέτη απαιτήσεων - Requirements Document

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 26

26

13
10/20/20

Έλεγχος

• Επικύρωση: Εκφράζουν οι διατυπωθείσες απαιτήσεις ορθώς τις πραγματικές


ανάγκες;
• Επαλήθευση: Υπάρχουν λογικές ασυνέπειες ή ελλείψεις;
• Άλλα κριτήρια ποιότητας
• Διόρθωση σφαλμάτων

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 27

27

Κριτήρια ποιότητας της μελέτης απαιτήσεων


• Πληρότητα • Παραλείψεις
• Συνέπεια • Αντιφάσεις
• Επάρκεια • Ανεπάρκεια
• Σαφήνεια • Ασάφεια
• Συγκρίσιμο και ελέγξιμο λύσεων • Αδυναμία σύγκρισης και ελέγχου
• Συνάφεια λύσεων
• Μονοσημία
• Εφικτό
• Καλή δομή
• Δυνατότητα αναθεώρησης
• Ιχνηλασιμότητα

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 28

28

14
10/20/20

Σφάλματα στην ανάλυση απαιτήσεων

• Παραλείψεις:
– π.χ. απροσδιόριστη κατάσταση των θυρών του τρένου σε περίπτωση στάσεως
ανάγκης
• Αντιφάσεις :
– π.χ. «Οι θύρες πρέπει να είναι πάντοτε κλειστές μεταξύ δύο σταθμών» ΚΑΙ «Οι
θύρες πρέπει να ανοίγουν σε περίπτωση στάσεως ανάγκης»
• Ανεπάρκεια:
– π.χ. «Οι οθόνες μέσα στα τρένα θα δείχνουν όλες τις πτήσεις που εξυπηρετούνται
στην επόμενη στάση»
• Ασάφεια:
– π.χ. «ΟΙ θύρες θα είναι ανοικτές όταν το τρένο είναι σταματημένο στο σταθμό»
• Αδυναμία σύγκρισης και ελέγχου λύσεων:
– π.χ. «Οι οθόνες πληροφόρησης μέσα στα τρένα θα είναι φιλικές προς το χρήστη»

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 29

29

Τα σφάλματα της ΑΑ είναι

• τα περισσότερα: περίπου 40% των σφαλμάτων λογισμικού


• τα πιο ανθεκτικά: ανακαλύπτονται συνήθως πολύ αργά
• τα πιο ακριβά:
– διόρθωση κατά τη σχεδίαση σχετικό κόστος: 1
– διόρθωση κατά την υλοποίηση 2
– διόρθωση κατά την τελική δοκιμή 4
– διόρθωση μετά την παράδοση 40
– περίπου 66% του κόστους σφαλμάτων λογισμικού

[Boehm, Jones, Lutz, Hooks & Farry, ...]

2020-2021 Π.Χ. Κωνσταντόπουλος ΑΣΠΣ/3 30

30

15

You might also like