Teknik Dokumentasi Aplikasi part-2
PROSES DOKUMENTASI
Ø Waterfall
Model
Menurut saya,
tahapan-tahapan model ini sudah cukup baik dalam artian minimal untuk melakukan
SE, maka harus ada tahapan-tahapan ini. Tahapan-tahapan ini jugalah yang
digunakan oleh model-model yang lain pada umumnya. Ada filosofi yang mengatakan
sesuatu yang sukses diciptakan pertama kali, maka akan terus dipakai di dalam
pengembangannya. Hal ini juga berlaku pada waterfall model ini. Mungkin dapat
dikatakan bahwa inilah standar untuk melakukan SE.
Akan tetapi, yang mungkin menjadi banyak
pertimbangan mengenai penggunaan dari model ini adalah metode sequential-nya.
Mungkin untuk awal-awal software diciptakan, hal ini tidak menjadi masalah,
karena dengan berjalan secara berurutan, maka model ini menjadi mudah
dilakukan. Sesuatu yang mudah biasanya hasilnya bagus. Oleh karena itu model
ini sangat populer. Akan tetapi, seiring perkembangan software, model ini tentu
tidak bisa mengikutinya. Yang menjadi kelemahan adalah pada pengerjaan secara
berurutan tadi, seperti yang sudah saya utarakan sebelumnya.
Kelemahan-kelemahan yang lain juga sudah saya utarakan di atas, atau bahkan
masih ada yang lainnya.
Dari sini, nantinya akan dikembangkan
model-model yang lain, bahkan ada tahap evolusioner dari suatu model proses
untuk mengatasi kelemahan-kelemahan tadi. Meskipun secara tahapan masih
menggunakan standar tahapan waterfall model. Kesimpulannya adalah ketika suatu
project skalanya sedang mengarah kecil bisa menggunakan model ini. Akan tetapi
kalau sudah project besar, tampaknya kesulitan jika menggunakan model ini
.
a.Pendapat ahli
Menurut Pressman, (Pressman, 2005, page 79), dalam rekayasa perangkat
lunak, terdapat suatu pendekatan yang disebut Waterfall model.
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall.
Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970
sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak
dipakai didalam Software Engineering (SE).
Model ini melakukan pendekatan secara sistematis dan
urut mulai dari level kebutuhan sistem lalu menuju ketahap analisis, desain,
coding, testing dan maintenance.
Model
ini merupakan model yang paling banyak dipakai oleh para pengembang software. Ada lima tahap
dalam model waterfall, yaitu: Requirement Analysis, System Design,
Implementation, Integration & Testing, Operations & Maintenance.
Sesuai dengan namanya waterfall (air terjun) maka
tahapan dalam model ini disusun bertingkat, setiap tahap dalam model ini
dilakukan berurutan, satu sebelum yang lainnya. Selain
itu dari satu tahap kita dapat kembali ketahap sebelumnya. Model ini biasanya
digunakan untuk membuat sebuah software dalam skala besar dan yang akan dipakai
dalam waktu yang lama.
Tahap – Tahap Dalam Model Waterfall:
1. Requirement Analysis
Seluruh kebutuhan software harus bisa didapatkan dalam
fase ini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan
batasan software. Informasi ini
biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi
tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk
digunakan pada tahap selanjutnya.
2. System
Design
Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk
memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya.
Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta
mendefinisikan arsitektur sistem secara keseluruhan.
3. Implementation
Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi
modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain
itu dalam tahap ini juga dilakukan pemeriksaaan terhadap modul yang dibuat,
apakah sudah memenuhi fungsi yang diinginkan atau belum.
4. Integration
& Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan
dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat
telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak.
5. Operation & Maintenance
Ini merupakan tahap terakhir dalam model waterfall. Software
yang sudah jadi dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk
dalam memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya.
Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai
kebutuhan baru.
Kelebihan Waterfall Model
Ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit,
dan benar diawal proyek, maka software engineering dapat berjalan dengan baik
dan tanpa masalah.
Kekurangan Waterfall Model
1. Ketika problem muncul, maka
proses berhenti, karena tidak dapat menuju ketahapan selanjutnya. Bahkan jika
kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya,
maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul.
Hal-hal seperti ini yang dapat membuang waktu pengerjaan software engineering.
2. Karena pendekatannya secara
sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal
itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat
mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama
pengerjaannya.
3. Pada setiap tahap proses
tentunya dipekerjakan sesuai spesialisasinya masing-masing. Oleh karena itu,
ketika tahap tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak
terpakai lagi. Oleh karena itu, seringkali pada model proses ini dibutuhkan
seseorang yang “multi-skilled”,
sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.
Ø
Agile Modeling
Agile Modeling
merupakan filosofi tentang bagaimana membangun model, dengan beberapa
diantaranya dilakukan secara format dan terperinci dan yang lainnya dilakukan
secara samar dan minim. Agile Software
Development juga melihat pentingnya komunikasi antara anggota tim,
antara orang-orang teknis dan businessmen, antara developer dan
managernya. Ciri lain adalah klien menjadi bagian dari tim pembangun
software.
Kelebihan dari Agile
Modeling:
1. Meningkatkan kepuasan kepada klien
2. Pembangunan system dibuat lebih cepat
3. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
4. Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi
materi relative kecil.
Kelemahan dari
Agile Modeling:
Developer harus selalu
siap dengan perubahan karena perubahan akan selalu diterima.
Sumber :