1 / 25

Διαδικασία ανάπτυξης

Διαδικασία ανάπτυξης. Προσδιορισμός απαιτήσεων. Ποιο το πρόβλημα ?. Αρχιτεκτονικός Σχεδιασμός. Ποια η λύση ?. Πώς θα υλοποιηθεί η λύση ?. Λεπτομερής Σχεδιασμός. Κωδικοποίηση. Κώδικας ???. Έλεγχος. Επιλύθηκε το πρόβλημα?. Αξιοποιεί ο πελάτης τη λύση ?. Παράδοση Συστήματος.

deana
Download Presentation

Διαδικασία ανάπτυξης

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Ποιο το πρόβλημα ? Αρχιτεκτονικός Σχεδιασμός Ποια η λύση ? Πώς θα υλοποιηθεί η λύση ? Λεπτομερής Σχεδιασμός Κωδικοποίηση Κώδικας ??? Έλεγχος Επιλύθηκε το πρόβλημα? Αξιοποιεί ο πελάτης τη λύση ? Παράδοση Συστήματος Παρουσιάζονται προβλήματα ? Λειτουργία - Συντήρηση

  2. Προσδιορισμός Απαιτήσεων • Συστηματική προσέγγιση για τον καθορισμό σε ένα σύστημα • των λειτουργιών που πρέπει να εκτελεί • των περιορισμών στους οποίους υπόκειται • !!! : Καθορίζουμε τι πρέπει να κάνει το σύστημα • όχι τον τρόπο με τον οποίο θα το κάνει

  3. Προσδιορισμός Απαιτήσεων • ΠΑΡΑΔΕΙΓΜΑ • (Λογισμικό Αυτοκινήτου) • Λειτουργικές Απαιτήσεις: • (Αλληλεπίδραση συστήματος – περιβάλλοντος) • Υπολογισμός μέσης κατανάλωσης καυσίμου • Υπολογισμός μέση ωριαίας ταχύτητας • Υπολογισμός βέλτιστης ταχύτητας • Περιορισμοί : • Υλοποίηση σε γλώσσα C • Απόκριση σε 5 secs • Μνήμη < 100 Kb

  4. Είναι οι απαιτήσεις σημαντικές ? • 1994: Μελέτη 350 εταιριών = 8000 έργα λογισμικού • 31% των έργων ακυρώθηκαν πριν από την ολοκλήρωση • 9% των έργων παραδόθηκαν εγκαίρως και εντός προϋπολογισμού από μεγάλες εταιρείες • 16% των έργων παραδόθηκαν εγκαίρως και εντός προϋπολογισμού από μικρές εταιρείες • Αιτίες: • Ελλιπείς απαιτήσεις (13.1 %) • Μη συμμετοχή των χρηστών (12.4 %) • Έλλειψη πόρων (10.6 %) • Εξωπραγματικές απαιτήσεις (9.9 %) • Αλλαγές στις απαιτήσεις (8.7 %) • Ανεπαρκής προγραμματισμός (8.1 %) • Το σύστημα δεν χρειαζόταν πλέον (7.5 %) Pfleeger

  5. Διατύπωση Προβλήματος Οι απαιτήσεις καθορίζονται σε χαμηλό επίπεδο ανάλυσης, Φυσική γλώσσα Εταιρείες Παραγωγής Λογισμικού (Ericsson, Siemens, Intracom, NOKIA) Εταιρεία Πελάτης (π.χ. ΟΤΕ)

  6. Ανάλυση Απαιτήσεων Αρχική Περιγραφή Αναλυτής Συστημάτων Έγγραφο Περιγραφής Απαιτήσεων από το Σύστημα (ΕΠΑΣ)

  7. Ανάλυση Απαιτήσεων ΙΙ • Τι θα κάνει το σύστημα • Κατανομή λειτουργιών σε H/W, S/W, Users • Περιορισμοί στην ανάπτυξη και λειτουργία • Για να καθορίσουμε τα ανωτέρω : • Εντοπισμός κύριων λειτουργιών – απαιτήσεων επίδοσης • Εξέταση υπάρχοντος υλικού – λογισμικού • Πηγές και ροή πληροφορίας • Διαδικασίες αλληλεπίδρασης συστήματος - χρηστών

  8. Τύποι απαιτήσεων Φυσικό περιβάλλον Διεπαφές Χρήστες Ποιότητα Απαιτήσεις Λειτουργι-κότητα Ασφάλεια Τεκμηρίωση Πόροι Δεδομένα

  9. Επικύρωση απαιτήσεων • Είναι οι απαιτήσεις • Σωστές ? (Αναφέρονται σε αυτά που θέλουμε ?) • Συνεπείς (Ανυπαρξία αντιφάσεων) • Πλήρεις (Περιγράφονται όλες οι δυνατές καταστάσεις ?) • Πραγματοποιήσιμες ? • Ουσιαστικές ? (Τις χρειάζεται ο πελάτης ?) • Επαληθεύσιμες ? (υπάρχουν έλεγχοι που να δείχνουν ότι καλύψαμε τις απαιτήσεις ?) • Ιχνηλατήσιμες ? (ποιο τμήμα του συστήματος σχετίζεται?)

  10. Επικύρωση απαιτήσεων • Απαίτηση: • Το σύστημα πρέπει να εξασφαλίζει απόκριση εντός πραγματικού χρόνου για τις κύριες λειτουργίες. • Σε ποιες κύριες λειτουργίες αναφέρεται ? • Τι σημαίνει πραγματικού χρόνου ? • Αν μία κύρια λειτουργία είναι σε μηνιαία βάση, γιατί πρέπει να εκτελείται σε πραγματικό χρόνο ?

  11. Level of abstraction Οι απαιτήσεις καθορίζονται σε υψηλό επίπεδο ανάλυσης, Εταιρείες Παραγωγής Λογισμικού (Ericsson, Siemens, Intracom, NOKIA) Εταιρεία Πελάτης (π.χ. ΟΤΕ)

  12. Documentation • Έγγραφο Ορισμού Απαιτήσεων(Requirements Definition) • (φυσική γλώσσα + διαγράμματα) • Μπορεί να το γράψει και ο πελάτης • Έγγραφο Προσδιορισμού Απαιτήσεων(Requirements Specification) • Ακριβές και δομημένο κείμενο • αναπτύσσεται από τον κατασκευαστή • συνοδεύει συχνά το συμβόλαιο • μπορεί να συνοδεύεται από περιγραφή λογισμικού

  13. Ορισμός Απαιτήσεων (Παράδειγμα) Το λογισμικό πρέπει να παρέχει τη δυνατότητα προβολής και πρόσβασης εξωτερικών αρχείων που δημιουργούνται από άλλα εργαλεία -Ο- Πελάτης

  14. Προσδιορισμός Απαιτήσεων –Παράδ. 1.1 Ο χρήστης θα πρέπει να μπορεί να ορίζει τους τύπους των εξωτερικών αρχείων 1.2 Κάθε εξωτερικό αρχείο μπορεί να συνδέεται με κάποια εφαρμογή που να το χρησιμοποιεί 1.3 Κάθε εξωτερικό αρχείο θα είναι ορατό σαν εικονίδιο στην οθόνη του χρήστη 1.4 Ο χρήστης θα πρέπει να έχει τη δυνατότητα να καθορίσει τον τύπο του εικονιδίου για κάθε αρχείο 1.5 Όταν ο χρήστης επιλέξει ένα εικονίδιο θα πρέπει να ενεργοποιείται η συνδεδεμένη με αυτό το αρχείο εφαρμογή

  15. Readers Ορισμός Απαιτήσεων Προσδιορισμός Απαιτήσεων Managerial level Technical level

  16. Προβλήματα • Πρακτικά, είναι αδύνατο να καθορίσουμε πλήρως και με ακρίβεια τις απαιτήσεις ενός συστήματος: • Μεγάλη Πολυπλοκότητα • Απαιτήσεις εμφανίζονται κατά την ανάπτυξη του λογισμικού • Πολλοί διαφορετικοί χρήστεςμε διαφορετική οπτική γωνία ο καθένας

  17. Μέθοδοι Προσδιορισμού Απαιτήσεων • Άτυπες • Ημιτυπικές • Τυπικές • Λειτουργικές προδιαγραφές (operational specifications): Περιγραφή του συστήματος αναφέροντας την επιθυμητή συμπεριφορά • Περιγραφικές προδιαγραφές (descriptive specifications): Περιγραφή του συστήματος αναφέροντας τις επιθυμητές ιδιότητες

  18. Μέθοδοι Προσδιορισμού Απαιτήσεων • Επιλέξτε δύο σημεία P1, P2 σε ένα επίπεδο • Επιλέξτε ένα νήμα συγκεκριμένου μήκους και προσαρτήστε τα άκρα του στα P1 και P2 • Τοποθετήστε μία γραφίδα επάνω στο νήμα • Μετακινήστε τη γραφίδα περιστροφικά σε επαφή με το νήμα, κρατώντας το νήμα τεντωμένο μέχρις ότου φθάσετε στο αρχικό σημείο • Λειτουργική Προδιαγραφή μιας έλλειψης

  19. Μέθοδοι Προσδιορισμού Απαιτήσεων

  20. Μέθοδοι Προσδιορισμού Απαιτήσεων Περιγραφική Προδιαγραφή μιας έλλειψης: α x2 + b y2 + c = 0

  21. Μέθοδοι Προσδιορισμού Απαιτήσεων • Έστω a ένας πίνακας n στοιχείων. Το αποτέλεσμα της ταξινόμησης του a είναι ένας πίνακας b με n στοιχεία ο οποίος μπορεί να κατασκευαστεί ως εξής: • Εύρεση του μικρότερου στοιχείου του a και τοποθέτησή του στην πρώτη κενή θέση του b • Απομάκρυνση του στοιχείου που βρέθηκε στο προηγούμενο βήμα από τον a. • Επανάληψη των 1 και 2 μέχρις ότου εξαντληθούν τα στοιχεία του a Ghezzi

  22. Μέθοδοι Προσδιορισμού Απαιτήσεων "Το αποτέλεσμα της ταξινόμησης ενός πίνακα a είναι ένας πίνακας b ο οποίος αποτελεί μετάθεση(permutation) του a και είναι ταξινομημένος" Ghezzi

  23. Χειρογραφικές Μέθοδοι - HIPO ΔΙΑΓΡΑΜΜΑΤΑ HIPO (HIERARCHY – INPUT – PROCESS – OUTPUT) 1. Διάγραμμα Η συστήματος (Ιεραρχία Λειτουργιών) Σύστημα Επεξεργασίας Κειμένου 1 Τροποποίηση Κειμένου 1.1 Δημιουργία Κειμένου 1.2 Εκτύπωση Κειμένου 1.3 Αρχειοθέτηση Κειμένου 1.4 Έξοδος 1.5 Διαγραφή Κειμένου 1.4.1 Αντιγραφή Κειμένου 1.4.2 Κατάλογος Κειμένων 1.4.3 Γιακουμάκης

  24. HIPO - II ΔΙΑΓΡΑΜΜΑΤΑ HIPO (HIERARCHY – INPUT – PROCESS – OUTPUT) 1. Διαγράμματα Εισόδου – Επεξεργασίας - Εξόδου 1.3 Εκτύπωση Κειμένου INPUT PROCESS OUTPUT Από τερματικό : File name Password Printer No. Print options Από βιβλιοθήκη : Αρχείο κειμένου If passwd correct && file exists send file to prnt Else print message Εκτύπωση αρχείου Μηνύματα λάθους

  25. HIPO - III • ΔΙΑΓΡΑΜΜΑΤΑ HIPO • MEIONEKTHMATA • Περιγράφουν μόνο τις λειτουργικές απαιτήσεις (Δεν διαθέτουν μηχανισμό χειρισμού περιορισμών) • Δεν υπάρχουν μηχανισμοί ελέγχου (Επαλήθευση μόνο με προσεκτική μελέτη)

More Related