REKAYASA PERANGKAT LUNAK (RPL)
PROTOTYPE dan DAUR HIDUP PENGEMBANGAN SYSTEM
PROTOTYPE dan DAUR HIDUP PENGEMBANGAN SYSTEM
Apa yang dimaksud dengan Rekayasa Perangkat Lunak (software engineering ).Ada banyak definisi mengenai rekayasa software (RPL) Tetapi hal-hal mendasar tentang rekayasa perangkat lunak (RPL) adalah tentang :
1. Pengembangan perangkat lunak secara tim (kelompok) dan bukan secara perorangan
2. Memanfaatkan prinsip-prinsip rekayasa dalam pengembangan system
3. Termasuk aspek teknis dan non teknis.
Tujuan :
Tujuan dari Rekayasa Perangkat Lunak (RPL) adalah sama seperti pengertian rekayasa dalam bidang-bidang lainnya, tujuan dari Rekayasa Perangkat Lunak adalah menghasilkan produk perangkat lunak, dilihat dari segi biaya, secara efektif.
Produk suatu perangkat lunak dapat dikelompokkan menjadi dua jenis, yaitu :
1. Produk Generik, perangkat lunak, yang dikembangkan oleh sebuah perusahaan dengan ciri dapat berdiri sendiri dan dijual kepada siapapun dipasar terbuka, Artinya produk tidak dikhususkan untuk sebuah perusahaan saja.
2. Produk Spesifik, perangkat lunak pesanan sebuah perusahaan, dikembangkan khusus untuk perusahaan tersebut oleh pihak kontraktor. Sehingga produk menjadi khas hanya untuk perusahaan
tersebut saja.
Ciri dari perangkat lunak yang telah direkayasa dengan baik adalah :
1. Mudah dirawat , perangkat lunak harus dapat disesuaikan dengan perkembangan/ perubahan kebutuhan user. Artinya perangkat lunak harus terdokumentasi dengan baik, sehingga mudah untuk melakukan perubahan.
2. Dapat diandalkan, perangkat lunak harus bekerja sesuai dengan yang diharapkan. Tidak mengakibatkan kerugian baik fisik maupun materi saat terjadi kegagalan.
3. Efisien, perangkat lunak harus tidak memboroskan baik memory maupun processor cycle.
4. Mudah dipakai, perangkat lunak harus mempunyai user interface yang baik dengan dokumentasi yang memadai.
Seorang Perekayasa perangkat lunak harus mempunyai kemampuan :
1. Menguasai teknik-teknik komputerisasi
2. Juga harus memiliki kemampuan berkomunikasi baik secara lisan maupun tertulis
3. Tanggap terhadap pentingnya manajemen proyak
4. Dapat memahami kesulitan yang dihadapi oleh pemakai (user) dalam berinteraksi dengan perangkat lunak yang tidak mereka pahami bagaimana cara kerjanya.
Prototype
Prototype terbagi menjadi dua yaitu :
1. Tipe pertama, prototype yang nantinya akan dikembangkan menjadi system operasional, bentuk ini sering disebut sebagai evolutionary protoyipe.
2. Tipe kedua, prototype yang hanya akan menjadi cetak biru (blue print) dari system yang dikembangkan, bentuk ini sering disebut sebagai throwaway prototype. Manfaat digunakannya prototype adalah membuat pengembang system dan pemakai mempunyai ide tentang bagaimana bentuk akhir dari system akan bekerja. Adapun kegiatan menghasilkan prototype disebut juga dengan prototyping.
1)Tahap proses pembuatan prototype pertama (evolutionary prototype)
Tahap-tahap proses pembuatan prototype tipe pertama (evolutionary prototype) yaitu:
1. Tentukan kebutuhan. Tentukan apa kebutuhan user. Analis system mewawancarai user untuk mendapatkan ide tentang apa yang diinginkan oleh user dari system yang akan dikembangkan.
2. Buat prototype. Analis system bekerja sama dengan ahli computer yang lain, dengan memanfaatkan satu atau beberapa alat bantu untuk pembuatan prototype, mengembangkan prototype.
3. Evaluasi. Analis system memperkenalkan prototype kepada user, menuntun user untuk mengenali karakteristik dari prototype. Dari kesempatan uji coba ini, user akan memberikan pendapatnya pada analis system. Kalau prototype diterima dilanjutkan ke tahap 4. Kalau ada perbaikan maka langkah berikutnya adalah mengulangi tahap1, 2 dan 3 dengan pengertian yang lebih baik tentang apa yang diinginkan oleh user.
4. Gunakan Prototype. Prototype menjadi system yang operasional. Tahap proses pembuatan 2)prototype kedua (throwaway prototype)
Tahap-tahap proses pembuatan prototype tipe kedua (throwaway prototype) yaitu:
1. Tentukan kebutuhan. Tentukan apa kebutuhan user. Analis system mewawancarai user untuk mendapatkan ide tentang apa yang diinginkan oleh user dari system yang akan dikembangkan.
2. Buat prototype. Analis system bekerja sama dengan ahli computer yang lain, dengan memanfaatkan satu atau beberapa alat bantu untuk pembuatan prototype, mengembangkan prototype.
3. Evaluasi. Analis system memperkenalkan prototype kepada user, menuntun user untuk mengenali karakteristik dari prototype. Dari kesempatan uji coba ini, user akan memberikan pendapatnya pada analis system. Kalau prototype diterima dilanjutkan ketahap 4. Kalau ada perbaikan maka langkah berikutnya adalah mengulangi tahap1, 2 dan 3 dengan pengertian yang lebih baik tentang apa yang diinginkan oleh user.
4. Program system. Pemrogram memanfaatkan prototype sebagai pedoman untuk mengembangkan system yang operasional.
Persamaan dan perbedaan dari dua prototype tersebut adalah :
a. Pada tipe pertama, prototype yang dibuat akan menjadi system operasional. Artinya prototype dikembangkan sesuai dengan karakteristik dan bentuk akhir dari produk yang diinginkan.
b. Pada tipe kedua, prototype yang dibuat hanya akan memperlihatkan perkiraan bentuk sistemnya saja, tidak berisi komponen-komponen penting lainnya.
Manfaat prototyping untuk pengembangan system , untuk system skala kecil, prototyping dapat menggantikan daur hidup pengembangan system. Tetapi pada system skala besar, prototyping menjadi bagian dalam daur hidup pengembangan system. Apa yang menarik dari prototyping ?
Baik user maupun pengembang system seringkali sangat menyukai prototyping karena :
1. Terjadi peningkatan kumunikasi antara user dengan pengembang system
2. Analis system dapat bekerja lebih baik dalam menentukan kebutuhan user
3. Peningkatan peran user pada pengembangan system
4. System dapat dikembangkan lebih cepat
5. Tahap implementasi menjadi lebih mudah, karena user sudah mengenali apa yang dapat dihasilkan oleh system yang dikembangkan.
Hal-hal negative yang terdapat dalam pemenfaatan prototyping antara lain :
1. Keinginan untuk cepat selesai, seringkali mengabaikan definisi masalah, evaluasi maupun dokumentasi yang baik
2. User bisa berharap terlalu banyak dari system yang sedang dikembangkan
3. Prototyp (tipe yang pertama) seringkali bekerja tidak efisien. Sebagai bagian dari daur hidup pengembangan system, prototyping dapat dimanfaatkan pada :
a. Tahapan Pemanfaatan
b. Perencanaan Penentuan masalah
c. Penentuan tujuan dari system
d. Analisa Penentuan kebutuhan informasi
e. Perancangan Mempersiapkan rancangan rinci
f. Evaluasi alternative konfigurasi sistem
Ciri-ciri prototype yang baik adalah :
1. Beresiko tinggi. Problemnya tidak terstruktur dengan baik, perubahanperubahan sering terjadi sepanjang waktu, dan kebutuhan datanya tidak tentu.
2. Dialog User – Komputer. Tampilan layar sebagai sarana interaksi antara user dengan computer.
3. Banyak User. Kesepakatan untuk rancangan rinci sulit diperoleh tanpa ebuah bentuk yang dapat diperlihatkan kepada user.
4. Ingin cepat selesai. User ingin segera melihat bagimana system bekerja
5. SIngkat. Sistem hanya dipakai untuk jangka waktu yang singkat saja.
6. Inovatif. Sistem adalah sesuatu yang sangat inovatif, me-manfaatkan teknologi perangkat keras maupun perangkat lunak yang canggih (terbaru).
7. Berubah-ubah. Sistem memahami apa yang diinginkan oleh user Aplikasi yang tidak mempunyai cirri-ciri seperti diatas, umumnya dapat dikembangkan dengan Daur Hidup Pengembangan Sistem Tradisional (klasik). Daur Hidup Pengembangan Sistem tradisional atau disebut juga Daur Hidup Pengembangan Sistem klasik, model yang paling awal dipakai dan tetap banyak dipakai sampai saat ini Model Water Fall (air terjun), pola peralihan dari satu tahapan ke tahap lainnya dapat dibayangkan seperti sebuab air terjun.
A. Kelemahan dari Daur Hidup Pengambangan Sistem Tradisional (klasik) adalah :
1. Bentuk kerja dari system yang dibuat baru dapat dilihat menjelang akhir dari jangka waktu proyek.
2. Proyek jarang sekali berjalan sesuai dengan alur yang digambarkan. Pengulangan-pengulangan seperti yang di modelkan seringkali harus dilakukan sehingga sering menimbulkan problema tersendiri.
3. Acapkali sulit bagi user untuk menyatakan secara jelas semua kebutuhannya. Sedangkan paradigm ini sangat membutuhkan hal tersebut diawal tahapannya.
B. Daur Hidup Pengebangan Sistem tradisional (klasik) dapat dilihat :
1. Definisi Kebutuhan. Perangkat lunak seringkali adalah bagian dari system yang lebih besar. Sehingga selalu diawali dengan menentukan kebutuhan untuk semua komponen system, baru kemudian mengalokasikan sebagian dari kebutuhan itu ke dalam perngkat lunak.
2. Analisa Kebutuhan Perangkat Lunak. Penentuan spesifikasi kebutuhan system yang diperlukan untuk program yang akan dibuat, fungsi-fungsi apa saja yang harus ada, unjuk kerja (performance) yang diharapkan dan antarmuka (interfacing) dengan system lain.
3. Perancangan. Perancangan sesungguhnya adalah sejumlah langkahlangkah yang difokuskan pada atribut dari program yaitu : struktur data, arsitektur perangkat lunak, prosedur rinci, karakteristik dari antar muka. Perancangan menerjemahkan kebutuhan menjadi gambaran bentuk program sebelum dikembangkan.
4. Konstruksi. Rancangan harus diterjemahkan ke bentuk yang dipahami oleh mesin (ke bentuk program). Rancangan yang dibuat rinci akan memudahkan tahap pembuatan program.
5. Pengujian. Dimulai semenjak program selesai dibuat. Pengujian dilakukan untuk memastikan semua perintah berjalan dengan benar, dan untuk menemukan kesalahan yang mungkin ada. Pengujian dilakukan untuk memastikan apa yang dihasilkan telah sesuai dengan yang diinginkan.
6. Perawatan. Tidak diragukan lagi bahwa suatu saat setelah digunakan oleh user, perangkat lunak akan membutuhkan perubahan. Perubahan dilakukan karena ditemukannya kesalahan, karena adanyan perubahan kebutuhan, atau karena perubahan lingkungan (system operasi, peralatan, dll). Perawatan adalah mengulang tahapan yang telah dilalui untuk perbaikan, dan bukan membuat sebuah program baru. Proses pengembangan perangkat lunak dapat dikelompokkan dalam tiga tahapan proses yaitu :
1. Definisi (definition)
2. Pengembangan (development)
3. Perawatan (maintenance)
Pada tahapan Definisi :
Tahap penetapan kebutuhan utama (kunci) dari system. Terfokus pada pertanyaan apa (what). Informasi apa yang akan diproses, Fungsi dan unjuk kerja yang diinginkan, Antar muka apa yang harus tersedia, Apa batasan rancangan yang ada, Validasi seperti apa yang diperlukan.
Kegiatan yang dilakukan pada tahapan definisi yaitu :
1. Analisa system. Analisa system menentukan peran dari masing-masing komponen dalam system informasi yang terkomputerisasi, terutama tentang apa yang dapat dilakukan oleh perangkat lunak yang akan dikembangkan.
2. Perencanaan Proyek Perangkat Lunak. Setelah cakupan dari perangkat lunak ditetapkan, dan resiko telah dianalisa. Maka sumber daya mulai diatur, biaya diperkitakan dan tugas maupun jadwal kerja ditetapkan.
3. Analisa Kebutuhan Sistem. Cakupan perangkat lunak menentukan arah pengembangan, tetpi definisi yang lebih terinci dari lingkup informasi maupun kemampuan perangkat lunak sangat diperlukan sebelum pengembangan dapat dilakukan.
Pada tahapan Pengembangan :
Tahap ini diterfokuskan pada pertanyaan bagaimana (how). Pengembang perangkat lunak berusaha untuk menetapkan bentuk struktur data, dan arsitektur dari system yang akan dirancang, bagaimana mengimplementasikan prosedur-prosedur yang diinginkan, bagaimana rancangan diterapkan dalam bahasa pemrograman, bagaimana pengujian akan dilakukan.
Kegiatan yang dilakukan pada tahapan pengembangan yaitu :
1. Perancangan perangkat lunak. Rancangan adalah menerjemahkan kebutuhan dari perangkat lunak ke dalam bentuk-bentuk (kadang berbentuk grafik, table, atau kebentuk spesifik lainnya) yang mendefinisikan tentang struktur data, arsitektur perangkat lunak, algoritman dari prosedur, dan karakteristik dari antar muka.
2. Pengkodean (coding). Bentuk rancangan haruslah dialihkan ke bahasa computer (baik procedural maupun on-prosedural language), yang dapat dilaksanakan (dipakai bekerja) oleh computer).
3. Pengujian Perangkat Lunak. Setelah perangkat lunak selesai, haruslah dilakukan pengujian untuk menemukan penyimpangan yang ada baik pada fungsi-fungsinya, logikanya maupun pada penerapannya.
Pada tahapan Perawatan :
Tahap ini terfokuskan pada perubahan, yang dikaitkan dengan : Perbaikan kesalahan , adaptasi yang diperlukan, sesuai dengan perubahan kebutuhan pemakai.
Kegiatan yang dilakukan pada tahapan perawatan yaitu :
1. Koreksi. Sekalipun telah diterapkan aktifitas untuk menjamin kualitas dari perangkat lunak, tetp ada kemungkinan bahwa pemakai akan menemukan cacat di dalam perangkat lunak yang dibuat. Koreksi (corrective maintenance) dilakukan untuk memperbaiki kesalahankesalahan yang ditemukan.
2. Adaptasi. Dalam perjalanan waktu, lingkungan (CPU, system operasi, peralatan) dimana perangkat lunak dipakai akan mengalami perubahan. Adaptasi (adaptive maintenance) dilakukan untuk memungkinkan perangkat lunak tetap dipakai walaupun lingkupan lainnya telah mengalami perubahan.
3. Peningkatan. Selama pemakaian perangkat lunak, pemakai akan merasakan kebutuhan tambahan yang diperlukan. Peningkatan (perfective maintenance) dilakukan untuk menumbuhkan fungsi-fungsi
baru diluar cakupan kebutuhan awal dari perangkat lunak. Manajemen Proyek Perangkat Lunak.
Manajemen Proyek Perangkat Lunak memberikan pengertian tentang :
- Cakupan pekerjaan yang harus diselesaikan
- Resiko yang harus dihindari
- Sumberdaya yang dibutuhkan
- Tugas-tugas yang harus diselesaikan
- Patokan/pedoman yang harus diikuti
- Biaya yang dapat dimanfaatkan
- Jadwal yang harus dipenuhi
Manajemen Proyek Perangkat Lunak sangat penting dalam kaitannya agar proyek bisa berjalan dengan sukses. MPPL dimulai sebelum pekerjaan teknis dimulai, berlangsung selama perangkat lunak berevolusi dari konsep kebentuk nyata, dan hanya berakhir ketika perangkat lunak sudah tidak lagi dipakai.
silahkan beri komentar
EmoticonEmoticon