rpl3 - proses perangkat lunak

25
Proses Perangkat Lunak Proses Perangkat Lunak dan Metrik Proyek dan Metrik Proyek Dr. M. Sarosa, Dipl. Dr. M. Sarosa, Dipl. Ing. MT. Ing. MT. [email protected] [email protected]

Upload: anggar55

Post on 07-Jun-2015

807 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: rpl3 - proses perangkat lunak

Proses Perangkat Lunak dan Proses Perangkat Lunak dan Metrik ProyekMetrik Proyek

Dr. M. Sarosa, Dipl. Ing. MT.Dr. M. Sarosa, Dipl. Ing. MT.

[email protected]@yahoo.com

Page 2: rpl3 - proses perangkat lunak

PendahuluanPendahuluanLord Kelvin:Lord Kelvin: ““Bila anda dapat mengukur apa yang sedang anda Bila anda dapat mengukur apa yang sedang anda

bicarakan dan mengekspresikannya dalam angka bicarakan dan mengekspresikannya dalam angka berarti anda memahaminya, tetapi bila anda tidak berarti anda memahaminya, tetapi bila anda tidak dapat mengukur, tidak dapat mengekspresikannya dapat mengukur, tidak dapat mengekspresikannya dalam angka, hal ini berarti pengetahuan anda dalam angka, hal ini berarti pengetahuan anda tidak lengkap dan tidak memuaskan, mungkin ini tidak lengkap dan tidak memuaskan, mungkin ini merupakan awal dari pengetahuan tetapi hanya di merupakan awal dari pengetahuan tetapi hanya di dalam pikiran anda, dan anda hampir maju ke arah dalam pikiran anda, dan anda hampir maju ke arah ilmu pengetahuan.”ilmu pengetahuan.”

22

Page 3: rpl3 - proses perangkat lunak

1. Pengukuran, metrik dan Indikator1. Pengukuran, metrik dan IndikatorMeasure (mengukur), mengindikasikan Measure (mengukur), mengindikasikan kuantitatif dari luasan, jumlah, dimensi, kuantitatif dari luasan, jumlah, dimensi, kapasitas ukuran dari atribut sebuah proses kapasitas ukuran dari atribut sebuah proses atau produk.atau produk.

Measurement (pengukuran), kegiatan Measurement (pengukuran), kegiatan menentukan sebuah measuremenentukan sebuah measure

Metrik (IEEE), ukuran kuantitatif dari tingkat Metrik (IEEE), ukuran kuantitatif dari tingkat dimana sebuah sistem, komponen atau proses dimana sebuah sistem, komponen atau proses memiliki atribut tertentu.memiliki atribut tertentu.

Indikator, sebuah metrik atau kombinasi dari Indikator, sebuah metrik atau kombinasi dari metrik yang memberikan pengetahuan ke dalam metrik yang memberikan pengetahuan ke dalam proses perangkat lunak, proyek perangkat lunak proses perangkat lunak, proyek perangkat lunak atau produk itu sendiriatau produk itu sendiri

33

Page 4: rpl3 - proses perangkat lunak

2. Metrik dalam proses dan domain proyek2. Metrik dalam proses dan domain proyek

Indikator prosesIndikator proses, memungkinkan sebuah , memungkinkan sebuah organisasi rekayasa perangkat lunak organisasi rekayasa perangkat lunak memperoleh pengetahuan tentang reliabilitas memperoleh pengetahuan tentang reliabilitas sebuah proses yang sedang berlangsung sebuah proses yang sedang berlangsung (misalnya paradigma, tuas-tugas rekayasa (misalnya paradigma, tuas-tugas rekayasa perangkat lunak, produk kerja, dan kejadian perangkat lunak, produk kerja, dan kejadian penting)penting)

Indikator proyekIndikator proyek, memungkinkan manajer , memungkinkan manajer proyek melakukan: proyek melakukan:

memperkirakan status proyek yang sedang berlangsung,memperkirakan status proyek yang sedang berlangsung,menelusuri resiko yang potensial,menelusuri resiko yang potensial,Menyesuaikan aliran kerja atau tugasMenyesuaikan aliran kerja atau tugasMengevaluasi kemampuan tim proyek mengontrol kualitas Mengevaluasi kemampuan tim proyek mengontrol kualitas hasil kerja rekyasa perangkat lunakhasil kerja rekyasa perangkat lunak 44

Page 5: rpl3 - proses perangkat lunak

a. Metrik proses dan peningkatan a. Metrik proses dan peningkatan perangkat lunakperangkat lunak

Meningkatkan proses adalah mengukur atribut Meningkatkan proses adalah mengukur atribut tertentu dari proses, mengembangkan tertentu dari proses, mengembangkan serangkaian metrik berdasarkan atribut tersebut, serangkaian metrik berdasarkan atribut tersebut, kemudian menggunakan metrik tersebut untuk kemudian menggunakan metrik tersebut untuk indikator yang akan membawa kepada sebuah indikator yang akan membawa kepada sebuah strategi pengembangan.strategi pengembangan.

Proses merupakan salah satu faktor yang dapat Proses merupakan salah satu faktor yang dapat dikontrol dalam mengembangkan kualitas dikontrol dalam mengembangkan kualitas perangkat lunak serta unjuk kerja organisasional.perangkat lunak serta unjuk kerja organisasional.

55

Page 6: rpl3 - proses perangkat lunak

Determinan untuk kualitas dan efektifitas Determinan untuk kualitas dan efektifitas organisasional perangkat lunakorganisasional perangkat lunak

66

Page 7: rpl3 - proses perangkat lunak

Determinan untuk kualitas …. (Lanjutan 1)Determinan untuk kualitas …. (Lanjutan 1)

Proses berada ditengah-tengah segitiga yang Proses berada ditengah-tengah segitiga yang menghubungkan 3 faktor yang mempengaruhi menghubungkan 3 faktor yang mempengaruhi kualitas perangkat lunak dan unjuk kerja kualitas perangkat lunak dan unjuk kerja organisasionalorganisasional

Ketrampilan dan motivasi (manusia) menjadi Ketrampilan dan motivasi (manusia) menjadi faktor yang mempengaruhi unjuk kerja timfaktor yang mempengaruhi unjuk kerja tim

Metode rekayasa perangkat lunak (teknologi) Metode rekayasa perangkat lunak (teknologi) juga mempengaruhi proses.juga mempengaruhi proses.

Lingkaran menggambarkan lingkungan Lingkaran menggambarkan lingkungan pengembangan (alat-alat bantu), kondisi bisnis pengembangan (alat-alat bantu), kondisi bisnis (batas waktu, aturan bisnis) , karakteristik (batas waktu, aturan bisnis) , karakteristik pelanggan (lancarnya komunikasi)pelanggan (lancarnya komunikasi)

77

Page 8: rpl3 - proses perangkat lunak

Contoh metrik yang bersifat pribadi Contoh metrik yang bersifat pribadi terhadap individuterhadap individu

Nilai cacat oleh individuNilai cacat oleh individu

Nilai cacat oleh modulNilai cacat oleh modul

Kesalahan yang ditemukan selama Kesalahan yang ditemukan selama pengembanganpengembangan

88

Page 9: rpl3 - proses perangkat lunak

Proses Perangkat lunak PersonalProses Perangkat lunak Personal

Humrey:Humrey: ““Proses perangkat lunak presonal (PSP) Proses perangkat lunak presonal (PSP)

merupakan serangkaian deskripsi proses merupakan serangkaian deskripsi proses pengukuran dan metode yang terstruktur, yang pengukuran dan metode yang terstruktur, yang dapat membantu perekayasa untuk dapat membantu perekayasa untuk mengembangkan unjuk kerja personal mereka. mengembangkan unjuk kerja personal mereka. PSP memperlihatkan bagaimana mendefinisikan PSP memperlihatkan bagaimana mendefinisikan proses, bagaimana mengukur kualitas dan proses, bagaimana mengukur kualitas dan produktivitas. PSP membantu perekayasa untuk produktivitas. PSP membantu perekayasa untuk mengukur dan menelusuri kerja merea sendiri mengukur dan menelusuri kerja merea sendiri sehingga mereka mendapatkan bahwa metoda sehingga mereka mendapatkan bahwa metoda tersebut merupakan yang terbaik untuk mereka.”tersebut merupakan yang terbaik untuk mereka.”

99

Page 10: rpl3 - proses perangkat lunak

Analisis kegagalan bekerjaAnalisis kegagalan bekerjaSemua kesalahan dan cacat dikategorikan dari awal Semua kesalahan dan cacat dikategorikan dari awal (contoh kekurangan dalam spesifikasi, logika, (contoh kekurangan dalam spesifikasi, logika, ketidaksesuaian dengan standar)ketidaksesuaian dengan standar)Biaya untuk mengoreksi setiap kesalahan dan cacat Biaya untuk mengoreksi setiap kesalahan dan cacat dicatatdicatatJumlah kesalahan dan cacat dari setiap kategori dihitung Jumlah kesalahan dan cacat dari setiap kategori dihitung dan ditata dalam urutan naikdan ditata dalam urutan naikBiaya keseluruhan dari kesalahan dan cacat dalam Biaya keseluruhan dari kesalahan dan cacat dalam setiap kategori dihitungsetiap kategori dihitungData resultan dianalisis untuk menemukan kategori yang Data resultan dianalisis untuk menemukan kategori yang menelan biaya besarmenelan biaya besarRencana dikembangkan untuk memodifikasi proses Rencana dikembangkan untuk memodifikasi proses guna mengeliminasi (mengurangi frekuensi kejadian) guna mengeliminasi (mengurangi frekuensi kejadian) kelas kesalahan dan cacat yang paling membutuhkan kelas kesalahan dan cacat yang paling membutuhkan banya biaya.banya biaya.

1010

Page 11: rpl3 - proses perangkat lunak

Penyebab dan asal cacat pada proyek Penyebab dan asal cacat pada proyek perangkat lunakperangkat lunak

8 penyebab

kerusakan dan

sumbernya

(ditunjukkan

dengan arsiran)

1111

Page 12: rpl3 - proses perangkat lunak

Diagram fishbone memperlihatkan Diagram fishbone memperlihatkan penyebab kelas cacatpenyebab kelas cacat

1212

Page 13: rpl3 - proses perangkat lunak

Diagram fishbone …. (lanjutan 1)Diagram fishbone …. (lanjutan 1)

Punggung diagram (garis pusat) merepresentasi Punggung diagram (garis pusat) merepresentasi faktor kualitas yang sedang dipertimbangkkan faktor kualitas yang sedang dipertimbangkkan (cacat=25% jumlah total)(cacat=25% jumlah total)

Rusuk (garis diagonal)Rusuk (garis diagonal) penyebab potensial penyebab potensial masalah kualitas (syarat yang hilang, spesifikasi masalah kualitas (syarat yang hilang, spesifikasi ambiguitas, syarat yang tidak tepat, syarat yang ambiguitas, syarat yang tidak tepat, syarat yang diubah).diubah).

Notasi punggung dan rusuk kemudian Notasi punggung dan rusuk kemudian ditambahkan ke masing-masing rusuk utama ditambahkan ke masing-masing rusuk utama dari diagram untuk memperluas penyebab yang dari diagram untuk memperluas penyebab yang dicatatdicatat

1313

Page 14: rpl3 - proses perangkat lunak

b. Matrik proyekb. Matrik proyek

Matrik proses untuk tujuan strategis, matrik Matrik proses untuk tujuan strategis, matrik proyek perangkat lunak bersifat taktis (matrik proyek perangkat lunak bersifat taktis (matrik proyek dan indikator berasal dari pengukuran proyek dan indikator berasal dari pengukuran digunakan untuk mengadaptasi aliran kerja digunakan untuk mengadaptasi aliran kerja proyek dan aktivitas teknik)proyek dan aktivitas teknik)

Tujuan matrik proyek:Tujuan matrik proyek:

Untuk meminimalkan jadwal pengembangan Untuk meminimalkan jadwal pengembangan dengan penyesuaian yang diperlukan, untuk dengan penyesuaian yang diperlukan, untuk menghindari penundaan serta masalah dan resiko menghindari penundaan serta masalah dan resiko potensialpotensial

Untuk memperkirakan kulitas produk pada basis Untuk memperkirakan kulitas produk pada basis yang berlaku dan bila dibutuhkan, memodifikasiyang berlaku dan bila dibutuhkan, memodifikasi pendekatan teknis untuk meningkatkan kualitas pendekatan teknis untuk meningkatkan kualitas

1414

Page 15: rpl3 - proses perangkat lunak

Model lain matrik proyekModel lain matrik proyek

Setiap proyek seharusnya mengukur:Setiap proyek seharusnya mengukur:

Input (pengukuran sumber daya seperti Input (pengukuran sumber daya seperti manusia, lingkungan yang dibutuhkan untuk manusia, lingkungan yang dibutuhkan untuk melaksanakan pekerjaan)melaksanakan pekerjaan)

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

Hasil (pengukuran yang menunjukkan efektifitas Hasil (pengukuran yang menunjukkan efektifitas kemampuan penyampaian)kemampuan penyampaian)

1515

Page 16: rpl3 - proses perangkat lunak

3. Pengukuran perangkat lunak3. Pengukuran perangkat lunak

Pengukuran langsung Pengukuran langsung dari proses rekayasa perangkat lunak dari proses rekayasa perangkat lunak biaya dan biaya dan usaha yang diaplikasikan.usaha yang diaplikasikan.

dari produk dari produk deretan kode (LOC) yang diproduksi, deretan kode (LOC) yang diproduksi, kecepatan eksekusi, ukuran memori, cacat yang kecepatan eksekusi, ukuran memori, cacat yang dilaporkan pada sejumlah periode waktudilaporkan pada sejumlah periode waktu

Pengukuran tidak langsungPengukuran tidak langsungDari produk Dari produk fungsionalitas, kualitas, kompleksitas, fungsionalitas, kualitas, kompleksitas, efisiensi, reliabilitas, kemampuan pemeliharaanefisiensi, reliabilitas, kemampuan pemeliharaan

1616

Page 17: rpl3 - proses perangkat lunak

a. Metrik size orienteda. Metrik size oriented

Contoh tabel pengukuran berorientasi ukuran, berisi daftar Contoh tabel pengukuran berorientasi ukuran, berisi daftar setiap proyek yang telah diselesaikan dr tahun ke tahun setiap proyek yang telah diselesaikan dr tahun ke tahun dan pengukuran yang berhasil dilakukandan pengukuran yang berhasil dilakukan

1717

Page 18: rpl3 - proses perangkat lunak

Pengembangan metrik size-orientedPengembangan metrik size-oriented

Data yang belum sempurna yang ada pada tabel Data yang belum sempurna yang ada pada tabel dapat dikembangkan untuk setiap proyeknya,dapat dikembangkan untuk setiap proyeknya,

Kesalahan (error) per KLOC (ribuan baris kode)Kesalahan (error) per KLOC (ribuan baris kode)

$ perLOC cacat (defect) per KLOC$ perLOC cacat (defect) per KLOC

Halaman dokumentasi per KLOCHalaman dokumentasi per KLOC

Metrik yang dapat dihitung:Metrik yang dapat dihitung:Kesalahan /person-monthKesalahan /person-month

LOC/person-monthLOC/person-month

$/halaman dokumentasi$/halaman dokumentasi

1818

Page 19: rpl3 - proses perangkat lunak

b. Metrik Function-Orientedb. Metrik Function-Oriented

Menggunakan sebuah pengukuran fungsionalitas yang disampaikan oleh aplikasi sebagai suatu nilai normalisasi.

1919

Page 20: rpl3 - proses perangkat lunak

Metrik Function-Oriented (lanjutan 1)Metrik Function-Oriented (lanjutan 1)

Jumlah input pemakai, setiap input pemakai yang memberikan Jumlah input pemakai, setiap input pemakai yang memberikan data yang berorientasi pada aplikasi yang jelas pada perangkat data yang berorientasi pada aplikasi yang jelas pada perangkat lunak dihitunglunak dihitung

Jumlah output pemakai, setiap output yang memberikan informasi Jumlah output pemakai, setiap output yang memberikan informasi yang beorientasi pada aplikasi kepada pemakai dihitung. Pada yang beorientasi pada aplikasi kepada pemakai dihitung. Pada konteks ini output mengacu pada laporan, layar, tampilan. konteks ini output mengacu pada laporan, layar, tampilan.

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

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

Jumlah interface eksternal, semua interface yang dapat dibaca Jumlah interface eksternal, semua interface yang dapat dibaca oleh mesin yang digunakan untuk memindahkan informasi ke oleh mesin yang digunakan untuk memindahkan informasi ke sistem yang lain dihitung.sistem yang lain dihitung.

2020

Page 21: rpl3 - proses perangkat lunak

Menghitung titik-titik fungsiMenghitung titik-titik fungsiUntuk menghitung titik-titik fungsi (FP) Untuk menghitung titik-titik fungsi (FP)

dipakai hubungan :dipakai hubungan :

FP=jumlah total x (0,65 + 0,01 x Fi)FP=jumlah total x (0,65 + 0,01 x Fi)

Dengan jumlah total adalah jumlah semua entri Dengan jumlah total adalah jumlah semua entri yang diperolehyang diperoleh

Fi (i=1 s.d. 14) harga penyesuaian kompleksitas Fi (i=1 s.d. 14) harga penyesuaian kompleksitas berdasarkan pada pertanyaan yang ditulis pada berdasarkan pada pertanyaan yang ditulis pada tabel berikut:tabel berikut:

2121

Page 22: rpl3 - proses perangkat lunak

Tabel menghitung function pointTabel menghitung function point

2222

1. Apakah sistem membutuhkan backup dan recovery yang reliabel ?

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 mebutuhkan entri data online ?

Page 23: rpl3 - proses perangkat lunak

Tabel menghitung function point (lanjutan 1)Tabel menghitung function point (lanjutan 1)

7.7. Apakah entri data online membutuhkan adanya Apakah entri data online membutuhkan adanya

transaksi input terhadap layar ?transaksi input terhadap layar ?

8.8. Apakah file master diperbaharui secara online ?Apakah file master diperbaharui secara online ?

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

10.10. Apakah pemrosesan internal kompleks ?Apakah pemrosesan internal kompleks ?

11.11. Apakah kode didesain untuk dapat dipakai kembali ?Apakah kode didesain untuk dapat dipakai kembali ?

12.12. Apakah kode didesain untuk dapat dipakai kembali ?Apakah kode didesain untuk dapat dipakai kembali ?

13.13. apakah sistem didesain untuk instalasi ganda dalam apakah sistem didesain untuk instalasi ganda dalam

organisasi berbeda?organisasi berbeda?

14.14. Apakah aplikasi didesain untuk memfasilitasi perubahan Apakah aplikasi didesain untuk memfasilitasi perubahan

dan mempermudah pemakai untuk menggunakannya?dan mempermudah pemakai untuk menggunakannya?2323

Page 24: rpl3 - proses perangkat lunak

Sekali function point telah dihitung, maka titik-titik itu digunakan dengan cara analog dengan LOC untuk menormalisasi pengukuran produktifitas, kualitas perangkat lunak, serta atribut-atribut yang lain:Kesalahan per FPCacat per FP$ per FPHalaman dokumentasi per FPFP per person-month

Page 25: rpl3 - proses perangkat lunak

Metrik untuk kualitas perangkat lunak

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.Pengukuran ditujukan untuk menilai kualitas model analisis dan desain, kode sumber, dan test case yang dibuat ketika perangkat lunak direkayasa.Tujuan utama pengukuran kualitas adalah untuk mencari kesalahan dan cacat.