BAB II PEMODELAN PROSES PERANGKAT LUNAK
A. Pendahuluan
Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu hal yang dilakukan di tahapan awal. Di dalam suatu rekayasa dalam perangkat lunak sebenarnya
masih memungkinkan tanpa melakukan suatu pemodelan. Hal itu tidak dapat lagi dilakukan dalam suatu industri perangkat lunak. Pemodelan delam perangkat lunak
merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut
. Rekayasa perangkat lunak adalah sebuah disiplin yang mengintegrasikan
proses,metode,dan alat-alat bantu bagi perkembangan proses perangkat lunak komputer. Proses perangkat lunak telah menjadi perhatian yang serius selama dekade
terakhir.Tetapi apakah sebenarnya proses perangkat lunak itu?Di dalam pembahasan ini,kita mendefinisikan proses perangkat lunak sebagai sebuah kerangka kerja untuk
tugas-tugas yang dibutuhkan untuk membangun perangkat lunak dengan kualitas yang tinggi.Proses perangkat lunak menentukan pendekatan yang digunakan ketika perangkat
lunak dikembangkan,tetapi pengembangan perangkat lunak
juga
meliputi teknologi yang mempopulasikan proses,metode teknis,serta alat-alat otomatis.
Lebih penting lagi ,pengembangan perangkat lunak dilakukan oleh orang-orang terpelajar yang kreatif yang bekerja di dalam sebuah proses perangkat lunak yang
dewasa terbatas. Ratusan penulis telah mengembangkan definisi pengembangan perangkat lunak
secara personal, namun definisi yang diusulkan oleh Fritz Bauer [NAU69] pada konferensi seminar masalah ini masih menjadi dasar dari diskusi:
[Rekayasa Perangkat Lunak adalah] Pengembangan dan penggunaan prinsip pengembangan suara untuk memperoleh perangkat lunak secara ekonomis yang reliabel
dan bekerja secara efisien pada mesin nyata.
B. Proses Perangkat Lunak
Sebuah kerangka kerja proses umum dibangun dengan mendefinisikan sejumlah kecil aktivitas kerangka kerja yang bisa diaplikasikan ke semua proyek perangkat
lunak,tanpa melihat ukuran atau kompleksitasnya.Sejumlah task set-tiap koleksi rekayasa perangkat lunak mengerjaka tugas-tugas,tonggak proyek,hasil usaha perangkat lunak dan
bisa dipesan,serta titik jaminan kualitas memungkinkan aktivitas kerangka kerja disesuaikan dengan karakteristik proyek perangkat lunak dan kebutuhan tim proyek.
Akhirnya,aktivitas pelindung seperti jaminan kualitas perangkat lunak,manajemen konfigurasi perangkat lunak lampiran model.Aktivitas pelindung tidak tergantung pada
satupun aktivitas kerangka kerja dan terjadi pada seluruh proses.
Rekayasa perangkat lunak institute [SEI] telah mengembangkan model komprehensif yang didasarkan atas sekumpulan kapabilitas rekayasa perangkat lunak
yang harus ada sebagai organisasi yang mencapai tingkat kematangan proses yang berbeda.Untuk menentukan keadaan suatu organisasi dalam hal kematangan
prosesnya,SEI menggunakan perkiraan kuesioner serta skema gradasi lima poin.
- 14 -
Pendekatan SEI memberikan sebuah pengukuran terhadap efektivitas global dari sebuah praktek perekayasaan perangkat lunak perusahaan dan membangun lima tingkat
kematangan proses,yang didefinisikan dengan cara berikur ini:
Level 1. Initial-Proses perangkat lunak yang ditandai sebagai ad hoc ,dan bahkan
kadang-kadang bersifat kacauchaotic.
Level 2. Repeatable Proses Perangkat Lunak. Proses-proses manajemen proyek dasa
dibangun untuk menelusuri masalah biaya,jadual,dan fungsionalitas.Disiplin pross yang perlu ada untuk mengulangi sukses-sukses proyek yang terdahulu
dengan penerapan yang sama.
Level 3. Defined-Proses perangkat lunak, untuk aktivitas manajemen atau
perekayasaan didokumentasikan, distandarkan, dan diintegrasikan ke dalam proses perangkat lunak morganisasi besar.Semua proyek menggunakan versi
proses organisasi yang didokumentasikan dan disahkan untuk pengembangan dan pemeliharaan perangkat lunak.Tingkat ini menyangkut semua ciri yang
didefinisika pada tingkat 3.
Level 4. Managed Proses perangkat lunak. Pengukuran detail terhadap proses
perangkat lunak dan kualitas produksi dikumpulkan.Produk dan proses perangkat lunak dipahami secara kuantitatif dan dikontrol dengan
menggunakan pengukuran secara detail.Tingkat ini ntermasuk semua karakteristik yang didefinisikan pada tingkat 3.
Level 5. Optimzing perangkat lunak. Pertambahan proses yang terus menerus
dimungkinkan oleh umpan balik kuantitatif dari proses dan dari gagasan inovatif pengujian serta teknologi.Tingkat ini termasuk semua ciri yang
didefinisikan pada tingkat 4.
Di dalam suatu industri dikenal berbagai macam proses, demikian juga halnya dengan industri perangkat lunak. Perbedaan proses yang digunakan akan menguraikan
aktivitas-aktivitas proses dalam cara-cara yang berlainan. Perusahaan yang berbeda menggunakan proses yang berbeda untuk menghasilkan produk yang sama. Tipe produk
yang berbeda mungkin dihasilkan oleh sebuah perusahaan dengan menggunakan proses yang berbeda. Namun beberapa proses lebih cocok dari lainnya untuk beberapa tipe
aplikasi. Jika proses yang salah digunakan akan mengurangi kualitas kegunaan produk yang dikembangkan.
Karena banyaknya variasi dalam model proses yang digunakan maka tidak mungkin menghasilkan gambaran-gambaran yang reliabel untuk alokasi biaya dalam
aktivitas-aktivitas ini. Modifikasi perangkat lunak biasanya lebih dari 60 dari total biaya pembuatan perangkat lunak. Presentasi ini terus bertambah karena lebih banyak
perangkat lunak dihasilkan dan dipelihara. Pembuatan perangkat lunak untuk suata perubahan adalah penting. Proses perangkat lunak komplek dan melibatkan banyak
aktivitas.
Seperti produk, proses juga memiliki atribut dan karakteristik seperti :
Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana kemudahan definisi proses itu dimengerti.
Visibility, apakah aktivitas-aktivitas proses mencapai titik akhir dalam hasil yang jelas sehingga kemajuan dari proses tersebut dapat terlihat nyatajelas
Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh CASE
- 15 -
Acceptability, apakah proses yang telah ditentukan oleh insinyur dapat diterima dan digunakan dan mampu bertanggung jawab selama pembuatan produk
perangkat lunak
Reliability, apakah proses didesain sedikian rupa sehingga kesalahan proses dapat dihindari sebelum terjadi kesalahan pada produk.
Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang tak diduga
Maintainability, dapatkah proses berkembang untuk mengikuti kebutuhan atau perbaikan
Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi.
C. Model-Model Proses Perangkat Lunak