Perancangan Perangkat Lunak

dokumen-dokumen yang mirip
KUALITAS PERANGKAT LUNAK. Ni Wayan Sumartini Saraswati

Kualitas Perangkat Lunak. Dasar Rekayasa Perangkat Lunak

PENDAHULUAN TINJAUAN PUSTAKA

14. PENGUJIAN PERANGKAT LUNAK Dasar-dasar Pengujian 14.2 Teknik Pengujian 14.3 Strategi Pengujian dan V&V

Manajemen kualitas proyek (Project Quality Management)

Pengukuran Perangkat Lunak. Pengantar

KONSEP MANAJEMEN PROYEK

PERHITUNGAN KOMPLEKSITAS FUNCTION POINT UNTUK SUATU WEB

PENGUKURAN PERANGKAT LUNAK

Chapter 3 Software Quality Factors

PENGEMBANGAN DAN ANALISIS KUALITAS SISTEM INFORMASI RAPAT BERBASIS WEB MENGGUNAKAN SMS GATEWAY DI SMK YPKK 1 SLEMAN

MANAJEMEN PROYEK PERANGKAT LUNAK PROYEK Proyek adalah suatu kegiatan mengkoordinasikan segala sesuatu dengan menggunakan perpaduan sumber daya

Perbedaan pengembangan software dengan pengembangan sistem informasi

BAB I 1. PENDAHULUAN. dan efektifitas kerja. Perkembangan teknologi internet, sebagai contoh,

BAB 1. PENDAHULUAN. 1.1 Latar Belakang

TESTING & IMPLEMENTASI SISTEM 4KA. Mengukur Produktivitas Perangkat Lunak. helen.staff.gunadarma.ac.id

ANALISA & PERANCANGAN SISTEM

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

Unadjusted Function Points - UFP

BAB II LANDASAN TEORI. digunakan untuk memodelkan kebutuhan data dari suatu organisasi,

Manajemen Proyek Perangkat Lunak Disiapkan oleh: Umi Proboyekti, S.Kom, MLIS

PROSES PERANGKAT LUNAK & METRIK PROYEK

BAB 4 PROSES PERANGKAT LUNAK & METRIK PROYEK

KONSEP MANAJEMEN PROYEK

URGENSI MAINTAINABILITY DALAM PENGEMBANGAN/PENERAPAN SISTEM INFORMASI

Evaluasi Penerapan ERP pada Sistem Informasi Penjualan Properti berdasarkan ISO 9126

3/17/16 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta

A. Tujuan dan Ruang Lingkup Proyek Perancangan Rekayasa Perangkat Lunak

Testing dan Implementasi Sistem

Pengukuran Software: Function Point

TUGAS UJIAN INDIVIDU MATA KULIAH SISTEM INFORMASI MANAJEMEN

BAB V PENUTUP 5.1 Kesimpulan dan Rekomendasi usability

BAB I PENDAHULUAN 1.1 Latar Belakang

PERTEMUAN 13 STRATEGI PENGUJIAN PERANGKAT LUNAK

BAB 5 FAKTOR PENGUJIAN

URGENSI MAINTAINABILITY DALAM SISTEM INFORMASI. Oleh : Jauhar Samudera Nayantakaningtyas (P ) Angkatan R50

ANALISA PENGEMBANGAN MODEL KUALITAS BERSTRUKTUR HIRARKI DENGAN KUSTOMISASI ISO 9126 UNTUK EVALUASI APLIKASI PERANGKAT LUNAK B2B

PENGEMBANGAN DAN ANALISIS SISTEM INFORMASI DIKLAT BERBASIS TEKNOLOGI INFORMASI DI PPPPTK SENI DAN BUDAYA YOGYAKARTA

ANALISIS DAN PERANCANGAN SISTEM (APS) Konsep Perancangan

Design Engineering. Tim RPL. Program Studi Teknik Informatika

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

PENENTUAN KOMPONEN COTS MENGGUNAKAN METODE FUNCTION FIT ANALYSIS DALAM MANAJEMEN PROYEK PENGEMBANGAN SISTEM INFORMASI SUMBER DAYA MANUSIA

Manajemen Kualitas TI

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

Life Cycle Testing Approach

TINJAUAN PUSTAKA. Pengujian adalah proses eksekusi program untuk menemukan kesalahan.

Konsep Perancangan Perangkat Lunak

PENTINGNYA PEMELIHARAAN SOFTWARE

BAB III ANALISA DAN PERANCANGAN SISTEM

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

BAB 4 METODOLOGI PEMECAHAN MASALAH

Munir, Dr. M.IT : Pengembangan Proyek Sistem 133

: Sistem Informasi Manajemen. : Dr. Ir.Arif Imam Suroso, M.Sc (CS) TUGAS INDIVIDU UJIAN AKHIR TRIWULAN. Disusun Oleh: RIRIN PRILIA P

Rekayasa Perangkat Lunak (Software Engineering)

Pemodelan Berorientasi Objek

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

THE SOFTWARE PROCESS

BAB 1 PENDAHULUAN. diantaranya kompleksitas, ukuran, keandalan, kualitas, waktu, usaha, biaya,

5 Perancangan Perangkat Lunak

Rekayasa Perangkat Lunak TI1153

Testing is the exposure of a system to trial input to see wheter it produces corect output Adalah proses eksekusi suatu program dengan maksud

BAB I. moderen. Banyak keputusan strategi yang bergantung kepada informasi. penting dalam suatu instasni sebagai media informasi.

Pengukuran Perangkat Lunak

Mengukur Atribut Produk Internal: UKURAN

STRATEGI PENGUJIAN PERANGKAT LUNAK

Mengukur Tingkat Reusability dan Efficiency dari Kode Program dengan Pendekatan Fuzzy Logic

BAB 3 Analisa dan Perancangan Sistem

Metrik Proses dan Proyek Perangkat Lunak KARMILASARI

SOFTWARE QUALITY ASSURANCE

SOFTWARE QUALITY ASSURANCE

Nama : Rendi Setiawan Nim :

URGENSI MAINTENANCE DALAM PENGEMBANGAN SOFTWARE SYSTEM

Pengenalan Obyek. Arna Fariza. Materi

P10 Konsep & Prinsip Desain. A. Sidiq P.

LAMPIRAN A KERANGKA DOKUMEN ANALISIS

IDENTIFIKASI ATRIBUT KUALITAS APLIKASI UJIAN ONLINE STMIK PALCOMTECH BERDASARKAN ISO 9126

Object Oriented Analysis (OOA) dan Object Oriented Design (OOD)

BAB 1 ASUMSI PERANAN PENGANALISIS SISTEM

Strategi Pengujian Perangkat Lunak

BAB 3 METODOLOGI PENELITIAN

ANALISIS PT POS INDONESIA System Development and Implementation

and Development). R&D merupakan metode penelitan yang digunakan untuk

Pengujian Perangkat Lunak

Testing dan Implementasi Sistem Informasi

COCOMO. Constructive Cost Model

PENGUJIAN PERANGKAT LUNAK

Requirement Elicitation

PENGUJIAN PERANGKAT LUNAK. Muhammad Riza Hilmi, ST.

BAB 1 PENDAHULUAN. Secara umum, diketahui bahwa dalam suatu siklus pengembaangan perangkat lunak selalu terdapat empat proses utama, yaitu :

Citra Noviyasari, S.Si, MT SI - UNIKOM

TEKNIK DOKUMENTASI APLIKASI 12.1 STIKOM SURABAYA. PENGEMBANGAN DOKUMENTASI APLIKASI Pertemuan 2

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

Analisis dan Perancangan Sistem Hanif Al Fatta M.kom

PENGUJIAN PERANGKAT LUNAK

PENGUKURAN KUALITAS PERANGKAT LUNAK SISTEM MANAJEMEN PELAPORAN KEGIATAN BERBASIS WEB PERINGATAN BERBASIS

Tujuan 04/07/ :01


PENGEMBANGAN PERANGKAT LUNAK. Setia Wirawan

BAB 3 METODOLOGI PENELITIAN

Perencanaan Proyek Perancangan Perangkat Lunak

Transkripsi:

Perancangan Perangkat Lunak Pengukuran Kualitas Perangkat Lunak (Software Metric) Avinanta Tarigan Universitas Gunadarma 1 Avinanta Tarigan Perancangan Perangkat Lunak

Outline 1 Problem 2 Metode Kualitatif 3 Metode Kuantitatif 2 Avinanta Tarigan Perancangan Perangkat Lunak

Problem Perbedaan Cara Pandang I a function of how much it changes the world for the better (DeMarco) McConnell s karakteristik kualitas internal and external: external : bagian yang langsung berhadapan dg pengguna, internal : yang tidak langsung berhadapan dg pengguna. fitness for purpose (Juran) zero defects (Crosby) the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs (ISO) the degree to which the attributes of the software enable it to perform its intended end use (DoD) Programmer: sulit untuk meyakinkan bahwa kode mereka tdk sesuai dg kebutuhan user 3 Avinanta Tarigan Perancangan Perangkat Lunak

Problem Perbedaan Cara Pandang II Business Analyst: fungsionalitas & spesifikasi teknis adalah segalanya Project Manager: budget dan deadlines End-User:?????? 4 Avinanta Tarigan Perancangan Perangkat Lunak

Problem Problem Pada Pengukuran Tidak didasari pada hukum kuantitas fisika Pengukuran tidak langsung: masih dalam perdebatan Beberapa berpendapat: kualitas PL tidak dapat diukur Multidimensional Beberapa standard menggunakan pengukuran kualitatif yang subyektif dan membutuhkan pengalaman penilai dalam pengembangan perangkat lunak 5 Avinanta Tarigan Perancangan Perangkat Lunak

Lha terus? Problem Q: Jika pengukuran tidak absolut mengapa harus dipelajari? A: Gunanya: berisi cara-cara sistematik dalam menilai kualitas PL untuk digunakan sebagai pegangan dalam pengembangan PL kesadaran atas cara-cara tersebut akan mempengaruhi cara pengembang dalam mengembangkan PL 6 Avinanta Tarigan Perancangan Perangkat Lunak

Model Hirarki I Metode Kualitatif Dikembangkan pada tahun 70-an dimana gaya tersentralisasi mainframe sdg jaya-jayanya Dua model hirarki : Boehm (1978) and McCall (1977) 7 Avinanta Tarigan Perancangan Perangkat Lunak

Model Hirarki II Metode Kualitatif Ide dasar model hirarki Fokus penilaian ada pada produk PL final Karakteristik pada abstraksi / level yang tinggi Faktor kualitas terlalu tinggi / tidak langsung (indirect) sehingga harus dipecah menjadi beberapa kriteria yang lebih rendah dan semakin bisa diukur Kriteria2 tersebut dipecah lagi menjadi beberapa penilaian dengan ruang lingkup yang lebih kecil (metrik) 8 Avinanta Tarigan Perancangan Perangkat Lunak

Metode Kualitatif Faktor Kualitas McCall I McCall, Richards, Walters: Kategorisasi faktor kualitas dan karakteristik Problem: tidak mudah dalam penilaian tsb 9 Avinanta Tarigan Perancangan Perangkat Lunak

Metode Kualitatif Faktor Kualitas McCall II Perbandingan McCall dengan yang lain : 41 metrics 23 criteria quality factors. 10 Avinanta Tarigan Perancangan Perangkat Lunak

Metode Kualitatif Faktor Kualitas McCall III menggunakan checklist apakah kondisi yang dipertanyakan ada dalam requirement (R), design (D), atau implementasi (I). dijawab dengan ya (bernilai 1) atau tidak (bernilai 0). contoh dalam kriteria completeness faktor correctness. 1 unambiguous references (input, function, output) [R,D,I]; 2 all data references defined, computed, or obtained from external source [R,D,I]; 3 all defined functions used [R,D,I]; 4 all referenced functions defined [R,D,I]; 5 all conditions and processing defined for each decision point [R,D,I]; 6 all defined and referenced calling sequence parameters agreed [R,D,I]; 11 Avinanta Tarigan Perancangan Perangkat Lunak

Metode Kualitatif Faktor Kualitas McCall IV 7 all problem reports resolved [R,D,I]; 8 design agrees with requirements [D]; 9 code agrees with design [I]. Menghitung metrik completeness : ( 1 Number Yes for R 3 Number Yes for D + + 7 8 Number Yes for I 8 ) 12 Avinanta Tarigan Perancangan Perangkat Lunak

Metode Kualitatif Faktor Kualitas ISO 9126 I Derivatif dari McCall Manifestasi dari TOTALITAS fitur PL thd kebutuhan pengguna (requirement) Functionality suitability, accuracy, interoperability, compliance, security Reliability Usability Efficiency maturity, fault-tolerance, recoverability understandability, learnibility, operability time behavior, resource behavior Maintainability 13 Avinanta Tarigan Perancangan Perangkat Lunak

Metode Kualitatif Faktor Kualitas ISO 9126 II analyzability, changeability, stability, testability Portability adaptability, instalability, conformance, replaceability 14 Avinanta Tarigan Perancangan Perangkat Lunak

Problem Pengukuran Kualitatif I Pengukuran Kualitas: diukur dg obyek pembanding yang ada dalam kesamaan kondisi dan konsep yang telah didefinisikan sebelumnya Subyektif, harus dilakukan oleh yang benar2 expert, punya pengalaman banyak, dan netral Pengukuran tidak langsung: manifestasi kualitas PL bukan kualitas PL yang sesungguhnya Konflik: Integrity vs efficiency : control of access requires additional code and processing Usability vs efficiency : improvements in hci may increase the amount of code and power required. Maintainability and Testability vs efficiency : well structured code is easy to test but less efficient. 15 Avinanta Tarigan Perancangan Perangkat Lunak

Problem Pengukuran Kualitatif II Portability vs efficiency : optimised software leads to a decrease in portability. Flexibility, reusability and interoperability vs efficiency. Flexibility and reusability vs integrity : general and flexible data structures increase the data security and protection problem. Interoperability vs integrity : potential for accidental access and opportunity for deliberate access. Reusability vs reliability : reusable software tends to be general. 16 Avinanta Tarigan Perancangan Perangkat Lunak

Prinsip Metode Kuantitatif Ukuran (measure): indikasi kuantitatif thd atribut suatu obyek Metrik: derajat ukuran kuantitatif dari atribut suatu obyek Dalam Rekayasa Perangkat Lunak: Indikator adalah metrik untuk melihat proses pengembangan PL proyek PL produk itu sendiri 17 Avinanta Tarigan Perancangan Perangkat Lunak

Problem Metode Kuantitatif Kompleksitas PL Perbedaan pandang kompleksitas PL Pengembangan berbagai macam ukuran akan menimbulkan konflik dalam ukuran itu sendiri Pendekatan sains: tidak mudah untuk melakukan experimen yang relevan 18 Avinanta Tarigan Perancangan Perangkat Lunak

Produk Metrik I Metode Kuantitatif Metrik untuk analisa model: Fungsionalitas Besarnya sistem yang dikembangkan Kualitas spesifikasi Metrik untuk desain model: Metrik arsitektur Pengukuran pada level komponen Desain antarmuka Pengukuran untuk desain berorientasi obyek Metrik untuk kode sumber (source code): Kompleksitas Panjang kode sumber Metrik untuk pengujian (testing): Kerusakan (bugs) 19 Avinanta Tarigan Perancangan Perangkat Lunak

Produk Metrik II Metode Kuantitatif Efektivitas pengujian In-process 20 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Fungsionalitas I Function point Metric (FP) oleh Albrecht 1979 Tujuan untuk estimasi : besar upaya / biaya banyak error banyak komponen / line of code Metode Pengukuran : Domain Banyak Simple Average Complex Total External Input hasilei 3 4 6 = External Output hasileo 4 5 7 = External Inquiries hasileq 3 4 6 = Internal Logical Files hasililf 7 10 15 = External Interface Files hasileif 5 7 10 = Total = total 21 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Fungsionalitas II Function point : FP = total ( 0.65 0.01 F j ) Dimana F j, j = (1...14) adalah value adjustment factors (VAF) didasarkan pada pertanyaan di bawah ini: 1 Apakah sistem memerlukan backup dan recovery yang handal? 2 Apakah komunikasi data khusus diperlukan? 3 Adakah fungsi proses yang terdistribusi? 4 Apakah performa sistem kritikal? 5 Apakah sistem akan melayani permintaan yang besar (utilisasi)? 6 Apakah sistem memerlukan data entry online? 7 Apakah data entry online memerlukan input dari beberapa terminal yang bersamaan? 8 Apakah ILF diupdate online? 9 Apakah in-out-inquiries kompleks? 22 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Fungsionalitas III 10 Apakah internal process kompleks? 11 Apakah kode didesain agar dapat digunakan kembali? 12 Apakah konversi dan instalasi dimasukkan dalam desain? 13 Apakah sistem akan diinstall lebih dari satu instance dalam organisasi yang berbeda? 14 Apakah sistem didisain untuk dapat digunakan dengan mudah oleh pengguna? Setiap pertanyaan dijawab dengan skala 0...5 (0=tidak penting, 5=penting sekali) Berdasarkan pengalaman / historical data, nilai FP dapat digunakan untuk mengestimasi line-of-code atau banyaknya resources yang digunakan dalam pengembangan 23 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Fungsionalitas IV Contoh penggunaan: Misalnya sebuah PL mempunyai FP = 40. Berdasarkan pengalaman, 1FP = 100 line-of-code dan 20FP=3 programmer / month dengan gaji 1 programmer 4 juta per bulan. Berarti estimasi PL tersebut akan mempunyai 4000 line-of-code, dibutuhkan 3 programmer selama 2 bulan pengerjaan, dan biaya sebanyak 24 juta untuk membayar programmer tsb. 24 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Kualitas Spesifikasi I Davis et.al. Kebutuhan (requirement) : n r = n f + n nf dimana n f adalah banyaknya kebutuhan fungsional dan n nf adalah banyaknya kebutuhan non-fungsional Dibutuhkan beberapa orang reviewer untuk menjawab pertanyaan / pengukuran Hal yang diukur: Specificity : Q 1 = n ui n r dimana n ui adalah banyaknya kebutuhan yang diinterpretasikan sama oleh reviewer 25 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Kualitas Spesifikasi II n u n i n s Completeness : Q 2 = dimana n u adalah banyaknya kebutuhan fungsional yang unik, n i banyaknya input (stimuli) dalam / disebabkan oleh spesifikasi yang bersangkutan, dan n s banyaknya state yang dispesifikasikan. Hal ini mengukur persentase fungsionalitas yang penting dan sudah dispesifikasikan. Disempurnakan dengan Q 3 = n c +n nv dimana n c adalah kebutuhan yang sudah divalidasi sedangkan n nv yang belum n c 26 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Desain Arsitektur I Metode kotak-hitam Card dan Glass (1990): kompleksitas struktur kompleksitas data (kompleksitas antarmuka internal) kompleksitas sistem Arsitektur berhirarki (call-and-return): kompleksitas struktur dari modul i : S(i) = f 2 out(i) dimana f out (i) adalah fan-out module i fan-out: banyak modul yang menjadi sub-ordinat langsung dari modul tsb. bagaimana dengan fan-in? kompleksitas data modul i : D(i) = v(i) f out (i)+1 v(i) adalah banyaknya variabel input dan output sebagai parameter dan output modul i 27 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Desain Arsitektur II kompleksitas sistem: C(i) = S(i) + D(i) Interpretasi: C(i) tinggi - potensial upaya akan besar dalam integrasi dan pengujian Fenton (1991) menggunakan morfologi yang simpel: size = n + a n adalah banyaknya node, dan a adalah banyaknya arc depth (kedalaman) adalah path yang paling panjang ditempuh dari root ke akar width (kelebaran) adalah maksimum banyaknya node yang ada dalam setiap level hirarki Mengukur coupling dengan sangat simpel dalam konteks integrasi 28 Avinanta Tarigan Perancangan Perangkat Lunak

Metriks untuk Desain Berorientasi Obyek I Biasanya, penilaian subyektif & berdasarkan pengalaman Problem: ukuran dan kompleksitas Metrik OO berdasarkan Whitmire: 1 Besar (size) : 1 populasi: mengukur banyaknya statik entitas OO (class, operations, dll) 2 volume: hampir sama dg populasi, tp berdasarkan perubahannya thd waktu 3 panjang (length): mengukur panjangnya rantai interkoneksi antar klas 4 fungsionalitas: mengukur value software thd penggunanya 2 Kompleksitas: karakteristik struktural interkoneksi antar class 3 Coupling (ikatan): koneksi, ikatan, kolaborasi antara elemen-elemen 29 Avinanta Tarigan Perancangan Perangkat Lunak

Metriks untuk Desain Berorientasi Obyek II 4 Sufficiency (kecukupan): apakah abstraksi (class) mempunyai fitur yang sesuai dg konteks software tsb dikembangkan 5 Completness (kelengkapan): hampir sama dengan sufficiency, tetapi lebih ke arah kelengkapan fitur 6 Cohesion: tingkat kerjasama antara elemen dalam mencapai tujuan dikembangkannya PL tsb 7 Primitiviness: tingkat koherensi dalam class2 yang didefinisikan 8 Similarity: apakah ada kesamaan dalam fungsi, struktur, perilaku, tujuan class-class yang didefinisikan 9 Volatility: tingkat apakah perubahan dimungkinkan dalam desain oleh karena perubahan requirement 30 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik Berorientasikan Class I Harisson, Counsell, Nithi: indikator kuantitatif untuk desain OO Method inheritance factor (MIF): mengukur tingkat inheritance class dalam method dan attribute diketahui: M a (C i ) = banyaknya methods yang dapat dipanggil (invoke) dalam asosiasi dg class C i M d (C i ) = banyaknya methods yang dideklarasikan dalam class C i M i (C i ) = banyaknya methods yang diturunkan (dan tidak dioverride) dalam C i Maka MIF dapat diukur dengan MIF = M i(c i ) M a (C i) 31 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik Berorientasikan Class II dimana i = 1...T c, T c banyaknya class dalam arsitektur PL tsb, dan M a (C i ) = M d (C i ) + M i (C i ) Coupling Factor (CF) : mengukur faktor ikatan antara class-class CF = i j is client (C i,c j ) (T 2 c T c ) dimana i,j = 1...T c, T c banyaknya class dalam arsitektur PL tsb, dan 1 ada relasi antara client classc is client(c c,c s ) c dengan server classc s, dimana C c C s 0 tidak ada relasi 32 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Kode Sumber I Halstead mengusulkan hukum kuantitatif dalam pengembangan PL Pengukuran : n 1 = banyaknya operator (secara distinct) yang digunakan dalam program n 2 = banyaknya operands (secara distinct) yang ada dalam program N 1 = jumlah munculnya operator N 2 = jumlah munculnya operand Panjangnya program (lines of code): N = n 1 log 2 n 1 + n 2 log 2 n 2 Potensial minimum volume dari algoritma ( bits ) 33 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Kode Sumber II V = N log 2 (n 1 + n 2 ) Volume ratio L : rasio volume dari program yang paling kecil (kompak) dengan volume program yang sebenarnya L = 2 n 1 n 2 N 2 34 Avinanta Tarigan Perancangan Perangkat Lunak

Metriks untuk Pengujian I Memprediksi (estimasi) upaya (effort) dalam pengujian Cyclomatic Complexity sebagai dasar pengukuran kompleksitas Module dengan CC yang besar akan lebih berpotensial untuk error dibandingkan module dengan CC yang kecil Halstead Effort: Input: PL (program level), V (volume program) 1 PL = ( ( n1 ) ( )) 2 N2 n 2 e = V PL (1) Presentase upaya untuk menguji modul k: 35 Avinanta Tarigan Perancangan Perangkat Lunak

Metriks untuk Pengujian II p upaya pengujian(k) = e(k) e(i) Dimana e(k) didapat dari perhitungan 1 dan e(i) adalah total dari Halstead effort seluruh modul yang ada dalam PL tsb. 36 Avinanta Tarigan Perancangan Perangkat Lunak

Metrik untuk Pemeliharaan (Maintenance) I IEEE standard 981.1-1988 : Software Maturity Index Indikasi stabilitas produk PL berdasarkan banyaknya perubahan yang terjadi setelah implementasi Ukuran: M T = banyaknya modul dalam release saat ini F c = banyaknya modul dalam release saat ini yang sudah dirubah F a = banyaknya modul dalam release saat ini yang ditambahkan F d = banyaknya modul dalam release sebelumnya yang dihapus Perhitungan Software Maturity Index: SMI = (M T (F a + F c + F d )) M T Interpretasi: jika SMI mendekati 1.0 maka produk mendekati keadaan stabil dalam konteks perubahan akibat kesalahan dalam pengembangan sebelumnya 37 Avinanta Tarigan Perancangan Perangkat Lunak

Kesimpulan (sementara) Software Metrik menyediakan metode kuantitatif untuk mengukur kualitas dari atribut internal produk PL Pengembang mendapat estimasi terlebih dahulu sebelum waktu pengembangan Fokus: fungsionalitas, data, perilaku / behavior Tahap pengukuran: Arsitektur (konvensional dan OO) Component-Level: cohesion - coupling - complexity (belum dibahas dalam slide ini, silahkan cari dan bahas bersama) User Interface (juga belum dibahas lho) Source code Pengujian Pemeliharaan 38 Avinanta Tarigan Perancangan Perangkat Lunak

End Terimakasih