Εφαρµογές Πληροφοριακών Συστηµάτων Μέθοδοι Ανάπτυξης Συστηµάτων P. Loucopoulos Gr. Chondrocoukis pl@co.umist.ac.uk gregory@unipi unipi.gr
Σκοπός της παρουσίασης Να παρουσιάσει την ανάγκη για ύπαρξη µιας συστηµατικής µεθοδολογίας για την ανάπτυξη συστηµάτων Να παρουσιάσει θέµατα διαδικασίας, προϊόντος και συµµετεχόντων Να συζητήσει εναλλακτικούς τρόπους εργασίας 2
Πρόοδος της παρουσίασης Μεθοδολογίες για την ανάπτυξη συστηµάτων Απαιτήσεις συστηµάτων και η σηµασία τους Μέθοδοι για την ανάπτυξη απαιτήσεων Μεθοδολογικά θέµατα 3
Μέθοδοι ανάπτυξης συστηµάτων ύο βασικές µέθοδοι προµήθεια έτοιµου συστήµατος ανάπτυξη νέου συστήµατος Και οι δύο µέθοδοι απαιτούν την ύπαρξη συµβολαίου µεταξύ πελάτη και προµηθευτή Aπαιτήσεις του συστήµατος 4
Χαρακτηριστικό µοντέλο προµήθειας Procurement Office Επιτροπή Λήψης Αποφάσεων Εταιρία Υπεργολάβος Χρήστες ιεύθυνση Ανάπτυξη Project Υπεργολάβος Υπεργολάβος ιαχείρηση Συστήµατος Υπεργολάβος 5
Πρόοδος της παρουσίασης Μεθοδολογίες για την ανάπτυξη συστηµάτων Απαιτήσεις συστηµάτων και η σηµασία τους Μέθοδοι για την ανάπτυξη απαιτήσεων Μεθοδολογικά θέµατα 6
Πρόβληµα και λύση Πελάτης Παροχός Συλλογή Απαιτήσεων και Ανάλυση Απαιτήσεις Σχεδιασµός Συστήµατος Μοντέλο Μοντέλο 7
Ανάλυση των επιδράσεων των απαιτήσεων Υπάρχουν πολλά στοιχεία που συντείνουν στο συµπέρασµα ότι η συστηµατική συλλογή απαιτήσεων είναι πολυ σηµαντική. Επιδράσεις στην αποτελεσµατικότητα του συστήµατος από τεχνικής απόψεως στην προσπάθεια που απαιτείται για την ανάπτυξη και τη συντήρηση του συστήµατος στην αποδοχή του συστήµατος από τον οργανισµό ύο σηµαντικές εµπειρικές µελέτες Curtis et al (1988) 9 µεγάλοι οργανισµοί εµπλεκόµενοι σε 17 projects Lubars et al (1993) 10 µεγάλοι οργανισµοί εµπλεκόµενοι σε 23 projects 8
Παρατηρήσεις από την πρακτική εφαρµογή $4.5M - 17 Projects από Παραγωγή Τηλεπικοινωνίες Προσέγγιση Επιχειρηµατικός Χώρος Εταιρία Project Consumer electronics Αεροναυπηγική Συµπεράσµατα The thin spread of application domain knowledge Αλληλοσυγκρουόµενες απαιτήσεις Οµάδα Ατοµο υναµική τουαντιληπτικότητα Οργανισµού και Κίντητρα Χάσµατα στην επικοινωνία και τη συνεργασία υνατότητες των Οµάδων 9
Το πρόβληµα της παραγωγής λογισµικού Μελέτη 9 Μεγάλων Projects Ανάπτυξης Λογισµικού Συνολικό ποσό 6.8 Εκατοµµύρια US$ 47% $ 3.2 M Τέλειωσαν αλλά το software δε χρησιµοποιήθηκε ποτέ 29% $ 2.0 M εν ολοκληρώθηκαν ποτέ 19% $ 1.3 M Εγκαταλείφθηκαν 3% $ 0.2 M Χρησιµοποιήθηκαν µετά από µετατροπή 2% $ 0.1 M Χρησιµοποιήθηκαν όπως είχαν 10
Πηγές σφαλµάτων στη συντήρηση Σχεδιασµός (27%) Κώδικας (7%) Λοιποί Λόγοι (10%) Απαιτήσεις (56%) 11
Απαιτούµενη προσπάθεια για τη διόρθωση σφαλµάτων Σχεδιασµός (13%) Κώδικας (1%) Λοιπά (4%) Απαιτήσεις (82%) 12
Αλληλοσυγκρουόµενες απαιτήσεις Παράγοντες της Αγοράς Πελάτες Ανάγκες πελάτη υναµικότητα αναγκών Παράγοντες της Εταιρίας Εγκρίσεις Marketing Οικονοµικά, Νοµικά Τεχνολογία Αποτελέσµατα Ερευνας Τεχνολογία Πρόοδος Προϊόντα Ανταγωνιστών Κανονισµοί Πρότυπα Νοµοθεσία Κείµενο Απαιτήσεων Αλλοι Παράγοντες Προγραµµατισµός Creeping elegance, hidden work 13
Εξέλιξη των απαιτήσεων Προβληµατισµοί - ζητήµατα από το χώρο της εταιρίας Μοντελοποίηση της πληροφορίας και των διαδικασιών της επιχείρησης Ανάπτυξη απαιτήσεων Αξιολόγηση απαιτήσεων Σχέδιο ανάπτυξης 14
Υποστήριξη για τη διαδικασία της ανάπτυξης Μέθοδος Γλώσσα ιαχείριση Process Αυτοµατοποίηση (Εργαλεία) Ατοµα 15
Πρόοδος της παρουσίασης Μεθοδολογίες για την ανάπτυξη συστηµάτων Απαιτήσεις συστηµάτων και η σηµασία τους Μέθοδοι για την ανάπτυξη απαιτήσεων Μεθοδολογικά θέµατα 16
Ζητήµατα στη µεθοδολογία της ανάπτυξης Η µέθοδος εµπεριέχει: ένα τρόπο σκέψης ένα τρόπο µοντελοποίησης ένα τρόπο εργασίας Απαιτούνται εργαλεία για να βοηθήσουν: στη διαχείριση της γνώσης στην οπτικοποίηση της γνώσης στην επαναχρησιµοποιήση της γνώσης στην διάθεση της γνώσης 17
Τί καλύπτουν οι υπάρχουσες µέθοδοι Στάδιο Μέθοδος Structured Corporate Data Modelling Real World Event Modelling Object Oriented Business Analysis Requirements Expression 'Soft' Ορισµός του Προβλήµατος X X X Ανάλυση Σχεδιασµός X X X X X X X X X X X X X Υλοποίηση X 18
Αξιολόγηση των µεθόδων ανάπτυξης FUNCTIONALITY SYSTEM CAPABILITIES lateness t 0 t 1 t 2 t 3 t 4 t 5 longevity TIME The The Davis Davis and and Bersoff Bersoff Metrics Metrics 19
ιάφορα µοντέλα για τη διαδικασία της Τ.Λ. Rapid Prototyping Incremental Development t t t t 0 12 3 t t t t 0 12 3 Reusable Software Automated Software Synthesis t0 t12 t t3 t0 t12 t t3 Τ.Λ. = Τεχνολογία Λογισµικού 20
Οι βασικές διαδικασίες στην ανάπτυξη λογισµικού ιερεύνηση Ποιο είναι το πρόβληµα ; Ποιο είναι το πλαίσιο του προβλήµατος ; Προσδιορισµός Πώς µπορεί να περιγραφεί το πρόβληµα ; Αξιολόγηση Πώς µπορεί να είναι σίγουροι οι ενδιαφερόµενοι ότι συµφωνούν επί του συγκεκριµένου προβλήνµατος ; Πώς µπορούµε να βεβαιωθούµε ότι η προτεινόµενη λύση αφορά στο σωστό πρόβληµα ; 21
ιαστάσεις της ανάπτυξης απαιτήσεων Fully Understood Κατανόηση Fuzzy Επιθυµητό Αποτέλεσµα Αναπαράσταση Integrated View Individual View Informal Formal Κοινωνική ιάσταση 22
Τα προϊόντα της Τ.Λ. Υλοποίηση Λεπτοµερές Σχέδιο των Λειτουργιών Σχέδιο της Αρχιτεκτονικής Περιγραφή του Συστήµατος Περιγραφές Απαιτήσεων 23
Απαιτήσεις για το σύστηµα Απαιτήσεις σε επιχειρησιακό επίπεδο Μοντελοποίηση των στόχων, διαδικασιών, ρόλων και πόρων της επιχείρησης Απαιτήσεις σε λειτουργικό επίπεδο (functional) Μοντελοποίηση της συµπεριφοράς του συστήµατος Απαιτήσεις σε µη λειτουργικό επίπεδο (non- functional) Μοντελοποίηση των περιορισµών στους οποίους πρέπει να υπακούει το σύστηµα 24
Η περιγραφή των απαιτήσεων Επιχειρησιακές Απαιτήσεις Λειτουργικές Απαιτήσεις Περιγραφή Απαιτήσεων Μη Λειτουργικές Απαιτήσεις 25
Το σύστηµα ελέγχου εναέριας κυκλοφορίας - Στόχοι για το πληροφοριακό σύστηµα (λειτουργικές απαιτήσεις) GOAL Visualise air traffic scenarios motivates IS-GOAL The system should display scenarios OM motivates IS-FR Display tracks IS-FR Display maps and airways IS-FR Display alerts and conflicts IS-FR Display tables IS-FR Display plots motivates motivates IS-FR Display position and speed IS-FR Display track history IS-FR Display correlated flight plan and supplementary info IS-FR Display altitude tendency motivates IS-FR Display primary data detections IS-FR Display meteo data ftom radar IS-FR Display correlated flight plans IS-FR Display uncorrelated flight plans IS-FR Display flight plans corresponding to lost tracks IS-FR Display ambiguous flight plans 26
Το σύστηµα ελέγχου εναέριας κυκλοφορίας - Στόχοι για το πληροφοριακό σύστηµα (µη λειτουργικές απαιτήσεις) GOAL Visualise air traffic scenarios motivates IS-GOAL The system should perform in real-time OM motivates IS-NFR Display radar data in real-time IS-NFR The display must accommodate all necessary data for the scenario motivates motivates IS-NFR Aircraft position should be displayed in less than 3/16 sec of the radar sweep period IS-NFR Display 100 tracks IS-NFR Display 100 meteo plots IS-NFR Display 200 vectors IS-NFR Display 500 table symbols 27
Κατάταξη µη λειτουργικών απαιτήσεων Μη Λειτουργικές Απαιτήσεις Απαιτήσεις για την ιαδικασία Απαιτήσεις για το Προϊόν Εξωτερικές Απαιτήσεις Απαιτήσεις για την Παράδοση Απαιτήσεις για την Υλοποίηση Απαιτήσεις ως προς την ποιότητα Απαιτήσεις για την Χρηστικότητα Απαιτήσεις για την Αξιοπιστία Απαιτήσεις για την Μεταφερσιµότητα Απαιτήσεις για την Αποτελεσµατικότητα Νοµικοί Περιορισµοί Οικονοµικοί Περιορισµοί Απαιτήσεις ως προς τον Συντονισµό µε άλλα συστήµατα Απαιτήσεις για την Απόδοση Απαιτήσεις για τη Μέγιστη υνατότητα 28
Συµµετέχοντες στην ανάπτυξη απαιτήσεων Οι πελάτες Αγοραστές, πωλητές, οικονοµικοί σύµβουλοι Οι Χρήστες Αγοραστές, καθηµερινοί χρήστες, ευκαιριακοί χρήστες Η ιαδικασία της Ανάπτυξης Απαιτήσεων Οι µηχανικοί ανάπτυξης συστηµάτων Αναλυτές και προγραµµατιστές Οι συντονιστές Εκπαιδέυση, εγκατάσταση, συντήρηση 29
Συµµετέχοντες στην ανάπτυξη απαιτήσεων Συµµετέχοντες σε επίπεδο επιχείρησης Οποιοσδήποτε επιρρεάσει ή επιρρεαστεί από την επίτευξη των στόχων της επιχείρησης Εξωτερικοί συµµετέχοντες Φορείς µε νοµικά και περιβαλλοντικά ενδιαφέροντα Συµµετέχοντες σε επίπεδο συστήµατος Οποιοσδήποτε σχετίζεται µε τη λειτουργικότητα του συστήµατος Συµµετέχοντες σε επίπεδο ανάπτυξης Οποιοσδήποτε ενδιαφέρεται για την ανάπτυξη, την εγκατάσταση και τη συντήρηση του συστήµατος 30
Προσδιορισµός των αναγκαίων συµµετεχόντων Ρόλος Πελάτης Χρήστης Σχεδιαστής Νοµοθέτης Άµεση Σχέση µε το προϊόν Εµµεση Χαρακτηρηστικά Σκοπός και κίνητρο Απόψεις Πόροι Ειδικές γνώσεις εσµεύσεις Σχέσεις µε άλλους συµµετάσχοντες 31
Μια γενικευµένη ιεραρχία συµµετεχόντων Πελάτης Χρήστης Αγοραστής Αναλυτής Επιχειρήσεων ιευθυντής Marketing ιευθυντης Συντονισµού Χρήστης ιαχειριστής Πρωτεύων ευτερεύων Τριτεύων Συµµετάσχων Σχεδιαστής Νοµοθέτης Εκπαιδευτής Χρηστών Συντονιστής Προγράµµατος Ειδικός επί Τεχνικών Θεµάτων Προγραµµατιστής Για τους κανονισµούς Συντηρητής της εταιρίας Εσωτερικός Εξωτερικός Πολιτεία ιε9νείς οργανισµο Κοινή γνώµη 32
Πρόοδος της παρουσίασης Μεθοδολογίες για την ανάπτυξη συστηµάτων Απαιτήσεις συστηµάτων και η σηµασία τους Μέθοδοι για την ανάπτυξη απαιτήσεων Μεθοδολογικά θέµατα 33
ιαστάσεις στην ανάπτυξη Προϊόν ιαδικασία Αλλαγής ιαβούλευση (Deliberation) 34
Τρόπος σκέψης Ζητήµατα Προβλήµατα Κίνδυνοι Ευκαιρίες Περιορισµοί Στόχοι Οράµατα Σχέδια εναλλακτικών προδιαγραφών Εναλλακτικές προδιαγραφές 35
Τρόπος µοντελοποίησης Παρούσα ΠαρούσαΚατάσταση As-Is As-Is Μοντέλο της Επιχείρησης Ανάγκη Ανάγκηγια για Αλλαγή Αλλαγή Νέοι Στόχοι και Απαιτήσεις Μελλοντική ΜελλοντικήΚατάσταση To-Be To-Be Μοντέλο της Επιχείρησης Ανάπτυξη Ανάπτυξη Μελέτη Μελέτη Μοντέλου Μοντέλου της της Εναλλακτικών Εναλλακτικών Επιχείρησης Επιχείρησης Υλοποίηση Υλοποίηση Μοντέλου Μοντέλου Εναλλακτικά Σενάρια 36
Μοντελοποίηση της παρούσας κατάστασης Ποια είναι η λογική πίσω από τους στόχους και τον τρόπο λειτουργίας της επιχείρησης ; Τί προσπαθεί Πώς να επιτύχει η επιτυγχάνει η εταιρία αυτή τη εταιρία τους στιγµή ; στόχους της ; 37
Μοντελοποίηση της µελλοντικής κατάστασης Ποια είναι η λογική πίσω από τους στόχους και τον τρόπο λειτουργίας της επιχείρησης ; Ποιοι είναι οι νέοι Τί νέες δοµές και συστήµατα στόχοι και πώς θα βοηθήσουν στην επίτευξη σχεδιάζουν να τους των νέων στόχων της υλοποιήσουν ; επιχείρησης ; 38
Top-down προσέγγιση Ζητήµατα Ανάπτυξη λογικής πίσω από την ανάλυση των επιχειρησιακών στόχων και εναλλακτικών µοντέλων (2) (3) Σκοπός (1) Στρατηγική Ανάπτυξη αφηρηµένων επιχειρησιακών στόχων και ανάπτυξη των σχέσεων αιτίου - αιτιατού µεταξύ τους Προσδιορισµοσ του τρόπου κατά τον οποίο οι λειτουργικοί στόχοι υλοποιούνται µέσα σε επιχειρησιακές διαδικασίες 39
Bottom-up προσέγγιση Ανάπτυξη λογικής σχετικά µε την παρούσα κατάσταση και διερεύνηση για πιθανούς νέους στόχους Ζητήµατα Παρατήρηση της παρούσας κατάστασης και µοντελοποίηση (2) (1) Σκοπός (3) Στρατηγική Ανακάλυψη εναλλακτικών στο σχεδιασµό και στόχων πίσω από αυτές τις εναλλακτικές 40
Μικτή προσέγγιση Επιχειρησιακοί Στόχοι Bottom Up Επιχειρησιακές ιαδικασίες Υπάρχουσες Επιχειρησιακές ιαδικασίες Ευθυγράµµιση Βέλτιστες Επιχειρησιακές ιαδικασίες Λειτουργικότητα Υπαρχουσών Εφαρµογών Περιεχόµενα Βάσεων εδοµένων Top Down Υπάρχοντα Συστήµατα 41
Συµπέρασµα... Η ανάπτυξη πληροφοριακών συστηµάτων απαιτεί συστηµατική µέθοδο Μια σηµαντική δραστηριότητα που εναρµονίζει τις προτεινόµενες λύσεις µε τους πραγµατικούς προβληµατισµούς τους επιχειρησιακού κόσµου είναι η τεχνολογία ανάπτυξης απαιτήσεων πώς εντοπίζονται οι απαιτήσεις ποιο είναι το τελικό προϊόν και ποιος εµπλέκεται στη διαδικασία 42