Chapter 23 Product Metrics
Chapter 23 Product Metrics
Chapter 23
Product
Metrics
Why is it important?
If you dont measure,
judgement can be based only
on subjective evaluation. With
measurement, trends (either
good or bad) can be spotted,
better estimates can be made,
and true improvement can be
accomplished over time.
Portability
Reusability
Interoperability
PRODUCT TRANSITION
PRODUCT OPERATION
Correctness
Usability
Efficiency
Integrity
Reliability
10
Faktor Kualitas
12
14
15
Sebagai contoh,
Empat tim perangkat lunak bekerja pada sebuah proyek
software besar.
Setiap tim harus melakukan review (tinjauan) terhadap desain,
dan diperbolehkan untuk memilih jenis review yang akan
digunakan.
Setelah selesai pemeriksaan, kesalahan yang ditemukan oleh
masing-masing tim (dalam besaran per orang-jam) dilaporkan,
Proyek manajer mencatat bahwa dua tim yang menggunakan
metode pengamatan yang formal menemukan kesalahan 40
persen lebih tinggi dari tim lain (yang tidak menggunakan
metoda formal).
18
19
20
Measurement Process
Proses untuk mengkur perangkat lunak adalah sbb:
Derivasi pengukur metrik dan perangkat lunak yang tepat
untuk merepresentasikan perangkat lunak yang sedang diperhatikan.
Collection. Mekanisme yang digunakan untuk mengumpulkan data yang
dibutuhkan untuk menderivasi rumus metrik.
Analysis. Perhitungan metrik dan penerapan tools matematika.
Interpretation. Evaluasi hasil metrik dalam upaya untuk mendapatkan
gambaran lengkap tentang kualitas yang direpresentasikannya.
Feedback. Rekomendasi berbasis pada interpretasi terhadap metrik
produk dikirim ke tim perangkat lunak.
Formulation.
21
23
24
25
The function point metric (FP), pertama kali diperkenalkan oleh Albrecht
[ALB79], dapat efektif digunakan sebagai alat untuk mengukur
fungsionalitas yang ditawarkan oleh sistem.
Function-points diderivasi dengan menggunakan hubungan empiris
berdasarkan pengukuran yang dihitung langsung domain informasi
perangkat lunak dan penilaian terhadap kompleksitas perangkat lunak
Nilai domain Informasi domain didefinisikan berdasar:
number of external inputs (EIs)
number of external outputs (EOs)
number of external inquiries (EQs)
number of internal logical files (ILFs)
Number of external interface files (EIFs)
26
Function-Oriented Metrics
Function points are computed [IFP94] by completing the table shown in Figure
4.5. Five information domain characteristics are determined and counts are
provided in the appropriate table location. Information domain values are
defined in the following manner:
Number of external inputs: Dilakukan penghitungan terhadap setiap input
yang berbeda dari para pengguna yang memberikan data yang berorientasi
pada aplikasi yang berbeda ke perangkat lunak. Input harus dibedakan dari
inkuiri, yang akan dihitung secara terpisah.
Number of external outputs: Dilakukan penghitungan terhadap output para
pengguna yang memberikan informasi yang berorientasi pada aplikasi
terhadap user. Dalam hal ini, yang disebut output adalah reports, screens,
error messages, etc. Item data individual dalam laporan juga ikut dihitung.
Number of external inquiries: Inquiry didefinisikan sebagai input on-line yang
membangkitkan beberapa respon perangkat lunak yang langsung dalam
bentuk sebuah output yang on-line juga. Semua inquiry yang berbeda ikut
diperhitungkan.
Number of internal logical files: Dihitung semua master file yang ada (i.e., a
logical grouping of data that may be one part of a large database or a
separate file).
Number of external interface files: Dilakukan penghitungan terhadap semua
antarmuka mesin yang dapat dibaca (misalnya, file data pada media
penyimpanan) yang digunakan untuk mengirimkan informasi ke sistem.
27
Function Points
X
X
X
X
28
30
31
32
Size
Size is defined in terms of
four views: population,
volume, length, and
functionality
Complexity
How classes of an OO
design are interrelated to
one another
Coupling
The physical connections
between elements of the
33
Sufficiency
the degree to which an
abstraction possesses the
features required of it, or the
degree to which a design
component possesses features
in its abstraction, from the point
of view of the current
application.
Completeness
An indirect implication about
the degree to which the
abstraction or design
component can be reused
1.
2.
3.
4.
5.
6.
36
37
class size
number of operations overridden by a subclass
number of operations added by a subclass
specialization index
Ukuran kelas
Jumlah operasi yang digantikan oleh subclass
Jumlah operasi yang ditambahkan oleh subclass
Indeks spesialisasi
38
39
40
Layout appropriateness:
a function of layout entities,
the geographic position and
the cost of making
transitions among entities
41
a comprehensive collection of
metrics all predicated on the
number (count and occurrence) of
operators and operands within a
component or program
44
Soal 23.3
Jawab:
Eis = 10; Eos = 20; Eqs = 25; ILFs = 4, EIFs = 4
Average 4
5
4
10
7
Ctotal = 40 + 100 + 100 + 40 + 28 = 308
FP = Ctotal x [0.65 + 0.01 x (Fi)]
Soal 23.4
nf = 24
nnf = 14
nr = nf + nnf = 38
Q1 = nui/nr
Q2 = nu / (ni x ns)
Q3 = nc / (nc + nv)
48
A major information system has 1140 modules. There are 96 modules that
perform control and coordination functions and 490 modules whose
function depends on prior processing. The system process approximately
220 data objects that each has an average of three attributes. There are
140 unique database items and 90 different database segments. Finally
600 modules have single entry and exit points. Compute the DSQI for the
system.
S1 = 1140, S2 = 1140 96 = 1044, S3 = 490,
D2 = 1 S2/S1 = 0.085
D3 = 1 S3/S1 = 0.570
D4 = 1 S5/S4 = 0.788
D5 = 1 - S6/S4 = 0.864
D6 = 1 S7/S1 = 0.474
220 data object that each has an average of three attributes. There are
49
Soal 23.6
Soal 23.8
Mt = 950
Fc = 90
Fa = 50
Fd = 10