Η τεχνική COCOMO 2
- Constructive Cost Model
- Αλγοριθμική τεχνική
- Εξέλιξη της τεχνικής COCOMO (81): PM = C * KLOC K (C: 2.4 - 3.6), (M: multiplier)
- Διαφορετικά επίπεδα εκτίμησης, ανάλογα με το στάδιο του έργου
- Αρχέτυπο
- Αρχικό σχέδιο
- Μετά τον αρχιτεκτονικό σχεδιασμό
Αρχέτυπο
PM = (NOP * (1 - %reuse/100)) / PROD
Όπου:
- PM
- ΑΜ
- NOP
- Αριθμός από λειτουργικά αντικείμενα (number of object points)
- %reuse
- Ποσοστό επαναχρησιμοποίησης
- PROD
- Ικανότητα και εμπειρία των προγραμματιστών (4: πολύ χαμηλή, 6: χαμηλή, 15: μέση, 25: υψηλή, 50: πολύ υψηλή)
Αρχικό σχέδιο
PM = A * SizeB * M + PMM
Όπου:
- A
- 2.5
- Size
- Χιλιάδες γραμμές πηγαίου κώδικα
- B
- Βλ. "υπολογισμός του εκθέτη"
- Μ
- PERS * RCPX * RUSE * RDIF * PREX * FCIL * SCED
Όπου:
- PERS
- Ικανότητα προσωπικού
- RCPX
- Αξιοπιστία και πολυπλοκότητα (reliability and complexity)
- RUSE
- Επαναχρησιμοποίηση (reuse)
- RDIF
- Δυσκολία της πλατφόρμας υλοποίησης (platform difficulty)
- PREX
- Εμπειρία προσωπικού (personel experience)
- FCIL
- Μέσα υποστήριξης (support facilities)
- SCED
- Πρόγραμμα (schedule)
- PMM
- Υπολογίζεται σε έργα που μεγάλο ποσοστό του κώδικα
παράγεται αυτόματα.
PMM = (ASLOC * (AT / 100)) / ATPROD
Όπου
- ASLOC
- Αυτόματα παραγόμενες γραμμές
- AT
- Ποσοστό του κώδικα που είναι αυτόματα παραγόμενος
- AT
- Παραγωγικότητα για αυτόματα παραγόμενο κώδικα
Μετά τον αρχιτεκτονικό σχεδιασμό
Στον παράγοντα Μ συμμετέχουν τα παρακάτω χαρακτηριστικά (οι τιμές δίνονται
από πίνακες βαθμονόμησης σαν αυτόν που βρίσκεται στο τέλος).
- Προϊόν
- RELY
- Αξιοπιστία (reliability)
- CPLX
- Πολυπλοκότητα (complexity)
- DOCU
- Απαιτούμενη τεκμηρίωση (documentation)
- DATA
- Μέγεθος της βάσης δεδομένων
- RUSE
- Επαναχρησιμοποίηση (reuse)
- Υπολογιστής
- TIME
- Περιορισμοί χρόνου
- STOR
- Περιορισμοί μνήμης (storage)
- PVOL
- Αστάθεια (volatility)
- Προσωπικό
- ACAP
- Ικανότητα προσωπικού στην ανάλυση (programmer capability)
- PCAP
- Ικανότητα προσωπικού στον προγραμματισμό (analyst capability)
- PCON
- Σταθερότητα απασχόλησης του προσωπικού (personnel continuity)
- AEXP
- Εμπειρία του αναλυτή στο συγκεκριμένο αντικείμενο (analyst experience)
- PEXP
- Εμπειρία του προγραμματιστή στο συγκεκριμένο αντικείμενο (programmer experience)
- LTEX
- Εμπειρία του προγραμματιστή στη γλώσσα και τα εργαλεία (language and tool experience)
- Έργο
- TOOL
- Χρήση εργαλείων
- SCED
- Συμπιεσμένο πρόγραμμα (schedule)
- SITE
- Εργασία σε πολλαπλά μέρη
Υπολογίζεται και ο κώδικας από επαναχρησιμοποίηση σύμφωνα με τον τύπο
ESLOC = ASLOC * (AA + SU + 0.4DM + 0.3CM + 0.3IM) / 100
Όπου:
- ESLOC
- Ανάλογες χιλιάδες γραμμές πηγαίου κώδικα
- ASLOC
- Χιλιάδες γραμμές επαναχρησιμοποιούμενου κώδικα
- AA
- Έργο για εκτίμηση του κώδικα (0-8)
- SU
- Κόστος κατανόησης του κώδικα (50: κακογραμμένος, 10: δομημένος)
- DM
- Ποσοστό αλλαγής του σχεδίου
- CM
- Ποσοστό αλλαγής του κώδικα
- IM
- Ποσοστό του συνολικού έργου ολοκλήρωσης που απαιτείται για τον
επαναχρησιμοποιούμενο κώδικα
Υπολογισμός του εκθέτη
Ο εκθέτης Β εξαρτάται από την οργανωσιακή πολυπλοκότητα του έργου και εκφράζει
τις οικονομίες κλίμακας (economies of scale)
ή τις αντίστοιχες
αντιοικονομίες κλίμακας (diseconomies of scale)
που συνδέονται με το έργο.
Όταν είναι < 1 όσο μεγαλώνει το έργο, τόσο αυξάνεται η παραγωγικότητα,
σε αντίθετη περίπτωση η παραγωγικότητα μειώνεται με την αύξηση του
μεγέθους του έργου.
Το Β υπολογίζεται ως
Β = Σ / 100 + 1.01
όπου Σ το άθροισμα των παρακάτω παραγόντων στην
κλίμακα (5: πολύ χαμηλό - 0: πολύ υψηλό):
- Προηγούμενη εμπειρία
- Ελαστικότητα διεργασίας ανάπτυξης
- Βαθμός ανάλυσης κινδύνων
- Συνοχή της ομάδας ανάπτυξης
- Ωριμότητα της διεργασίας ανάπτυξης (5 - CMM)
Βαθμονόμηση των πολλαπλασιαστών
Παράγοντας | ΠΧ | Χ | Μ | Υ | ΠΥ | ΕΥ |
RELY | 0.75 | 0.88 | 1.00 | 1.15 | 1.40 | |
DATA | | 0.94 | 1.00 | 1.08 | 1.16 | |
CPLX | 0.75 | 0.88 | 1.00 | 1.15 | 1.30 | 1.65 |
RUSE | | 0.89 | 1.00 | 1.16 | 1.34 | 1.56 |
DOCU | 0.85 | 0.93 | 1.00 | 1.08 | 1.17 | |
TIME | | | 1.00 | 1.11 | 1.30 | 1.66 |
STOR | | | 1.00 | 1.06 | 1.21 | 1.56 |
PVOL | | 0.87 | 1.00 | 1.15 | 1.30 | |
ACAP | 1.5 | 1.22 | 1.00 | 0.83 | 0.67 | |
PCAP | 1.37 | 1.16 | 1.00 | 0.87 | 0.74 | |
PCON | 1.26 | 1.11 | 1.00 | 0.91 | 0.83 | |
AEXP | 1.23 | 1.10 | 1.00 | 0.88 | 0.80 | |
PEXP | 1.26 | 1.12 | 1.00 | 0.88 | 0.80 | |
LTEX | 1.24 | 1.11 | 1.00 | 0.9 | 0.82 | |
TOOL | 1.20 | 1.10 | 1.00 | 0.88 | 0.75 | |
SITE | 1.24 | 1.10 | 1.00 | 0.92 | 0.85 | 0.79 |
SCED | 1.23 | 1.08 | 1.00 | 1.04 | 1.10 | |
Οι τιμές για τους πολλαπλασιαστές του αρχικού σχεδίου προκύπτουν από τη σύνθεση των παραπάνω πολλαπλασιαστών,
σύμφωνα με τον παρακάτω πίνακα:
Αρχικός | Τελικοί |
RCPX | RELY, DATA, CPLX, DOCU |
RUSE | RUSE |
PDIF | TIME, STOR, PVOL |
PERS | ACAP, PCAP, PCON |
PREX | AEXP, PEXP, LTEX |
FCIL | TOOL, SITE |
SCED | SCED |