Model
Proses Perangkat Lunak merupakan suatu representasi proses perangkat lunak yang
disederhanakan, dipresentasikan dan perspektif khusus. Contoh perspektif proses
:
- Perspektif Alur Kerja (Work Flow) – barisan kegiatan
- Perspektif Alur Data (Data Flow) – alur informasi
- Perspektif Peran/Aksi – siapa melakukan apa.
Menurut
Ian Somerville, model proses secara umum terdiri dari :
- Pendekatan Model Proses, seperti model sekuensial linieratau Waterfall, model prototype, model RAS, dimana memisahkan dan membedakan antara spesifikasi dan pengembangan.
- Pengembangan yang berevolusi, pendekatan yang melanjutkan aktifitas satu dan yang lainnya dari Spesifikasi dan pengembangan serta validasi secara cepat.
- Pengembangan sistem Formal, Pendekatan aktifitas berdasarkan suatu model sistem matematika yang ditransformasikan ke implementasi.
- Pengembangan Sistem berbasis Re-use (penggunaan ulang) komponen, sistem dibangun dari komponen yang sudah ada dengan focus integrasi sistem.
1.
Model Waterfall
Pada
model Waterfall atau disebut model air terjun, ada beberapa fase yang
harus kita terapkan,yaitu:
1.
Analisi
kebutuhan lalu pendefenisiannya
2.
Perancangan
Sistem dan Perangkat lunaknya
3.
Implementasi
dan unit testing
4.
Integrasi
dan pengujian sistem
Dimana
sebuah proses akan kembali ke state sebulumnya agar tidak ada perubahan setelah
proses menuju state di bawahnya sebab sangat sulit.
Proses
waterfall dapat di gambarkan sebagai berikut.
Berikut keterangan yang mungking dapat diterangkan dari gambar :
Pertama: Analisis dan Definisi Persyaratan
melingkupin Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi
dengan user sistem.
Ketiga: Implementasi dan pengujian unit :
Perancangan perangkat lunak direalisasikan sebagai serangkaian program atau
unit program. Pengujian unit melibatkan verifikasi bahwa setiap unit telah
memenuhi spesifikasinya.
Keempat: Integrasi dan Pengujian Sistem
dimana Unit program atau program individual diintegrasikan dan diuji sebagai
sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi.
Kelima : Operasi dan Pemeliharaan
Biasanya sih merupakan fase siklus yg paling lama (walaupun tidak
seharusnya).dimana Sistem diinstall dan di pakai. Pemeliharaan pun mencakup
koreksi dan berbagai error yg tdk ditemukan pada tahap-tahap sebelumnya, perbaikan
atas implementasi unit sistem dan pengembangan pelayanan sistem.
Setiap
model pasti ada kekurangan dan kelebihan, dan berikut merupakan kekurangan dan
kelebihan dari model Waterfall :
Kekurangan
Model Waterfall:
- Terjadinya
pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen
harus dilakukan pada tahap awal proses.
- Hal
ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna
(user).
- Model
air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.
Kelebihan
Model Waterfall:
- Bisa
digunakan jika suatu persyaratan untuk membuat suatu software sudah
dipahami dengan baik dan sudah lengkap semua persyaratan yang ada.
2.
Model RAD
Rapid Aplication Model (RAD) adalah sebuah proses
perkembangan perangkat lunak sekuensial linier yang menekankan siklus
perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat
dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika
kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan
menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat
pendek (kira-kira 60 sampai 90 hari).
Penjelasan gambar per fase seperti berikut :
- Business
Modelling :
berfungsi menjawab pertanyaan-pertanyaan seperti informasi apa yang
mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang
menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang
mengolah informasi?
- Data
Modelling :
aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan
objek data. karakteristik/atribut masing-masing objek didefinisikan
dan hubungan antara objek-objek tersebut didefinisikan.
- Proses
Modelling :
objek data yang sudah didefinisikan diubah menjadi aliran informasi yang
diperlukan untuk menjalankan fungsi-fungsi bisnis.
- Application
Generation :
RAD menggunakan component program yang sudah ada atau membuat component
yang bisa digunakan lagi, selama diperlukan.
- Testing
and Turnover :
karena menggunakan component yang sudah ada, maka kebanyakan component
sudah melalui uji atau testing. Namun component baru dan interface harus
tetap diuji.
Kelebihan Penggunaan Model RAD
- Dimungkinkan dalam proses pembuatan membutuhkan waktu yang sangat singkat (60-90 hari).
- Menghemat biaya, karena penekannya adalah penggunaan komponen-komponen yang sudah ada.
- RAD menggunakan kembali komponen-komponen yang sudah ada, maka beberapa komponen program sudah diuji sehingga kita dapat melakukan penghematan waktu dalam uji coba
Kekurangan Penggunaan Model RAD
- Seperti semua proses model yang lain, pendekatan RAD memiliki kekurangan-kekurangan sebagi berikut :
- Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD yang baik.
- RAD menuntut pengembangan dan pelanggan yang memiliki komitmen di dalam aktifitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal. RAD menekankan perkembangan komponen program yang bisa dipakai kembali. Reusable menjadi batu pertama teknologi objek dan ditemui di dalam proses rakitan komponen
- Tidak semua aplikasi sesuai untuk RAD. Bila sistem tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat problematis.
- RAD menjadi tidak sesuai jika risiko teknisnya tingggi. Hal ini terjadi bila sebuah aplikasi baru memforsir teknologi baru atau bila perangkat lunak baru membutuhkan tingkat interoperabilitas yang tinggi dengan program komputer yang ada.
3.Model
Prototype
Metode prototyping adalah sistem informasi yang
menggambarkan hal-hal penting dari sistem informasi yang akan datang. Prototipe
sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang
harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan
sistem informasi yang lain bila perlu.
Penjelasan
dari gambar di atas sebagai berikut:
· User
merasa prototipe merupakan PL yang sesungguhnya, padahal ketika membuat
prototipe belum disertakan kualitas PL secara keseluruhan / kemampuan
pemeliharaan untuk jangka panjang
· Developer
sering membuat kompromi-kompromi implementasi untuk membuat prototipe bekerja
dengan cepat sehingga akan ditemui ketidakcocokan pada prototipe ketika
prototipe dibangun dengan bahasa yang sederhana
· Program
dibuat ulang / prototype selalu baru
Mengacu pada pemilahan fungsi yang harus ditampilkan oleh prototyping.
Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang
sesuai dengan contoh kasus yang akan diperagakan
a.
Jenis-Jenis Prototyping
- Feasibility
prototyping –
digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk
system informasi yang akan disusun.
- Requirement
prototyping – digunakan untuk mengetahui kebutuhan aktivitas
bisnis user.
- Desain
Prototyping - digunakan untuk mendorong perancangan system
informasi yang akan digunakan.
- Implementation
prototyping – merupakan lanjytan dari rancangan protipe,
prototype ini langsung disusun sebagai suatu system informasi yang akan
digunakan.
Adapun
keunggulan dan kelemahan dalam model prototype:
Keunggulan Prototyping:
- User
dapat berpartisipasi aktif
- Penentuan
kebutuhan lebih mudah diwujudkan
- Mempersingkat
waktu pengembangan SI
Kelemahan
Prototyping :
- Proses analisis dan
perancangan terlalu singkat
- Mengesampingkan alternatif
pemecahan masalah
- Bisanya kurang fleksible
dalam mengahadapi perubahan
- Prototype
yang dihasilkan tidak selamanya mudah dirubah
- Prototype
terlalu cepat selesai
4. Model Spiral
Model ini cukup baru ditemukan,yaitu tahun 1988 oleh Barry Boehm. Spiral adalah
salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki
oleh model prototyping dan digabungkan dengan aspek sistematis yang
dikembangkan model waterfall.
Spiral
model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task
regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas.
Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model :
· Customer
communication. Aktivitas yang dibutuhkan untuk membangun komunikasi
yang efektif antara developer dengan user / customer terutama mengenai
kebutuhan dari customer.
· Planning. Aktivitas
perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu
pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.
· Analysis
risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik
resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin
tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya
dilakukan pada spiral model.
· Engineering. Aktivitas
yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara
teknikal.
· Construction
& Release. Aktivitas yang dibutuhkan untuk develop software,
testing, instalasi dan penyediaan user / costumer support seperti training
penggunaan software serta dokumentasi seperti buku manual penggunaan software.
· Customer
evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari
user / customer berdasarkan evaluasi mereka selama representasi software pada
tahap engineering maupun pada implementasi selama instalasi software pada tahap
construction and release.
Berikut
adalah gambar dari spiral model secara umum :
Adapun
beberapa Kelebihan dan Kelemahan Model Spiral yang ada:
Kelebihan model Spiral :
- Dapat
disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
komputer.
- Lebih
cocok untuk pengembangan sistem dan perangkat lunak skala besar
- Pengembang
dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko
setiap tingkat evolusi karena perangkat lunak terus bekerja
selama proses .
Kelemahan
model Spiral:
- Sulit
untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa
dikontrol.
- Memerlukan
penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius
jika resiko mayor tidak ditemukan dan diatur.
- Butuh
waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute
5. Model incremental
Model Incremental dalam rekayasa perangkat lunak, menerapkan
rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat lunak yang
lengkap. Proses membangun berhenti jika produk telah mencapai seluruh
fungsi yang diharapkan.
Adapun beberapa tahapan yang ada pada model incremental
dimana tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian
yang sudah selesai dilakukan testing, dikirim ke pemakai untuk langsung dapat
digunakan.
Tahapan
Incremental Model adalah :
- Requirement
- Specification
- Architecture
Design
Pada
incremental model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum
sebelum tahap membangun tiap modal.
Tidak ada komentar:
Posting Komentar