Model Proses Rekayasa Perangkat Lunak
Rekayasa perangkat lunak (software engineering) merupakan reaksi yang muncul dari kompleksnya permasalahan dalam pengembangan perangkat lunak. Rekayasa perangkat lunak yang sukses tidak hanya membutuhkan kemampuan komputasi seperti algoritma, pemrograman, dan basis data yang kuat, namun juga perlu penentuan tujuan yang baik, identifikasi alternative-alternatif yang berpotensi, metode pengembangan, urutan aktifitas, identifikasi kebutuhan sumberdaya, dan faktor-faktor lain.
Hal-hal seperti ini terkait dengan apa yang disebut dengan metode rekayasa perangkat lunak. Bab ini secara ringkas akan membahas model-model rekayasa perangkat lunak dan tahapan dalam rekayasa perangkat lunak.
Model Proses Rekayasa Perangkat Lunak
Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada gambar di bawah ini.
Gambar. SDLC
Setiap model yang dikembangkan mempunyai karakteristik sendirisendiri. Namun secara umum ada persamaan dari model-model ini, yaitu:
- Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah.
- Tahapan-tahapan pengembangan yang terorganisir. Meskipun modelmodel pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut mengikuti pola umum analysis – design – coding – testing - maintenance.
- Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat lunak tersebut.
- Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak. Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
- Outcome dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai dari sebuah perangkat lunak sebenarnya agak susah dirupiah-kan. Namun efek dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi, efisiensi penggunaan sumberdaya, peningkatan keuntungan organisasi, peningkatan “image” organisasi dan lain-lain.
Ada banyak model pengembangan perangkat lunak, antara lain :
1. Model Waterfall
Pada model Waterfall atau disebut model air terjun, ada beberapa fase yang harus kita terapkan,yaitu:
- Analisi kebutuhan lalu pendefenisiannya
- Perancangan Sistem dan Perangkat lunaknya
- Implementasi dan unit testing
- Integrasi dan pengujian sistem
- Pengoprasian dan persawatan
Dimana sebuah proses akan kembali ke state sebulumnya agar tidak ada perubahan setelah proses menuju state di bawahnya sebab sangat sulit.
Proses waterfall dapat di gambarkan sebagai berikut :
Gambar. Proses Waterfall.
Keterangan :
- Pertama : Analisis dan Definisi Persyaratan melingkupin Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user sistem.
- Kedua : Perancangan sistem dan Perangkat Lunak melingkupin Proses perancangan sistem membagi persyaratan dalam sistem perangkat keras atau perangkat lunak,lalu menentukan arsitektur sistem secara keseluruhan.
- Ketiga: Implementasi dan pengujian unit : Perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya.
- Keempat: Integrasi dan Pengujian Sistem dimana Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi.
- Kelima : Operasi dan Pemeliharaan Biasanya sih merupakan fase siklus yg paling lama (walaupun tidak seharusnya).dimana Sistem diinstall dan di pakai. Pemeliharaan pun mencakup koreksi dan berbagai error yg tdk ditemukan pada tahap-tahap sebelumnya, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem.
Kelebihan Model Waterfall :
- Bisa digunakan jika suatu persyaratan untuk membuat suatu software sudah dipahami dengan baik dan sudah lengkap semua persyaratan yang ada.
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses. Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user).
- Model air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.
2. Model RAD
RAD adalah model proses pembangunan perangkat lunak yang incremental. RAD menekankan pada siklus pembangunan yang pendek/singkat. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction.
Pada model ini waktu yang singkat yang di gunakan pada model tersebut. Jika kebutuhan lengkap dan jelas maka waktu yang diperlukan kira-kira 60 sampai 90 hari.
Gambar. Model RAD.
Keterangan :
- Business modelling : berfungsi menjawab pertanyaan-pertanyaan seperti informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi?
- Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. karakteristik/atribut dan hubungan antar objek-objek tersebut à analisis kebutuhan dan data
- Process Modelling : objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.
- Application Generation: RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.
- Testing and Turnover: karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.
Kelebihan model RAD :
- Lebih efektif dari pendekatan air terjun dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
- Cocok untuk proyek yang memerlukan waktu yang singkat.
Kelemahan model RAD :
- Sangat Tidak cocok untuk proyek skala besar
- Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
3. Model Prototype
Metode prototyping adalah sistem informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.
Gambar. Model Prototype.
Keterangan :
- User merasa prototipe merupakan PL yang sesungguhnya, padahal ketika membuat prototipe belum disertakan kualitas PL secara keseluruhan / kemampuan pemeliharaan untuk jangka panjang
- Developer sering membuat kompromi-kompromi implementasi untuk membuat prototipe bekerja dengan cepat sehingga akan ditemui ketidakcocokan pada prototipe ketika prototipe dibangun dengan bahasa yang sederhana
- Program dibuat ulang / prototipe selalu baru. Mengacu pada pemilahan fungsi yang harus ditampilkan oleh prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang sesuai dengan contoh kasus yang akan diperagakan
Jenis-Jenis Prototyping
- Feasibility prototyping – digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk system informasi yang akan disusun.
- Requirement prototyping – digunakan untuk mengetahui kebutuhan aktivitas bisnis user.
- Desain Prototyping - digunakan untuk mendorong perancangan system informasi yang akan digunakan.
- Implementation prototyping – merupakan lanjytan dari rancangan protipe, prototype ini langsung disusun sebagai suatu system informasi yang akan digunakan.
Kelebihan Prototyping :
- User dapat berpartisipasi aktif
- Penentuan kebutuhan lebih mudah diwujudkan
- Mempersingkat waktu pengembangan SI
Kelemahan Prototyping :
- Proses analisis dan perancangan terlalu singkat
- Mengesampingkan alternatif pemecahan masalah
- Biasanya kurang fleksible dalam mengahadapi perubahan
- Prototype yang dihasilkan tidak selamanya mudah dirubah
- Prototype terlalu cepat selesai
Dan masih banyak lagi model-model lainnya yang dapat digunakan.
Sumber dan Referensi :
1. Mulyarto, Aunur R. 2008. Rekayasa Perangkat Lunak : SMK. Jakarta: Direktorat Pembinaan Sekolah Menengah Kejuruan, Departemen

Komentar
Posting Komentar