You are on page 1of 37

Μεθοδολογίες και Εργαλεία Ανάλυσης

και Σχεδιασµού Π.Σ.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ
ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ
ΣΥΣΤΗΜΑΤΩΝ
Δοµή της διάλεξης
• Η έννοια της απαίτησης συστήµατος

• Η διαδικασία προσδιορισµού και


προδιαγραφής απαιτήσεων

• Κατανόηση των δυσκολιών για τον


εντοπισµό, τον καθορισµό και την
προδιαγραφή των απαιτήσεων

• Παρουσίαση του παραδοσιακού κύκλου


ζωής του Π.Σ. και τροποποίησή του
Τι είναι απαίτηση;
• Απαίτηση είναι:
– Μία δυνατότητα που θέλει να έχει ένας από
τους δικαιούχους (stakeholder) για να επιτύχει
κάποιον στόχο
– Μία δυνατότητα που πρέπει να έχει το Π.Σ.
ώστε να ικανοποιούνται κάποιοι περιορισµοί
(π.χ. Όροι ενός συµβολαίου, προτύπου, Νόµου,
κ.λπ.)
• Λειτουργικές και µη-λειτουργικές
απαιτήσεις
• Η σηµαντικότερη αιτία αποτυχίας της
ανάπτυξης ενός Π.Σ. είναι η ανεπάρκεια
του καθορισµού απαιτήσεων
Λειτουργικές και Μη-Λειτουργικές Απαιτήσεις
• Λειτουργικές Απαιτήσεις (ΛΑ) Functional
Requirements
– Περιγράφουν τι πρέπει να κάνει το σύστηµα (π.χ. ως
συναρτήσεις που λαµβάνουν είσοδο και δίδουν έξοδο)
• Μη-Λειτουργικές Απαιτήσεις (ΜΛΑ) Non-functional
Requirements
– Περιγράφουν ιδιότητες του συστήµατος που συνήθως
εκφράζονται βάσει χαρακτηριστικών της µορφής
• Απόδοση (performance)
• Χρηστικότητα (usability)
• Ασφάλεια (security)
• Νοµιµότητα (legislative)
• Ιδιωτικότητα (privacy)
– Περιγράφουν το πώς (ή το πόσο καλά) το σύστηµα θα
υποστηρίξει τις λειτουργικές απαιτήσεις
– Μπορούµε να τις θεωρήσουµε ως «περιορισµούς» που
περιορίζουν τους τρόπους µε τους οποίους θα µπορούσαµε να
πραγµατώσουµε τις λειτουργικές απαιτήσεις
Απαιτήσεις – παραδείγµατα
• Ο χρόνος απόκρισης του συστήµατος δεν πρέπει να
υπερβαίνει τα 3 δευτερόλεπτα
• Το σύστηµα πρέπει να µπορεί να ενοποιηθεί µε το
υπάρχον
• Τα προσωπικά στοιχεία των πελατών πρέπει να
προστατεύονται.
• Να αποθηκεύει τα στοιχεία των πελατών
• Να τυπώνει συγκεντρωτικές αναφορές
• Το σύστηµα πρέπει να λειτουργεί αδιάλειπτα (όλο
τον χρόνο)
• Να τυπώνει αποδείξεις
• Μόνο οι διευθυντές πρέπει να έχουν πρόσβαση στο
αρχείο µισθοδοσίας
• Το σύστηµα πρέπει να συµµορφώνεται µε τα
πρότυπα της βιοµηχανίας ß (περαιτέρω ανάλυση)
• Το σύστηµα πρέπει να µπορεί να υποστηρίξει πολλές
φυσικές γλώσσες
Απαιτήσεις – παραδείγµατα
Λειτουργικές απαιτήσεις Μη λειτουργικές απαιτήσεις
• Να αποθηκεύει τα • Ο χρόνος απόκρισης του
στοιχεία των πελατών συστήµατος δεν πρέπει να
υπερβαίνει τα 3 δευτερόλεπτα
• Να τυπώνει • Το σύστηµα πρέπει να µπορεί να
συγκεντρωτικές ενοποιηθεί µε το υπάρχον
αναφορές • Τα προσωπικά στοιχεία των
• Να τυπώνει αποδείξεις πελατών πρέπει να
• Μόνο οι διευθυντές προστατεύονται ß (περαιτέρω
ανάλυση)
πρέπει να έχουν • Το σύστηµα πρέπει να
πρόσβαση στο αρχείο λειτουργεί αδιάλειπτα (όλο το
της µισθοδοσίας χρόνο)
• Το σύστηµα πρέπει να µπορεί να
υποστηρίξει πολλές φυσικές
γλώσσες
Προσδιορισµός απαιτήσεων
• Προβλήµατα και λάθη στον προσδιορισµό των
λειτουργικών απαιτήσεων:
– Το πρόβληµα και το σύστηµα δεν οριοθετήθηκαν σωστά
– Οι δικαιούχοι έχουν ελλιπώς κατανοήσει τις ανάγκες τους
– Οι δικαιούχοι δεν κατανοούν τις δυνατότητες και τους
περιορισµούς της τεχνολογίας
– Οι αναλυτές έχουν ελλιπή γνώση του πεδίου
– Υπάρχει πρόβληµα επικοινωνίας (διαφορετική γλώσσα)
– Παραλείπονται κάποιες «προφανείς» απαιτήσεις
– Αντικρουόµενες απόψεις µεταξύ δικαιούχων
– Μεροληψία υπέρ µίας οµάδας δικαιούχων.
– Αόριστες, µη ρεαλιστικές ή µη ελέγξιµες απαιτήσεις
– Μεταβαλλόµενες απαιτήσεις
Τα βήµατα προσδιορισµού απαιτήσεων
• Δεν συλλέγουµε και καταγράφουµε, αλλά
µάλλον προσδιορίζουµε/καθορίζουµε τις
απαιτήσεις:
– Αναζήτηση στοιχείων
– Συλλογή δεδοµένων σχετικά µε τους
στόχους και τις ανάγκες των δικαιούχων
– Ορθολογικοποίηση και αποτίµηση των
απαιτήσεων
– Ιεράρχισή τους
– Παρουσίασή τους
– Επικύρωσή τους
Προδιαγραφές απαιτήσεων
• Οι προδιαγραφές απαιτήσεων:
– «Παγώνουν» σε µερικές µεθοδολογίες
– Αποτελούν τµήµα του συµβολαίου
• Θα πρέπει να είναι:
– Πλήρεις
– Συνεπείς
– Κατανοητές από όλους τους εµπλεκόµενους στο
έργο της ανάπτυξης
• Προβλήµατα:
– Οι χρήστες είναι αβέβαιοι για τις ανάγκες τους
– Οι αναλυτές δεν έχουν την κατάλληλη
εκπαίδευση ή εµπειρία ή είναι άτολµοι (δεν
«ανακρίνουν» σωστά τους χρήστες)
Προδιαγραφές απαιτήσεων
• Το έγγραφο προδιαγραφών απαιτήσεων περιέχει
(µεταξύ άλλων):
– Σκοποί και στόχοι του οργανισµού/επιχείρησης
– Τι πληροφορίες απαιτούν οι χρήστες για να κάνουν τη
δουλειά τους
– Τα δεδοµένα που διακινούνται µέσα στο σύστηµα
– Πότε, πώς από ποιον και τι δεδοµένα δηµιουργούνται,
µετασχηµατίζονται, µετακινούνται, αποθηκεύονται
– Δραστηριότητες που τα δεδοµένα τυγχάνουν
επεξεργασίας
– Κανόνες που διέπουν τα δεδοµένα
– Πολιτικές και νόρµες στην επιχείρηση/οργανισµό
– Γεγονότα που επηρεάζουν την επεξεργασία των
δεδοµένων
– Τροποποιήσεις ή νέες επεξεργασίες που ζητούν οι
δικαιούχοι από το νέο σύστηµα
Επικοινωνία αναλυτών – δικαιούχων
• Διαφορετική κουλτούρα µεταξύ αναλυτών
και δικαιούχων δηµιουργεί προβλήµατα.
• Τέσσερις παράγοντες παίζουν ρόλο στο
επικοινωνιακό πλαίσιο που
διαµορφώνεται:
1. Η επιλογή και συµµετοχή των
δικαιούχων (ευθύνη, θέση στο σύστηµα,
κ.λπ.)
2. Η συναλλαγή µεταξύ δικαιούχων
(µεθοδολογία ανάπτυξης, κουλτούρα,
ρόλοι)
3. Τεχνικές που υιοθετήθηκαν (π.χ.
συνεντεύξεις, οµάδες εργασίας, κ.λπ.)
4. Δραστηριότητες επικοινωνίας
Γνωσιακά προβλήµατα
• Γνωσιακά εµπόδια:
– Οι περιορισµένες δυνατότητες των ανθρώπων
ως επεξεργαστές πληροφοριών
– Η σύµπλοκη φύση των απαιτήσεων
– Οι υπάρχουσες δυσκολίες στην επικοινωνία και
συναλλαγή µεταξύ αναλυτή και δικαιούχων
• Μοντέλο Newell-Simon
– Εστιάζουµε την ανάλυση σε ένα «µέρος» του
προβλήµατος
– Η µνήµη «ανακατασκευάζει» τις αναµνήσεις
Άλλα γνωσιακά ζητήµατα
• Οι άνθρωποι θυµούνται συνήθως τα πιο
πρόσφατα γεγονότα
• Συχνά δείχνουν υπέρµετρα βέβαιοι για τις
απόψεις τους, αν και δεν γνωρίζουν καλά
το πεδίο
• Αναλυτές και δικαιούχοι αποφασίζουν
βάσει κάποιων παραδοχών που µπορεί να
µην υφίστανται ή να µπορούν να
ξεπεραστούν
Γνωσιακά ζητήµατα: αντιµετώπιση
• Ο αναλυτής:
– Κάνει συχνές ανακεφαλαιώσεις,
επαναλήψεις
– Επιδιώκει επικύρωση και
διασταύρωση απόψεων
– Δηµιουργεί υποθετικά σενάρια προς
εξέταση
– Παίζει τον ρόλο του «συνηγόρου του
διαβόλου» υποστηρίζοντας θέσεις που
αντικρούουν τους δικαιούχους
Τι είναι ο κύκλος ζωής;
• Το Π.Σ., ως «ιδεατό κατασκεύασµα» γεννιέται,
αναπτύσσεται και «πεθαίνει».
• Έτσι, βλέπουµε τα στάδια που περνά ένα Π.Σ.,
ως τον Κύκλο Ζωής
• Ο κύκλος ζωής περιέχει δραστηριότητες που
απαντούν στα ερωτήµατα:
– Τι; Γιατί; Πότε; Πώς; Πού; Από ποιον;
• Δεν υπάρχει ένας κοινά αποδεκτός κύκλος
ζωής
– …αλλά, συµφωνία για τη χρησιµότητά του ως µέσο:
• Επικοινωνίας µεταξύ των εµπλεκοµένων
• Αποτελεσµατικής διοικητικής διαχείρισης του έργου
ανάπτυξης
Ο κύκλος ζωής ενός Π.Σ.
1. Διερευνητική µελέτη

2. Μελέτη σκοπιµότητας

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

4. Σχεδιασµός συστήµατος

5. Υλοποίηση

6. Εγκατάσταση

7. Λειτουργία – Συντήρηση – Διαχείριση


Επιτυχία του Κύκλου Ζωής
• Ο κύκλος ζωής έχει γίνει αποδεκτός
γιατί:
– Βάζει δοµή στη διαδικασία της ανάπτυξης
– Είναι απλός
– Έχει καθορισµένα βήµατα
– Διευκολύνει τη διαχείριση της
διαδικασίας της ανάπτυξης
– Έχει δοκιµαστεί
Μειονεκτήµατα του Κύκλου Ζωής
Έχει δεχθεί κριτική διότι:
– Λειτουργεί καλά σε περιβάλλοντα µε καλή
δοµή
– Δύσκολα επιτρέπει την ενσωµάτωση
αλλαγών
– Αποµονώνει τον χρήστη
– Έχει πολλές απαιτήσεις από τη διοίκηση
– Απαιτεί πολύ αναλυτική, τεχνική
τεκµηρίωση
– Δεν υπάρχει επανατροφοδότηση µεταξύ
των φάσεων
Σηµείωση: Στο βιβλίο του Κιουντούζη θα
δείτε τη δική του εκδοχή του κύκλου ζωής
(1) Διερευνητική µελέτη
…ή, καθορισµός του προβλήµατος

Ερωτήµατα:
o Ποιο είναι το σχετικό σύστηµα;
o Ποιο είναι το πραγµατικό πρόβληµα;
o Ποιες είναι οι υπάρχουσες εναλλακτικές λύσεις;

Παρατηρήσεις:
o Τελικά ο χρήστης επιλέγει µία ή περισσότερες
λύσεις για παραπέρα εξέταση.
(2) Μελέτη σκοπιµότητας

Ερωτήµατα:
o Είναι εφικτή η υλοποίηση της λύσης;
o Υπάρχουν εναλλακτικοί τρόποι υλοποίησης;
o Με ποιο κόστος/όφελος;

Παρατηρήσεις:
o Περιγραφή της τελικής λύσης που θα προωθηθεί
για υλοποίηση.
(3) Ανάλυση απαιτήσεων

Ερωτήµατα:
o Ποιες είναι οι λειτουργίες του συστήµατος;
o Ποιες είναι οι ειδικές απαιτήσεις;
o Ποια είναι τα κριτήρια επικύρωσης/αποδοχής
προϊόντων;

Παρατηρήσεις:
o Περιγραφή του ΤΙ πρέπει να κάνει το σύστηµα,
ανεξάρτητα από τεχνολογία υλοποίησης.
(4) Σχεδιασµός συστήµατος

Ερωτήµατα:
o Πώς θα είναι η δοµή του συστήµατος;
o Ποιος θα είναι ο εξοπλισµός (υλικό/λογισµικό);
o Ποιες διαδικασίες απαιτούνται;
o Πώς θα γίνουν οι δοκιµές ελέγχου;

Παρατηρήσεις:
o Αναλυτική περιγραφή του ΠΩΣ θα είναι το
σύστηµα.
o Τεχνικές προδιαγραφές υλικού/λογισµικού.
(5) Υλοποίηση

Ερωτήµατα:
o Πώς κατασκευάζουµε το ‘κατάλληλο’ λογισµικό µε
το χαµηλότερο κόστος;
o Πώς κατασκευάζουµε ή προµηθευόµαστε το
‘κατάλληλο’ υλικό;
o Πώς θα είναι οι διαδικασίες που θα πρέπει να
ακολουθούνται;

Παρατηρήσεις:
o Τεκµηρίωση υλικού/λογισµικού/διαδικασιών.
(6) Εγκατάσταση

Ερωτήµατα:
o Δουλεύει το σύστηµα ικανοποιητικά;
o Πώς θα γίνει η µετάβαση – µετάπτωση από το
παλαιό στο νέο;

Παρατηρήσεις:
o Εγχειρίδια µε οδηγίες.
o Παραλαβή του συστήµατος.
() Λειτουργία – Συντήρηση –
Διαχείριση
Ερωτήµατα:
o Απαιτούνται προσθήκες, αλλαγές, τροποποιήσεις,
βελτιώσεις;

Παρατηρήσεις:
o Ενέργειες για οµαλή λειτουργία και συνεχή
βελτίωση.
Παρατηρήσεις – Ερωτήµατα
• Διαχωρισµός του ΤΙ και του ΠΩΣ
• Κάθε φάση του κύκλου ζωής παράγει
ορισµένα «προϊόντα»
• Πάγωµα των απαιτήσεων
• Έλεγχοι:
– Επικύρωση (validation): Φτιάχνω το προϊόν
σωστά;
– Επαλήθευση (verification): Φτιάχνω το σωστό
προϊόν;
• Ερωτήµατα:
– Γιατί τόσα πολλά επιµέρους προϊόντα;
– Γιατί τόσοι πολλοί έλεγχοι;
– Είναι απαραίτητο να τηρηθεί αυστηρά η σειρά
των φάσεων;
Διερευνητική µελέτη
• Είναι απαραίτητη για:
– Μεσαία και µεγάλα έργα µε υψηλά κόστη και
µεγάλα περιθώρια χρόνου
– Ευαίσθητα από τεχνολογικής άποψης έργα
– Αµφίβολης αναγκαιότητας έργα
– Έργα οποιουδήποτε µεγέθους που έχουµε την
αίσθηση ότι δεν είναι καλώς ορισµένα
• Είναι περιττή για:
– Μικρά έργα
– Σαφώς διατυπωµένα έργα
– Έργα που εντάσσονται σε ένα καλώς
καθορισµένο στρατηγικό σχέδιο
(βλ. περιεχόµενα στο κεφ. 10.7 του βιβλίου)
Μελέτη σκοπιµότητας
• Ανάλυση κόστους/οφέλους για τις
προτεινόµενες λύσεις:
– Χρόνος
– Τεχνολογία (είναι εφικτή η υλοποίηση;)
– Τεχνογνωσία (υπάρχει τεχνογνωσία;)
– Μετάπτωση
– Κόστος υλοποίησης και λειτουργίας
– Όφελος
– ΑΕΜΕΒΥ = Αύξηση Εσόδων, Μείωση
Εξόδων, Βελτίωση Υπηρεσιών
Το κόστος
• Το κόστος αναλύεται σε:
– Άµεσο
• Άµεσο σταθερό (π.χ. Προµήθεια υλικού,
κόστος µετάβασης στο νέο σύστηµα)
• Άµεσο µεταβλητό (π.χ. Διαρκής εκπαίδευση
προσωπικού, αναλώσιµα, κ.λπ.)
– Έµµεσο
• Σταθερό (π.χ. ενοίκιο, φωτισµός, αποσβέσεις
εγκαταστάσεων, κ.λπ.)
• Μεταβλητό (π.χ. κόστος ανασχεδιασµού
λειτουργιών συστήµατος, προµήθειες
πωλήσεων)
Περιεχόµενα µελέτης σκοπιµότητας
• Γενικά
• Αντικείµενο – Σκοπός
• Προαπαιτούµενα
• Ενηµέρωση προηγούµενων µελετών
• Ορισµοί – Σύµβολα – Συντοµογραφίες
• Βασικές παραδοχές – Περιορισµοί
• Μεθοδολογία
• Αναλυτική παρουσίαση επεξεργασίας (π.χ. ΔΡΔ)
• Αναλυτική παρουσίαση δεδοµένων
• Εκτίµηση κόστους λειτουργίας
• Ανασκόπηση σχετικής τεχνολογίας
• Ανάλυση εναλλακτικών λύσεων
• Αξιολόγηση εναλλακτικών λύσεων
• Ανοικτά θέµατα
• Συµπεράσµατα – Προτάσεις
Ανάλυση απαιτήσεων
• Περιεχόµενο:
– Λειτουργίες που πρέπει να εκτελεί το
σύστηµα
– Το πλαίσιο, τους περιορισµούς και τις
υποθέσεις που γίνονται
– Απαιτούµενη απόδοση του συστήµατος
– Ποσοτικές µετρήσεις και κριτήρια
ελέγχου
• Μορφή: Διαγραµµατικές τεχνικές και
κείµενο
• Τρόπος: Χρησιµοποιούµε µία από τις
γνωστές µεθοδολογίες
Λάθη στην ανάλυση απαιτήσεων
• Άστοχες απαιτήσεις, π.χ.
– Απαιτήσεις που δεν µπορούν να υλοποιηθούν.
– Απαιτήσεις που δεν αφορούν το ΤΙ αλλά το ΠΩΣ
• ΤΙ: Θα εκδώσω τιµολόγιο
• ΠΩΣ: Θα το τυπώσω στον εκτυπωτή σε προϋπάρχον
έντυπο, ή σε λευκή σελίδα, ή θα το εκδώσω χειρόγραφα
• Αυθαίρετες απαιτήσεις:
– Ο αναλυτής βάζει µία απαίτηση που δεν είναι
απαραίτητη
– Τεχνικές/εργαλεία που χρησιµοποιούµε
καθοδηγούν (αντί να βοηθούν) σε συγκεκριµένες
κατευθύνσεις
Σχεδιασµός
• Λογικός σχεδιασµός
– Μετάφραση φυσικής ροής σε λογικές
δραστηριότητες
• Φυσικός σχεδιασµός
– Σχεδιασµός φυσικού µοντέλου (π.χ. το
κίτρινο αντίγραφο του τιµολογίου αφορά
το λογιστήριο)
Τέσσερα µοντέλα του συστήµατος
• Φυσικό Μοντέλο Υπάρχοντος
Συστήµατος
• Λογικό Μοντέλο Υπάρχοντος
Συστήµατος
• Λογικό Μοντέλο Νέου Συστήµατος
• Φυσικό Μοντέλο Νέου Συστήµατος
Σύνοψη – Συµπεράσµατα
• Τι είναι απαίτηση στα πλαίσια της
ανάπτυξης ενός Π.Σ.;
• Γιατί η διαδικασία προσδιορισµού
απαιτήσεων παρουσιάζει δυσκολίες;
• Τι είναι οι προδιαγραφές
απαιτήσεων;
• Ποια είναι η πορεία από τον
προσδιορισµό των απαιτήσεων
µέχρι τη σύνταξη των
προδιαγραφών απαιτήσεων;
Σύνοψη – Συµπεράσµατα
• Πώς µπορούν να αντιµετωπιστούν
τα προβλήµατα που
παρουσιάζονται κατά τον
προσδιορισµό των απαιτήσεων;
• Τι είναι ο Κύκλος Ζωής του Π.Σ.;
• Γιατί θα πρέπει να τροποποιηθεί ο
παραδοσιακός κύκλο ζωής;
• Τι αλλαγές προτείνονται να γίνουν
στον κύκλο ζωής;
Σύνοψη

• Απαιτήσεις
• Κύκλος ζωής

• Ερωτήµατα …

You might also like