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

Preview:

DESCRIPTION

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

Citation preview

Διαδικασία ανάπτυξηςΠροσδιορισμός απαιτήσεων

Αρχιτεκτονικός Σχεδιασμός

Λεπτομερής Σχεδιασμός

Κωδικοποίηση

Έλεγχος

Παράδοση Συστήματος

Λειτουργία - Συντήρηση

Ποιο το πρόβλημα ?

Ποια η λύση ?

Πώς θα υλοποιηθεί η λύση ?

Κώδικας ???

Επιλύθηκε το πρόβλημα?

Αξιοποιεί ο πελάτης τη λύση ?Παρουσιάζονται προβλήματα ?

Συστηματική προσέγγιση για τον καθορισμό σε ένα σύστημα• των λειτουργιών που πρέπει να εκτελεί• των περιορισμών στους οποίους υπόκειται

!!! : Καθορίζουμε τι πρέπει να κάνει το σύστημα όχι τον τρόπο με τον οποίο θα το κάνει

Προσδιορισμός Απαιτήσεων

ΠΑΡΑΔΕΙΓΜΑ(Λογισμικό Αυτοκινήτου)

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

Προσδιορισμός Απαιτήσεων

1994: Μελέτη 350 εταιριών = 8000 έργα λογισμικού31% των έργων ακυρώθηκαν πριν από την ολοκλήρωση 9% των έργων παραδόθηκαν εγκαίρως και εντός

προϋπολογισμού από μεγάλες εταιρείες16% των έργων παραδόθηκαν εγκαίρως και εντός

προϋπολογισμού από μικρές εταιρείεςΑιτίες:1. Ελλιπείς απαιτήσεις (13.1 %)2. Μη συμμετοχή των χρηστών (12.4 %)3. Έλλειψη πόρων (10.6 %)4. Εξωπραγματικές απαιτήσεις (9.9 %)5. Αλλαγές στις απαιτήσεις (8.7 %)6. Ανεπαρκής προγραμματισμός (8.1 %)7. Το σύστημα δεν χρειαζόταν πλέον (7.5 %)

Είναι οι απαιτήσεις σημαντικές ?

Pfleeger

Διατύπωση Προβλήματος

Εταιρεία Πελάτης (π.χ. ΟΤΕ)

Εταιρείες Παραγωγής Λογισμικού

(Ericsson, Siemens, Intracom, NOKIA)

Οι απαιτήσεις καθορίζονται σε χαμηλό επίπεδο ανάλυσης,

Φυσική γλώσσα

Ανάλυση ΑπαιτήσεωνΑρχική Περιγραφή

Αναλυτής Συστημάτων

Έγγραφο Περιγραφής Απαιτήσεων από το Σύστημα

(ΕΠΑΣ)

Ανάλυση Απαιτήσεων ΙΙ• Τι θα κάνει το σύστημα

• Κατανομή λειτουργιών σε H/W, S/W, Users

• Περιορισμοί στην ανάπτυξη και λειτουργία

Για να καθορίσουμε τα ανωτέρω :

• Εντοπισμός κύριων λειτουργιών – απαιτήσεων επίδοσης

• Εξέταση υπάρχοντος υλικού – λογισμικού

• Πηγές και ροή πληροφορίας

• Διαδικασίες αλληλεπίδρασης συστήματος - χρηστών

Τύποι απαιτήσεων

Απαιτήσεις

Φυσικό περιβάλλον Διεπαφές Χρήστες

Λειτουργι-κότητα

Ποιότητα

Ασφάλεια

Πόροι ΔεδομέναΤεκμηρίωση

Επικύρωση απαιτήσεωνΕίναι οι απαιτήσεις

• Σωστές ? (Αναφέρονται σε αυτά που θέλουμε ?)

• Συνεπείς (Ανυπαρξία αντιφάσεων)

• Πλήρεις (Περιγράφονται όλες οι δυνατές καταστάσεις ?)

• Πραγματοποιήσιμες ?

• Ουσιαστικές ? (Τις χρειάζεται ο πελάτης ?)

• Επαληθεύσιμες ? (υπάρχουν έλεγχοι που να δείχνουν ότι καλύψαμε τις απαιτήσεις ?)

• Ιχνηλατήσιμες ? (ποιο τμήμα του συστήματος σχετίζεται?)

Επικύρωση απαιτήσεωνΑπαίτηση:

• Το σύστημα πρέπει να εξασφαλίζει απόκριση εντός πραγματικού χρόνου για τις κύριες λειτουργίες.

•Σε ποιες κύριες λειτουργίες αναφέρεται ?

•Τι σημαίνει πραγματικού χρόνου ?

•Αν μία κύρια λειτουργία είναι σε μηνιαία βάση, γιατί πρέπει να εκτελείται σε πραγματικό χρόνο ?

Level of abstraction

Εταιρεία Πελάτης (π.χ. ΟΤΕ)

Εταιρείες Παραγωγής Λογισμικού

(Ericsson, Siemens, Intracom, NOKIA)

Οι απαιτήσεις καθορίζονται σε υψηλό επίπεδο ανάλυσης,

• Έγγραφο Ορισμού Απαιτήσεων (Requirements Definition)

(φυσική γλώσσα + διαγράμματα) Μπορεί να το γράψει και ο πελάτης• Έγγραφο Προσδιορισμού Απαιτήσεων

(Requirements Specification) Ακριβές και δομημένο κείμενο αναπτύσσεται από τον κατασκευαστή συνοδεύει συχνά το συμβόλαιο μπορεί να συνοδεύεται από περιγραφή

λογισμικού

Documentation

Το λογισμικό πρέπει να παρέχει τη δυνατότητα

προβολής και πρόσβασης εξωτερικών αρχείων

που δημιουργούνται από άλλα εργαλεία

-Ο- Πελάτης

Ορισμός Απαιτήσεων (Παράδειγμα)

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

Προσδιορισμός Απαιτήσεων –Παράδ.

ReadersΟρισμός Απαιτήσεων

Managerial level

Προσδιορισμός Απαιτήσεων

Technical level

Πρακτικά, είναι αδύνατο να καθορίσουμε πλήρως και με ακρίβεια τις απαιτήσεις ενός συστήματος:

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

Προβλήματα

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

• Άτυπες

• Ημιτυπικές

• Τυπικές

• Λειτουργικές προδιαγραφές (operational specifications): Περιγραφή του συστήματος αναφέροντας την επιθυμητή συμπεριφορά

• Περιγραφικές προδιαγραφές (descriptive specifications): Περιγραφή του συστήματος αναφέροντας τις επιθυμητές ιδιότητες

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

1. Επιλέξτε δύο σημεία P1, P2 σε ένα επίπεδο

2. Επιλέξτε ένα νήμα συγκεκριμένου μήκους και προσαρτήστε τα άκρα του στα P1 και P2

3. Τοποθετήστε μία γραφίδα επάνω στο νήμα

4. Μετακινήστε τη γραφίδα περιστροφικά σε επαφή με το νήμα, κρατώντας το νήμα τεντωμένο μέχρις ότου φθάσετε στο αρχικό σημείο

Λειτουργική Προδιαγραφή μιας έλλειψης

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

P P 1 2

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

Περιγραφική Προδιαγραφή μιας έλλειψης:

α x2 + b y2 + c = 0

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

Έστω a ένας πίνακας n στοιχείων. Το αποτέλεσμα της ταξινόμησης του a είναι ένας πίνακας b με n στοιχεία ο οποίος μπορεί να κατασκευαστεί ως εξής:

• Εύρεση του μικρότερου στοιχείου του a και τοποθέτησή του στην πρώτη κενή θέση του b

• Απομάκρυνση του στοιχείου που βρέθηκε στο προηγούμενο βήμα από τον a.

• Επανάληψη των 1 και 2 μέχρις ότου εξαντληθούν τα στοιχεία του a

Ghezzi

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

"Το αποτέλεσμα της ταξινόμησης ενός πίνακα a είναι ένας πίνακας b ο οποίος αποτελεί μετάθεση (permutation) του a και είναι ταξινομημένος"

Ghezzi

Χειρογραφικές Μέθοδοι - 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Γιακουμάκης

HIPO - IIΔΙΑΓΡΑΜΜΑΤΑ HIPO

(HIERARCHY – INPUT – PROCESS – OUTPUT)1. Διαγράμματα Εισόδου – Επεξεργασίας - Εξόδου

Από τερματικό :File namePasswordPrinter No.Print options

Από βιβλιοθήκη :Αρχείο κειμένου

1.3 Εκτύπωση Κειμένου

INPUT

If passwd correct && file exists send file to prntElse print message

PROCESS

Εκτύπωση αρχείου

Μηνύματα λάθους

OUTPUT

HIPO - IIIΔΙΑΓΡΑΜΜΑΤΑ HIPOMEIONEKTHMATA

• Περιγράφουν μόνο τις λειτουργικές απαιτήσεις (Δεν

διαθέτουν μηχανισμό χειρισμού περιορισμών)

• Δεν υπάρχουν μηχανισμοί ελέγχου (Επαλήθευση μόνο

με προσεκτική μελέτη)

Recommended