Anda di halaman 1dari 63

Software Metric

• Testing & Implementasi


Pertemuan 8

• Elkin Rilvani
elkin.rilvani@pelitabangsa.ac.id
Metric
• Sebuah pengukuran yang memberikan mekanisme untuk evaluasi sebuah obyek

• Yang direalisasikan dalam bentuk perhitungan


Software Metric
• Pengukuran beberapa aspek produk software dengan cara software process

Software Proses (kadang-kadang disebut model Software


Development Life Cycle atau SDLC) adalah representasi sederhana
dari proses perangkat lunak. Setiap model proses mewakili sebuah
proses dari perspektif tertentu dan dengan demikian hanya
memberikan informasi parsial tentang proses itu.
Penyebab Dibutuhkan Software Metric

• Output biaya yang berlebihan


• Produktifitas yang rendah (waktu) Biasanya dilakukan oleh
• Kualitas yang buruk developer
• Kurangnya standar
Penyebab Dibutuhkan Software Metric

• Penetapan target yang terukur


• Mengukur biaya dalam proyek Biasanya dilakukan oleh
• Mengukur kualitas Customer
• Tepat dalam mengevaluasi alat dan teknik baru
Type of Metric
• Size-Oriented Metrics
• Function-Oriented Metrics
• Technical Metrics
• Human-Oriented Metrics
• Quality Metrics
Size-Oriented Metrics
• Dibangun dari pengalaman masa lalu organisasi
• Pengukuran langsung Software
• Pada umumnya berdasarkan dari :
➢ Line of the code or
➢ Source line of code
Size-Oriented Metrics

• Size of a product = Kilo Lines Of Codes (KLOC)


Generally..SOM
• Productivity = KLOC / Person-Mount
• Ket : One person mount adalah jumlah pekerjaan yang diselesaikan oleh satu
orang dalam satu bulan jika mereka bekerja penuh waktu.

• Quality =number of faults / KLOC

• Cost = $/KLOC

• Documentation = Pages of Documentation / KLOC


Perhitungan..SOM
• Perhitung standar
➢ Standar yang paling sederhana :
✓ Don't count blank lines
✓ Don't count comment
✓ Count everything else
Advantages on Line of Code
• Item yang dikembangkan yaitu perangkat lunak yang mudah dihitung

• Banyak metode yang ada menggunakan LOC sebagai pentunjuk input

• Sebagian besar literatur dan database LOC sudah ada


Disvantages on Line of Code
• Tergantung dari Bahasa pemrograman
• Program yang dirancang dengan baik, namun lebih pendek, akan dikenakan
sanksi
• Tidak mudah menampung bahasa non-procedural
• Reuse can be difficult to factor in
• Sulit mengembangkan hal baru pada LOC sejak awal perkembangannya.
Function-Oriented Metrics
• Berkonsentrasi pada pengukuran fungsionalitas sistem

• Umumnya tidak tergantung pada bahasa pemrograman yang digunakan


Function Point
&
Feature Point
Continue.. Function-Oriented
• Function points dapat dihitung dengan menggunakan

➢ Domain persyaratan perangkat lunak menjadi ukuran untuk perhitungannya


➢ Penilaian dari kompleksitas software
Calculating count total FP
• The unadjusted function point count (UFP) mencerminkan fungsi spesifik yang
dapat dihitung yang diberikan kepada pengguna oleh proyek atau aplikasi.
• Perhitungan UFP dibagi menjadi dua kategori dengan lima subkategori:
• Data Functions :
➢ Internal Logical Files (ILF)
➢ External Interface Files (EIF)
• Transactional Functions :
➢ External Inputs (EI)
➢ External Outputs (EO)
➢ External Inquiries (EQ)
Count Data Functions
• Fungsi data mewakili fungsi yang diberikan kepada pengguna untuk memenuhi
persyaratan data internal dan eksternal
• Fungsi data adalah internal logical files or external interface files.
File logis internal (Internal Logical File / ILF)
• File logis internal (Internal Logical File / ILF) adalah kelompok pengguna
informasi data atau informasi yang dapat diidentifikasi secara logis yang
tersimpan dalam aplikasi
File antarmuka eksternal (External Interface File /
EIF)
• File antarmuka eksternal (External Interface File / EIF) adalah kelompok
pengguna data atau informasi kontrol yang dapat diidentifikasi yang dengan
acuan pada aplikasi, namun dipelihara dalam batas aplikasi lain.
Count Data Functions
• Tetapkan masing-masing identifikasi ILF dan EIF kompleksitas fungsional
berdasarkan jumlah Tipe Elemen Data (DETs) dan Tipe Elemen Rekaman (RETs)
yang terkait dengan ILF atau EIF
Count Data Functions…
Count Data Functions…
Count Transactional Functions
• Fungsi transaksional mewakili fungsi yang diberikan kepada pengguna untuk
memproses data
• Fungsi transaksional adalah external inputs, external outputs, or external
inquiries
External Input (EI)
• An External Input (EI) Setiap masukan eksternal berasal dari pengguna atau
dikirim dari aplikasi lain dan menyediakan data berorientasi objek atau informasi
kontrol yang berbeda.
External Output (EO)
• An External Output (EO) Setiap keluaran eksternal berasal data dalam aplikasi
yang memberikan informasi kepada pengguna. Dalam konteks ini output
eksternal mengacu pada laporan, layar, pesan kesalahan, dan sejenisnya. Item
data individual dalam laporan tidak dihitung secara terpisah.
External Inquiry (EQ)
• An External Inquiry (EQ) didefinisikan sebagai masukan online yang
menghasilkan beberapa tanggapan perangkat lunak langsung dalam bentuk
keluaran online
Count Transactional Functions
• Tetapkan masing-masing EI, EO, dan EQ yang diidentifikasi sebagai kompleksitas
fungsional berdasarkan jumlah Jenis File Yang Dirujuk  File Types Referenced
(FTR) dan Tipe Elemen Data (DETs)
Determine the Value Adjustment Factor (Penentuan Nilai
Faktor Penyesuaian)
• Nilai Faktor Penyesuaian/ Value Adjustment Factor (VAF) menunjukkan
fungsionalitas umum yang diberikan kepada pengguna aplikasi.
• VAF terdiri dari 14 karakteristik sistem umum/general system characteristics
(GSC) yang menilai fungsionalitas umum aplikasi.
• Setiap karakteristik memiliki deskripsi terkait yang membantu menentukan
tingkat pengaruh karakteristik
• Tingkat pengaruh berkisar pada skala nol sampai lima, tidak berpengaruh
terhadap pengaruh kuat
14 GSC Questions
1. Apakah sistem memerlukan backup and recovery yang handal ?
2. Apakah komunikasi data dibutuhkan?
3. Apakah ada fungsi pemrosesan terdistribusi?
4. Apakah kinerja penting ?
5. Akankah sistem berjalan di lingkungan operasi yang ada dan banyak
dimanfaatkan ?
6. Apakah sistem memerlukan entri data on-line?
7. Apakah entri data online memerlukan masukan transaksi yang akan dibangun
di beberapa layar atau operasi?
14 GSC Questions
8. Apakah file master diperbarui secara online?
9. Apakah input, output atau pernyataan file komples ?
10. Apakah pengolahan internal kompleks ?
11. Apakah kode yang dirancang untuk digunakan kembali ?
12. Apakah konversi dan instalasi termasuk dalam desain?
13. Apakah sistem yang dirancang untuk beberapa instalasi di berbagai
organisasi ?
14. Apakah aplikasi yang dirancang untuk memudahkan perubahan dan
kemudahan penggunaan oleh user ?
Calculating GSC Questions
• Untuk mengitung GSC Questions
• Masing-masing tingkatan factor telah dijelaskan, dan skala penilainya sebagai
berikut :
➢ 0 - Tidak ada pengaruh
➢ 1 - Kebetulan
➢ 2 - Cukup
➢ 3 - Menegah
➢ 4 - Penting
➢ 5 - Perlu sekali
Exemples GSC
Prosedur untuk Menentukan VAF
• Evaluasi masing-masing dari 14 GSC pada skala nol sampai lima untuk mengetahui, tingkat
pengaruh/ the degree of influence (DI)
• Tambahkan derajat pengaruh untuk semua 14 karakteristik sistem umum untuk
menghasilkan, tingkat pengaruh total/ total degree of influence (TDI)
• Masukkan TDI ke dalam persamaan berikut untuk menghasilkan VAF.
VAF = (TDI * 0,01) + 0,65

• Misalnya, VAF berikut dihitung jika ada tiga tingkat pengaruh untuk masing-masing dari 14
deskripsi GSC (3 * 14)
• VAF = (42 * 0,01) + 0,65
• VAF = 1,07
Perhitungan Function Point
• Perhitungan Function Point yang disesuaikan dengan hitung menggunakan
rumus khusus untuk pengembangan proyek, peningkatan proyek, atau
penerapan (system baseline/basis sistem) hitungan Function Point
Development Project Function Point
Calculation
• Perhitungan Fungsi Pengembangan Proyek terdiri dari tiga komponen
fungsionalitas:
➢ Fungsi aplikasi termasuk dalam persyaratan pengguna untuk proyek
➢ Fungsi konversi disertakan dalam persyaratan pengguna untuk proyek
➢ Faktor penyesuaian nilai aplikasi
Development Project Function Point
Calculation
• Rumus Fungsi Pengembangan Proyek
DFP = (UFP + CFP) * VAF
• DFP adalah tahap Fungsi Pengembangan Proyek / Development Project
Function poin yang dihitung
• UFP adalah fungsi yang tidak disesuaikan untuk fungsi yang akan tersedia
setelah instalasi
• CFP adalah Function Point yang tidak disesuaikan ditambah dengan hitungan
Function Point konversi yang tidak disesuaikan
• VAF adalah faktor penyesuaian nilai
Development Project Function Point Count
Example
Testing & Implementasi Pertemuan 9

Elkin Rilvani elkin.rilvani@pelitabangsa.ac.id


Background-Function Points
• Albrecht menghasilkan metrik Function Point (FP) pada tahun 1979
• FP menggunakan lima parameter
➢ number of inputs
➢ number of outputs
➢ number of inquiries
➢ number of internal logical files
➢ number of external logical files
• FP didasarkan pada jumlah interaksi dan ukuran data yang akan
digunakan pada produk akhir
• Menghilangkan kebutuhan akan baris kode atau petunjuk sumber yang
disampaikan

43
Background-Function Points (Cont.)
• Banyak digunakan karena independence pada platform pengembangan
dan lingkungan
• Tidak berlaku untuk produk perangkat lunak yang dikembangkan dengan
menggunakan metodologi object-oriented
• Gagasan tentang file logis internal dan eksternal lebih sulit diidentifikasi
dalam paradigma berorientasi objek.
• Tidak berlaku untuk pengembangan perangkat lunak dengan
menggunakan siklus pengembangan yang lebih pendek
• Sulit untuk menerapkan dan menghitung function points ke perangkat lunak
semacam itu

44
Background-Use Case Point
• Gustav Karner came up with the notion of Use Case Point (UCP) in
1993
• Memperkirakan upaya pengembangan perangkat lunak pada tahap awal
perangkat lunak
• Pada umumnya menantang-tidak ada format standar untuk
menggambarkan kasus penggunaan
• Metode UCP menyesuaikan use case poin berdasarkan sejumlah faktor
teknis dan lingkungan
➢ Faktor teknis terkait dengan persyaratan non-fungsional pada sistem
➢ Faktor lingkungan mencirikan tim pengembangan dan lingkungannya

45
Use Case Point Estimation Method
• UCP diukur dengan menghitung jumlah aktor dan transaksi yang
termasuk dalam model use case yang mendefinisikan cakupan
fungsional proyek yang akan dikembangkan.
➢ Transaksi adalah peristiwa yang terjadi antara aktor dan sistem target
➢ Acara yang dilakukan seluruhnya atau tidak sama sekali
• Use case model terutama terdiri dari dua dokumen, sistem atau
subsistem dokumen dan use case documents
➢ Nama sistem, faktor risiko, diagram use case tingkat sistem, diagram arsitektur,
deskripsi subsistem, use case name, deskripsi singkat, diagram konteks,
prasyarat, arus kejadian, kondisi pasca, diagram use case subordinat dll.

46
Use Case Point Estimation Method (Cont.)
• Unsur utama untuk menghitung UCP
➢ Diagram use case tingkat sistem
✓ Satu atau lebih diagram use case yang menunjukkan semua kasus penggunaan dan aktor dalam
sistem
➢ Flow of events
✓ Bagian untuk jalur normal dan setiap jalur alternatif pada setiap use case

47
Actor Complexity

Seconday Actor,
Passive Actor,
Nonhuman
Actor,
Supporting
Actor, (Bagian
System)
Actor Complexity

Seconday Actor,
Passive Actor,
Supporting Actor,
(External
System)
Actor Complexity

Primary
Actor,
Active
Actor,
Human
Actor
Unadjusted Actor Weight (UAW)

Actor Type Weight Number Of Actor Product


Simple 1
Average 2
Complex 3
Total ?

Calculating Unadjusted Actor Weight  UAW


Use Case Weighting Tables
Use-Case Type Description Weighting Factor
Simple 1-3 transactions 5
Average 4-7 transactions 10
Complex More than 7 transactions 15

• Unadjusted Use Case Weighting (UUCW)


Calculating Come From
Use-Case Type Description Weighting Factor
Simple 1-3 transactions 5
Average 4-7 transactions 10
Complex More than 7 transactions 15

Use Case Descripton


Part Actor
Calculating Come From
Use-Case Type Description Weighting Factor
Simple 1-3 transactions 5
Average 4-7 transactions 10
Complex More than 7 transactions 15

Calculating
Part Actor Arrow
Unadjusted Use Case Weighting (UUCW)
Use-Case Type Description Weighting Factor
Simple 1-3 transactions 5
Average 4-7 transactions 10
Complex More than 7 transactions 15

Use Case Weight Number Of Use cases Product


Weighting
Simple 5
Average 10
Complex 15
Total ?

Calculating Unadjusted Use Case Weighting  UUCW


Unadjusted Use Case Points (UUCP)
Actor Type Weight Number Of Actor Product
Simple 1
Average 2
Complex 3
Total ?

Use Case Weight Number Of Use cases Product


Weighting
Simple 5
Average 10
Complex 15
Total ?

Calculating Unadjusted Use Case Points (UUCP) = UAW + UUCW


Technical Complexity Factors (TCP)
Factor Description Weight
Number
T1 Distributed system 2.0
T2 Response time or throughput performance objectives 1.0
T3 End-user online efficiency 1.0
T4 Complex internal processing 1.0
T5 Reusability of code 1.0
T6 Easy to install 0.5
T7 Ease of use 0.5
T8 Portability 2.0
T9 Ease of change 1.0

Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor)


Calculating Technical Complexity Factors
Description Weight Assessment Impact • Rating :
Distributed system 2.0
➢ 0 Not present, or no influence
Response time or throughput 1.0
➢ 1 Incidental influence
performance objectives
➢ 2 Moderate influence
End-user online efficiency 1.0
➢ 3 Average influence
Complex internal processing 1.0
➢ 4 Significant influence
Reusability of code 1.0
➢ 5 Strong influence throughout
Easy to install 0.5
Ease of use 0.5
Portability 2.0
Ease of change 1.0
Total (Tfactor) ?

Technical Complexity Factor (TCF) = 0.6 + (0.01 * TFactor)


Environmental Factors (EF)
Factor Description Weight
Number
E1 Familiarity with system development process in use 1.5
E2 Application experience 0.5
E3 Object-oriented experience 1.0
E4 Lead analyst capability 0.5
E5 Motivation 1.0
E6 Requirements stability 2.0
E7 Part time staff -1.0
E8 Difficulty of programming language -1.0

Environmental Factor (EF) = 1.4 + (-0.03 * EFactor)


Calculating Environmental Factors (EF)
Description Weight Assessment Impact • Rating :
➢ 0 None
Familiarity with system development process 1.5
➢ 1 20%
in use
➢ 2 40%
Application experience 0.5
➢ 3 60%
Object-oriented experience 1.0
➢ 4 80%
Lead analyst capability 0.5
➢ 5 100%
Motivation 1.0
Requirements stability 2.0
Part time staff -1.0
Difficulty of programming language -1.0
Total (EFactor) ?

Environmental Factor (EF) = 1.4 + (-0.03 * EFactor)


Person-Hours Multiplier
Jumlahkan E1 s/d E6 yang > 3 + E7 & E8 yang < 3

Jika Jumlahnya :
≤ 2 Maka 1 UCP = 20 Jam
3 – 4 Maka 1 UCP = 28 Jam
> 4 tunda project (banyak masalah)

Deriving Duration From UCP


Computing Use-Case Points
• Adjusted Use Case Points (UCP) =
UUCP * TCF * ECF

• Effort in Person Hours =


UCP * PHM

Anda mungkin juga menyukai