Model Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun,
merupakan paradigma model pengembangan perangkat lunak paling tua, dan paling
banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat
lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem
pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.
Pada proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang
meliputi Domain informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan
antarmuka. Hasil penganalisaan dan pengumpulan tersebut didokumentasikan dan
diperlihatkan kembali kepada pelanggan.
o Desain
o Pengujian
o Pemeliharaan
Proses Pemeliharaan erupakan bagian paling akhir dari siklus pengembangan dan
dilakukan setelah perangkat lunak dipergunakan. Kegiatan yang dilakukan pada
proses pemeliharaan antara lain :
2. Model Prototype
o Perancangan Model
o Perancangan Dialog
o Simulasi
o Pemilihan fungsi
o Penyusunan Sistem Informasi
o Evaluasi
o Penggunaan Selanjutnya
Metode ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak,
terdiri atas model kertas, model kerja dan program. Pihak pengembang akan
melakukan identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi
kelayakan serta studi terhadap kebutuhan pemakai, meliputi model interface, teknik
prosedural dan teknologi yang akan dimanfaatkan.
Berikut adalah Tahapan – tahapan Proses Pengembangan dalam Model Prototype,
yaitu :
o Pengumpulan kebutuhan
o Membangun prototyping
o Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun
sudah sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka
langkah selanjutnya akan diambil. Namun jika tidak, prototyping direvisi dengan
mengulang langkah-langkah sebelumnya.
o Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
o Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian
dilakukan proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box,
Basis Path, pengujian arsitektur, dll.
o Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan
yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun
jika perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan,
maka tahapan sebelumnya akan diulang.
o Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Model Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di
mana masalah-masalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan
pemakai yang berubah dari waktu ke waktu atau yang tidak terduga, bila interaksi
dengan pemakai menjadi syarat mutlak dan waktu yang tersedia sangat terbatas
sehingga butuh penyelesaian yang segera. Model ini juga dapat berjalan dengan
maksimal pada situasi di mana sistem yang diharapkan adalah yang inovatif dan
mutakhir sementara tahap penggunaan sistemnya relatif singkat.
o Feasibility prototyping
digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk
system informasi yang akan disusun.
o Requirement prototyping
o Desain Prototyping
o Implementation prototyping
merupakan lanjutan dari rancangan prototype, prototype ini langsung disusun sebagai
suatu sistem informasi yang akan digunakan.
o Bussiness Modeling
Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut:
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modeling
disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis
tersebut. Karakteristik (atribut) masing-masing objek diidentifikasi dan hubungan
antar objek-objek tersebut didefinisikan.
o Proses Modeling
Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping
dengan pengulangannya dan model waterfall dengan pengendalian dan
sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembang dalam
model ini memadupadankan beberapa model umum tersebut untuk menghasilkan
produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses
pengerjaan proyek.
Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut :
o Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan calon
pengguna/pemakai.
o Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber
informasi, batas waktu dan informasi-informasi yang dapat menjelaskan
proyek.
o Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang
menjadi resiko baik teknis maupun manajemen.
o Tahap Rekayasa (engineering):pembuatan prototipe.
o Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan
pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan
sokongan-sokongan tambahan untuk keberhasilan proyek.
o Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan
masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
o Kelebihan model iniadalah sangat mempertimbangkan resiko kemungkinan
munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan
perangkat lunak skala besar. Pendekatan model ini dilakukan melalui tahapan-
tahapan yang sangat baik dengan menggabungkan model waterfall ditambah
dengan pengulangan-pengulangan sehingga lebih realistis untuk
mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat
cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-
prosesnya dapat diamati dengan baik.
o Kekurangan model iniadalah waktu yang dibutuhkan untuk mengembangkan
perangkat lunak cukup panjang demikian juga biaya yang besar. Selain itu,
sangat tergantung kepada tenaga ahli yang dapat memperkirakan resiko.
Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini, karena
masih relatif baru, belum ada bukti apakah metode ini cukup handal untuk
diterapkan.
Dalam Siklus permodelan ini pengujian dilakukan terus menerus, tidak harus dikahir.
Misalnya dimulai dari menentukan kosep desain (conceptual design) dalam proses ini akan
langsung terjadi evaluasi untuk langsung ternilai apakah sudah sesuai dengan kebutuhan
user, bila belum maka akan terus berulang di evaluasi hingga benar-benar pas, selanjutnya
apabila sudah pas, maka dari tahap evaluasi yang pertama akan lanjut ke proses yg
selanjutnya yakni requirements/specification yakni memverifikasikan persyaratan
rancangan tersebut, dan pada tahap itu juga langsung terjadi pengevaluasian seperti tahap
pertama, dan selanjutnya akan tetap sama terjadi pada tahapan-tahapan selanjutnya yakni
task analysis/fungsion analysis, pengimplementasian, prototyping hingga pada akhirnya
terciptalah sebuah aplikasi yang sesuai dengan kebutuhan user.
Intinya pada rancangan model ini pengevaluasian dilakukan disetiap tahapan tidak hanya
pada tahapan akhir seperti model-model rancangan yang lainnya.
Dewasa ini, 4GT tools dipakai sebagai bahasa non prosedur untuk DataBase Query,
Pembentukan laporan (Report Generation), Manipulasi data, Definisi dan interaksi layar
(screen), Pembentukan object dan source ( Object and source generation ), Kemampuan
grafik yang tinggi, dan Kemampuan spreadsheet.
2. Tahap Merancang Strategi: tahap ini dibutuhkan untuk proyek besar yakni dengan
menterjemahkan kebutuhan menjadi prototipe operasional agar tidak timbul masalah
yang sama jika dibuat dengan model konvensional. Namun, untuk proyek skala kecil
tahap ini dapat dihilangkan dengan langsung melakukan implementasi dengan
menggunakan bahasa generasi keempat (4GT).
3. Tahap Implementasi Menggunakan Bahasa Keempat: untuk skala kecil tahap ini dapat
langsung dilakukan ketika kebutuhan telah jelas, dan untuk proyek besar tahapan ini
dijalankan setelah dirancang prototipe operasional. Implementasi yang menggunakan
4GT memudahkan pengembang software untuk menjelaskan hasil yang diharapkan
yang nantinya akan diterjemahkan ke dalam bentuk kode sumber dan kode objek.
Kelebihan model ini adalah pengurangan waktu dan peningkatan produktivitas yang
besar.
Model ini diaplikasikan untuk mengembangkan perangkat lunak yang memakai bentuk
bahasa khusus atau notasi grafik yang dieksekusi/diselesaikan dengan syarat atau ketentuan
yang dipahami oleh pemakai/pengguna/kustomer.
Andaikan Saya terpilih menjadi seorang manajer proyek pada sebuah perusahaan kecil
yang memproduksi perangkat lunak di mana tugas saya adalah membangun sebuah aplikasi
yang sangat mirip dengan aplikasi lain yang sudah dibangun sebelumnya, meskipun yang
satu ini lebih besar dan kompleks, sementara syarat-syarat sudah didokumentasikan dengan
teliti oleh pemakai.
Maka, struktur yang akan saya pilih adalah struktur table karena fleksibelitas rancangan
struktur table ini yang dapat menjelaskan dengan baik hubungan antar elemen/komponen
yang dijelaskan, hal tersebut memudahkan pengembang untuk menggunakannya.
Dan, model proses yang akan saya terapkan adalah RAD model (Rapid Aplication
Development), mengingat dalam tahapan RAD dapat digunakan kembali dokumentasi dari
pemakai yang sebelumnya telah ada. Dalam RAD ini terdapat tahapan di mana pengembang
harus mengetes atau menguji coba program,karena program terdahulunya masih dapat
dipakai, pengembang cukup melakukan testing terhadap program-program dan komponen-
komponen baru saja sehingga dapat menghemat waktu. Oleh karena produksinya dilakukan
oleh perusahaan kecil dengan estimasi proyek berskala kecil dan tenaga manusianya (dalam
bentuk) tim dapat dipenuhi maka RAD sangat memungkinkan untuk diterapkan demi
efisiensi waktu dan kerja.
Agile merupakan adalah jenis pegembangan sistem jangka pendek yang memerlukan
adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun. Dalam Agile
Software Development interaksi dan personel lebih penting dari pada proses dan alat,
software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi
dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap
perubahan lebih penting daripada mengikuti rencana. Agile juga dapat diartikan sebagai
sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang
sama atau pengembangan system jangka pendek yang memerlukan adaptasi cepat dari
pengembang terhadap perubahan dalam bentuk apapun. Menurut Agile Alliance, ada 12
prinsip yang mendorong keberhasilan dalam penerapan Agile Software Development, yaitu:
Kepuasan klien adalah prioritas utama dengan menghasilkan produk lebih awal dan
terus menerus.
Menerima perubahan kebutuhan, sekalipun diakhir pengembangan.
Penyerahan hasil/software dalam hitungan waktu beberapa minggu sampai beberapa
bulan.
Pihak bisnis dan pengembang harus bekerja sama setiap hari selama pengembangan
berjalan.
Membangun proyek dilingkungan orang-orang yang bermotivasi tinggi yang bekerja
dalam lingkungan yang mendukun dan yang dipercaya untuk dapat menyelesaikan
proyek.
Komunikasi dengan berhadapan langsung adalah komunikasi yang efektif dan efisien
Software yang berfungsi adalah ukuran utama dari kemajuan proyek
Dukungan yang stabil dari sponsor, pembangun, dan pengguna diperlukan untuk
menjaga perkembangan yang berkesinambungan
Perhatian kepada kehebatan teknis dan desain yang bagus meningkatkan sifat agile
Kesederhanaan penting
Arsitektur, kebutuhan dan desain yang bagus muncuk dari tim yang mengatur dirinya
sendiri
Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera
melakukannya.
Kelebihan dari Agile Software Development yaitu:
Meningkatkan kepuasan kepada klien
Pembangunan system dibuat lebih cepat
Mengurangi resiko kegagalan implementasi software dari segi non-teknis
Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi
relative kecil.
Berikut beberapa model proses yang terdapat pada model Proses Agile :
a. Extreme Programming (XP)
Dipublikasikan oleh Kenn Beck pada tahun 1999 dengan menggunakan
pendekatan OOP (Object Oriented Programming), terdiri dari aktivitas
perencanaan, aktivitas desain, aktivitas pengkodean dan aktivitas pengujian.
Skemanya adalah sebagai berikut :
d. Agile Modelling
AM adalah suatu metodologi yang praktis untuk dokumentasi dan pemodelan
sistem software.AM adalah kumpulan nilai-nilai, prinsip dan praktek-praktek
untuk memodelkan software agar dapat diaplikasian pada software
development proyek secara efektif. Prinsip dalam Agile Modelling adalah
sebagai berikut:
membuat model dengan tujuan
mengunakan multiple models
travel light
isi lebih penting dari pada penampilan
memahami model dan alat yang yang digunakan untuk membuat
software
adaptasi secara local