Pengukuran Perangkat Lunak Dalam Proses dan Domain Proyek - Artikel ini akan membahas tentang Pengukuran, Metriks, dan Indikator, Metriks dalam proses dan domain proyek, pengukuran Perangkat Lunak. Melalui artikel ini diharapkan mampu memahami bagaimana cara mengukur perangkat lunak dalam proses dan domain proyek.
Proses Perangkat Lunak
Feasibility Study
Semua proyek layak bila sumber dan waktunya tidak terbatas. Kenyataannya, pengembangan sistem berbasis komputer dibatasi oleh sumber dan waktu.
Ada 4 bidang utama yang menjadi konsentrasi dari feasibility studi, yaitu :
1. Economic Feasibility :
Evaluasi biaya (cost) dan manfaat (benefit) dalam pengembangan sistem.
2. Tehcnical feasibilitu :
Studi tentang fungsi, performance, dan hambatan yang berpengaruh terhadap kemampuan mendapatkan sistem yang baik.
3. Legal Feasibility :
Penentuan berbagai pelanggaran, kewajiban yang dapat terjadi dari pengembangan sistem.
4. Alternative :
Evaluasi sebagai alternatif untuk mengembangkan sistem
Analisis Cost Benefit
Menggambarkan biaya pengembangan proyek dan mempertimbangkan keuntungan sistem, baik yang tangible maupun intangible (dapat diukur dan tidak dapat diukur).
Analis cost benefit ini tergantung dari karakteristik sistem yang akan dikembangkan, ukuran relatif proyek (besar kecil proyek), dan ROI (Return On Invesment) yang diharapkan dari proyek.
Keuntungan dari sistem baru selalu dibandingkan dengan keuntungan dari sistem yang ada.
Contoh soal :
Suatu CAD (Computer Aided Design) akan menggantikan cara manual dalam membuat gambar-gambah tehnik. Misalkan :
Penurunan waktu gambar menjadi 1/4 nya dengan adanya sistem CAD.
Jadi :
Biaya yang dapat ditekan (dihemat) sebesar :
Bila untuk sistem CAD harus dikeluarkan biaya sebesar :
Ini berarti setelah 3.2 tahun, barulah proyek CAD ini memberikan titik impas (break even). Setelah ini barulah memberikan keuntungan.
Grafik :
PERENCANAAN Software
Untuk melaksanakan pengembangan proyek software dan berhasil, kita harus mengerti :
Perencanaan software adalah :
Langkah kedua dalam fase perencanaan, tetapi merupakan langkah pertama dalam proses rekayasa software yang akan memberikan pengertian kepada 4 hal di atas.
Perencanaan software mengkombinasikan 2 tugas, yaitu :
Tujuan perencanaan software :
Memberikan suatu kerangka yang memungkinkan manajer membuat estimasi yang beralasan tentang sumber, biaya dan jadwal.
Contoh soal :
Dari usaha ini, dihasilkan 2,900 LOC (banyaknya baris program). 200 LOC digunakan simulasi, dan testing tidak termasuk bagian dari software yang dioperasikan.
Produktivitasnya :
Bila mereka dipekerjakan dalam 1 team, maka proyek ada 6 jalur komunikasi yang mungkin (communication path). Setiap jalur komunikasi memerlukan waktu yang seharusnya digunakan untuk pengembangan Loding sebesaar 240 LOC per tahun.
Bila proyek 1 tahun tersebut mengalami keterlambatan jadwal dan tinggal 1 bulan lagi, perlu penambahan 3 orang lagi kedalam team tersebut.
Bila dianggap terjadi pengurangan produktivitas team, untuk setiap jalur komunikasi adalah sama, baik untuk pegawai lama dan baru.
Hitung berapa produktivitas team sebelum dan sesudah penambahan 3 orang tersebut, sekaligus jangka waktunya berbeda !!!
Jawab :
Jalur komunikasi 4 orang > ada 6 jalur (lihat gambar).
Produktivitas sebelum penambahan : = ( 4 ´ 4,000 ) - ( 240 ´ 6 ) = 16,000 - 1,440 = 14,560 LOC per tahun
Produktivitas setelah penambahan :
Jika jalur komunikasinya berbeda :
= 16000 + 2000 - ( 1440 + 600 )
= 18000 - 2040
= 16960
Jika jalur komunikasinya dianggap sama :
= 16000 + 2000 - ( 1440 + 3600 )
= 18000 - 5040
= 12960
Proses Desain Software
Desain dalam fase pengembangan merupakan langkah pertama, di mana fase pengembangan merupakan fase kedua dalam siklus hidup software.
Segera sesudah kebutuhan software ditetapkan, dimulailah fase pengembangan yang terdiri dari 4 langkah berbeda :
Aliran informasi selama fase pengembangan dapat dilihat pada gambar di bawah ini.
Kebutuhan software & aliran informasi ( Structure Information Software ) memulai langkah desain awal dengan menggunakan 1 dari beberapa metode desain struktur software untuk dikembangkan. Struktur software yang juga disebut Arsitektur Software ini menjelaskan tentang hubungan antar elemen utama dari sebuah program. Desain terinci menterjemahkan elemen-elemen struktural ke dalam penjelasan software ( prosedur software ).
Source Code dihasilkan dan pengetesan awal dilakukan selama langkah pengkodean dan pengetesan unit hasilnya berupa model-model program yang sudah ditest.
Langkah terakhir dalam fase pengembangan adalah dilakukannya pengetesan integrasi dan validasi.
Fase pengembangan paling sedikit menyerap 75% dari biaya software baru. Ini berarti pengambilan keputusan dalam fase ini akan sangat mempengaruhi keberhasilan dalam implementasi software dan kemudahan dalam pemeliharaan software.
Defect Aplication Model (DAM)
DAM digunakan untuk memberikan gambaran tentang pembentukan dan pendeteksian error selama desain awal dari Desain Terinci dan Pengkodean.
Dengan model ini, kita dapat membandingkan besarnya biaya yang dikeluarkan dengan adanya error, baik untuk review maupun tanpa review.
Contoh DAM tanpa REVIEW :
Cara Kerja :
2. 6 + ( 4 ´ 1,5 ) + 25 = 37
37 ´ 0% = 0
37 - 0 = 37
3. 40 + ( 27 ´ 3 ) + 25 = 116
116 ´ 20% = 2320% = 23,2 » 23
116 - 23 = 93
4. 93 + 0 + 0
93 ´ 50% = 4650% = 46,5 » 46
93 - 46 = 47
5. 46 + 0 + 0 = 46
46 ´ 50% = 2300% = 23
46 - 23 = 23
6. 23 + 0 + 0 = 23
23 ´ 50% = 1150% = 11,5 » 11
23 - 11 = 12
Contoh DAM dengan REVIEW :
1. ( 10 + 0 ) ´ 70% = 7
2. 5 + ( 1 ´ 1,5 ) + 25 = 28,5
28,5 ´ 50% = 1425% = 14,25 » 14
28,5 - 14 = 14,5 » 15
3. ( 10 ´ 3 ) + 5 + 25 = 60
60 ´ 60% = 3600% = 26
60 - 36 = 24
4. 0 + 0 + 24 = 24
24 ´ 50% = 1200% = 12
24 - 12 = 12
5. 12 + 0 + 0 = 12
12 ´ 50% = 600% = 6
12 - 6 = 6
6. 6 + 0 + 0 = 6
6 ´ 50% = 3
6 - 3 = 3
Proses Perangkat Lunak
Feasibility Study
Semua proyek layak bila sumber dan waktunya tidak terbatas. Kenyataannya, pengembangan sistem berbasis komputer dibatasi oleh sumber dan waktu.
Ada 4 bidang utama yang menjadi konsentrasi dari feasibility studi, yaitu :
1. Economic Feasibility :
Evaluasi biaya (cost) dan manfaat (benefit) dalam pengembangan sistem.
2. Tehcnical feasibilitu :
Studi tentang fungsi, performance, dan hambatan yang berpengaruh terhadap kemampuan mendapatkan sistem yang baik.
3. Legal Feasibility :
Penentuan berbagai pelanggaran, kewajiban yang dapat terjadi dari pengembangan sistem.
4. Alternative :
Evaluasi sebagai alternatif untuk mengembangkan sistem
image source: |
baca juga: Memahami Sistem Berbasis Komputer dan Proses Rekayasa Sistem
Analisis Cost Benefit
Menggambarkan biaya pengembangan proyek dan mempertimbangkan keuntungan sistem, baik yang tangible maupun intangible (dapat diukur dan tidak dapat diukur).
Analis cost benefit ini tergantung dari karakteristik sistem yang akan dikembangkan, ukuran relatif proyek (besar kecil proyek), dan ROI (Return On Invesment) yang diharapkan dari proyek.
Keuntungan dari sistem baru selalu dibandingkan dengan keuntungan dari sistem yang ada.
Contoh soal :
Suatu CAD (Computer Aided Design) akan menggantikan cara manual dalam membuat gambar-gambah tehnik. Misalkan :
- t = waktu rata-rata menggambar = 4 jam
- c = biaya gambar perjam = $20
- n = banyaknya gambar pertahun = 8000
- p = persentase gambar yang dihasilkan dengan sistem CAD = 60%
Penurunan waktu gambar menjadi 1/4 nya dengan adanya sistem CAD.
Jadi :
Biaya yang dapat ditekan (dihemat) sebesar :
Bila untuk sistem CAD harus dikeluarkan biaya sebesar :
- biaya pengembangan / membeli = $204,000,
- biaya pemeliharaan = $32,000 per tahun,
Biaya pengeluaran (cost ) = biaya penghematan ( benefit )
204,000 + x · 32,000 = 96,000 · x
64,000 · x = 204,000
x = 3.2 tahun
Ini berarti setelah 3.2 tahun, barulah proyek CAD ini memberikan titik impas (break even). Setelah ini barulah memberikan keuntungan.
Grafik :
Untuk melaksanakan pengembangan proyek software dan berhasil, kita harus mengerti :
- Ruang lingkup pekerjaan yang dilakukan
- Sumber yang diinginkan
- Usaha dan biaya
- Jadwal yang dikehendaki
Perencanaan software adalah :
Langkah kedua dalam fase perencanaan, tetapi merupakan langkah pertama dalam proses rekayasa software yang akan memberikan pengertian kepada 4 hal di atas.
Perencanaan software mengkombinasikan 2 tugas, yaitu :
- Riset
- Estimasi
Tujuan perencanaan software :
Memberikan suatu kerangka yang memungkinkan manajer membuat estimasi yang beralasan tentang sumber, biaya dan jadwal.
Contoh soal :
Produktivitasnya :
= 300 LOC per orang per bulan.Ada 4 orang software engineering yang masing-masing mampu menghasilkan 4000 LOC per tahun.
Bila mereka dipekerjakan dalam 1 team, maka proyek ada 6 jalur komunikasi yang mungkin (communication path). Setiap jalur komunikasi memerlukan waktu yang seharusnya digunakan untuk pengembangan Loding sebesaar 240 LOC per tahun.
Bila proyek 1 tahun tersebut mengalami keterlambatan jadwal dan tinggal 1 bulan lagi, perlu penambahan 3 orang lagi kedalam team tersebut.
Bila dianggap terjadi pengurangan produktivitas team, untuk setiap jalur komunikasi adalah sama, baik untuk pegawai lama dan baru.
Hitung berapa produktivitas team sebelum dan sesudah penambahan 3 orang tersebut, sekaligus jangka waktunya berbeda !!!
Jawab :
Jalur komunikasi 4 orang > ada 6 jalur (lihat gambar).
Produktivitas setelah penambahan :
Jika jalur komunikasinya berbeda :
= 16000 + 2000 - ( 1440 + 600 )
= 18000 - 2040
= 16960
Jika jalur komunikasinya dianggap sama :
= 16000 + 2000 - ( 1440 + 3600 )
= 18000 - 5040
= 12960
Proses Desain Software
Desain dalam fase pengembangan merupakan langkah pertama, di mana fase pengembangan merupakan fase kedua dalam siklus hidup software.
Segera sesudah kebutuhan software ditetapkan, dimulailah fase pengembangan yang terdiri dari 4 langkah berbeda :
- Desain awal (preliminary design)
- Detailed Design (Desain primeir)
- Coding
- Testing
Aliran informasi selama fase pengembangan dapat dilihat pada gambar di bawah ini.
Source Code dihasilkan dan pengetesan awal dilakukan selama langkah pengkodean dan pengetesan unit hasilnya berupa model-model program yang sudah ditest.
Langkah terakhir dalam fase pengembangan adalah dilakukannya pengetesan integrasi dan validasi.
Fase pengembangan paling sedikit menyerap 75% dari biaya software baru. Ini berarti pengambilan keputusan dalam fase ini akan sangat mempengaruhi keberhasilan dalam implementasi software dan kemudahan dalam pemeliharaan software.
Defect Aplication Model (DAM)
Dengan model ini, kita dapat membandingkan besarnya biaya yang dikeluarkan dengan adanya error, baik untuk review maupun tanpa review.
Contoh DAM tanpa REVIEW :
2. 6 + ( 4 ´ 1,5 ) + 25 = 37
37 ´ 0% = 0
37 - 0 = 37
3. 40 + ( 27 ´ 3 ) + 25 = 116
116 ´ 20% = 2320% = 23,2 » 23
116 - 23 = 93
4. 93 + 0 + 0
93 ´ 50% = 4650% = 46,5 » 46
93 - 46 = 47
5. 46 + 0 + 0 = 46
46 ´ 50% = 2300% = 23
46 - 23 = 23
6. 23 + 0 + 0 = 23
23 ´ 50% = 1150% = 11,5 » 11
23 - 11 = 12
Contoh DAM dengan REVIEW :
2. 5 + ( 1 ´ 1,5 ) + 25 = 28,5
28,5 ´ 50% = 1425% = 14,25 » 14
28,5 - 14 = 14,5 » 15
3. ( 10 ´ 3 ) + 5 + 25 = 60
60 ´ 60% = 3600% = 26
60 - 36 = 24
4. 0 + 0 + 24 = 24
24 ´ 50% = 1200% = 12
24 - 12 = 12
5. 12 + 0 + 0 = 12
12 ´ 50% = 600% = 6
12 - 6 = 6
6. 6 + 0 + 0 = 6
6 ´ 50% = 3
6 - 3 = 3
Daftar Pustaka
- Pressman, R. S., Software Engineering: A Practitioner’s Approach, 8th Edition, McGraw-Hill, 2008
- Sommerville, I., Software Engineering 8th Edition, Addison-Wesley, 2007.
Sekian artikel tentang Pengukuran Perangkat Lunak Dalam Proses dan Domain Proyek.
Pengukuran Perangkat Lunak Dalam Proses dan Domain Proyek
4/
5
Oleh
Unknown