MODEL – MODEL PENGEMBANGAN SOFTWARE
Berbagai model pada Life Cycle software,
yaitu :
1.
Model Waterfall atau Model Sekuensial Linier
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.
Berikut Merupakan Tahapan – tahapan Pengembangan
Model Sekuensial Linear / Waterfall Development Model :
·
Rekayasa dan pemodelan
sistem/informasi
Langkah pertama dimulai dengan membangun keseluruhan
elemen sistem dan memilah bagian-bagian mana yang akan dijadikan bahan
pengembangan perangkat lunak, dengan memperhatikan hubungannya dengan Hardware,
User, dan Database.
·
Analisis kebutuhan
perangkat lunak
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.
·
Desain
Pada proses Desain, dilakukan penerjemahan syarat
kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum
dibuatnya proses pengkodean (coding). Proses ini berfokus pada struktur
data, arsitektur perangkat lunak, representasi interface, dan detail algoritma
prosedural.
·
Pengkodean
Pengkodean merupakan proses menterjemahkan perancangan
desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa
pemrograman.
·
Pengujian
Setelah Proses Pengkodean selesai, dilanjutkan dengan
proses pengujian pada program perangkat lunak, baik Pengujian logika internal,
maupun Pengujian eksternal fungsional untuk memeriksa segala kemungkinan
terjadinya kesalahan dan memeriksa apakah hasil dari pengembangan tersebut
sesuai dengan hasil yang diinginkan.
·
Pemeliharaan
Proses Pemeliharaan erupakan bagian paling akhir dari
siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan.
Kegiatan yang dilakukan pada proses pemeliharaan antara lain :
·
Corrective Maintenance : yaitu
mengoreksi apabila terdapat kesalahan pada perangkat lunak, yang baru
terdeteksi pada saat perangkat lunak dipergunakan.
·
Adaptive Maintenance : yaitu dilakukannya
penyesuaian/perubahan sesuai dengan lingkungan yang baru, misalnya hardware,
periperal, sistem operasi baru, atau sebagai tuntutan atas perkembangan sistem
komputer, misalnya penambahan driver, dll.
·
Perfektive Maintenance : Bila perangkat
lunak sukses dipergunakan oleh pemakai. Pemeliharaan ditujukan untuk menambah
kemampuannya seperti memberikan fungsi-fungsi tambahan, peningkatan kinerja dan
sebagainya.
Contoh Penerapan dari Pengembangan Model Sekuensial
Linear / Waterfall Development Model:
Contoh dari penerapan model pengembangan ini adalah
pembuatan program pendaftaran online ke suatu Instansi Pendidikan. Program ini
akan sangat membantu dalam proses pendaftaran, karena dapat meng-efektifkan
waktu serta pendaftar tidak perlu repot-repot langsung mendatangi Instansi
Pendidikan. Teknisnya adalah sebagai berikut :
1. Sistem program untuk pendaftaran dibuat
menggunakan bahasa pemrograman PHP, dengan Sistem Database yang dibuat
menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC (personal computer) dengan
sistem operasi berbasis Microsoft Windows, Linux, dan sebagainya.
2.
Setelah program selesai dibuat dan
kemudian dipergunakan oleh user, programmer akan memelihara serta menambah atau
menyesuaikan program dengan kebutuhan serta kondisi user.
A. Kelebihan Model Sekuensial Linear / Waterfall
Development Model :
1. Tahapan proses pengembangannya tetap
(pasti), mudah diaplikasikan, dan prosesnya teratur.
- Cocok digunakan untuk produk software/program
yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
- Software yang dikembangkan dengan metode ini
biasanya menghasilkan kualitas yang baik.
- Documen pengembangan sistem sangat terorganisir,
karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah
ke fase berikutnya.
B. Kekurangan Model Sekuensial Linear / Waterfall
Development Model :
- Proyek yang sebenarnya jarang mengikuti alur
sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat
menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah
kembali/iterasi sering menyebabkan masalah baru.
- Terjadinya pembagian proyek menjadi tahap-tahap
yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal
proses.
- Sulit untuk mengalami perubahan kebutuhan yang
diinginkan oleh customer/pelanggan.
- Pelanggan harus sabar untuk menanti produk
selesai, karena dikerjakan tahap per tahap, dan proses pengerjaanya akan
berlanjut ke setiap tahapan bila tahap sebelumnya sudah benar-benar
selesai.
- Perubahan ditengah-tengah pengerjaan produk akan
membuat bingung tim pengembang yang sedang membuat produk.
- Adanya waktu kosong (menganggur) bagi
pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan
pekerjaannya.
2. V-Model
Merupakan
model pengembangan perangkat lunak yang didasarkan pada hubungan antara setiap
fase pengembangan siklus hidup yang tercantum dalam model Watterfall yang
merupakan pengembangan perangkat lunak dan fase yang terkait pengujian. Bisa
dikatakan model ini merupakan perluasan dari model waterfall. Disebut sebagai
perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model
waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka
dalam model V proses dilakukan bercabang.
Tahapan pada V-Model dibagi menjadi 2 gari besar yaitu
tahapan Verifikasi dan Validasi atau testing.
1. Tahap Verfiikasi mengacu kepada usaha penyesuaian
spesifikasi software dengan kebutuhan klien/konsumen, tahapan ini meliputi
serangkaian kegiatan sebagai berikut:
a. Business Case: Merupakan tahapan awal yang
menggambarkan kebutuhan/harapan konsumen terhadap sistem yang akan
dikembangkan, termasuk manfaat sistem terhadap konsumen dan perkiraan biaya
yang harus disediakan.
b. Requirement: pada fase ini klien mendapatkan gambaran
atau diminta memberikan gambaran kebutuhan yang diharapkan dapat dipenuhi oleh
software, baik kebutuhan fungsional maupun non fungsional.
c. Analisis Informasi: Setelah diperoleh spesifikasi sistem
dari fase requirement, selanjutnya aktivitas difokuskan bagaimana cara kerja
software untuk memenuhi kebutuhan tersebut, termasuk metode, hardware dan
software apa saja yang diperlukan untuk mencapai kebutuhan yang sudah
didefinisikan.
d. Perancangan Sistem: pada tahapan ini akan dibuat
rancangan software secara lebih terinci sesuai spesifikasi yang sudah
disepakati.
e. Unit Design: merancang setiap elemen/unit software
termasuk rancangan modul/program, antarmuka, database dan lain-lain.
f. Development: merealisasikan hasil rancangan menjadi
satu aplikasi/program tertentu.
2. Tahapan Validasi merupakan serangkaian tahapan yang
mengacu kepada kesesuaian software dengan spesifikasi yang sudah ditetapkan.
Tahapan ini dicapai melalui serangkaian pengujian/testing sebagai berikut:
a. Unit test: menguji setiap komponen/unit program apakah
sesuai dengan rancangan unit yang sudah ditetapkan. Secara teoritis seharusnya
pengujian dilakukan oleh orang tertentu yang bertugas sebagai software tester,
tetapi dalam kenyataannya seringkali unit testing dilakukan oleh programmer
sendiri.
b. Interface test: setelah semua komponen diuji secara
terpisah, tahapan selanjutnya dilakukan interface test untuk melihat sejauh
mana setiap komponen dapat berinteraksi satu sama lain sesuai dengan fungsi
yang diharapkan.
c. System test: setelah semua interface berjalan dengan
baik, selanutnya dilakukan system test untuk melihat sejauh mana
sistem/software dapat memenuhi kebutuhan secara keseluruhan. System testing
bersifat menyeluruh dan tidak dapat dilakukan berdasarkan fungsionalitas sistem
yang diuji secara terpisah. Aktivitas pada system testing termasuk melakukan
pengujian hal-hal berikut:
1. Performance – apakah kinerja sistem sesuai dengan
target yang sudah didefinisikan sebelumnya.
2. Volume – apakah software/sistem dapat menampung volume
informasi yang cukup besar.
3. Stress – apakah software/sistem dapat menampung
sejumlah informasi pada waktu-waktu tertentu.
4. Documentation – apakah semua dokumentasi penting sudah
disiapkan.
5. Robustness – apakah software/sistem cenderung stabil
pada berbagai kondisi diluar dugaan/ekstrim.
Kelebihan V model:
·
V model sangat fleksibel. V model
ini bisa digunakan untuk project tailoring serta penambahan pengurangan method
dan tool secara dinamik.
·
V model dikembangkan dan di
maintain oleh publik. User dari V model berpartisipasi dalam change board yang
memproses semua change request terhadap V model.
Kekuranagn V model
·
V model hanya bisa digunakan
sekali dalam suatu proyek hal tersebut disebabkan kerena V model merupakan
model yang project oriented.
·
V model bersifat terlalu fleksibel
sehingga mengakibatkan beberapa aktivitas-aktivitas yang digambarkan dalam V
model menjadi terlalu abstrak. Hal tersebut mengakibatkan tidak bisa diketahui
dengan jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.
Dimana saja V Model Diterapkan?
1. Dalam proyek teknologi informasi di Jerman
2. V Model dibandingkan dengan CMM
3. V Model didesain untuk mengembangkan sistem yang
didalamnya terdapat dua komponen
4. Pengembangan V Model dalam bidang industri dapat dilakukan
dengan mudah.
3.
Simple Interaction Design Model
Pada model rancangan interaksi sederhana ini input atau masukan
hanya memiliki satu titik. yang mana masukan tersebut, lalu lakukan
langkah-langkah berikut :
1.
Identifikasi kebutuhan dan persyaratan
sistem disini suatu sistem akan di identifikasi sesuai dengan kebutuhan sistem
itu sendiri.
2. Pengembangan desain alternatif (desain konseptual dan fisikal)
3. Membuat versi interaktif dari desain yang dihasilkan
4.Mengevaluasi desain (usabilitas dan user experience)
2. Pengembangan desain alternatif (desain konseptual dan fisikal)
3. Membuat versi interaktif dari desain yang dihasilkan
4.Mengevaluasi desain (usabilitas dan user experience)
Evaluasi
dapat dilakukan dimana saja, rancangan yang telah di evakuasi dapat kambali
didesain ulang atau apakah rancangan tersebut tidak sesuai dengan kebutuhan
user, maka alur tersebut akan terus berputar hingga pada tahap evaluasi tidak
lagi terjadi kesalahan, baik dalam penetapan kebutuhan user maupun pendesainannya,
sehingga pada tahap evaluasi terciptalah sebuah hasil akhir yang valid.
4.
Star
Lifecyle Model (Hartson &
Hix, 1989)
Star Lifecyle Model adalah pengujian dilakukan
terus menerus, tidak harus diakhir. 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.
Setelah itu, 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.
Selanjutnya akan tetap sama, terjadi pada tahap-tahap selanjutnya yakni task analysis/fungsion analysis, pengimplementasian, prototyping hingga pada akhirnya terciptalah sebuah aplikasi yang sesuai dengan kebutuhan user.
Intinya pada rancangan model ini, evaluasi dilakukan di setiap tahap, tidak hanya pada tahapan akhir seperti model-model rancangan yang lainnya.
Setelah itu, 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.
Selanjutnya akan tetap sama, terjadi pada tahap-tahap selanjutnya yakni task analysis/fungsion analysis, pengimplementasian, prototyping hingga pada akhirnya terciptalah sebuah aplikasi yang sesuai dengan kebutuhan user.
Intinya pada rancangan model ini, evaluasi dilakukan di setiap tahap, tidak hanya pada tahapan akhir seperti model-model rancangan yang lainnya.
·
Analisa
Identifikasi
kemampuan user, strategi yang digunakan untuk meningkatkan ketrampilannya, alat
yang saat ini dipakai, masalah-masalah yang dialami, perubahan yang diinginkan
baik dalam ketrampilan maupun peralatan.
Metode : tanya kemampuan user dan buat daftar dengan skala prioritas, observasi ketrampilan di lapangan.
Metode : tanya kemampuan user dan buat daftar dengan skala prioritas, observasi ketrampilan di lapangan.
·
Evaluasi
kompetisi
Tentukan
kekuatan dan kelemahan rancangan
Metode : pengguna diminta untuk mencoba menggunakan berbagi produk dan minta untuk menyebutkan kelebihan dan kelemahan dari masing-masing produk.
Metode : pengguna diminta untuk mencoba menggunakan berbagi produk dan minta untuk menyebutkan kelebihan dan kelemahan dari masing-masing produk.
·
Rancang
sambil jalan
Gunakan
hasil analisa untuk membuat alternatif solusi, minta masukan sampai dengan
penentuan pilihan yang terbaik.
Metode : tanyai user sehubungan dengan pengalaman menggunakan prototipe.
Metode : tanyai user sehubungan dengan pengalaman menggunakan prototipe.
·
Evaluasi
dan validasi
Secara
periodik user memberikan masukan selama pengembangan dan perancangan akan
diulang berdasarkan masukan tadi.
Metode : amati kebutuhan pokok user dalam menggunakan sistem.
Metode : amati kebutuhan pokok user dalam menggunakan sistem.
·
Benchmark
Memadukan hal-hal terbaik
yang dimiliki pesaing untuk diterapkan dalam sistem yang dibangun Metode :
menggali informasi dari user hal-hal yang sebaiknya ada dibandingkan dengan
kompetitor, contoh : situs IBM.
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 aka 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.
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 aka 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.
Sumber :
Komentar
Posting Komentar