Ada banyak model pengembangan perangkat lunak, antara
lain The Waterfall Model, Joint Application Development (JAD), Information Engineering (IE), Rapid Application Development (RAD)
termasuk di dalamnya Prototyping, Unified Process (UP), Structural Analysis and Design (SAD) dan
Framework for the Application of System
thinking (FAST). Pada buku ini akan dibahas tiga model pengembangan yaitu The Waterfall Model, Prototyping, dan Unified Processs (UP).
1.
The waterfall model
Model siklus hidup (life
cycle model) adalah model utama dan dasar dari banyak model. Salah satu
model yang cukup dikenal dalam dunia rekayasa perangkat lunak adalah The Waterfall Model. Ada 5 tahapan utama
dalam The Waterfall Model. Disebut
waterfall (berarti air terjun) karena memang diagram tahapan prosesnya mirip
dengan air terjun yang bertingkat.
Tahapan-tahapan dalam The
Waterfall Model secara ringkas adalah sebagai berikut:
a. Tahap investigasi
dilakukan untuk menentukan apakah terjadi suatu masalah atau adakah peluang
suatu sistem informasi dikembangkan. Pada tahapan ini studi kelayakan perlu
dilakukan untuk menentukan apakah sistem informasi yang akan dikembangkan
merupakan solusi yang layak
b.
Tahap analisis
bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa
kondisi yang ada (sebelum diterapkan sistem informasi yang baru).
c. Tahap disain
bertujuan menentukan spesifikasi detil dari komponen-komponen sistem informasi
(manusia, hardware, software, network
dan data) dan produk-produk informasi yang sesuai dengan hasil tahap analisis.
d. Tahap implementasi
merupakan tahapan untuk mendapatkan atau mengembangkan hardware dan software (pengkodean
program), melakukan pengujian, pelatihan dan perpindahan ke sistem baru.
e. Tahapan perawatan (maintenance) dilakukan ketika sistem
informasi sudah dioperasikan. Pada tahapan ini dilakukan monitoring proses, evaluasi dan perubahan (perbaikan) bila
diperlukan.
2.
Prototyping model
Prototyping adalah salah satu pendekatan dalam rekayasa
perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah
perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam
lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard, 1997).
a. Reusable
prototype:
Prototype yang akan ditransformasikan
menjadi produk final.
b. Throwaway
prototype:
Prototype yang akan dibuang begitu
selesai menjalankan maksudnya.
c. Input/output
prototype:
Prototype yang terbatas pada antar
muka pengguna (user interface).
d.
Processing
prototype:
Prototype yang meliputi perawatan
file dasar dan proses-proses transaksi.
e.
System
prototype:
Prototype yang berupa model lengkap dari perangkat lunak.
Tahap-tahap dalam prototyping
boleh dikata merupakan tahap-tahap yang dipercepat. Strategi utama dalam prototyping adalah kerjakan yang mudah
terlebih dahulu dan sampaikan hasil kepada pengguna sesegera mungkin. Harris
(2003) membagi prototyping dalam enam tahapan, tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:
· Identifikasi
kandidat prototyping. Kandidat dalam
kasus ini meliputi user interface (menu,
dialog, input dan output), file-file transaksi utama, dan fungsi-fungsi
pemrosesan sederhana.
· Rancang
bangun prototype dengan bantuan
software seperti word processor, spreadsheet, database, pengolah grafik, dan software
CASE (Computer-Aided System Engineering).
· Uji
prototype untuk memastikan prototype dapat dengan mudah dijalankan
untuk tujuan demonstrasi.
· Siapkan
prototype USD (User’s System Diagram) untuk mengidentifikasi bagian-bagian dari
perangkat lunak yang di-prototype-kan.
· Evaluasi
dengan pengguna untuk mengevaluasi prototype
dan melakukan perubahan jika diperlukan.
· Transformasikan
prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan
penghilangan kode-kode yang tidak dibutuhkan, penambahan program-program yang
memang dibutuhkan dan perbaikan dan pengujian perangkat lunak secara berulang.
3.
Unified Process dan Unified
Modeling Language
Unified
Process
(UP) atau kadang disebut sebagai Unified
Software Development Process (USDP) adalah kerangka proses pengembangan
yang bersifat use-case-driven,
berpusat pada arsitektur perangkat lunak, interatif dantumbuh-kembang (Alhir,
2005).
Kerangka pengembangan ini termasuk baru dalam metodologi
pengembangan perangkat lunak. UP dapat diaplikasikan pada berbagai skala
proyek, mulai dari skala kecil sampai dengan skala besar. Ada empat tahap
pengembangan yaitu inception,
elaboration, construction dan transition.
Selain itu tampak pula sejumlah aktivitas (disciplines)
yang harus dilakukan sepanjang pengembangan perangkat lunak, yaitu, business modeling, requirements, analysis
and design, implementation, test. Tahap dan aktivitas tersebut akan
dilakukan secara iteratif (Ambler, 2005).
Penjelasan singkat untuk empat tahapan dalam UP adalah
sebagai berikut:
a. Inception. Tahapan ini
merupakan tahapan paling awal dimana aktivitas penilaian terhadap sebuah proyek
perangkat lunak dilakukan. Tujuannya adalah untuk mendapatkan kesepakatan dari stakeholder
sehubungan dengan tujuan dan dana proyek.
b.
Elaboration. Tujuan dari
tahap ini adalah untuk mendapatkan gambaran umum kebutuhan, persyaratan dan
fungsi-fungsi utama perangkat lunak. Hal ini penting untuk mengetahui secara
lebih baik resiko-resiko proyek, baik meliputi resiko arsitektur perangkat
lunak, perencanaan, maupun implementasi. Pada tahap ini telah dimulai rancang
bangun perangkat lunak secara iterative melalui aktivitas-aktivitas seperti
business modeling, requirements, analysis dan design
meskipun baru pada tahap awal.
c. Construction. Tujuan dari
tahapan ini adalah membangun perangkat lunak sampai dengan saat perangkat lunak
tersebut siap digunakan. Titik berat tahapan ini adalah pada penentuan tingkat
prioritas kebutuhan / persyaratan, melengkapi spesifikasinya, analisis lebih
dalam, disain solusi yang memenuhi kebutuhan dan persyaratan, pengkodean dan
pengujian perangkat lunak. Jika dimungkinkan versi awal dari perangkat lunak
diuji cobakan untuk mendapatkan masukan dari pengguna.
d. Transition. Tahap ini
difokuskan pada bagaimana menyampaikan perangkat lunak yang sudah jadi pada
pengguna. Perangkat lunak akan secara resmi diuji oleh baik oleh penguji (tester)
yang kompeten maupun oleh pengguna. Beberapa aktivitas seperti pemindahan pusat
data dan pelatihan pengguna dan staf pendukung harus dilakukan pada tahap ini.
Dalam pengembangan perangkat lunak dengan menggunakan UP,
maka tidak lepas dari penggunaan notasi-notasi yang biasa disebut sebagai UML (Unified Modeling Language). Meskipun UP
mensyaratkan penggunaan UML, namun UML sendiri dapat digunakan pada berbagai
metodologi yang lain bahkan dapat digunakan pada bidang selain sistem
informasi.
UML adalah bahasa pemodelan standar atau kumpulan
teknik-teknik pemodelan untuk menspesifikasi, mem-visualisasi, meng-konstruksi
dan mendokumentasi hasil kerja dalam pengembangan perangkat lunak (Fowler,
2004).
UML lahir dari penggabungan banyak bahasa pemodelan
grafis berorientasi obyek yang berkembang pesat pada akhir tahun 1980an dan
awal 1990an.
Secara sederhana UML digunakan untuk menggambar sketsa
sistem. Pengembang menggunakan UML untuk menyampaikan beberapa aspek dari
sebuah perangkat lunak melalui notasi grafis. UML mendefinisikan notasi dan semantik.
Notasi merupakan sekumpulan bentuk khusus yang memiliki
makna tertentu untuk menggambarkan berbagai diagram piranti lunak dan semantik
mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Ada
beberapa jenis diagram yang disediakan dalam UML, antara lain adalah:
a. Use-case diagram.
Diagram ini berguna untuk menggambarkan interaksi antara pengguna dengan sebuah
perangkat lunak
b. Activity diagram.
Diagram ini berguna untuk menggambarkan prosedurprosedur perilaku perangkat
lunak.
c.
Class diagram.
Diagram ini berguna untuk menggambarkan class, fitur, dan
hubungan-hubungan yang terjadi. Pada diagram ini pendekatan berorientasi obyek memegang
peranan yang sangat penting.
d. Sequence diagram.
Diagram ini berguna untuk menggambarkan interaksi antar obyek dengan penekanan
pada urutan proses atau kejadian.
e. State
machine
diagram. Diagram ini digunakan untuk menggambarkan bagaimana suatu kejadian
mengubah obyek selama masa hidup obyek tersebut.
f.
Component diagram.
Diagram ini berguna untuk menggambarkan struktur dan koneksi komponen.
terimakasih, tuisannya sangat bermanfaat
ReplyDeleteMy blog
terimakasih, tuisannya sangat bermanfaat
ReplyDeleteMy blog