ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα 4: Ανάλυση Απαιτήσεων Μαρίνος Θεμιστοκλέους Email: mthemist@unipi.gr Ανδρούτσου 150 Γραφείο 206 Τηλ. 210 414 2723 Ώρες Γραφείου: Δευτέρα 11-12 AM
Απαιτήσεις Οι απαιτήσεις από το λογισµικό διακρίνονται σε δύο μεγάλες κατηγορίες. Λειτουργικές απαιτήσεις Οι λειτουργικές απαιτήσεις περιγράφουν τις εργασίες (λειτουργίες) που θα πρέπει να εκτελεί το λογισµικό. Μη λειτουργικές απαιτήσεις Οι µη λειτουργικές απαιτήσεις περιγράφουν χαρακτηριστικά που πρέπει να έχει το λογισµικό τα οποία δεν αφορούν την εκτέλεση κάποιας λειτουργίας από αυτό.
Απαιτήσεις
Καταγραφή Απαιτήσεων Χρηστών 1. Φυσικό περιβάλλον 2. Διεπαφές 3. Χρήστες και εργονομικοί παράγοντες 4. Λειτουργικότητα 5. Τεκμηρίωση 6. Δεδομένα 7. Πόροι 8. Ασφάλεια 9. Εξασφάλιση Ποιότητας
Χαρακτηριστικά Απαιτήσεων Ορθότητα Πληρότητα Συνέπεια Εφικτότητα υλοποίησης Αναγκαιότητα Επαληθευσιμότητα Ιχνηλασιμότητα Σαφήνεια ακρίβεια Ταξινόμηση (με βάση τις προτεραιότητες) Περιγράφουν κάτι που χρειάζεται ο πελάτης
Έγγραφο Προσδιορισμού Απαιτήσεων Συστήματος 1. Ορισμός Προβλήματος 2. Αιτιολόγηση Συστήματος 3. Σκοπός του Συστήματος και του έργου 4. Περιορισμοί του Συστήματος και του έργου 5. Λειτουργίες ανά συνιστώσα του Συστήματος 1. Υλικό 2. Λογισμικό 3. Άνθρωποι 6. Χαρακτηριστικά Χρηστών 7. Περιβάλλοντα 1. Ανάπτυξης 2. Λειτουργία 3. Συντήρησης
Έγγραφο Προσδιορισμού Απαιτήσεων Συστήματος 8. Στρατηγική Λύσης του Συστήματος 9. Προτεραιότητες στα χαρακτηριστικά του Συστήματος 10. Κριτήρια Αποδοχής του Συστήματος 11. Πηγές Πληροφοριών 12. Λεξιλόγιο
Μελέτη Σκοπιμότητας Η μελέτη σκοπιμότητας μπορεί να πάρει πολλές μορφές: από μία άτυπη εκτίμηση της σκοπιμότητας μέχρι τη μορφή μίας ολοκληρωμένης μελέτης που θα είναι ένα ξεχωριστό έργο.
Μελέτη Σκοπιμότητας Τα κύρια ερωτήματα είναι: Υπάρχει (τεχνολογική) λύση για το πρόβλημα; Έχει νόημα η υλοποίηση της λύσης από επιχειρηματικής άποψης (οργανωσιακά και οικονομικά); Είναι τα οφέλη περισσότερα από το κόστος; Θα γίνει αποδεκτή η λύση;
Μελέτη Σκοπιμότητας Έχει νόημα η υλοποίηση της λύσης από επιχειρηματικής άποψης; Μπορεί να υλοποιηθεί έγκαιρα; Θα γίνουν αποδεκτές οι αλλαγές; Υπάρχουν οι γνώσεις και οι ικανότητες για την υλοποίηση του έργου; Είναι αποδεκτό το ρίσκο (οικονομικό, οργανωσιακό) που αναλαμβάνει η επιχείρηση;
Μελέτη Σκοπιμότητας Τα βασικά στάδια που ακολουθούμε στη μελέτη σκοπιμότητας είναι: Καθορισμός του προβλήματος Προσδιορισμός των εναλλακτικών λύσεων για την αντιμετώπιση του προβλήματος Εκτίμηση της σκοπιμότητας των εναλλακτικών λύσεων και επιλογή την καλύτερη
Μελέτη Σκοπιμότητας Τα βασικά στάδια που ακολουθούμε στη μελέτη σκοπιμότητας είναι: Διαμόρφωση προτάσεων για τη συνέχεια του έργου. Καταγραφή αποφάσεων του πελάτη Κατάρτιση ενός σχεδίου δράσης για τη συνέχεια του έργου
Εξαγωγή Απαιτήσεων Σε αυτή τη δραστηριότητα προσδιορίζονται: το πεδίο εφαρμογής του λογισμικού, τις υπηρεσίες που θα παρέχει το σύστημα, τις απαιτούμενες επιδόσεις του συστήματος, τους περιορισμούς που θέτει το υλικό του υπολογιστή στο υπό ανάπτυξη λογισμικό ή τους περιορισμούς που θέτει το υπό ανάπτυξη λογισμικό στο υλικό του υπολογιστή
Ανάλυση Απαιτήσεων Η ανάλυση επιχειρεί να προσδιορίσει το λογισμικό περιγράφοντας ένα μοντέλο του λογισμικού χωρίς να λαμβάνει υπόψη το πραγματικό περιβάλλον υλοποίησης του λογισμικού. Η ανάλυση δεν ασχολείται με το περιβάλλον υλοποίησης του λογισμικού παρά μόνο με το χώρο του προβλήματος και την λειτουργικότητα του λογισμικού. Η ανάλυση έχει ως αποτέλεσμα τον αναλυτικότερο και σαφέστερο προσδιορισμό των λειτουργικών απαιτήσεων του λογισμικού.
Προδιαγραφή Απαιτήσεων Διατύπωση σύνταξη των απαιτήσεων που προσδιορίστηκαν από τις προηγούμενες δραστηριότητες Αυτές πρέπει να: Αξιοποιηθούν από τους μηχανικούς λογισμικού που εμπλέκονται στην ανάπτυξη του λογισμικού Επιβεβαιωθούν από τους ενδιαφερόμενους για τις απαιτήσεις λογισμικού.
Επικύρωση Απαιτήσεων Σε αυτή τη δραστηριότητα εξετάζονται : η πληρότητα των απαιτήσεων (έχουν καταγραφεί όλες οι απαιτήσεις), η ορθότητα τους (το σύνολο των ενδιαφερομένων συμφωνούν με τον τρόπο που προσδιορίζεται η κάθε απαίτηση), η συνέπεια τους (δεν είναι αντικρουόμενες μεταξύ τους), η σαφήνεια τους (ερμηνεύονται μονοσήμαντα),
Επικύρωση Απαιτήσεων Σε αυτή τη δραστηριότητα εξετάζονται: η δυνατότητα πραγματοποίησης τους (με τις δεδομένες τεχνολογίες, με το δεδομένο προϋπολογισμό, με το δεδομένο χρονοδιάγραμμα και με τους δεδομένους ανθρώπινους πόρους) ο τρόπος επιβεβαίωσης (σύνολο ελέγχων που απαντά για την επιβεβαίωση των απαιτήσεων) τους όταν με το καλό υλοποιηθεί το σύστημα μας.
Διαχείριση Δραστηριοτήτων
Περιπτώσεις Χρήσης Μια περίπτωση χρήσης (use case) μοντελοποιεί μια αλληλεπίδραση ανάμεσα στο προϊόν λογισμικού και στους χρήστες του (που είναι οι εμπλεκόμενοί - actors) Ένας εμπλεκόμενος (actor) είναι ένα μέλος του κόσμου έξω από το (ζητούμενο) προϊόν λογισμικού Ένας εμπλεκόμενος είναι συχνά ένας χρήστης του λογισμικού
Περιπτώσεις Χρήσης Γενικά, ένας εμπλεκόμενος παίζει κάποιο ρόλο σε σχέση με το λογισμικό. Ο ρόλος αυτός μπορεί να αφορά: Ένα χρήστη, ή Κάποιο που κάνει αρχικοποίηση ή Κάποιο που έχει ένα σημαντικό (καθοριστικό) ρόλο σε κάποια use case του λογισμικού
Στάδια Εργασίας 1. Συγκρότηση Ομάδας 2. Δημιουργία Εγγράφων καταγραφής απαιτήσεων, 3. Δημιουργία Εγγράφων καταγραφής διαδικασιών 4. Επικοινωνία με επιχείρηση-οργανισμό 5. Συλλογή Δεδομένων 6. Ανάλυση 7. Έμφαση σε ένα ΠΣ ή μέρος αυτού ή μια διαδικασία 8. Αναδόμηση διαδικασίας και συστήματος 9. Ανάπτυξη νέου ΠΣ 10. Έλεγχος ΠΣ 11. Σύνταξη και παράδοση εργασίας