Biasanya, programmer akan
melakukan pengujian terhadap kode yang telah dikembangkan. Kegiatan ini
menunjukka error program yang harus dihilangkan. Kegiatan ini disebut
debugging. Pengujian error dan debug merupakan proses yang berbeda. Pengujian
menentukan adanya error. Debug berhubungan dengan pencarian lokasi dan
pembetulan error ini.
Error pada kode harus dilokalisasi
dan program dimodifikasi untuk memenuhi persyaratan. Pengujian kemudian
dilakukan untuk menjamin bahwa perubahan telah dilakukan dengan benar. Dengan
demikian proses debug merupakan bagian dari pengembangan perangkat lunak dan
pengujian perangkat lunak.
Proses debug:
-
Cari
lokasi error
-
Rencang
perbaikan error
-
Perbaiki
error
-
Uji
ulang program
Validasi Perangkat Lunak
Validasi
perangkat lunak, atau lebih umum, verifikasi dan validasi (V&V) ditujukan
untuk menunjukkan bahwa sistem sesuai dengan spesifikasinya dan bahwa sistem
memenuhi harapan pelanggan. Validasi melibatkan proses pemeriksaan, seperti
inspeksi dan peninjauan, pada setiap tahap proses perangkat lunak dari definisi
persyaratan user sampai pengembangan program. Namun demikian mayoritas biaya
validasi disediakan setelah implementasi dan sistem operasional diuji.
Tahap-tahap
pengujian:
- Pengujian unit. Komponen individual diuji untuk menjamin operasi yang benar. Setiap komponen diuji secara independen.
- Pengujian modul. Modul merupakan sekumpulan komponen yang berhubungan seperti kelas, objek, tipe data abstrak, atau sekumpulan prosedur. Sebuah modul dapat diuji tanpa modul sistem yang lain.
- Pengujian sub sistem. Fase ini melibatkan pengujian sekumpulan modul yang telah diintegrasikan menjadi subsistem.
- Pengujian sistem. Penemuan kesalahan yang diakibatkan dari interaksi yang tidak diharapkan antara sub sistem dan masalah interface sub sistem. Proses ini juga berhubungan dengan validasi bahwa sistem telah memenuhi persyaratan fungsional dan non fungsionalnya.
- Pengujian penerimaan. Sistem diuji dengan data yang dipasok oleh pelanggan sistem dan bukan data uii simulasi.
Evolusi Perangkat Lunak
Pengembangan
perangkat lunak dianggap merupakan kegiatan kreatif dimana sistem perangkat
lunak dikembangkan dari konsep awal menjadi sistem yang dapat berjalan.
Pemeliharaan perangkat lunak merupakan proses perubahan sistem tersebut setelah
digunakan. Rekayasa perangkat lunak dianggap sebagai proses evolusioner dimana
perangkat lunak terus diubah selama waktu hidupnya sebagai jawaban atas
perubahan lingkungan dan kebutuhan pelanggan.
Pendukung Proses Terotomatisasi
Computer-Aided
Software Engineering
(CASE) adalah perangkat lunak yang dipakai untuk mendukung kegiatan proses
rekayasa perangkat lunak reperti rekayasa persyaratan, perancangan,
pengembangan program, dan pegujian. Dengan demikian CASE tool mencakup edior
perancangan, kamus data, compiler, debugger, alat bantu pembuatan sistem, dll.
Teknologi
CASE menyediakan dukungan proses perangkat lunak yang mengotomasi beberapa
kegiatan dan menyediakan informasi mengenai perangkat lunak yang sedang
dikembangkan. Contoh kegiatan yang dapat diotomasi dengan menggunakan CASE
mencakup:
- Pengembangan model sistem grafis sebagai bagian spesifikasi persyaratan atau perancangan perangkat lunak;
- Pemahaman rancangan menggunakan kamus data yang menyimpan informasi mengenai entitas dan hubungan pada rancangan;
- Pembuatan interface user dari deskripsi interface grafis yang dibuat secara interaktif dengan user;
- Debug program dengan menyediakan informasi mengenai program yang sedang berjalan;
- Penerjemahan program yang terotomasi dari bahasa pemrograman versi lama seperti COBOL, menjadi versi yang lebih baru.
Teknologi CASE telah menghasilkan
beberapa perbaikan kualitas dan produktivitas perangkat lunak walaupun
kuantitasnya masih kurang dari yang diharapkan oleh pendukung CASE. Menurut
Huff (1992) perbaikan yang dicapai adalah sebesar 40 persen. Walaupun angka ini
signifikan, CASE tidak melakukan revolusi terhadap rekayasa perangkat lunak
sebagaimana yang diramalkan.
Perbaikan dari penggunaan CASE
dibatasi oleh dua faktor:
- Rekayasa perangkat lunak pada intinya adalah kegiatan perancangan yang berdasarkan pada pemikiran kreatif. Sistem CASE yang ada mengotomasi kegiatan rutin, tetapi usaha untuk menggunakan teknologi intelejensia buatan yang memberikan dukungan bagi perancangan belum berhasil.
- Pada sebagian besar organisasi, rekayasa perangkat lunak merupakan kegiatan tim dan perekayasa perangkat lunak menghabiskan waktu cukup banyak untuk berinteraksi dengan anggota tim yang lain. Teknologi CASE tidak banyak memberikan dukungan untuk ini.
- Klasifikasi CASE Tools
Ada berbagai klasifikasi CASE
tool, masing-masing memberikan pandangan yang berbeda. CASE tool dapat dibagi
dalam tiga sudut pandang, yaitu:
- Sudut pandang fungsional, dimana CASE tool diklasifikasikan menurut fungsi khususnya.
- Sudut pandang proses, dimana CASE tool diklasifikasikan menurut kegiatan proses yang didukungnya.
- Sudut pandang integrasi, dimana CASE tool diklasifikasikan menurut bagaimana mereka diorganisasikan ke dalam unit-unit yang terintegrasi, yang memberikan dukungan bagi satu kegiatan proses atau lebih.








0 komentar:
Posting Komentar