Proses Perangkat Lunak dan Metrik Proyek, oleh Shinta Dwijayanti [5105 100 023]

Metrik perangkat lunak mengacu pada suatu jangkauan luas pengukuran perangkat lunak computer. Pengukuran dapat diteraperangkat kerasan pada proses perangkat lunak guna mengembangkannya dengan dasar yang kontinu. Pengukuran dapat digunakan di seluruh proyek perangkat lunak untuk membantu perhitungan, control kualitas, perkiraan produktivitas, dan control proyek. Akhirnya, ppengukuran dapat digunakan oleh perekayasa perangkat lunak untuk membantu memperkirakan kualitas produk kerja teknis untuk membantu mengambil keputusan taktis pada saat proyek sudah berjalan.

PENGUKURAN, METRIK, DAN INDIKATOR

Measure = kuantitatif dari luasan, jumlah, dimensi, kapasitas, atau ukuran dari atribut sebuah proses atau produk.

Measurement = kegiatan menentukan sebuah measure (pengukuran).

Metrik = ukuran kuantitatif dari tingkat dimana sebuah system, komponen, atau proses memeiliki atribut tertentu.

Pengukuran terjadi sebagai hasil dari pengumpulan satu data atau lebih. Metric perangkat lunak menghubungkan pengukuran individu dengan banyak cara.

Rekayasa perangkat lunak mengumpulkan pengukuran dan mengembangkan metric sehingga diperoleh suatu indicator.

Indicator = sebuah metric atau kombinasi dari metric yanbg memberikan pengetahuan ke dalam proses perangkat lunak, sebuah proyek perangkat lunak atau produk itu sendiri.

Indicator memberikan pengetahuan yang memungkinkan manajer proyek atau perekayasa perangkat lunak menyesuaikan proses, proyek, dan produk untuk membuat semuanya menjadi lebih baik.

 

METRIK DALAM PROSES DAN DOMAIN PROYEK

Metric harus dikumpulkan sehingga indicator proses dan produk dapat dipastikan. Indicator proses memungkinkan sebuah organisasi rekayasa perangkat lunak memperoleh pengetahuan tentang reliabilitas sebuah proses yang sedang berlangsung (misalnya paradigma, tugas-tugas rekayasa perangkat lunak, produk kerja, dan kejadian penting). Indicator proses memungkinkan manajer dan pelaksana memperkirakan apa yang harus dikerjakan dan yang tidak. Metric proses dikumpulkan di seluruh proyek dan pada perkembangan proses perangkat lunak jangka panjang.

Indicator proyek memungkinkan manajer proyek perangkat lunak:

1. memperkirakan status sebuah proyek yang sedang berlangsung,

2. menelusuri resiko-resiko potensial,

3. menemukan area masalah sebelum masalah menjadi semakin rumit,

4. menyesuaikan aliran kerja atau tugas-tugas, dan

5. mengevaluasi kemampuan tim proyek untuk mengontrol kualitas hasil kerja rekayasa perangkat lunak.

Metrik Proses dan Peningkatan perangkat lunak

Satu-satunya cara yang paling rasional untuk meningkatkan proses adalah dengan mengukur atribut tertentu dari proses, mengembangkan serangkaian metric yang berarti berdasarkan atribut-atribut tersebut, dan kemudian menggunakan metric itu untuk memberikan indicator yang akan membawa pada sebuah strategi pengembangan.

Proses adalah factor yang dapat dikontrol dalam mengembangkan kualitas perangkat lunak serta unjuk kerja organisasional.

 

Pada gambar, proses berada di tengah-tengah sebuah segitiga yang menghubungkan tiga factor yang sangat besar pengaruhnya terhadap kualitas perangkat lunak dan unjuk kerja organisasional. Ketrampilan dan motivasi yang diperlihatkan manusia merupakan satu-satunya factor yang paling berpengaruh pada kualitas dan unjuk kerja tim. Teknologi yang menghuni proses juga berpengaruh. Segitiga proses juga berada di dalam sebuah lingkaran yang menggambarkan kondisi lingkungan yang menyangkut lingkungan pengembangan (seperti alat-alat Bantu CASE), kondisi bisnis (seperti batas waktu, aturan bisnis), dan karakteristik pelanggan (misalnya lancarnya komunikasi).

Kita mengukur reliabilitas proses perangkat lunak secara tidak langsung yaitu dengan mengambil serangkaian metric berdasarkan keluaran yang dapat diambil dari proses. Keluaran menyangkut pengukuran kesalahan yang ditemukan sebelum pelepasan perangkat lunak, cacat yang disampaikan dan dilaporkan oleh pemakai akhir, prduk kerja yang dikirim, usaha manusia yang dilakukan, waktu kalender yang digunakan, konfirmasi jadwal, serta pengukuran yang lain.

Terdapat penggunaan privat dan public untuk tipe-tipe data proses yang berbeda, karena memang alamiah bila perekayasa perangkat lunak sensitive terhadap pemakaian metric yang dikumpulkan pada basis individual. Data-data tersebut juga harus bersifat pribadi bagi individu dan berfungsi sebagai indicator hanya untuk individu. Contoh metric yang bersifat pribadi terhadap individu menyangkut:

Nilai cacat oleh individu

Nilai cacat oleh modul

Kesalahan yang ditemukan selama pengembangan

Metric public biasanya mengasimilasi informasi yang secara orisinil bersifat pribadi bagi individu dan tim. Nilai cacat tingkat proyek, usaha, waktu calendar, dan data yang dikumpulkan dan dievaluasi dalam upaya menemukan indicator yang dapat mengembangkan unjuk kerja proses organisasional.

Maka dari itu diperlukan etika metric perangkat lunak ketika para manajer ingin melembagakan program metric proses:

Gunakan istilah umum dan kepekaan organisasi ketika menginterpretasikan data metric.

Berikan umpan balik regular kpada individu dan tim yang telah bekerja untuk mengumpulkan pengukuran dan metric.

Jangan menggunakan metric untuk menilai individu.

Bekerja dengan pelaksana dan tim untuk menentukan tujuan dan metric yang jelas yang akan dipakai untuk mencapainya.

Jangan pernah menggunakan metric untuk mengancam individu dan tim.

Metric data yang menunjukkan sebuah area masalah tidak boleh dianggap negative. Data-data itu hanya merupakan sebuah indicator bagi peningkatan proses.

Jangan tergoda pada sebuah metric dan kemudian mengabaikan metric penting yang lain.

 

Pada saat organisasi menjadi lebih nyaman dengan kumpulan dan manfaat metric proyek, deviasi dari indicator sederhana memberikan suatu cara kepada suatu pendekatan yang lebih teliti yang disebut statistical software process improvement (SSPI). Pada dasarnya SSPI menggunakan analisis kegagalan perangkat lunak untuk mengumpulkan informasi seputar semua kesalahan dan cacat yang terjadi pada saat sebuah aperangkat lunakikasi, system, atau produk dikembangkan dan dipakai. Analisis kegagalan bekerja dengan cara:

1. Semua kegagalan dan cacat dikategorikan dari awal (contohnya, kekurangan dalam spesifikasi, kekurangan dalam logika, ketidaksesuaian denga standar).

2. Biaya untuk mengoreksi setiap kesalahan dan cacat dicatat.

3. Jumlah kesalahan dan cacat dari setiap kategori dihitung dan ditata dalam urutan naik.

4. Biaya keseluruhan dari kesalahan dan cacat dalam setiap kategori dihitung.

5. Data resultan dianalissi untuk menemukan kategori yang menelan biaya besar.

6. Rencana dikembangkan untuk memodifikasi proses guna mengeliminasi kelas kesalahan dan cacat yang paling membutuhkan banyak biaya.

 

Metrik Proyek

Metrik Proses digunakan untuk tujuan strategis. Pengukuran proyek perangkat lunak bersifat taktis, yaitu bahwa metrik proyek dan indikator yang berasal dari pengukuran digunakan oleh manajer proyek dan tim perangkat lunak untuk mengadaptasi aliran kerja proyek dan aktivitas teknis.

Pada saat kerja teknis dimulai, metrik proyek mulai memiliki arti. Nilai produksi yang disajikan dalam bentuk halaman dokumentasi, jam kajian, titik-titik fungsi, dan deretan sumber yang disampaikan diukur, dan kesalahan yang ditemukan selama masing-masing tugas rekayasa perangkat lunak kemudian ditelusuri. Selagi perangkat lunak berjalan dari spesifikasi ke perancangan, metrik teknik dikumpulkan untuk memperkirakan kualitas desain serta memberikan indikator yang akan mempengaruhi pendekatan yang akan diambil untuk memunculkan kode dan modul serta pengujian integrasi.

Metrik proyek mempunyai tujuan ganda, antara lain:

1. untuk meminimalkan jadwal pengembangan dengan melakukan penyesuaian yang diperluka untuk menghindari penundaan serta mengurangi masalah dan resiko potensial.

2. untuk memperkirakan kualitas produk pada basis yang berlaku dan apabila dibutuhkan memodifikasi pendekatan teknis untuk meningkatkan kualitas.

Pada saat kualitas meningkat, kesalahan menjadi minimal, dan selagi kesalahan semakin berkurang, jumlah kerja ulang yang dibutuhkan selama proyek berlangsung juga berkurang. Dengan demikian, pembiayaan proyek secara keseluruhan dapat berkurang.

Model yang lain dari metrik proyek mengusulkan bahwa setiap proyek seharusnya mengukur:

input (pengukuran sumber daya yang dibutuhkan untuk melakukan pekerjaan),

output (pengukuran kemampuan penyampaian atau produk kerja yang diciptakan selama proses rekayasa perangkat lunak),

hasil (pengukuran yang menunjukkan efektivitas kemampuan penyampaian).

 

PENGUKURAN PERANGKAT LUNAK

Pengukuran langsung dari proses rekayasa perangkat lunak menyangkut biaya dan usaha yang diaperangkat lunakikasikan. Pengukuran langsung dari produk menyangkut deretan kode (LOC) yang diproduksi, kecepatan eksekusi, ukuran memori, dan cacat yang dilaporkan pada sejumlah periode waktu. Pengukuran tidak langsung dari produk menyangkut fungsionalitas, kualitas, komperangkat lunakeksitas, efisiensi, reliabilitas, kemampuan pemeliharaan, dsb.

 

 

Metrik Size-Oriented

Metrik perangkat lunak size-oriented ditarik dengan normalisasi kualitas dan atau pengukuran produktivitas dengan mempertimbangkan ukuran perangkat lunak yang dihasilkan.

Proyek

LOC

Usaha

Dolar

Halaman

Kesalahan

Cacat

Manusia

Alpha

12,100

24

168

365

134

29

3

Beta

27,200

62

440

1224

321

86

5

Gamma

20,200

43

314

1050

256

64

6

 

Untuk mengembangkan metrik yang dapat diasimilasi dengan metrik yang sama dari proyek yang lain, kita memilih sederetan kode sebagai nilai normalisasi. Dari data yang belum sempurna yang ada pada tabel, dapat dikembangkan serangkaian metrik size-oriented yang sederhana untuk setiap proyek:

kesalahan(error) per KLOC(Kilo Line Per Code),

$ perLOC cacat (defect) per KLOC,

halaman dokumentasi per KLOC.

Metrik menarik lain yang dapat dihitung:

Kesalahan/person-month,

LOC per person-month,

$/halaman dokumentasi.

Metrik Function-Oriented

 

Metric perangkat lunak function-oriented menggunakan sebuah pengukuran fungsionalitas yang disampaikan oleh aperangkat lunakikasi sebagai suatu nilai normalisasi. Function point ditarik dengan menggunakan sebuah hubungan empiris berdasarkan pengukuran langsung domain informasi perangkat lunak yang dapat dihitung serta perkiraan kompleksitas perangkat lunak.

Parameter pengukuran

Jumlah

Sederhana

Rata-rata

Kompleks

Faktor Pembobotan

Jumlah input pemakai

*

3

4

6

=

Jumlah output pemakai

*

4

5

7

=

Jumlah penyelidikan pemakai

*

3

4

6

=

Jumlah file

*

7

10

15

=

Jumlah interface internal

*

6

7

10

=

Total

Penghitungan metrik function point

Jumlah input pemakai. Setiap input pemakai yang memberikan data yang berorientasi pada aperangkat lunakikasi yang jelas pada perangkat lunak dihitung. Input ini harus dibedakan dari penelitian yang dihitung secara terpisah.

Jumlah output pemakai. Setiap output pemakai yang memberikan informasi yang berorientasi pada aperangkat lunakikasi kepada pemakai dihitung. Pada konteks ini output mengacu pada laporan, layar, tampilan kesalahan, dsb. Jenis data individual pada sebuah laporan tidak dihitung secara terpisah.

Jumlah penyelidikan pemakai. Sebuah penyelidikan didefinisikan sebagai input on-line yang mengakibatkan munculnya beberapa respon perangkat lunak yang cepat dalam bentuk sebuah output on-line. Setiap penyelidikan yang jelas dihitung.

Jumlah file. Setiap file master logika (yaitu pengelompokan data secara logis yang menjadi suatu bagian dari sebuah database yang besar atau sebuah file yang terpisah) dihitung.

Jumlah interface eksternal. Semua interface yang dapat dibaca oleh mesin yang digunakan untuk memindahkan informas ke sistem yang lain dihitung.

Untuk menghitung functon points dipakai hubungan sbb:

FP = jumlah total * [0.65 + 0.01 * Fi]

 

0 1 2 3 4 5

Dimana Fi merupakan respon pada pertanyaan-pertanyaan dibawah dengan skala 0-5:

1. Apakah sistem membutuhkan backup dan recovery yang reliable?

2. Apakah komunikasi data dibutuhkan?

3. Apakah fungsi pemrosesan didistribusikan?

4. Apakah kinerja penting?

5. Apakah sistem akan berjalan pada lingkungan operasional yang sudah ada yang paling banyak digunakan?

6. Apakah sistem membutuhkan entry data online?

7. Apakah entry data online membutuhkan ada transaksi input terhadap layar atau operasi ganda?

8. Apakah file master diperbarui secara online?

9. Apakah input, output, file, atau inquiri kompleks?

10. Apakah pemrosesan internal komperangkat lunakeks?

11. Apakah kode didesain untuk dapat dipakai kembali?

12. Apakah desain melibatkan konversi dan instalasi?

13. Apakah sistem didesain untuk instalasi ganda dalam organisasi berbeda?

14. Apakah aplikasi didesain untuk memfasilitasi perubahan dan mempermudah pemakai untuk menggunakannya?

Sekali function points telah dihitung, maka poin-poin tersebut digunakan dengan cara analog dengan LOC untuk normalisasi pengukuran produktivitas, kualitas perangkat lunak serta atribut-atribut yang lain:

kesalahan per FP

cacat per FP

$ per FP

halaman dokumentasi per FP

FP per person-month

 

 

MENYATUKAN BERBAGAI PENDEKATAN METRIK YANG BERBEDA

Basili dan Zelkowitz menetapkan faktor penting yang mempengaruhi produktivitas perangkat lunak, yaitu:

Faktor manusia. Ukuran dan keahlian organisasi pengembangan.

Faktor masalah. Komperangkat lunakeksitas masalah yang dipecahkan dan jumlah perubahan dalam batasan dan persyaratan desain.

Faktor proses. Teknik analisis dan desain yang digunakan, bahasa dan peranti CASE yang tersedia dan teknik-teknik kajian.

Faktor sumber daya. Ketersediaan peranti CASE dan sumber daya perangkat keras dan perangkat lunak.

Jika salah satu faktor produktivitas tersebut diatas rata-rata untuk suatu proyek yang ditentukan, maka produktivitas pengembangan perangkat lunak akan secara signifikan lebih tinggi daripada jika faktor yang sama berada dibawah rata-rata.

 

METRIK UNTUK KUALITAS PERANGKAT LUNAK

Tujuan rekayasa perangkat lunak adalah untuk menghasilkan sistem, aperangkat lunakikasi, atau produk brkualitas tinggi. Untuk mencapai tujuan tersebut, perekayasa perangkat lunak harus menerapkan perangkat kerasan metode-metode yang efektif bersama-sama dengan peranti modern dalam konteks proses perangkat lunak yang matang. Sebagai tambahan, perekayasa perangkat lunak yang baik harus mengukur apakah kualitas tinggi direalisir.

Kualitas sistem, aplikasi atau produk merupakan persyaratan yang menjelaskan masalah, desain model solusi, kode yang membuat program dapat dieksekusi, dan pengujian yang menguji perangkat lunak untuk menemukan kesalahan. Perekayasa perangkat lunak yang baik menggunakan pengukuran untuk menilai kualitas model analisis dan desain, kode sumber, dan test case yang dibuat ketika perangkat lunak direkayasa.

Faktor-Faktor yang Mempengaruhi Kualitas

Faktor-faktor kualitas yang merupakan langkah pertama dalam mengembangkan metrik-metrik untuk kualitas perangkat lunak. Faktor-faktor tersebut menilai perangkat lunak dari tiga sudut pandang yang berbeda, yaitu (1) operasi produk(menggunakannya), (2) revisi produk(mengubahnya), (3) transisi produk(memodifikasinya untuk bekerja dalam lingkungan yang berbeda).

 

Mengukur Kualitas

Indikator berharga bagi tim proyek:

Cara yang benar. Program harus beroperasi dengan benar. Cara yang benar adalah tigkat dimana perangkat lunak melakukan fungsi-fungsi yang ditentukan. Ukuran yang paling umum adalah cacat per KLOC, dimana cacat didefinisikan sebagai kurangnya kesesuaian(yang telah terbukti) dengan persyaratan.

Maintanibilitas. merupakan kemudahan dimana program dapat dikoreksi jika ditemukan kesalaha, diadaptasi jika lingkungannya berubah, atau diperkuat jika pelanggan menginginkan perubahan kebutuhan. Metrik time-oriented sederhana adalah rata-rata waktu untuk berubah-ubah (MTTC), waktu yang diperlukan untuk menganalisis perubahan yang diperlukan, desain modifikasi yang tepat, mengimperangkat lunakementasikan perubahan, mengujinya, dan mendistribusikan perubahan kepada semua pemakai. Rata-rata, program yang dapat dipelihara akan mempunyai MTTC lebih rendah(untuk tipe perubahan ekivalen) daripada program yang tidak dapat dipelihara.

Integritas. Mengukur kemampuan sistem untuk menahan serangan (baik kebetulan maupun sengaja) terhadap sekuritasnya. Serangan dapat dilakukan pada semua komponen perangkat lunak: program, data, dan dokumen.

Untuk mengukur integritas, ada dua atribut tambahan yang harus ditentukan: ancaman dan sekuritas. Ancaman adalah probabilitas (yang dapat diestimasi atau berasal dari bukti-bukti empiris) bahwa serangan tipe tertentu akan terjadi dalam suatu periode waktu yang ditentukan. Sekuritas adalah probabilitas probabilitas (yang dapat diestimasi atau berasal dari bukti-bukti empiris) bahwa serangan tipe tertentu akan dipukul mundur. Integritas sistem kemudian ditentukan sebagai:

integritas = Σ [1-ancaman*(1-sekuritas)], dimana ancaman dan sekuritas adalah jumlah dari masing-masing jenis serangan.

Usabilitas. Merupakan usaha untuk mengukur user-friendliness dan dapat diukur dalam empat karakteristik:

1. ketrampilan fisik dan atau intelektual untuk mempelajari sistem,

2. waktu yang diperlukan untuk menjadi cukup efisien dalam menggunakan sistem,

3. peningkatan bersih dalam produktivitas (dalam pendekatan jika sistem diganti) yang diukur ketika sistem digunakan oleh seseorang yang cukup efisien,

4. penilaian subyektif (kadang-kadang diperoleh melalui kuisioner) dari sikap pemakai terhadap sistem.

Efisiensi Penghapusan Cacat

Metrik kualitas yang memberikan manfaat pada tingkat proyek dan tingkat proses adalah efisiensi penghapusan cacat (DRE-Defect Removal Efficiency). Pada dasarnya DRE adalah mengukur kemampuan penyaringan jaminan kualitas dan aktivitas kontrol ketika keduanya diteraperangkat kerasan pada semua aktivitas kerangka kerja proses.

DRE = E/(E+D), dimana

E = Σ kesalahan yang ditemukan sebelum perangkat lunak dikirim kepada pemakai akhir,

D = jumlah cacat yang ditemukan setelah pengiriman,

Nilai idealnya adalah 1, dimana tidak ditemukan adanya cacat pada perangkat lunak. Secara kenyataan, D akan lebih besar dari nol, tetapi nilai DRE masih dapat mendekati 1 jika E bertambah. Jika E bertambah, maka kemungkinan besar nilai akhir D akan berkurang(kesalahan disaring sebelum menjadi cacat).

 

MENYATUKAN METRIK-METRIK DALAM PROSES PERANGKAT LUNAK

Pengukuran memberikan manfaat pada tingkat strategik, pada tingkat proyek, dan tingkat teknis. Jika proses pengembangan perangkat lunak dapat ditingkatkan, maka akan diperoleh pengaruh langsung kepada lini dasar. Tetapi untuk dapat menetaperangkat kerasan tujuan untuk peningkatan, maka status saat ini dari pengembangan perangkat lunak harus dipahami. karena itu digunakan pengukuran untuk membuat baseline proses. Baseline berfungsi sebagai basis untuk estimasi. Kumpulan metrik kualitas memampukan organisasi mengaktifkan proses rekayasa perangkat lunaknya untuk menghapus penyebab vital few dari cacat-cacat yang paling besar pengaruhnya terhaadap pengembangan perangkat lunak.

Kumpulan data membutuhkan investigasi historis terhadap proyek-proyek sebelumnya untuk menyusun kembali data yang diperlukan. komputasi metrik dapat dilakukan setelah ukuran-ukuran dikumpulkan. Tergantung luasnya ukuran yang dikumpulkan, metrik dapat menjangkau banyak metrik LOC atau FP serta metrik kualitas dan orientasi proyek lainnya. akhirnya, metrik harus dievaluasi dan diteraperangkat kerasan selama estimasi, kerja teknis, kontrol proyek dan peningkatan proses. Evaluasi metrik memfokuskan pada alasan-alasan mendasar untuk hasil yang diperoleh dan membuat sekumpulan indikator yang memandu proyek atau proses.

0 Responses to “Proses Perangkat Lunak dan Metrik Proyek, oleh Shinta Dwijayanti [5105 100 023]”



  1. Tinggalkan sebuah Komentar

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s




Arsip

RSS My Blog

  • Pindahan! Februari 13, 2012
    Para pembaca sekalian, mulai hari ini blog ini pindah ya.. alamatnya di www.handyeka.com Posting-posting terbaru akan muncul di alamat baru tersebut. Terima kasih :)
  • Selamat Tahun Baru 2012! Januari 26, 2012
    Selamat tahun baru 2012!! Bagaimana tahun 2011 yang baru saja kita lewati ini? pasti banyak up-and-down nya. Biasanya orang kalau ngomongin tahun baru mesti nanyain resolusi tahun baru, tapi kali ini saya ga mau nanya-nanya tentang resolusi, hahaha.. kenapa? karena … Continue reading →
  • Adele – Someone Like You Oktober 10, 2011
    Pernahkah Anda merasakan jatuh cinta.. namun pada akhirnya Anda hanya bisa mengagumi dia yang Anda cinta karena Anda berdua sayangnya tidak bisa bersatu.. namun ia akhirnya bisa bahagia.. meskipun bukan bersama Anda.. Sakit.. dan penuh emosi jiwa pastinya.. tapi apakah … Continue reading →

RSS Recipee World

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

RSS Indonesia Travel Guide

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

RSS Music Info Online

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.

%d blogger menyukai ini: