PENGANTAR MODEL PROSES PERANCANGAN PERANGKAT LUNAK

1.1.  Pendahuluan.

Dalam pengembangan sebuah perangkat lunak dibutuhkan suatu metodologi yang akan memandu tim pengembang dalam merancang perangkat lunak. Perancangan dimulai dengan menetapkan kebutuhan perangkat lunak tersebut sampai pada implementasi dan penyebaran atau distribusi.

Prinsip-prinsip perancangan perangkat lunak menjadi basis proses rekayasa aplikasi bisnis telah banyak di terapkan. Dimana sebuah metodologi merupakan kerangka pijakan utama dalam perancangan perangkat lunak profesional untuk menghasilkan aplikasi yang sesuai dengan kebutuhan bisnis sebuah organisasi. Tahapan-tahapan dalam membangun sebuah perangkat lunak akan sangat berguna untuk memastikan apakah elemen-elemen proyek pengembangan perangkat lunak telah dikelola dengan baik dan benar.

Microsoft Solution Framework (MSF) merupakan metodologi alternatif perancangan perangkat lunak yang menggabungkan dua metodologi yang berbeda menjadi satu kesatuan yang utuh untuk menghasilkan sebuah solusi perangkat lunak yang lebih dinamis dengan mengadopsi kelebihan dari masing-masing metodologi. Kedua metodologi tersebut adalah Waterfall dan Spiral. Metodologi Waterfall menggambarkan sebuah model proses yang statis dengan tahapan-tahapan berlapis yang menggunakan sebuah milestone sebagai transisi pada setiap tahap perancangan, sementara metodologi Spiral (iterative) menerapkan model proses secara sirkular tanpa adanya cekpoint atau milestone. Namun kelebihan metodologi spiral adalah mengenai kebutuhan pengembangan secara keberlanjutan dan adanya keterlibatan pemakai dalam pembangunan perangkat lunak sehingga perangkat lunak akan selalu berkembang dengan versi dan fitur yang lebih baru.

Keberhasilan pengembangan perangkat lunak bergantung pada pengelolaan proyek perangkat lunak secara keseluruhan. Menetapkan sebuah metodologi yang memiliki dinamisasi tinggi dalam tahap-tahap perancangan model proses perangkat lunak akan sangat berpengaruh pada kualitas perangkat lunak yang dihasilkan. Model proses merupakan tahap-tahap aktivitas proyek yang menggambarkan daur hidup suatu proyek. Microsoft Solution Framework (MSF) adalah metodologi perancangan dan pengembangan aplikasi bisnis yang diperkenalkan oleh sebuah vendor software besar yaitu Microsoft Corporation. Prinsip-prinsip pengembangan perangkat lunak dengan metodologi MSF memiliki perencanaan berbasis milestone (model waterfall), dan memberikan hasil yang dapat diprediksi (model spiral/iterative) disertai umpan balik dan kreativitas dari tim pengembang.

gb1-2

Gambar 1. Model Waterfall                     Gambar 2. Model Spiral/Iterative

gb3

Gambar 3. Model Microsoft Solution Framework (MSF)

1.2.  Model Proses Pengembangan Perangkat Lunak.

1.2.1. Model Proses Waterfall (Sequential).

Model ini menggunakan milestone sebagai titik transisi dan pengujian, artinya setiap aktivitas pada tahap pengembangan harus diselesaikan sebelum menuju tahap pengembangan berikutnya. Sehingga model ini sangat sesuai untuk perangkat lunak dengan syarat-syarat yang telah didefinisikan secara lengkap sebelumnya karena besar kemungkinan tidak adanya perubahan aplikasi dimasa yang akan datang. Kondisi semacam ini akan sangat berpengaruh pada perangkat lunak dan menimbulkan masalah terhadap kebutuhan iterasi dimana aplikasi akan terus berkembang dengan penyesuaian-penyesuaian terhadap kebutuhan, proses bisnis dan lingkungan aplikasi yang terus berubah dari waktu kewaktu. Namun kelebihan dari model ini adalah karena adanya titik transisi yang jelas pada setiap tahap, maka akan memudahkan tim pengembang perangkat lunak dalam memonitor penjadwalan proyek, menetapkan tanggung jawab dan akuntabilitas peran personal dalam proyek perangkat lunak.

Kelemahan dari model ini adalah adanya kendala dalam mengakomodasi perubahan setelah proses pengembangan telah berjalan. Fase sebelumnya harus lengkap dan selesai sebelum memasuki tahap berikutnya. Beberapa kendala yang muncul pada model waterfall adalah :

a. Aspek perubahan pada perangkat lunak sulit dilakukan karena sifatnya yang kaku dimana kebutuhan perangkat lunak harus lengkap.

b. Karena sifat kakunya, model ini cocok manakala kebutuhan telah dikumpulkan secara lengkap sehingga perubahan bisa ditekan sekecil mungkin. Akan tetapi pada kenyataannya sangat jarang sekali pengguna dapat mendefinisikan kebutuhan awal secara lengkap, oleh karena perubahan kebutuhan adalah sesuatu yang wajar terjadi.

c. Waterfall pada umumnya digunakan untuk rekayasa sistem perangkat lunak berkapasitas besar dimana proyek dikerjakan di beberapa tempat berlainan, dan terbagi menjadi beberapa bagian sub-proyek.

gb4

Gambar 4. Tahapan Pada Model Proses Waterfall (Sommervile, 2001)

Sesuai dengan namanya “waterfall” atau air terjun, model waterfall menggunakan tahapan-tahapan seperti air terjun, dimana tahapan-tahapan tersebut terbagi menjadi lima tahapan.

1. Requirements analysis and definition : pada tahap ini tim pengembang mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan mendefinisikan kebutuhan-kebutuhan proses bisnis yang harus dipenuhi oleh perangkat lunak (solusi bisnis) yang akan dibangun.

2. System and software design : pada tahap ini tim pengembang mendesain sistem dan aplikasi meliputi desain konseptual, logikal dan fisikal .

3. Implementation and unit testing : pada tahap ini desain yang telah di rancang diimplementasikan dengan menterjemahkan ke dalam kode-kode program menggunakan sebuah bahasa pemrograman, sekaligus melakukan pengujian terhadap unit-unit program yang telah dibuat.

4. Integration and system testing : tim pengembang menyatukan unit-unit program kemudian melakukan pengujian sistem perangkat lunak secara keseluruhan.

5. Operation and maintenance : tim pengembang melakukan pengoperasian program dan melakukan pemeliharaan terhadap perangkat lunak dengan penyesuaian atau perubahan terhadap situasi sebenarnya.

1.2.2. Model Proses Spiral (Iterative).

Model ini berbasiskan pada kebutuhan terhadap aplikasi secara keberlanjutan untuk menyaring kebutuhan-kebutuhan tersebut dan estimasi proyek secara keseluruhan. Model ini menerapkan perancangan model proses yang lebih dinamis dengan terus beradaptasi terhadap kebutuhan proses bisnis dimasa yang akan datang sehingga versi aplikasi terus berkembang dengan fitur-fitur yang mengalami peningkatan dari waktu kewaktu.

Kebutuhan waktu untuk pengembangan aplikasi yang cepat dengan kapasitas proyek yang relatif kecil sangat relefan dengan model spiral ini. Keterlibatan pelanggan dengan tim pengembang perangkat lunak akan sangat sering terjadi karena pelanggan akan memberikan feedback dan persetujuan setiap tahap dalam pengembangan aplikasi perangkat lunak. Dengan adanya feedback dari pelanggan maka estimasi waktu terhadap penyelesaian proyek perangkat lunak menjadi semakin jelas.

gb5Gambar 5. Tahapan Pada Model Proses Spiral (Boehm, 1988)

Pengembangan perangkat lunak dengan model spiral memiliki kelemahan karena tidak adanya milestone sebagai titik transisi dan pengujian maka dikhawatirkan proses pengembangan sistem akan mengalami kekacauan dari segi waktu penyelesaian solusi sistem. Oleh karenanya model ini hanya sesuai untuk aplikasi-aplikasi kecil yang tidak terintegrasi dan terdistribusi.

Model spiral terbagi menjadi empat quadrant, dimana setiap quadrant merepresentasikan sebuah manajemen proses dengan tahapan-tahapan identify, design, construct dan evaluate (Dean Muench, 1994). Sistem akan melalui tahapan-tahapan proses yang akan berulang sebagai berikut :

1. Mendefinisikan tujuan dan kebutuhan bisnis, mengembangkan desain konseptual, rancangan konsep, rencana pengujian, dan analisis terhadap resiko dengan melibatkan pemakai.

2. Mendefinisikan kebutuhan sistem, mengembangkan desain logikal, mengkompilasi (software-build) rancangan awal, mengevaluasi hasil dengan melibatkan pemakai.

3. Mendifinisakan kebutuhan subsistem, menghasilkan desain fisikal, mengkompilasi rancangan berikutnya, mengevaluasi hasil dengan melibatkan pemakai.

4. Mendefinisikan kebutuhan setiap unit, menghasilkan desain akhir, mengkompilasi rancangan akhir, mengevaluasi keselur