Μεθοδολογίες και Εργαλεία Ανάλυσης και Σχεδιασμού Π.Σ. Σπύρος Κοκολάκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ε’ Εξάμηνο Διάλεξη 6
Prototyping Τεχνική κατασκευής προτύπου
Μειονεκτήματα μεθοδολογιών βασισμένων στον κύκλο ζωής Οι χρήστες βλέπουν το σύστημα όταν είναι πολύ αργά για να γίνουν αλλαγές. Οι χρήστες δεν έχουν από την αρχή ξεκάθαρη άποψη και θέλουν να «δοκιμάσουν» για να αποφασίσουν. Οι χρήστες αντιδρούν στο πάγωμα των απαιτήσεων και θέλουν περισσότερη ελευθερία. Η ανάπτυξη ενός Π.Σ. έχει πολλούς (τεχνολογικούς και μη) κινδύνους, που μπορεί να προκύψουν όταν έχουμε ξοδέψει πολύ χρήμα και χρόνο.
Prototyping: Τι είναι; Τι δεν είναι; Είναι η γρήγορη ανάπτυξη ενός συστήματος που δεν έχει την πλήρη λειτουργικότητα και τα ποιοτικά χαρακτηριστικά του τελικού συστήματος. –Όπως οι μακέτες των αρχιτεκτόνων ή τα μοντέλα των μηχανικών. Δεν είναι ο εύκολος και βρώμικος (quick and dirty) τρόπος να αναπτύξουμε ένα σύστημα.
Πότε επιλέγω την κατασκευή προτύπου; Το σύστημα δεν έχει οριστεί καλά, άρα χρειαζόμαστε δραστικότερες μεθόδους για να ορίσουμε το σύστημα και να αντλήσουμε τις απαιτήσεις των χρηστών. Η τεχνολογία που χρησιμοποιείται εμπεριέχει σημαντική επικινδυνότητα. Το κόστος από την πιθανή απόρριψη του συστήματος από τους χρήστες είναι πολύ υψηλό. –Δηλαδή άλλη μία τεχνική για να βάλουμε το χρήστη στο παιχνίδι. Θέλουμε να μελετήσουμε τις επιπτώσεις από τη χρήση του συστήματος.
Τι χρειάζομαι για να το κάνω; Χρειάζομαι εργαλεία που θα μου επιτρέψουν να αναπτύξω γρήγορα και εύκολα το πρότυπο (δεν χρειάζεται να είναι τα ίδια με αυτά που θα κατασκευάσω το τελικό σύστημα). Χρειάζεται να ξέρω πολύ καλά τι πρόκειται να κάνω και να το έχω σχεδιάσει πολύ καλά. Χρειάζεται έγκριση από τη διοίκηση και διάθεση από τους χρήστες να αξιολογήσουν το πρότυπο. Χρειάζεται κατανόηση από τους χρήστες ότι πρόκειται για πρότυπο και όχι για πραγματικό σύστημα.
Παραλλαγές Οριζόντια ή κάθετα: –Οριζόντια, αν φτιάξω οθόνες που δεν κάνουν τίποτα (mock-ups), αλλά καλύπτουν όλη την έκταση του συστήματος. –Κάθετα, αν φτιάξω μέρος του συστήματος που έχει όλη τη λειτουργικότητα. Το κρατάω ή το πετάω: –Το πρότυπο φτιάχνεται μόνο για να αντλήσω τις απαιτήσεις και μετά το πετάω. –Το πρότυπο θα το κρατήσω και θα αναπτύξω το υπόλοιπο σύστημα πάνω σε αυτό. Προσοχή: Αν το κρατήσω χρειάζεται να είναι πλήρες.
Συναφείς μέθοδοι Evolutionary information systems development (εξελικτική ανάπτυξη πληροφοριακού συστήματος). –Ακολουθώ όλες τις φάσεις (ανάλυση, σχεδίαση, έλεγχος κ.λπ.), παρέχω πλήρη τεκμηρίωση, αλλά για ένα μέρος του τελικού συστήματος κάθε φορά. Rapid application development –Ακολουθώ τα βήματα (ανάλυση απαιτήσεων, σχεδιασμός, κατασκευή, προσαρμογή/μετάβαση), αλλά βάζω ένα χρονικό όριο (π.χ. 90 μέρες) για να έχω ένα μεγάλο ποσοστό της λειτουργικότητας (π.χ. 75%). Βασίζομαι στη συμμετοχή του χρήστη και στα αυτοματοποιημένα εργαλεία. Dynamic Systems Development Method –Βλέπε
Συναφείς μέθοδοι Spiral development model Μοντέλο σπειροειδούς ανέλιξης
Μειονεκτήματα Πιθανή απώλεια χρόνου και χρήματος (αν δεν αποδώσει τα αναμενόμενα). Δύσκολο να πείσεις ότι θα φτιάξουμε κάτι και μετά θα το πετάξουμε. Δύσκολο να πείσεις ότι χρειάζεται πολλαπλάσιος χρόνος για να φτιάξεις το πλήρες σύστημα. Χρειάζεται αυτοματοποιημένα εργαλεία που κοστίζουν. Εύκολα παρασυρόμαστε στη φιλοσοφία “quick- and-dirty”, π.χ. δεν φτιάχνουμε τεκμηρίωση. Μπορεί ωστόσο οι απαιτήσεις να αλλάξουν.
Πλεονεκτήματα Ίσως η καλύτερη μέθοδος για να προσδιοριστούν οι απαιτήσεις των χρηστών. Μειώνει την επικινδυνότητα. Βοηθά στην καλύτερη συνεργασία αναλυτών και χρηστών.
Παράδειγμα Ηλεκτρονικό Σύστημα Ψηφοφορίας μέσω Διαδικτύου (Internet-based Electronic Voting System) – Θέμα εξετάσεων Σεπτέμβριος 2001
Σύνοψη Prototyping Γιατί; Πότε; Πώς; Ερωτήματα …