Model Proses ?

Dalam pembuatan sistem/perangkat lunak, ada beberapa model untuk membuatnya, sama seperti pembuatan/ pengolahan makanan, misalnya saja ayam. Ada beberapa model untuk membuatnya seperti dikukus, digoreng, dibakar, ataupun dijadikan kuah. Nah, bila dalam pembuatan sistem/ perangkat lunak, ada model waterfall atau yang dikenal dengan model air terjun, model prototype, model inkremental, model spiral dan rapid application development atau yg lebih dikenal dengan RAD.

Prototyping Model


Sumber : Google
Model ini merupakan model yang palik unik diantara semuanya, semua model biasanya dikembangkan setelah diketahui requirement yang diinginkan, sedangkan dalam model ini, customer biasanya belum tahu akan apa yang diinginkan. Model prototyping sangat cocok untuk customer yang banyak keinginan tambahan atau cerewet ketika sedang mengembangkan sebuah sistem/ perangkat lunak. Dengan model ini, keinginan customer yang tiba-tiba ingin ditambah, dapat dipenuhi oleh developer dan tidak seribet model lainnya.

Tugas kelompok sendiri ;)
Prototyping berpusat pada keinginan dan kepuasan dari customer. Developer awalnya memberikan prototype (biasanya dengan algoritma sederhana) pada customer, untuk evaluasi dari customer. Bila telah sesuai, maka prototype tersebut akan dikembangkan lebih lanjut untuk dibuat sistemnya dengan algoritma yang lebih kompleks, sedangkan bila tidak, maka prototype nya akan diulang lagi.

Kelebihan dari model ini adalah adanya komunikasi yang baik antara customer dan developer sehingga kebutuhan dan kepuasan customer terpenuhi secara maksimal, customer berperan aktif, dan lebih menghemat waktu serta hasil yang jadi sudah terstruktur. Kekurangannya ialah pada proses pembuatan prototype, developer menggunakan algoritma yang sederhana karena ingin cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya cetak biru yang harus dikembangkan lebih lanjut.


Waterfall Model
Sumber : Google

Model air terjun (waterfall) kadang dinamakan siklus hidup klasik (clasic life cycle), dimana hal ini menyiratkan pendekatan yang sistematis dan berurutan (sekuensial) pada pengembangan perangkat lunak, yang dimulai dengan spesifikasi kebutuhan pengguna dan berlanjut melalui tahapan-tahapan perencanaan (planning), pemodelan (modeling), konstruksi (construction), serta penyerahan sistem/ perangkat lunak ke pelanggan (deployment), yang diakhiri dengan dukungan berkelanjutan pada perangkat lunak. (Pressman, Rekayasa Perangkat Lunak Edisi 7)

Waterfall sama seperti proses pencernaan manusia, dimana makanan harus digigit dahulu oleh gigi, lalu dikunyah dimulut lalu ditelan dan melewati saluran pencernaan, dari kerongkongan hingga keluar dari anus. Dalam proses waterfall, prosesnya harus melewati tahap demi tahap dan tiap tahap harus diselesaikan terlebih dahulu baru bisa ke tahap selanjutnya. (makanan juga harus digigit dan dikunyah dulu baru bisa ada dicerna di usus)

Waterfall membutuhkan waktu yang lama dalam pembuatannya dan spesifikasi perangkat lunak yang ingin dikembangkan harus jelas.

Incremental Model
Sumber : Google

Model ini merupakan model penambahan sedikit demi sedikit menggabungkan elemen-elemen aliran proses linier dan paralel. Model ini berfokus pada pengiriman produk yang bersifat operasional pada setiap tahapan. (Pressman, Rekayasa Perangkat Lunak Edisi 7)

Pada inkremental model ini, ketika telah melewati tahap analisis dan desain, maka developer dapat pindah pada inkremen atau versi perangkat lunak berikutnya, sedangkan versi sebelumnya sudah dapat digunakan oleh customer untuk melayani kebutuhan customer dan juga sebagai evaluasi selanjutnya oleh pengguna.

Spiral Model
Sumber : Google

Model ini merupakan gabungan perkembangan dari prototype dan waterfall. Model ini terus mengembangkan sistem dan perangkat lunak sesuai dengan permintaan customer, bila ada komplain ketika perangkat lunak telah selesai, maka developer akan mengembangkannya lagi dan evaluasi lagi, begini terus berulang. Setiap lintasan pada gambar spiral menambahkan kemampuan fungsional pada sistem. Point akhir yang diberi label "delivered system" bukan merupakan akhir lintasan spiral, tapi awal spiral yang baru yang dimulai dengan pemeliharaan dan evolusi dari sistem.

Model spiral banyak digunakan untuk pengembangan skala besar. Salah satu contohnya ialah pengembangan  sistem operasi pada smart phone, salah satunya android. Sistem operasi nya selalu diupdate untuk memperbaiki bug dan menambahkan fasilitas di dalamnya. Misalnya saja, dahulu instagram pada android belum dilengkapi dengan fitur-fitur filter yang banyak, namun setelah diupdate, banyak fitur yang ditambahkan.

RAD (Rapid Application Development)
Sumber : Google

Model RAD atau rapid prototyping merupakan lanjutan/ pengembangan lebih lanjut dari waterfall model. RAD dalam pengerjaannya terbagi menjadi kelompok-kelompok yang bekerja masing-masing sesuai requirment umum awal dan akhirnya akan disatukan menjadi satu sistem. RAD lebih menghemat waktu dibandingkan dengan waterfall karena RAD terbagi dalam tim kerja. Model ini juga cocok untuk proyek skala besar, namun karena bekerja dalam tim, model ini membutuhkan sumber daya yang banyak, walaupun begitu model itu menghemat waktu.

Dalam pengembangan perangkat lunak dengan sistem ini, kedua pihak harus sepakat terlebih dahulu akan apa yang akan dikembangkan dan berkomitmen untuk melakukannya, dikarenakan bila terjadi kepincangan di dalam komitmennya, maka model RAD ini tidak akan dapat berhasil dan berjalan lancar.



next : lebih lanjut tentang Prototyping model

Tidak ada komentar:

Posting Komentar