Model COCOMO II dapat digunakan untuk memperkirakan usaha dan jadwal untuk seluruh proyek atau untuk sebuah proyek yang terdiri dari beberapa
modul. Ukuran dan peringkat cost driver dapat berbeda untuk setiap modul, dengan pengecualian dari atribut Required Development Schedule SCED dan
faktor skala.
2.4.1.1 Product Factors
Product factors menjelaskan variasi dalam upaya yang diperlukan untuk mengembangkan perangkat lunak yang disebabkan oleh karakteristik produk
dalam pengembangan. Sebuah produk yang kompleks memiliki persyaratan keandalan yang tinggi atau bekerja dengan database yang besar, sehingga akan
membutuhkan usaha yang lebih untuk menyelesaikan produk tersebut. Terdapat lima atribut dalam product factors dan atribut CPLX memiliki pengaruh yang
kuat pada estimasi usaha. 2.4.1.1.1
Required Software Reliability RELY RELY adalah ukuran sejauh mana perangkat lunak harus melakukan fungsi
yang ditujukan selama periode waktu tertentu. Jika efek dari kegagalan perangkat lunak hanya sedikit, hanya berupa ketidaknyamanan maka RELY sangat rendah.
Jika kegagalan perangkat lunak berisiko terhadap kehidupan manusia maka RELY sangat tinggi. Tabel 2.11 memberikan skema penilaian untuk RELY.
Tabel 2.11. RELY Cost Driver
RELY Descriptors :
Slight inconven-
ience Low,
easily recoverable
losses Moderate,
easily recoverable
losses High
financial loss
Risk to human
life
Rating Levels Very
Low Low
Nominal High
Very High
Extra High
Effort Multipliers
0.82 0.92
1.00 1.10
1.26 na
2.4.1.1.2 Database Size DATA
Atribut cost driver ini mencoba untuk menangkap efek persyaratan data uji yang besar terhadap pengembangan produk. Peringkat ditentukan dengan
menghitung DP, rasio byte dalam database pengujian untuk SLOC dalam program. Alasan ukuran database penting untuk dipertimbangkan adalah karena
usaha yang diperlukan untuk menghasilkan data uji yang akan digunakan untuk melaksanakan program. Dengan kata lain, DATA adalah menangkap usaha yang
diperlukan untuk merakit dan memelihara data yang dibutuhkan untuk menyelesaikan tes program melalui IOC seperti yang dapat dilihat pada tabel 2.12.
Tabel 2.12. DATA Cost Driver
DATA Descriptors :
Testing DB bytesPgm
SLOC 10 10 ≤ DP
100 100≤ DP
1000 DP ≥ 1000
Rating Levels
Very Low
Low Nominal
High Very High
Extra High
Effort Multipliers
na 0.90
1.00 1.14
1.28 na
DATA dinilai sebagai rendah jika D P kurang dari 10 dan sebaliknya bernilai sangat tinggi jika lebih besar dari 1000. P diukur dalam baris sumber
setara kode SLOC, yang mungkin melibatkan titik fungsi atau konversi penggunaan kembali.
2.4.1.1.3 Product Complexity CPLX
Kompleksitas dibagi menjadi lima area, yaitu control operation, computational operational, device-dependant operations, data management
operations, dan interface management operations. Ciri untuk masing-masing area dapat dilihat pada tabel 2.13 sampai tabel 2.15, sedangkan rating kompleksitas
dari peringkat area yang dipilih dapat dilihat pada tabel 2.16.
Tabel 2.13. Komponen CPLX Rating Level
Control Operations
Computational Operations
Device- dependant
Operations Data Man.
Operations
User Interface
Man. Operations
Very Low
Straight-line code with a
few non-nested structured
programming operators. Dos,
CASEs, IFTHENELSE
s. Simple module
composition via procedure
calls or simple scripts.
Evaluation of simple
expressions : e.g.,
A=B+CD-E Simple read,
write statements
with simple formats.
Simple arrays in
main memory.
Simple COTS-DB
queries, updates.
Simple input
forms, report
generators.
Low Straightforwar
d nesting of structured
programming operators.
Mostly simple predicates.
Evaluation of moderate-level
expressions : e.g.,
D=SQRTB 2-4.AC
No cognizance
needed of particular
processor or IO device
characteristi cs. IO done
at GETPUT level.
Single file subsetting
with no data
structure changes, no
edits, no intermediat
e files. Moderately
complex COTS-DB
queries, updates.
Use of simple
graphic user
interface GUI
builders.
Tabel 2.14. Komponen CPLX Rating Level Lanjutan
Control Operations
Computational Operations
Device- dependant
Operations Data Man.
Operations
User Interface
Man. Operations
Nominal Mostly simple
nesting. Some intermodule
control. Decision
tables. Simple callbacks or
message passing,
including middleware-
supported distributed
processing. Use of standard
math and statistical
routines. Basic matrixvector
operations. IO
processing includes
device selection,
status checking and
error processing.
Multi-file input and
single file output.
Simple structural
changes, simple
edits. Complex
COTS-DB queries,
updates. Simple use
of widget set
High Highly nested
structured programming
operators with many
compound predicates.
Queue and stack control.
Homogeneous , distributed
processing. Single
processor soft real-time
control. Basic numerical
analysis : multivariate
interpolation, ordinary
differential equations. Basic
truncation, roundoff
concerns. Operations
at physical IO level
physical storage
address translations;
seeks, reads, etc..
Optimized IO overlap.
Simple triggers
activated by data stream
contents. Complex
data restructurin
g. Widget set
developmen t and
extension. Simple
voice IO, multimedia.
Tabel 2.15. Komponen CPLX Rating Level Lanjutan
Control Operations
Computational Operations
Device- dependant
Operations Data Man.
Operations User
Interface Man.
Operations
Very High
Reentrant and recursive
coding. Fixed- priority
interrupt handling.
Task synchronizati
on, complex callbacks,
heterogeneous distributed
processing. Single-
processor hard real-time
control. Difficult but
structured numerical
analysis : near- singular matrix
equations, partial
differential equations.
Simple parallelization.
Routines for
interrupt diagnosis,
servicing, masking.
Communic ation line
handling. Performanc
e-intensive embedded
systems. Distributed
database coordination
. Complex triggers.
Search optimization
. Moderately
complex 2D3D,
dynamic graphics,
multimedia.
Extra High
Multiple resource
scheduling with
dynamically changing
priorities. Microcode-
level control. Distributed
hard real-time control.
Difficult and unstructured
numerical analysis : highly
accurate analysis of
noisy, stochastic data.
Complex parallelization.
Device timing-
dependant coding,
micro- programme
d operations.
Performanc e-critical
embedded systems.
Highly coupled,
dynamic relational
and object structures.
Natural language
data management
. Complex
multimedia, virtual
reality.
Tabel 2.16. CPLX Cost Driver
Rating Levels
Very Low Low Nominal High Very High Extra High
Effort Multipliers 0,73
0,87 1
1,17 1,34
1,74
2.4.1.1.4 Developed for Reusability RUSE
Atribut cost driver ini menghitung upaya tambahan yang diperlukan untuk membangun komponen yang dapat digunakan kembali pada proyek-proyek saat
ini atau masa depan. Upaya ini dilakukan dengan menciptakan desain software yang lebih generik, dokumentasi yang lebih rumit , dan pengujian yang lebih luas
untuk memastikan komponen siap untuk digunakan dalam aplikasi lain. Nilai rating RUSE dapat dilihat pada tabel 2.17.
Tabel 2.17. RUSE Cost Driver
RUSE Descriptors
none across
project across
program across
product line
across multiple
product lines Rating
Levels Very
Low Low
Nominal High
Very High Extra High
Effort Multipliers
na 0,95
1,00 1,07
1,15 1,24
Pengembangan usabilitas ini berpengaruh pada atribut RELY dan DOCU. Atribut RELY harus paling banyak satu tingkat di bawah rating RUSE, sedangkan
rating DOCU setidaknya harus berada pada rating Nominal dengan rating Nominal High untuk RUSE, atau berada pada rating High dengan rating Very
High dan Extra High untuk RUSE. 2.4.1.1.5
Documentation Match to Life-Cycle Needs DOCU Beberapa model biaya perangkat lunak memiliki cost driver untuk tingkat
dokumentasi yang diperlukan. Dalam COCOMO II, skala rating untuk cost driver DOCU dievaluasi dalam hal kesesuaian dokumentasi proyek untuk kebutuhan
siklus hidupnya. Skala rating mulai dari Sangat Rendah banyak siklus hidup
perlu terbuka hingga Sangat Tinggi sangat berlebihan untuk kebutuhan siklus hidup dapat dilihat Tabel 2.18.
Tabel 2.18. DOCU Cost Driver
DOCU Descriptors
many life cycle
needs uncovered
some life cycle
needs uncovered
right- sized to
life cycle needs
excessive for life
cycle needs
very excessive
for life cycle
needs
Rating Levels
Very Low Low
Nominal High
Very High
Extra High
Effort Multipliers
0,81 0,91
1,00 1,11
1,23 na
Mencoba untuk menghemat biaya melalui tingkat dokumentasi Sangat Rendah atau Rendah umumnya akan dikenakan biaya tambahan selama proses
pemeliharaan siklus hidup proyek.
2.4.1.2 Platform Factors