Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Οι ερωτήσεις που θα θέλαμε να απαντήσουμε πριν την έναρξη ενός έργου λογισμικού συνήθως είναι : πόσο μεγάλο θα είναι ? πόσο θα κοστίσει ? πόσο θα διαρκέσει.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Οι ερωτήσεις που θα θέλαμε να απαντήσουμε πριν την έναρξη ενός έργου λογισμικού συνήθως είναι : πόσο μεγάλο θα είναι ? πόσο θα κοστίσει ? πόσο θα διαρκέσει."— Μεταγράφημα παρουσίασης:

1 Οι ερωτήσεις που θα θέλαμε να απαντήσουμε πριν την έναρξη ενός έργου λογισμικού συνήθως είναι : πόσο μεγάλο θα είναι ? πόσο θα κοστίσει ? πόσο θα διαρκέσει η ανάπτυξή του ? πόσοι άνθρωποι απαιτούνται ? ποιοι παράγοντες καθορίζουν τα ανωτέρω ? τι ρόλο παίζει ο κάθε παράγοντας ? Κοστολόγηση Έργων Λογισμικού

2 Συχνοί λόγοι αστοχίας στην εκτίμηση του κόστους Συχνοί λόγοι αστοχίας στην εκτίμηση του κόστους: (35/115 εταιρείες αναφέρουν ότι το αποτέλεσμα της εκτίμησης κόστους ήταν ‘’σχετικά ανεπαρκές’’ και ‘’πλήρως ανεπαρκές’’ Συχνές αιτήσεις για αλλαγές από τους χρήστες Δραστηριότητες που παραβλέφθηκαν Έλλειψη κατανόησης απαιτήσεων από τους χρήστες Ανεπαρκής ανάλυση κατά την εκτίμηση του κόστους Έλλειψη συντονισμού μεταξύ ομάδων Έλλειψη μεθόδων εκτίμησης Κοστολόγηση Έργων Λογισμικού

3 Παράγοντες που επηρεάζουν την εκτίμηση κόστους Παράγοντες που επηρεάζουν την εκτίμηση κόστους: Πολυπλοκότητα του συστήματος Ολοκλήρωση με υπάρχοντα συστήματα Μέγεθος του συστήματος (αριθμός λειτουργιών) Ικανότητα ομάδας ανάπτυξης Εμπειρία σε παρόμοιες εφαρμογές Αναμενόμενη συχνότητα αλλαγών στις απαιτήσεις Εμπειρία με τη γλώσσα προγραμματισμού Αριθμός ατόμων στην ομάδα ανάπτυξης Αναγκαιότητα συμμόρφωσης με πρότυπα Διαθεσιμότητα εργαλείων Κοστολόγηση Έργων Λογισμικού

4 Απλή Εκτίμηση από τον διαχειριστή του έργου Εκτίμηση ειδικών (κατανομή Βήτα) Τεχνική Δελφών Wolverton (1974) Μη Αλγοριθμικές ΤεχνικέςΟΕΟΜΟΗΝΕΝΜΝΗ Control IO Algorithm Data Manag Time-Crit 75 Πρόβλημα: 100άρι - Μαραθώνιος Pfleeger

5 (COnstructive COst MOdel) Πρώτο σημαντικό άλμα στον τρόπο υπολογισμού κόστους έργων λογισμικού Αλγοριθμικό μοντέλο κοστολόγησης Αναπτύχθηκε από τον Barry Boehm το 1981 Περιγράφεται στο βιβλίο Software Engineering Economics (βιβλιοθήκη) Είναι από τα 2 πιο ευρέως χρησιμοποιούμενα μοντέλα Βασικά, το μοντέλο COCOMO υπολογίζει μία εκτίμηση της διάρκειας και του κόστους ενός έργου λογισμικού, βασιζόμενο στο μέγεθος του προϊόντος και την ποιότητα της ομάδος ανάπτυξης Tεχνική κοστολόγηση COCOMO

6 Θεωρούμε 152 ώρες εργασίας ανά εργατο-μήνα Θεωρούμε ικανό management Θεωρούμε ότι το έγγραφο περιγραφής απαιτήσεων δεν τροποποιείται μετά την έγκρισή του Θεωρούμε ότι ο σημαντικότερος παράγοντας κόστους είναι το μέγεθος του έργου λογισμικού Το μέγεθος του έργου προσδιορίζεται σε χιλιάδες γραμμές παραδοτέου κώδικα (KDeliveredSourceInstructions - KDSI) Τρία μοντέλα: Βασικό μοντέλο Ενδιάμεσο μοντέλο Λεπτομερειακό μοντέλο Απλουστευτικές Υποθέσεις

7 Βασικό Mοντέλο Απαιτούμενη προσπάθεια σε ανθρωπομήνες : ΜΜ = 2.4 (KDSI) 1.05 Απαιτούμενος χρόνος ανάπτυξης του έργου Τ = 2.5 (MM) 0.38 Ενδιαφέροντα σημεία: ο εκθέτης του KDSI είναι σχεδόν ίσος με τη μονάδα, άρα η προσπάθεια ανάπτυξης είναι γραμμική συνάρτηση του μεγέθους του κώδικα Ο αριθμός των ατόμων θεωρείται ‘’βέλτιστος’’ για κάθε στάδιο του έργου. Π.χ. στο μέσο του έργου απασχολούνται περισσότεροι από ότι στη φάση καθορισμού των απαιτήσεων

8 Στο ενδιάμεσο μοντέλο εισάγονται δύο κύριες τροποποιήσεις: Πρώτον, τα έργα λογισμικού διακρίνονται σε τρείς κατηγορίες: οργανικά, ημιαποσπασμένα και ενσωματωμένα Δεύτερον, αναγνωρίζονται συγκεκριμένοι παράγοντες που επηρρεάζουν το κόστος (αφορούν το προϊόν, τη διαδικασία και το προσωπικό) COCOMO – Ενδιάμεσο Μοντέλο

9 Οργανικά Το πρόγραμμα είναι σχετικά ανεξάρτητο και έχει μικρή διασύνδεση με το περιβάλλον Ημιαποσπασμένα Υπάρχουν συνδέσεις με το περιβάλλον, αλλά όχι κρίσιμες χρονικές εξαρτήσεις Ενσωματωμένα Κάθε συναλλαγή με το σύστημα είναι κρίσιμη από πλευράς χρόνου και ακρίβειας. Υπάρχουν αρκετοί περιορισμοί που εισάγονται από το περιβάλλον COCOMO – Κατηγορίες Έργων

10 Οργανικά Σύστημα ανάλυσης πληροφοριών πτήσης, που επεξεργάζεται τα δεδομένα μετά το τέλος της πτήσης Ημιαποσπασμένα Προσομοιωτής πτήσης αεροσκαφών Ενσωματωμένα Λογισμικό Αεροσκάφους για την αποφυγή συγκρούσεων με άλλα αεροσκάφη κατά τη διάρκεια της πτήσης Κατηγορίες Έργων - Παράδειγμα

11 Εξίσωση υπολογισμού απαιτούμενης ονομαστικής προσπάθειας ΜΜ ΝΟΜ = C (KDSI) K C, Κ: παράμετροι, KDSI: thousands of delivered source lines MM NOM : ονομαστική προσπάθεια σε ανθρωπομήνες COCOMO (Εξισώσεις)

12 Ένα σύνολο από 15 χαρακτηριστικά (‘’παράγοντες κόστους’’) που θεωρούνται ότι συνεισφέρουν στο κόστος. Σε κάθε παράγοντα κόστους αντιστοιχεί ένας ‘’πολλαπλασιαστής προσπάθειας’’ (q 1, q 2, …, q 15 ) Εξίσωση υπολογισμού παράγοντα προσαρμογής προσπάθειας q = q 1 q 2, … q 15 COCOMO (Εξισώσεις)

13 COCOMO (Πίνακες) Παράγοντες κόστους 1.RELYΑπαιτούμενη αξιοπιστία λογισμικούπροϊόν 2.DATAΜέγεθος βάσης δεδομένωνπροϊόν 3.CPLXΠολυπλοκότητα προϊόντοςπροϊόν 4.ΤΙΜΕΠεριορισμός στο χρόνο εκτέλεσηςΗ/Υ 5.STORΠεριορισμός στην κύρια μνήμη Η/Υ 6.VIRTΑλλαγές στο σύστημα HW/SWH/Y 7.TURNΧρόνος απόκρισης υπολογιστή (απηρχειωμένο) Η/Υ 8.ΑCAPΙκανότητα αναλυτώνπροσωπ 9.ΑΕΧPΕμπειρία αναλυτών σε εφαρμογέςπροσωπ 10.PCAPΙκανότητα προγραμματιστώνπροσωπ 11.VEXPΕμπειρία με το σύστημα HW/SW (OS etc)προσωπ 12.LEXPΕμπειρία με τη γλώσσα προγραμματισμούπροσωπ 13.ΜΟDPΧρήση μοντέρνων πρακτικών προγραμματ.έργο 14.TOOLΧρήση εργαλείων προγραμματισμούέργο 15.SCEDΠίεση από χρονοδιάγραμμα ανάπτυξης έργο

14 Εξίσωση υπολογισμού προσπάθειας ανάπτυξης ΜΜ DEV = q  MM NOM Εξίσωση υπολογισμού κόστους C t = p  MM DEV p: αξία σε χρήμα ενός ανθρωπομήνα Εξίσωση υπολογισμού διάρκειας του έργου Τ DEV = R  (MM DEV ) m R, m: παράμετροι COCOMO (Εξισώσεις)

15 Δεδομένα εισόδου: Μέγεθος ενός έργου λογισμικού (KDSI) παράγοντες κόστους τιμή του ανθρωπομήνα εργασίας Για να λειτουργήσει το μοντέλο απαιτείται βαθμονόμηση (calibration) για την καταχώρηση τιμών στις παραμέτρους του μοντέλου Ο Boehm βαθμονόμησε το μοντέλο χρησιμοποιώντας δεδομένα από 63 διαφορετικά έργα λογισμικού COCOMO

16 Κατηγορία Χαρακτηριστικά οργανική ημιαποσπασμένη ενσωματωμένη Κατανόηση από όλους των αντι- λεπτομερής λεπτομερής γενική κειμενικών σκοπών του προϊόντος Εμπειρία σε σχετικά έργα λογισμικού εκτενής σημαντική μέτρια Ανάγκη για συμμόρφωση με προκα- βασική σημαντική πλήρης τασκευασμένες απαιτήσεις Ανάγκη για συμμόρφωση με προκατα- βασική σημαντική πλήρης σκευασμένο εξωτερικό Interface Ταυτόχρονη ανάπτυξη νέων λειτουργι- μερική μέτρια πλήρης κών διαδικασιών και υλικού Ανάγκη για νεωτεριστικές αρχιτεκτονι- ελάχιστη μερική σημαντική κές, νέους αλγόριθμους Bonus για γρήγορη αποπεράτωση χαμηλό μέτριο υψηλό Μέγεθος προϊόντος<50 KDSI <300 KDSI όλα Παραδείγματα Επιστημονικά Καινούργια ΛΣ, Σύνθετα μοντέλα, Συστήματα ΒΔ συστ Δοσοληψ Συστήματα ελέγχου παραγωγής, Φιλόδοξα ΛΣ Compilers Κατηγορίες έργων λογισμικού

17 Κατηγορία ονομαστική προσπάθεια διάρκεια ανάπτυξης οργανική ΜΜ ΝΟΜ = 3.2(ΚDSI) 1.05 TDEV = 2.5 (MM DEV ) 0.38 ημιαποσπ. ΜΜ ΝΟΜ = 3.0(ΚDSI) 1.12 TDEV = 2.5 (MM DEV ) 0.35 ενσωματωμ ΜΜ ΝΟΜ = 2.8(ΚDSI) 1.20 TDEV = 2.5 (MM DEV ) 0.32 Κατηγορίες έργων λογισμικού

18 Πολλαπλασιαστές Προσπάθειας Κατάταξη χαμηλότερη χαμηλή ονομαστική υψηλή υψηλότερη υψηλότατη RELY DATA CPLX ΤΙΜΕ STOR VIRT TURN ΑCAP ΑΕΧP PCAP VEXP LEXP ΜΟDP TOOL SCED

19 Κατάταξη Παραγόντων κόστους Κατάταξη χαμηλότερη χαμηλή ονομαστική υψηλή υψηλότερη υψηλότατη RELY Μικρή Εύκολα Μέτρια Μεγάλες Κίνδυνος για ενόχληση ανακτήσιμες ανακτήσιμ οικονομ, ανθρώπινες απώλειες απώλειες απώλειες ζωές DATA L 1000 L=Bytes/DSI ΑΕΧP <4 μήνες 1 έτος 3 έτη 6 έτη 12 έτη PCAP 15 % 35 % 55 % 75 % 90 %

20 Κατάταξη ‘’Πολυπλοκότητας’’ CPLX Για λειτουργίες υπολογισμού : ΧαμηλότερηΑποτίμηση απλών εκφράσεων π.χ. Α=Β*C+(D-E) ΧαμηλήΑποτίμηση μετρίου επιπέδου εκφράσεων π.χ. D=SQRT(B**2-4*A*C) ΟνομαστικήΧρήση προτύπων μαθηματικών και στατιστικών ρουτινών, Λειτουργίες μητρών ΥψηλήΒασική Αριθμητική Ανάλυση, Κοινές διαφορικές εξισώσεις ΥψηλότερηΣυστήματα γραμμικών εξισώσεων, διαφορικές εξισώσεις με μερικές παραγώγους ΥψηλότατηΑνάλυση στοχαστικών δεδομένων, δύσκολοι αλγόριθμοι αριθμητικής ανάλυσης

21 Παράδειγμα Ανάπτυξη λογισμικού επικοινωνίας βασισμένου σε μικροϋπολογιστή για φιλόδοξο δίκτυο μεταφοράς κεφαλαίων με ηλεκτρονικό τρόπο. Απαιτήσεις: Υψηλή αξιοπιστία, υψηλή επίδοση, αυστηρό χρονοδιάγραμμα ανάπτυξης, καλό interface Υποτιθέμενο μέγεθος κώδικα 10 KDSI

22 Κατηγορία Χαρακτηριστικά οργανική ημιαποσπασμένη ενσωματωμένη Κατανόηση από όλους των αντι- λεπτομερής λεπτομερής γενική κειμενικών σκοπών του προϊόντος Εμπειρία σε σχετικά έργα λογισμικού εκτενής σημαντική μέτρια Ανάγκη για συμμόρφωση με προκα- βασική σημαντική πλήρης τασκευασμένες απαιτήσεις Ανάγκη για συμμόρφωση με προκατα- βασική σημαντική πλήρης σκευασμένο εξωτερικό Interface Ταυτόχρονη ανάπτυξη νέων λειτουργι- μερική μέτρια πλήρης κών διαδικασιών και υλικού Ανάγκη για νεωτεριστικές αρχιτεκτονι- ελάχιστη μερική σημαντική κές, νέους αλγόριθμους Bonus για γρήγορη αποπεράτωση χαμηλό μέτριο υψηλό Μέγεθος προϊόντος<50 KDSI <300 KDSI όλα Κατηγορίες έργων λογισμικού φιλόδοξο νέο δίκτυο καλό interface δίκτυο = επικοινωνίες υπάρχοντες κανόνες μεταφοράς κεφαλαίων

23 Κατηγορία ονομαστική προσπάθεια διάρκεια ανάπτυξης οργανική ΜΜ ΝΟΜ = 3.2(ΚDSI) 1.05 TDEV = 2.5 (MM DEV ) 0.38 ημιαποσπ. ΜΜ ΝΟΜ = 3.0(ΚDSI) 1.12 TDEV = 2.5 (MM DEV ) 0.35 ενσωματωμ ΜΜ ΝΟΜ = 2.8(ΚDSI) 1.20 TDEV = 2.5 (MM DEV ) 0.32 Υπολογισμός ονομαστικής προσπάθειας ΜΜ ΝΟΜ = 2.8(10) 1.20 = 44 ανθρωπομήνες

24 Παράγοντες κόστους - ταξινόμηση 1.RELYΣοβαρές οικονομ. επιπτώσεις υψηλή DATA20000 bytes χαμηλή CPLXΕπεξεργασία επικοινωνιών υψηλότατ ΤΙΜΕ70% χρήση του διαθέσιμου χρόνου υψηλή STOR70% χρήση της διαθέσιμης μνήμης υψηλή VIRTΘα βασισθεί σε υπάρχον H/Y σύστημα ονομαστ TURNΧρόνος απόκρισης ονομαστ ΑCAPΚαλοί ηλικιωμένοι αναλυτές υψηλή ΑΕΧPΤρία έτη ονομαστ PCAPΚαλοί προγραμματιστές (75 %) υψηλή VEXPΈξι μήνες χαμηλή LEXPΔώδεκα μήνες ονομαστ ΜΟDPΟι περισσότερες τεχνικές είναι γνωστές υψηλή TOOLΒασικά εργαλεία Η/Υ χαμηλή SCEDΕννέα μήνες ονομαστ 1.00

25 Υπολογισμός παράγοντα προσαρμογής προσπάθειας q = q 1 q 2, … q 15 = 1.35 Υπολογισμός προσπάθειας ανάπτυξης ΜΜ DEV = q  MM NOM = 1.35 * 44 = 59 ανθρωπομήνες Υπολογισμός κόστους, θεωρώντας κόστος ανθρωπομήνα 1000 € C t = € Παράδειγμα (συνέχεια)

26 Υπολογισμός διάρκειας ανάπτυξης Τ DEV = R  (MM DEV ) m = 2.5  (59) 0.32 = 9 μήνες Παράδειγμα (συνέχεια)

27 Σε έργα όπου συμμετέχει μικρός αριθμός ατόμων, υπάρχει μεγάλη εξάρτηση του τελικού κόστους από τις ικανότητες του κάθε ατόμου. Για περισσότερα άτομα, η συνολική ικανότητα εκφράζεται από το μέσο όρο Δεδομένου του μεγέθους, η ποιότητα της ομάδος ανάπτυξης είναι ο κυριότερος παράγοντας που επηρεάζει το χρόνο και το κόστος (……άρα οι καλοί προγραμματιστές πρέπει να αξίζουν καλύτερης οικονομικής μεταχείρισης) Το κόστος διόρθωσης λαθών αυξάνει σημαντικά όσο το χρονικό σημείο εντοπισμού τους πλησιάζει το τέλος του project (και πολύ περισσότερο όταν το ξεπερνά). Αξίζει να επενδύσει κανείς σε εργαλεία ανίχνευσης λαθών σε πρώιμα στάδια Συμπεράσματα

28 Έστω κόστος λαθών ανά φάση του έργου : Απαιτήσεις: 0.01 € Σχεδίαση : 0.1 € Κωδικοποίηση: 1 € Έλεγχος κώδικα: 10 € Έλεγχος συστήμ: 100 € Μετά παράδοση: 1000 € Συμπεράσματα Έστω κόστος έργου: € Έστω κόστος εργαλείου ανίχνευσης λαθών στη φάση των απαιτήσεων (ιδιαίτερα ακριβό) : € Συνολικό κόστος : € (Οοοps !!!) Έστω λάθη στον κώδικα: 150, λάθη στον έλεγχο συστήματος: 95 λάθη που βρίσκει ο χρήστης: 77 Συνολικό κόστος: € € = € Και μας μένει και το πρόγραμμα για μελλοντικά έργα

29 Τα μοντέλα δείχνουν ότι το συνολικό κόστος αυξάνει δραματικά όταν επιδιώκεται η επιτάχυνση του έργου ώστε να τελειώσει πριν από το προγραμματισμένο ορόσημο (αυτό είναι αναμενόμενο) Αυτό που προκαλεί έκπληξη, είναι ότι η εμπειρία δείχνει, ότι το έργο δεν μπορεί να ολοκληρωθεί σε χρόνο μικρότερο από 75 % του ονομαστικού, ανεξαρτήτως του ποσού που διατίθεται για το έργο Το μοντέλο COCOMO έχει σημαντική απήχηση και αποδοχή. Αυτό που απαιτείται είναι η τροποποίηση των τιμών των παραγόντων κόστους και ενδεχομένως η εύρεση νέων παραγόντων με την πρόοδο της τεχνολογίας Συμπεράσματα


Κατέβασμα ppt "Οι ερωτήσεις που θα θέλαμε να απαντήσουμε πριν την έναρξη ενός έργου λογισμικού συνήθως είναι : πόσο μεγάλο θα είναι ? πόσο θα κοστίσει ? πόσο θα διαρκέσει."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google