Rabu, 30 November 2011

SOFTWARE ENGINEERING PROCESS MODELS


Untuk membangun suatu Software Engineering (SE), tentu membutuhkan proses-proses tertentu yang disebut dengan model proses. Ada beberapa macam model proses di dalam SE seperti Linear Sequential Model (yang sering dikenal dengan Model Waterfall), kemudian prototyping, dsb. Manakah model yang terbaik untuk mengaplikasikan SE???
Untuk menentukan mana model yang terbaik, kita harus tahu apa kelebihan dan kekurangan model-model proses tersebut. Untuk itu, saya akan menjelaskan beberapa model dalam SE, mungkin pada kelanjutan topik ini atau akan saya buatkan topik khusus. Akan tetapi, model proses biasanya bukan ditentukan mana yang terbaik atau tidak, tetapi ditentukan oleh karakteristik dari berbagai macam faktor, misalnya tim SE-nya, atau software-nya sendiri, waktu untuk melakukan SE, kebijakan-kebijakan dari perusahaan, dsb. Dengan menggunakan model proses yang terbaru pun, ketika diaplikasikan ke dalam perusahaan misalnya, tetapi kalau tim SE-nya tidak siap dengan kondisi yang mengharuskan menggunakan model proses tersebut, tentunya tidak mungkin bisa dilakukan. Kalaupun dipaksakan tentu saja hasilnya tidak akan maksimal. Akan tetapi di perusahaan lain, bisa jadi menerapkan model proses yang sama, tetapi hasilnya bagus, karena tim SE-nya siap atau scope softwarenya berbeda. Banyak faktor yang menentukan pemilihan akan menggunakan model proses yang mana.
Semisal ambil contoh suatu model proses yaitu Rapid Application Development (RAD). Model proses RAD digunakan ketika waktu pengerjaan software kurang lebih 60 – 90 hari atau 2 – 3 bulan. Jika perusahaan memilih menggunakan model proses ini, maka perusahaan tersebut sudah harus siap dengan tim SE-nya dibandingkan dengan waktu pengerjaan serta scope software yang dikerjakan. Normalnya suatu tim SE biasanya membutuhkan tenaga sekitar 6 orang untuk 1 proyek, tetapi jika perusahaan menilai 6 orang itu tidak mencukupi untuk mengerjakan software dengan scope project tersebut, maka perusahaan harus melipatgandakan resourcenya baik secara Human Resources atau perangkat keras, agar project tersebut dapat selesai tepat waktu. Belum lagi biasanya RAD dikembangkan dengan konstruksi berbasis komponen. Artinya mereka harus siap dengan faktor-faktor tersebut. Jika tidak siap dengan faktor-faktor tersebut, maka perusahaan tersebut sudah seharusnya mengganti model prosesnya. Tetapi bagaimana jika memang user / customer meminta penyelesaian dalam waktu tersebut??? Mau tidak mau diharapkan SE dikembangkan menggunakan RAD. Yang pasti pemilihan suatu model proses sangat bergantung pada banyak faktor dan pemilihan tersebut harus hati-hati, karena dapat menentukan apakah proses SE berjalan dengan baik untuk menghasilkan suatu software yang berkualitas.

Tidak ada komentar:

Posting Komentar