270 likes | 432 Views
SOFTWARE QUALITY. Pemodelan. Eko Prasetyo Teknik Informatika Univ. Pembangunan Nasional Veteran Jawa Timur 2011. What Is Quality ?. Definisi menurut Juran [1988] – “fitness for use” – yang mengindikasikan referensi pada karakteristik kebutuhan dan produk .
E N D
SOFTWARE QUALITY Pemodelan Eko Prasetyo TeknikInformatika Univ. Pembangunan Nasional Veteran JawaTimur 2011
What Is Quality ? • DefinisimenurutJuran [1988] – “fitness for use” – yang mengindikasikanreferensipadakarakteristikkebutuhandanproduk. • “Sesuaidenganspesifikasi” • Suatuprodukataujasa yang ukurankarakteristiknyamemenuhispesifikasi yang sudahditetapkan – sehinggaselarasdenganspesifikasi yang sudahdidefinisikansebelumnya. • “Memenuhikebutuhan customer” • Produkataujasa yang memenuhiharapan customer – eksplisitatautidak.
Dasarprosesmanajerialuntukpekerjaanpengelolaankualitas • Quality Planning • Proses yang mengidentifikasi customer, kebutuhan customer, danproses yang akanmenerimakanprodukdanjasadenganatribut yang benardankemudianmenfasilitasipemindahanpegetahuaniniuntukmenghasilkankekuatanorganisasi • Quality Qontrol • Prosesdimanaprodukdiujidandievaluasidengankebutuhan yang dinyatakanoleh customer • Masalah yang terdeteksikemudiandiperbaiki. • Quality Improvement • Prosesdimanamekanismetambahandiletakkanditempatsehinggakualitasdapaidicapaisecarakontinyu. • Termasukpengalokasiansumberdaya, penugasanorang-oranguntukmenjagakualitasproyek, pelatihan, dimanasecaraumumdiadakanstrukturpermanenuntukmenjagakualitas.
Pandangan Software Quality • Transcendental view • User view • Manufacturing view • Product view • Value-based view
Pandangan Software Quality – Cont’d • Transcendental view • Kualitasadalahsesuatu yang dapatdikenalitapitidakdapatdidefinisikan. • Bersifatsubyektifdantidak quantifiable dalampendefinisiankualitas software. • Software melewatiharapan customer. • User view atau “fitness for purpose” • Mencapaikebutuhan user • Sangat personal (subyektif) • Produkberkualitasbagusjikamempunyaibanyakpengguna • Untukmengidentifikasiatributproduk yang dipandangpentingoleh user • Meliputi: reliability, performance/efisiensi, maintainability dan usability
Pandangan Software Quality – Cont’d • Manufacturing view • Berfokuspadapencapaianspesifikasidankapasitasorganisasiuntukmemproduksi software menurutproses software. • Kunci: Apakah software memenuhikebutuhan ? • Banyaknyapenyimpangandarikebutuhanakanmengurangikualitasproduk • Konsepprosesmemainkanperankunci • Produkdiproses “sejakawal” sehinggabiayadapatdikurangi: • Biayapengembangan • Biayaperawatan • Keselarasandengankebutuhanakanmengarahkanpadakeseragamanproduk. • Kualitasprodukdapatmeningkatterusdenganmeningkatkanproses.
Pandangan Software Quality – Cont’d • Product view • Hipotesis: Jikaprodukdiolahdenganproperti internal yang baikmakaprodukmempunyaipropertikualitas yang baik pula. • Misalnya: Modularity akanmenghidupkan testability. • Value-based view • Gabungan : keunggulandanharga. • Kualitasdiukurdengankeunggulan, keuntungandiukurdenganharga. • Ide: • Berapabanyak customer yang akanmembayarpada level kualitastertentu • Kualitastidakdapatdipahamijikaproduktidakmembuatnilaiekonomis • Pandangan value-based membuat trade-off antarahargadankualitas.
PengukuranKualitas Software • Alasan developer memandangkualitassecarakuantitatif • Pengukurandapatmemunculkan baseline kualitas • Pengukuranadalahkuncipeningkatanproses • Kebutuhanuntukpeningkatandapatdiinvestigasisetelahmelakukanpengukuran
PengukuranKualitas Software – Cont’d • Pengukurandalampandangan user • Fungsionalitasdapatdiukurdenganmudah • Apakahpengujiankasusfungsionalitasberhasil ? • Pengukuranfungsionalitas = rasiojumlah test cases yang berhasildengan total jumlah test cases yang didesainuntukmenverifikasifungsionalitas. • MenerapkanteknikGilb • Konsepkualitasdapatdipecahmenjadibagiankomponensampaidapatdnyatakandalamistilah yang secaralangsungdapatmengukurkualitas • Misalnya: Usability dapatdipecahmenjadi • Learnability • Understandability • Operability
PengukuranKualitas Software – Cont’d • Pengukurandalampandanganperusahaan • Perusahaan menginginkandefect count and rework cost. • Defect count: Jumlah total cacat yang terdeteksiselamapengembangandanoperasi. • Dapatmengukurkualitashasilkerja • Cara menganalisiscacat: • Untuksetiapcacat, identifikasifasepengembangandimanadiamuncul • Kategorikancacat, misalberdasarkanmodul • Normalisasijumlahcacat • Defect density: Jumlahcacat per 1000 lines of code • Memisahkancacat yang ditemukanselamaoperasidari yang ditemukanselamapengembangan • Rework cost:Berapabanyakbiayauntukmembenahicacat yang diketahui ? • Development rework cost: Biayaperbaikan yang terjadisebelumprodukdikeluarkan. Iniadalahukurandevelopment efficiency. • Operation rework cost: Biayaperbaikan yang terjadiketikaprodukdalampengoperasian. Iniadalahukurandelivered quality.
Model menurut McCall (1977) • Berusahauntukmenjembatani gap antara user dan developer denganberfokuspadasejumlahfaktorkualitas software yang merefleksikanpandangan user danprioritas developer. • Kualitasproduk software: • Product Revision • Kemampuanuntukmengalamiperubahan • Product Transition • Beradaptasipadalingkungan yang baru • Product Operations • Karakteristikpengoperasian
Model menurut McCall (1977) – Cont’d • Product Revision, termasuk: • Maintainability • Usaha yang dibutuhkanuntukmenempatkandanmenyelesaikankesalahan program dalamlingkunganoperasi • Flexibility • Kemudahanmembuatperubahan yang butuhkanolehperubahandalamlingkunganpengoperasian • Testability • Kemudahanpengujian program, untukmeyakinkanbahwa program bebeas error danmemenuhispesifikasinya
Model menurut McCall (1977) – Cont’d • Product Transition • Portability • Usaha yang dibutuhkanuntukmemindahkan program darisatulingkungankelingkungan lain • Reusability • Kemudahanpenggunaankembaliosftwaredalamkonteks yang berbeda. • Iteroperability • Usaha yang dibutuhkanuntukmemasangkansistemdengansistem yang lain
Model menurut McCall (1977) – Cont’d • Product Operations • Correctness • Tingkatandimana software mencapaispesifikasinya • Reliability • Kemampusansistemuntuktidakgagal • Efficiency • Efisiendalameksekusidanpenyimpanan • Umumnyadiartikanpenggunaan resource, seperti: waktu processor, memori, dsb. • Integrity • Perlindungan program dariakses yang tidakberkepentingan • Usability • Kemudahanpenggunaan software
Model menurut McCall (1977) – Cont’d • Model dirincikedalam 3 tipekarakterkualitasdalamhirarkidarifaktor, kriteriadanmetrik: • 11 faktor (spesifikasi) • Menggambarkanpandanganeksternal software oleh user • Menggambarkanperbedaanjeniskarakterperilakusistem • 23 kriteriakualitas (membangun) • Menggambarkanpandangan internal software oleh developer • Atributsatuataulebihfaktorkualitas • Metrik (kontrol) • Didefinisikandandigunakanuntukmemberikanskaladanmetodeuntukpengukuran • Bertujuanmeng-capture beberapaspekkriterisfaktor.
Model menurut McCall (1977) – Cont’d • Idedibalik McCall adalahbahwafaktorkualitas yang disintetiskanharusmemberikangambarankualitas software secaralengkap. • Metrikkualitas software aktualdidapatdenganmenjawab “ya” atau “tidak” padapertanyaan yang mengukurkriteriakualitas. • Metrikdapatdisintetiskan per kriteriakualitas, perfaktorkualitas,atau per produk.
Model menurut Boehm (1978) • Mendefinisikankualitas software denganmemberikansejumlahatributdanmetrik. • Miripdengan model McCall, memberikanhierarki model kualitas yang terstrukturmenjadikarakteristik level tinggi, level pertengahan, primitif – setiapkarakterberkontribusipadasemuabagian level kualitas. • Karakteristik level tinggi • Merepresentasikandasarkebutuhan level tinggidaripenggunaanaktualdimanakualitas software dapatdibentuk. • Tigapertanyaanutamapembeli software: • As-is utility: Seberapa (mudah,handal,efisien) sayadapatmenggunakannya ? • Maintainability: Seberapamudahdipahami, dimodifikasi, diujikembali ?Portability: Bisakahsayamenggunakannyajikasayamengubahlingkungansaya ?
Model menurut Boehm (1978) – Cont’d • Karakteristik level tengah • Mengambarkan 7 faktorkualitas yang menggabungkanrepresentasikualitas yang dibutuhkandari software • Portability – Umumnyamengkarakterkanpenggunaan • Reliability – Karakter as-is utility • Efficiency - Karakter as-is utility • Usability - Karakter as-is utility, human engineering • Testability – Karakteristik maintainability • Understandibility - Karakteristik maintainability • Flexibility - Karakteristik maintainability, modifiability
Model menurut Boehm (1978) – Cont’d • Karakteristik level rendah (primitif) adalahmetrik.
Model menurut ISO 9126 • ISO 9126: Software Product Evaluation: Quality Characteristics and Guidelines for their Use-standard • Didasarkanpada model McCall dan Boehm, tetapijugamemasukkanunsur functionality sebagai parameter.
Model menurut ISO 9126 – Cont’d • Breakdown faktor subfaktor
TO BE CONTINUED… ANY QUESTION ?