Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Σχετικά έγγραφα
Μεθοδολογίες Παραγωγής Λογισµικού

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Ανάλυση Συστηµάτων και Τεχνολογία Λογισµικού

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΜΕΘΟΔΟΛΟΓΙΕΣ ΑΝΑΠΤΥΞΗΣ ΣΥΣΤΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Περιεχόμενα. Κεφάλαιο 2 Κοινωνικοτεχνικά συστήματα 49

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ

Σχεδιασµός Λογισµικού

Παρουσίαση: Ανθρωποκεντρικός σχεδιασμός πολυμέσων ΜΙΚΡΟΠΟΥΛΟΥ ΕΥΓΕΝΙΑ ΓΤΠ61

Πληροφορική 2. Τεχνολογία Λογισμικού

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

Εισαγωγή στην τεχνολογία λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 1

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Περιεχόμενο του μαθήματος

Τεχνολογία λογισμικού στην πράξη

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στη Ενοποιηµένη Προσέγγιση Unified Process (UP) ρ. Πάνος Φιτσιλής

ΣΧΕΔΙΑΣΗ & ΑΝΑΠΤΥΞΗ ΛΟΓΙΣΜΙΚΟΥ

Τεχνολογία Λογισμικού

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Διαχείριση Πληροφοριακών Συστημάτων

Ανάλυση Περιπτώσεων Χρήσης

UML: Unified modelling language

Σημειώσεις στο μάθημα «Στοιχεία Προγραμματισμού σε Γραφικό Περιβάλλον»

08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

Εισαγωγή στην Τεχνολογία Λογισµικού

Α.Ε.Ι. Πειραιά Τ.Τ. Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Διαχείριση Έργων Αυτοματισμού και Πληροφορικής

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ Π ΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ Π ΕΡΙΒΑΛΛΟΝ

Rational Unified Process:

Δομή και Στόχοι του Μαθήματος - Εισαγωγή

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού

Ανθρωποκεντρικός σχεδιασμός πολυμέσων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

Α. Ερωτήσεις Ανάπτυξης

Εισαγωγή στη γλώσσα UML

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης. Use Cases and Use Case Diagrams

Ελληνικό Ανοικτό Πανεπιστήµιο. Η ιαχείριση Απαιτήσεων στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Κωδικός: <Κωδ.Αρ.Εγγράφου/ΚωδικόΌνομαΈργου/Αρ. Έκδοσης> <Company Name> <Όνομα - Κωδικό Όνομα Έργου> Έγγραφο Περιγραφής Σχεδίου Λογισμικού

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ & ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ»

Ελληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής

Αρχιτεκτονική Λογισμικού

Διαδικασίες της τεχνολογίας απαιτήσεων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 7

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Αρχές Προγραμματισμού Υπολογιστών

Εισαγωγή στην Τεχνολογία Λογισμικού

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ

Στρατηγικό Σχεδιασµό Πληροφοριακών Συστηµάτων

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΠΛΗΡΟΦΟΡΙΚΗ, Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ

Εισαγωγή στη Σχεδίαση Λογισμικού

ΑΠΟΤΙΜΗΣΗ ΤΟΥ ΕΡΓΟΥ ΤΟΥ ΤΜΗΜΑΤΟΣ ΣΤΟΧΟΙ ΓΙΑ ΤΗΝ ΠΕΡΙΟΔΟ ΠΑΡΑΡΤΗΜΑ ΧΙ

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Σχεδιασµός βασισµένος σε συνιστώσες

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Τεχνολογία Πολιτισμικού Λογισμικού

Σκοπός του μαθήματος

Αναφορά εργασιών για το τρίμηνο Σεπτέμβριος Νοέμβριος 2012

Οδηγίες και αρχές Διπλωµατικών Εργασιών (Διατριβών) του Μεταπτυχιακού Προγράµµατος Σπουδών στη Βιοστατιστική

ΣΕΧΝΟΛΟΓΙΑ ΛΟΓΙΜΙΚΟΤ ΔΕΤΣΕΡΗ ΔΙΑΛΕΞΗ ΔΙΑΔΙΚΑΙΑ ΠΑΡΑΓΩΓΗ ΛΟΓΙΜΙΚΟΤ

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού

περιεχόμενα παρουσίασης

Περιεχόμενο του μαθήματος

Μοντελοποίηση Πεδίου

Ημερομηνία Παράδοσης: 4/7/2013

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

ΕΚΠΟΝΗΣΗ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ

Θεματική Ενότητα: Εκπαιδευτικό Λογισμικό. Αποθετήρια & Ανοικτοί Εκπαιδευτικοί Πόροι Ανάλυση εφαρμογής

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Σχεδίαση Λογισμικού. Σημείωση

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

Transcript:

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης Μάρα Νικολαϊδου

Μοντελοποίηση Συστήµατος

Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης είναι µια τεχνική εξαγωγής απαιτήσεων βάσει σεναρίων σε γλώσσα UML που προσδιορίζει τους συµµετέχοντες σε µια αλληλεπίδραση και περιγράφει την ίδια την αλληλεπίδραση. Ένα σύνολο περιπτώσεων χρήσης πρέπει να περιγράφει όλες τις πιθανές αλληλεπιδράσεις µε το σύστηµα. Για την προσθήκη λεπτοµερειών στις περιπτώσεις χρήσης µπορούν να χρησιµοποιηθούν διαγράµµατα ακολουθίας τα οποία εµφανίζουν την ακολουθία της επεξεργασίας γεγονότων στο σύστηµα.

Οντότητες περιπτώσεων χρήσης

Μοντελοποίηση συστήµατος Η µοντελοποίηση βοηθά τον αναλυτή να κατανοήσει τις λειτουργικές δυνατότητες του συστήµατος, ενώ τα µοντέλα χρησιµοποιούνται και στην επικοινωνία µε τους πελάτες. Κάθε µοντέλο αναπαριστά το σύστηµα από διαφορετικές απόψεις Μια εξωτερική άποψη, όπου µοντελοποιείται το θεµατικό πλαίσιο ή το περιβάλλον του συστήµατος Μια άποψη συµπεριφοράς, όπου µοντελοποιείται η συµπεριφορά του συστήµατος Μια άποψη δοµής, όπου µοντελοποιείται η αρχιτεκτονική του συστήµατος ή η δοµή των δεδοµένων

Μοντέλα συµπεριφοράς Τα µοντέλα συµπεριφοράς χρησιµοποιούνται για την περιγραφή της συνολικής συµπεριφοράς του συστήµατος. Εξετάζουµε δύο τύπους µοντέλων συµπεριφοράς: Τα µοντέλα ροής δεδοµένων, τα οποία δείχνουν τον τρόπο επεξεργασίας των δεδοµένων καθώς αυτά διακινούνται στο σύστηµα Τα µοντέλα µηχανών καταστάσεων, τα οποία µοντελοποιούν τον τρόπο αντίδρασης του συστήµατος σε συµβάντα. Καθένα τους δείχνει διαφορετικές απόψεις, εποµένως και τα δύο είναι απαραίτητα στην περιγραφή της συµπεριφοράς του συστήµατος.

Παράδειγµα διαγράµµατος ακολουθίας για ανάληψη από ΑΤΜ

Μοντέλα αντικειµένων Τα µοντέλα αντικειµένων περιγράφουν το σύστηµα µε βάση τις κλάσεις αντικειµένων και τις συσχετίσεις των κλάσεων. Κλάση αντικειµένων ονοµάζεται µια αφαιρετική αναπαράσταση ενός συνόλου αντικειµένων µε κοινά γνωρίσµατα και των υπηρεσιών (λειτουργιών) που παρέχει κάθε αντικείµενο. Μπορούν να παραχθούν διάφορα µοντέλα αντικειµένων Μοντέλα κληρονοµικότητας Μοντέλα συνάθροισης Διαδραστικά µοντέλα

Παράδειγµα: ιεραρχία κλάσεων βιβλιοθήκης

Μελέτη Περίπτωσης

Βασική Περιγραφή Η βιβλιοθήκη µας αποφάσισε να προσφέρει µία νέα υπηρεσία αυτοαπόθεσης. Η υπηρεσία αυτή επιτρέπει στους χρήστες της Βιβλιοθήκης θα καταθέτουν ηλεκτρονικά στο Ιδρυµατικό Αποθετήριο ερευνητικό και εκπαιδευτικό υλικό που παράγουν στο πλαίσιο της δραστηριότητας τους στο Χαροκόπειο Πανεπιστήµιο. Οι φοιτητές, όλων των κατηγοριών, είναι υποχρεωµένοι να καταθέτουν την πτυχιακή τους εργασία ή τη διατριβή τους για να µπορούν να πάρουν πτυχίο. Τα µέλη ΔΕΠ και οι ερευνητές τις δηµοσιεύσεις που παράγουν. Μπορούν επίσης να καταθέτουν εκπαιδευτικό υλικό και σηµείωσεις. Ειδικά για τις πτυχιακές εργασίες πριν ολοκληρωθεί η διαδικασία θα πρέπει η εργασία και τα στοιχεία που την περιγράφουν να ελεγχθούν από το προσωπικό της Βιβλιοθήκης.

Πρόσθετα Στοιχεία Το σύστηµα µπορούν να χρησιµοποιήσουν χρήστες που είναι καταγεγραµµένοι στην Υπηρεσία Καταλόγου (LDAP). Ανάλογα µε την κατηγορία χρήστη, χρησιµοποιούν διαφορετικές υπηρεσίες. Ειδική περίπτωση: Υπάρχει βιβλιοθηκονόµος που είναι και µεταπτυχιακόςς φοιτητής

Πρόσθετα Στοιχεία Ειδικά για τις πτυχιακές εργασίες πριν ολοκληρωθεί η διαδικασία θα πρέπει η εργασία και τα στοιχεία που την περιγράφουν να ελεγχθούν από το προσωπικό της Βιβλιοθήκης. Σε περίπτωση που ανακαλύφθουν σφάλµατα ή παραλήψεις, η εργασία δεν γίνεται αποδεκτή, αλλά επιστρέφεται κατάλληλο µήνυµα στο φοιτητής για να κάνει τις απαραίτητες διορθώσεις και να επανυποβάλει την εργασία. Η εργασία καταχωρείται στο αποθετήριο µόνο µετά την έγκριση του βιβλιοθηκονόµου. Σε οποιαδήποτε περίπτωση ενηµερώνεται ο φοιτητής. Η Γραµµατεία του Τµήµατος του ενηµερώνεται µόνο εφόσον η διαδιασία ολοκληρωθεί και πραγµατοποιηθεί η καταχώρηση στο Αποθετήριο.

Μη λειτουργικές απαιτήσεις Οι υπηρεσίες πρέπει να είναι διαθέσιµες επί εικοσιτετραώρου βάσεως. Η διαδικασία αυτοαπόθεσης πρέπει να ολοκληρώνεται σε λιγότερο από δύο λεπτά. Οι εργασίες θα πρέπει να αποθηκεύονται στο Αποθετήριο σε λιγότερο από 30 δευτερόλεπτα, εκτός αν το αρχείο είναι µεγαλύτερο από 5 GB. Σε περίπτωση που συµµετέχει ο βιβλιοθηκονόµος στην διαδικασία απόθεσης θα πρέπει να απαντήσει στο φοιτητή για την αποδοχή ή µη της εργασίας του σε 1 µέρα. Η διαδικασία αυτοαπόθεσης πρέπει να είναι εύχρηστη και να µπορεί να πραγµατοποιηθεί και από κινητό τηλέφωνο.

Διαχείριση Δεδοµένων Οι διαφορετικές κατηγορίες υλικού αποθηκεύονται σε διαφορετικές συλλογές, ενώ κάθε συλλογή χωρίζεται σε υποσυλλογές που αντιστοιχούν σε διαφορετικά Τµήµατα. Για κάθε εργασία αποθηκεύονται: τίτλος, συγγραφέας/ συγγραφείς, περίληψη, µέχρι 5 λέξεις κλειδιά. Για το εκπαιδευτικό υλικό το ίδιο Για τις δηµοσιεύσεις φυλάσσεται επίσης το συνέδριο ή το περιοδικό που δηµοσιεύτηκαν, η περίοδος δηµοσίευσης και το ποσοστό αποδοχής εργασιών σε περίπτωση συνεδρίου ή ο δείκτης απήχησης για τα περιοδικά. Για τις εργασίες φοιτητών φυλάσσεται επίσης και ο επιβλέπων.

Βήµα 1 ο : Ανάλυση 1 ου Επιπέδου

Καταγραφή 1 ου επιπέδου Περιγραφή βασικής λειτουργικότητας και αναγνώριση χρηστών. Αναγνώριση εξωτερικών συστηµάτων Μοντέλο Συστήµατος UML Use Case

Βασική Περιγραφή Η βιβλιοθήκη µας αποφάσισε να προσφέρει µία νέα υπηρεσία αυτοαπόθεσης. Η υπηρεσία αυτή επιτρέπει στους χρήστες της Βιβλιοθήκης θα καταθέτουν ηλεκτρονικά στο Ιδρυµατικό Αποθετήριο ερευνητικό και εκπαιδευτικό υλικό που παράγουν στο πλαίσιο της δραστηριότητας τους στο Χαροκόπειο Πανεπιστήµιο. Οι φοιτητές, όλων των κατηγοριών, είναι υποχρεωµένοι να καταθέτουν την πτυχιακή τους εργασία ή τη διατριβή τους για να µπορούν να πάρουν πτυχίο. Τα µέλη ΔΕΠ και οι ερευνητές τις δηµοσιεύσεις που παράγουν. Μπορούν επίσης να καταθέτουν εκπαιδευτικό υλικό και σηµείωσεις. Ειδικά για τις πτυχιακές εργασίες πριν ολοκληρωθεί η διαδικασία θα πρέπει η εργασία και τα στοιχεία που την περιγράφουν να ελεγχθούν από το προσωπικό της Βιβλιοθήκης.

Βήµα 2 ο : Περιγραφή Επικοινωνίας Συστηµάτων

Επικοινωνία Συστηµάτων Περιγραφή των µηνυµάτων που ανταλλάσουν βασικά συστατικά στοιχεία του Συστήµατος, οι χρήστες και τα εξωτερικά συστήµατα. Συµβολή έχει όταν υπάρχει µεγάλη πολυπλοκότητα. Στόχος: Καταγραφή της πληροφορίας που ανταλλάσεται Μοντέλο Συστήµατος UML Sequence Diagrams για τα βασικά use cases

Βήµα 3 ο : Περιγραφή Δεδοµένων

Σχεδιασµός Δοµής Δεδοµένων Περιγραφή των βασικών οντοτήτων για τις οποίες πρέπει να αποθηκεύεται πληροφορία και τα πεδία που τις περιγράφουν Αντικειµενοστραφής θεώρηση (κληρονοµικότητα) Μοντέλο Συστήµατος UML Class Diagram

Διαχείριση Δεδοµένων Οι διαφορετικές κατηγορίες υλικού αποθηκεύονται σε διαφορετικές συλλογές, ενώ κάθε συλλογή χωρίζεται σε υποσυλλογές που αντιστοιχούν σε διαφορετικά Τµήµατα. Για κάθε εργασία αποθηκεύονται: τίτλος, συγγραφέας/ συγγραφείς, περίληψη, µέχρι 5 λέξεις κλειδιά. Για το εκπαιδευτικό υλικό το ίδιο Για τις δηµοσιεύσεις φυλάσσεται επίσης το συνέδριο ή το περιοδικό που δηµοσιεύτηκαν, η περίοδος δηµοσίευσης και το ποσοστό αποδοχής εργασιών σε περίπτωση συνεδρίου ή ο δείκτης απήχησης για τα περιοδικά. Για τις εργασίες φοιτητών φυλάσσεται επίσης και ο επιβλέπων.

Μεθοδολογίες Παραγωγής Λογισµικού

Βασικά Γενικά Μοντέλα Μοντέλο καταρράκτη (waterfall model) Ξεχωριστές φάσεις καθορισµού απαιτήσεων και ανάπτυξης, επικύρωσης, εξέλιξης Εξελικτική ανάπτυξη (evolutionary development) Ανάµιξη των δραστηριοτήτων της εξαγωγής προδιαγραφών, της ανάπτυξης, και της επικύρωσης, γρήγορη ανάπτυξη prototype και ανάδραση από πελάτη Τεχνολογία λογισµικού βάσει συστατικών στοιχείων (component-based) Το σύστηµα συγκροτείται στο µεγαλύτερο µέρος του από τον συνδυασµό υπαρχόντων συστατικών στοιχείων Παραλλαγές των ανωτέρω Ορθολογική Ενοποιηµένη Διαδικασία (Rational Unified Process)

Μοντέλο Καταρράκτη

Φάσεις Μοντέλου Καταρράκτη Ανάλυση και καθορισµός απαιτήσεων µέσω συζητήσεων µε τους χρήστες: λειτουργικότητα, περιορισµοί στόχοι -> προδιαγραφές Σχεδιασµός συστήµατος και λογισµικού: υλικό και λογισµικό, καθορισµός αρχιτεκτονικής, components του συστήµατος, σχέσεις µεταξύ τους Υλοποίηση και δοκιµές υποµονάδων: συγγραφή κώδικα και επαλήθευση Ενοποίηση και δοκιµές συστήµατος: τα components ολοκληρώνονται µεταξύ τους και δοκιµάζονται ως ενιαίο σύστηµα, παράδοση Λειτουργία και συντήρηση: διόρθωση σφαλµάτων, βελτιστοποίηση υπηρεσιών Αποτέλεσµα κάθε φάσης: ένα ή περισσότερα εγκεκριµένα έγγραφα

Προβλήµατα Μοντέλου Καταρράκτη Το βασικό µειονέκτηµα του µοντέλου καταρράκτη είναι η δυσκολία στην πραγµατοποίηση τροποποιήσεων αφού η διαδικασία έχει ξεκινήσει. Πρέπει να ολοκληρωθεί µία φάση για να προχωρήσει η διαδικασία στην επόµενη φάση. Ο άκαµπτος διαµερισµός του έργου σε ξεχωριστά στάδια δυσχεραίνει την ανταπόκριση σε αλλαγές των απαιτήσεων του πελάτη. Εποµένως, το µοντέλο αυτό πρέπει να χρησιµοποιείται µόνο όταν οι απαιτήσεις είναι καλά κατανοητές και αναµένονται µόνο περιορισµένες αλλαγές κατά την ανάπτυξη του συστήµατος. λίγα επιχειρηµατικά συστήµατα έχουν σταθερές απαιτήσεις. Αν επιχειρηθούν αλλαγές κατά την πορεία, συνήθως προκύπτει κακή οργάνωση Συνήθως οδηγεί σε αυξηµένο κόστος

Εξελικτική Ανάπτυξη

Τύποι Εξελικτικής Ανάπτυξης Διερευνητική ανάπτυξη Η διαδικασία έχει στόχο τη συνεργασία µε τον πελάτη προκειµένου να αναπτυχθεί το τελικό σύστηµα από το αρχικό περίγραµµα προδιαγραφών. Ξεκινά από τις απαιτήσεις που είναι καλά κατανοητές και εξελίσσεται µε την προσθήκη νέων δυνατοτήτων που προτείνονται από τον πελάτη. Δηµιουργία αναλώσιµων πρωτοτύπων Ο στόχος είναι η κατανόηση των απαιτήσεων του συστήµατος. Ξεκινά από τις απαιτήσεις που δεν είναι καλά κατανοητές για να διασαφηνιστεί τι πραγµατικά χρειάζεται.

Προβλήµατα Εξελικτικής Ανάπτυξης Έλλειψη διαφάνειας της διαδικασίας δεν είναι αποδοτική η παραγωγή τεκµηρίωσης για κάθε εκδοχή του συστήµατος δεν µπορεί να παρακολουθηθεί η πρόοδος Τα συστήµατα συχνά έχουν κακή οργάνωση και δοµή Μπορεί να απαιτούνται ειδικές ικανότητες για παράδειγµα, ικανότητες σε συγκεκριµένες τεχνολογίες για τη γρήγορη παραγωγή πρωτοτύπων ->ADF

Εφαρµογή Εξελικτικής Ανάπτυξης Σε διαδραστικά συστήµατα µικρού ή µεσαίου µεγέθους (µέχρι 500.000 γραµµές κώδικα) Για συστήµατα µικρής διάρκειας ζωής Σε τµήµατα µεγάλων συστηµάτων (για παράδειγµα, για τη διασύνδεση χρήστη)

Τεχνολογία Λογισµικού Βάσει Συστατικών Στοιχείων

Τεχνολογία Λογισµικού Βάσει Συστατικών Στοιχείων Βασίζεται στην αρχή της επαναχρησιµοποίησης, η οποία προβλέπει την ενσωµάτωση συστηµάτων από υπάρχοντα συστατικά στοιχεία ή από εµπορικά συστήµατα. Στάδια της διαδικασίας Ανάλυση συστατικών στοιχείων Τροποποίηση απαιτήσεων Σχεδιασµός συστήµατος µε επαναχρησιµοποίηση Ανάπτυξη και ενοποίηση Η συγκεκριµένη προσέγγιση χρησιµοποιείται ολοένα και περισσότερο λόγω της εµφάνισης προτύπων συστατικών στοιχείων. Βοήθησε η διάδοση του ΕΛΛΑΚ

Τεχνολογία Λογισµικού Βάσει Συστατικών Στοιχείων Πλεονεκτήµατα Απαιτείται η ανάπτυξη λιγότερου λογισµικού Μειωµένο κόστος κίνδυνοι χρόνος Μειονεκτήµατα Συµβιβασµοί στις απαιτήσεις Δεν υπάρχει πλήρης έλεγχος της εξέλιξης του συστήµατος (τι γίνεται όταν διατεθεί µια νέα έκδοση κάποιου component από κάποιον τρίτο;) Πρέπει να δοθεί προσοχή σε ασφάλεια και αξιοπιστία του κώδικα τρίτων Licencing (π.χ. GPL)

Κατανοµή Κόστους Διαδικασίας Η κατανοµή του κόστους εξαρτάται από το χρησιµοποιούµενο µοντέλο ανάπτυξης

Επαναληπτικές Διαδικασίες Οι απαιτήσεις ενός συστήµατος εξελίσσονται κατά την πορεία ενός έργου, συνεπώς στη διαδικασία ανάπτυξης µεγάλων συστηµάτων πάντα υπάρχουν επαναληπτικές διαδικασίες που περιλαµβάνουν την αναθεώρηση προγενέστερων σταδίων. Η επαναληπτική µεθοδολογία µπορεί να εφαρµοστεί σε οποιοδήποτε από τα γενικά µοντέλα διαδικασιών. Προσεγγίσεις Βαθµιαία παράδοση Σπειροειδής ανάπτυξη

Βαθµιαία Παράδοση Συνδυάζει καταρράκτη και εξελικτική ανάπτυξη Το σύστηµα δεν παραδίδεται σε ένα και µόνο στάδιο, αλλά η ανάπτυξη και η παράδοση χωρίζονται σε παραδοτέες επαυξήσεις (increments), καθεµιά από τις οποίες αποδίδει υποσύνολο των απαιτούµενων λειτουργιών. Ορίζεται η προτεραιότητα των απαιτήσεων των χρηστών και οι απαιτήσεις µε την πιο υψηλή προτεραιότητα περιλαµβάνονται στις πρώτες επαυξήσεις. Αφού ξεκινήσει η ανάπτυξη µιας επαύξησης, οι απαιτήσεις της συγκεκριµένης επαύξησης παγιώνονται, αλλά οι απαιτήσεις µεταγενέστερων επαυξήσεων µπορούν να συνεχίσουν να εξελίσσονται.

Βαθµιαία Παράδοση

Πλεονεκτήµατα Βαθµιαίας Παράδοσης Κάθε επαύξηση ικανοποιεί κάποιες απαιτήσεις των πελατών, εποµένως µέρος των λειτουργιών του συστήµατος διατίθεται προς χρήση πριν από την ολοκλήρωση του έργου. Οι πρώτες επαυξήσεις αποτελούν πρωτότυπα που συµβάλλουν στην κατάστρωση των απαιτήσεων για τις επαυξήσεις που ακολουθούν. Μικρότερος κίνδυνος ολικής αποτυχίας του έργου. Οι υπηρεσίες υψηλότερης προτεραιότητας συνήθως δοκιµάζονται περισσότερο εντοπίζονται αστοχίες και λάθη

Σπειροειδής Ανάπτυξη Η διαδικασία αναπαρίσταται µε τη µορφή ελικοειδούς γραµµής και όχι ως ακολουθία δραστηριοτήτων µε κάποιες επανόδους από τη µία δραστηριότητα στην άλλη. Κάθε βρόχος της σπείρας αντιπροσωπεύει και µια φάση της διαδικασίας. Δεν υπάρχουν σταθερές φάσεις όπως η φάση της εξαγωγής προδιαγραφών ή του σχεδιασµού λογισµικού - οι βρόχοι της σπείρας επιλέγονται ανάλογα µε τις απαιτήσεις. Καθόλη τη διαδικασία γίνεται ρητή εκτίµηση (αξιολόγηση) και επίλυση των κινδύνων.

Σπειροειδής Ανάπτυξη

Τοµείς Σπειροειδούς Μοντέλου Ορισµός αντικειµενικών στόχων Προσδιορίζονται συγκεκριµένοι στόχοι σε κάθε φάση και λεπτοµερές πλάνο διαχείρισης φάσης, εντοπίζονται κίνδυνοι και καταρτίζονται εναλλακτικές στρατηγικές Αξιολόγηση και περιορισµός κινδύνων Γίνεται λεπτοµερής ανάλυση και αξιολόγηση κινδύνων και δηµιουργούνται διαδικασίες περιορισµού τους. Ανάπτυξη και επικύρωση Επιλέγεται ένα µοντέλο για την ανάπτυξη του συστήµατος - µπορεί να είναι οποιοδήποτε από τα γενικά µοντέλα Π.χ. αν κύριο µέληµα το interface -> εξελικτική ανάπτυξη αν κύριο µέληµα ασφάλεια -> τυπικοί µετασχηµατισµοί Προγραµµατισµός Γίνεται µια επισκόπηση του έργου και προγραµµατισµός της επόµενης φάσης της σπειροειδούς ανάπτυξης.

Ενδεικτική Βιβλιογραφία Κεφάλαιο 8 ο «Μοντέλα Συστήµατος» του βιβλίου «Βασικές Αρχές Τεχνολογίας Λογισµικού» του Ian Sommerville Κεφάλαιο 5 ο Λειτουργική Μοντελοποίηση (σελ. 223-277) του βιβλίου «Ανάλυση και Σχεδιασµός Συστηµάτων µε τη UML 2.0 των Davis, Wixon, Tegarden

Ενδεικτικά Ζητήµατα Μοντέλο συστήµατος Ορισµός έννοιας Που και γιατί χρησιµοποιείται Διαφορετικές κατηγορίες µοντέλων: γιατί υπάρχουν Ορισµός και διαφορές µεταξύ των διαφορετικών κατηγοριών µοντέλων Μοντέλα Συµπεριφοράς Ορισµός, στόχος, Διαδεδοµένες γλώσσες / εργαλεία περιγραφής Μειονεκτήµατα και πλεονεκτήµατα Μοντέλα Ροής Δεδοµένων Μοντέλα Καταστάσεων Ορισµός, στόχος, Διαδεδοµένες γλώσσες / εργαλεία περιγραφής Μειονεκτήµατα και πλεονεκτήµατα Μοντέλα Αντικειµένων Ορισµός, στόχος, Διαδεδοµένες γλώσσες / εργαλεία περιγραφής Μειονεκτήµατα και πλεονεκτήµατα Σηµασιολογικά µοντέλα δεδοµένων Ορισµός, στόχος Δοµηµένες µέθοδοι Ορισµός, στόχος Ορισµός, στόχος