Model
Proses pembuatan Software
Dalam proses pembuatan sebuah program ataupun aplikasi
yang akan digunakan kita membutuhkan tahapan yang benar baik dari programnya
maupun dari proses pembuatannya, hal ini akan mempermudah dalam pembuatan suatu
program. Berikut model-model pembuatan dalam pembuatan program:
1. Waterfall model
Waterfall model juga disebut sebagai
Linear Sequential model. Model ini adalah model yang sangat klasik dan bersifat
sistematis, yaitu mempinyai proses yang berurutan dalam pembuatannya. Adapun
gambaran yang terdapat dalam reverensi sommervile:
1. Requirement analysis and definition
: Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan
kebutuhan yang harus dipenuhi untuk membangun program yang telah ditentukan.
Untuk menghasilkan hasil yang lengkap maka fase ini harus dikumpulkan
selengkap-lengkapnya.
2. System and software design
: membuat gambaran sebuah system hal ini di kerjakan setelah mengumpulkan hasil
analisa secara lengkap.
3. Implementation and system testing
: Design program diterjemahkan di dalam kode-kode dengan menggunakan bahasa
pemrograman yang sudah ditentukan.
4. Integration and system testing
: Menyatukan unit-unit program dan diuji secara keseluruhan.
5. Operation and maintenance
: mengoperasikan program dilingkungannya dan melaukuan pemeliharaannya, seperti
penyesuaian atau perubahan karena adaptasi terhadap situasi sebenarnya.
Adapun
kekurangan dari waterfall ini berkaitan dengan fase sebelumnya, beberapanya :
1. Perubahan
sedikit sulit dilakuakan karena sifatnya yang kaku.
2. Model
ini sangat cocok ketika kebutuhan dikumpulkan secara lengkap sehingga kebutuhan
bias ditekankan sekecil mungkin, tetepi kenyataannya jarang orang yang bias
memberikan kebutuhannya secara lengkap.
3. Sering
dipakai membuat proyek yang besar sehingga melibatkan banyak orang yang
mengerjakan di berbagai tempat.
2. Prototyping Model
Terkadang
clien memberikan kebutuhan umum software tanpa memiliki detail input, proses dan detail output. Di lain waktu
developer tidak yakin terhadap efisiensi dari algoritma yang digunakan, tingkat
adaptasi terhadap system operasi atau rancangan form user interface, ketika
situasi ini terjadi begitu saja model Prototyping ini sangatlah membantu proses
pembangunan software.Adapun gambaran dari model prototyping sebagai berikut:
-
Pengumpulan kebutuhan : developer dank
lien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran
bagian-bagian yang akan dibutuhkan nantinya, namun untuk kebutuhan mungkin
beelum dijelaskan secara detail disini.
-
Perancangan : perancangan dilakukan
secara cepat dan rancangan mewakili semua aspek software yang diketahui, dan
rancangan inipun digunakan sebagai dasar dari proses prtotyping ini.
-
Evaluasi prototype : klien mengevaluasi
prototype yang telah dibuat dan digunakan untuk memperjelas kebutuhan software.
Perulangan
ketiga proses tersebut terus berlangsung hingga semua kebutuhan terpenuhi.
Prototype dibuat untuk memuaskan kebutuhan klien dan untuk memahami
kebutuhannya lebih baik.
Prototype
yang telah dibuat dapat dipergunakan kembali untuk membangun software lebih
cepat, namun tidak semuanya dapat digunakan. Sekalipun prototype memudahkan
komunikasi antara klien dan developer, membuat klien mengerti akan gambaran
awal prototype, membantu mendapatkan kebutuhan lebih baik, namun meskipun
begitu prototype juga memiliki beberapa masalah, diantaranya:
1. Dalam
pembautan prototype banyak hal yang diabaikan seperti efesiensi, kualitas,
kemudahan untuk dikembangkan selanjutnya, serta kecocokan dengan lingkungan
yang sebenarnya. Jika klien merasa cocok dengan prototype yang telah disajikan dan
bersikeras untuk produk tersebut, maka developer harus bekerja keras untuk mewujudkan
produk tersebut menjadi lebih baik,sesuai dengan kualitas yang sebenarnya.
2. Developer
biasanya melakukan kompromi dalam beberapa hal karena harus membuat prototype
dalam tempo yang singkat, dan mungkin system tersebut tidak sesuai, menggunakan
bahasa pemrograman yang berbeda atau algoritma yang lebih sederhana.
Agar
model ini dapat berjalan dengan baik, perlu disepakati bersama oleh klien dan
developer bahwa prototype yang dibangun merupakan alat untuk mendefinisikan
kebutuhan sebuah software.
3.Spiral Model
Model ini memiliki nama spiral karena prosesnya yang
berbentuk spiral. Setiap loop mewakili satu fase dari software proses. Loop
yang paling dalam terfokus pada kelayakan system, loop selanjutnya tentang
definisi dari kebutuhan, loop berikutnya berkaitan dengan desain system dan
seterusnya. Setiap loop dibagi menjadi beberapa sector:
1. Objective Settings(Menentukan tujuan):menentukan
tujuan dari fase yang ditentukan. Batas-batasan pada proses dan produk sudah
diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui.
Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang telah
diketahui, damn sudah direncanakan.
2. Risk Assessment and Reduction
(Penaganan dan pengurangan resiko): Setiap resiko
dianalisis secara detail pada sector ini. Langkah-langakh penanganan dilakukan,
misalnya membuat prototype untuk mengetahui ketidak cocokan kebutuhan.
3. Development and
Validation(Pembangunan dan pengujian): Setelah evaluasi
resiko, maka model system pengembangan dipilih. Misalnya jika resiko user
interface dominan, maka membuat prototype User Interface. Jika bagian keamanan
bermasalah, maka menggunakan model formal dengan perhitungan matematis, dan
jika masalahnya adalah integrasi system model waterfall lebih cocok.
4. Planning:
Proyek dievaluasi atau ditinjau ulang dan diputuskan untuk terus ke fase loop
selanjutnya atau tidak. Jika melanjutkan ke fase berikutnya maka rencana untuk
loop yang harus dibuat selanjutnya.
Pembagian
sektor tidak bisa dikembangkan begitu saja seperti pada pembagian sektor
berikut pada model variasi spiral berikut ini :
1. Costumer Communication : membangun
komunikasi yang baik dengan pengguna/costumer.
2. Planning : mendefiinisikan
sumber, batas waktu, dan informasi lain seputar proyek.
3. Risk Analysis : identifikasi
resiko manajemen dan teknis.
4. Engineering :
pembangunan contoh aplikasi, misalnya prototype.
5. Construction and Release :
pembangunan, test, install, dan support.
6. Costumer Evaluation :
mendapatkan feedback dari pengguna berdasarkan evaluasi PL pada fase engineering
dan fase instalasi.
Pada
model ini resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin
mengakibatkan kesalahan.
Model
spiral merupakan pendekatan yang realistik untuk PL berskala besar. Pengguna
dan pembangun bisa memahami dengan baik software yang dibangun karena setiap
kemajuan yang dicapai selama proses dapat diamati dengan baik. Namun demikian,
waktu yang cukup panjang bukanlah hal yang diharapkan oleh pengguna, karena
waktu yang lama sama dengan biaya yang besar.
Referensi :
1.
Sommervile, Ian. “Software Engineering”
.6th.Addison Wesley. 2001.
Tidak ada komentar:
Posting Komentar