Rekayasa Sistem (PO3)
1. Prototyping Model
Prototyping
merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini
pengembang dan pelanggan dapatsaling berinteraksi selama proses pembuatan sistem. Sering terjadi
seorang pelangganhanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan
secaradetal output apa saja yang dibutuhkan,
pemrosesan dan data-data apa saja yangdibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi
algoritma,kemampuan sistem operasi dan interface yang Menghubungkan manusia dan komputer.
Prototyping
juga dapat didefinisikan sebagai proses pengembangan suatu prototipe secara
cepat untuk digunakan terlebih dahulu
dan ditingkatkan terus menerus sampai didapatkan sistem yang utuh. Prototyping merupakan proses yang
digunakan untuk membantu pengembang perangkat lunak dalam membentuk model dari
perangkat lunak yang harus dibuat.
Prototyping Model Adalah merupakan salah satu metode
pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping
ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan
sistem. Untuk mengatasi ketidakserasian antara pelanggan dan pengembang , maka
harus dibutuhakan kerjasama yanga baik diantara keduanya sehingga pengembang
akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak
mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses
dalm menyelasaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem
sesuai dengan jadwal waktu penyelesaian yang telah ditentukan.
Kunci agar
model prototype ini berhasil dengan baik adalah dengan mendefinisikan
aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan.
aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan.
2. RAD (Rapid Application Development) Model
Incremental
model adalah model pengembangan sistem pada software engineering berdasarkan requirement
software yang dipecah menjadi beberapa fungsi atau bagian sehingga model pengembangannya
secara bertahap. dilain pihak ada mengartikan model incremental sebagai perbaikan
dari model waterfall dan sebagai standar pendekatan topdown. Layaknya
Model Waterfall, model ini pun juga memiliki tahapan tahapan untuk
perancangan perangkat lunaknya, yaitu:
1. Requirement ,
Requirment adalah proses tahapan awal yang dilakukan pada incremental model
adalah penentuan kebutuhan atau analisis kebutuhan.
2. Specification, Specification adalah
proses spesifikasi dimana menggunakan analisis kebutuhan sebagai acuannya.
3. Architecture
Design, adalah tahap selanjutnya, perancangan software yang terbuka agar dapat
diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
Code setelah melakukan
proses desain selanjutnya ada pengkodean.
Test merupakan tahap
pengujian dalam model ini.
gambar 1.2 desain pemodelan
Incremental.
Tahapan-tahapan
tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai dilakukan
testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental
model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum
tahap membangun tiap increment. Untuk mengantisipasi kondisi yang terjadi pada
incremental model, diperkenalkan model More Risky Incremental Model. Model ini
menerapkan sistem kerja yang paralel. Setelah daftar kebutuhan didapatkan dari pemakai,
tim spesifikasi membuat spesifikasi untuk modul pertama. Setelah spesifikasi
pertama selesai, tim desain menindak lanjuti. Tim spesifikasi sebelumnya juga
langsung membuat spesifikasi untuk model kedua, dan seterusnya. Jadi, tidak
harus menunggu modul pertama selesai hingga dikirim ke user.
Beberapa Kelebihan Dari Model Incremental
atara lain :
1. Merupakan
model dengan manajemen yang sederhana.
2. Pengguna
tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil keuntungan
dari sistem tersebut. Increment yang pertama sudah memenuhi persyaratan mereka
yang paling kritis, sehingga perangkat lunak dapat segera digunakan.
3. Resiko
untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah masih
dapat ditemukan pada beberapa increment. Karena layanan dengan prioritas
tertinggi diserahkan pertama dan increment berikutnya diintegrasikan dengannya,
sangatlah penting bahwa layanan sistem yang paling penting mengalami pengujian
yang ketat. Ini berarti bahwa pengguna akan memiliki kemungkinan kecil untuk
memenuhi kegagalan perangkat lunak pada increment sistem yang paling bawah.
4. Nilai
penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas
sistem disediakan lebih awal.
5. Memiliki
risiko lebih rendah terhadap keseluruhan pengembagan sistem.
6. Prioritas
tertinggi pada pelayanan sistem adalah yang paling diuji.
Kelemahannya adalah :
1. Kemungkinan
tiap bagian tidak dapat diintegrasikan.
2. Dapat
menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat
perubahan selama proses rekayasa berlangsung harus Open Architecture
3. Mungkin
terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana
spesifikasi masing-masing hasil increment.
3. Incremental Model
Metode
pengembangan sistem adalah suatu aktivitas, metode, praktik terbaik dan
peralatan terotomatisasi yang digunakan parastakeholder untuk
mengembangkan dan secara berkesinambungan memperbaiki sistem informasi dan
perangkat lunak (Whitten, Bentley, Ditman, 2004). Pengembangan sistem informasi
merupakan penyusunan suatu sistem untuk menggantikan sistem yang lama secara
keseluruhan atau memperbaiki sistem yang telah ada. Rapid Application
Development (RAD) yaitu suatu pendekatan berorientasi objek terhadap
pengembangan sistem yang mencakup suatu metode pengembangan serta
perangkat-perangkat lunak (Kendall dan Kendall, 2002).
Rapid
Application Development (RAD) adalah model proses
perkembangan software 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 pada komponen (Hariyanto,
2004). 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).
Tahapan-tahapan dalam RAD :
RAD digunakan pada aplikasi
sistem konstruksi, maka menekankan fase-fase. Ada tiga fase dalam RAD yaitu
(Kendall dan Kendall, 2008):
1. Requirement
Planning, dalam tahap ini diketahui apa saja yan menjadi kebutuhan sistem yaitu
dengan mengidentifikasikan kebutuhan informasi dan masalah yang dihadapi untuk
menentukan tujuan, batasan-batasan sistem, kendala dan juga alternatif pemecahan
masalah. Analisis digunakan untuk mengetahui perilaku sistem dan juga untuk
mengetahui aktivitas apa saja yang ada dalam sistem tersebut.
2. Design
Workshop, yaitu mengidentifikasi solusi alternatif dan memilih solusi yang
terbaik. Kemudian membuat desain proses bisnis dan desain pemrograman untuk
data-data yang telah didapatkan dan dimodelkan dalam arsitektur sistem
informasi. Tools yang digunakan dalam pemodelan sistem biasanya menggunakan Unified Modeling Language (UML).
3. Implentation,
setelah Design Workshop dilakukan, selanjutnya sistem
diimplementasikan (coding) ke dalam bentuk yang dimengerti oleh mesin yang
diwujudkan dalam bentuk program atau unit program. Tahap implementasi sistem
merupakan tahap meletakkan sistem supaya siap untuk dioperasikan.
Keunggulan dan Kelemahan Menggunakan RAD
Berikut adalah keunggulan dan
kelemahan menggunakan RAD (Whitten, Bentley, Ditman, 2004):
Keunggulan :
Ø Berguna
untuk proyek-proyek tempat persyaratan-persyaratan pengguna tidak pasti dan
tidak tepat.
Ø Mendorong
pengguna aktif dan partisipasi manajemen (berkebalikan dengan reaksi pasif pada
model-model sistem yang tidak bekerja). Hal ini meningkatkan antusiasme
pengguna akhir pada proyek.
Ø Proyek-proyek
memiliki visibilitas dan dukungan lebih tinggi karena keterlibatan pengguna
yang ekstensif selama proses.
Ø Para
pengguna dan manajemen melihat solusi-solusi yang berbasis perangkat lunak dan
bekerja lebih cepat daripada pengembangan yang model-driven.
Ø Error dan
penghilangan cenderung untuk dideteksi lebih awal
dan prototype daripada dalam model sistem.
Kelemahan :
Ø Beberapa
orang berpendapat bahwa RAD mendorong mentalitas “mengkode, mengimplementasi,
dan memperbaiki” yang meningkatkan biaya seumur hidup yang diperlukan untuk
mengoperasikan, mendukung dan merawat sistem.
Ø Prototype-prototype RAD
dapat dengan mudah memecahkan yang salah karena analisis masalah disingkat atau
diabaikan.
Ø Prototype berbasis
RAD mungkin membuat para analis minder untuk mempertimbangkan
alternatif-alternatif teknis lain yang lebih bernilai.
Ø Kadang-kadang
lebih baik membuang sebuah prototype, tapi
para stakeholder enggan melakukannya karena menganggapnya sebagai
hilangnya waktu dan usaha dalam produk saat ini.
Ø Penekanan
pada kecepatan dapat berdampak terhadap kualitas yang disebabkan jalan-jalan
pintas yang disarankan dengan buruk melalui metodologi tersebut.
4. Model Spiral
Model spiral
pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak evolusioner
yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek
sistematis model sequensial linier.
Model iteratif
ditandai dengan tingkah laku yang memungkinkan pengembang mengembangkan versi
perangkat lunak yang lebih lengkap secara bertahap. Perangkat lunak
dikembangkan dalam deretan pertambahan. Selama awal iterasi, rilis inkremantal
bisa berupa model/prototype kertas, kemudian sedikit demi sedikit dihasilkan
versi sistem yang lebih lengkap.
Tahapan-Tahapan Model Spiral.
Model spiral dibagi menjadi enam
wilayah tugas yaitu:
1. Komunikasi
pelanggan, Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan dan
kebutuhankebutuhan yang diinginkan oleh pelanggan.
2. Perencanaan,
Yaitu tugas-tugas untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek
informasi lain yg berhubungan.
3. Analisis
Resiko, Yaitu tugas-tugas yang dibutuhkan untuk menaksir resikomanajemen dan
teknis.
4. Perekayasaan,
Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari apikasi
tersebut.
5. Konstruksi
dan peluncuran, Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi,
menguji, memasang , dan memberi pelayanan kepada pemakai.
6. Evaluasi
Pelanggan, Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.
Dari gambar
tersebut, proses dimulai dari inti bergerak searah dengan jarum jam
mengelilingi spiral. Lintasan pertama putaran menghasilkan perkembangan
spesifikasi produk. Putaran selanjutnya digunakan untuk mengembangkan sebuah
prototype, dan secara progresif mengembangkan versi perangkat lunak yang lebih
canggih. Masing-masing lintasan yang melalui daerah perencanaan menghasilkan
penyesuaian pada rencanan proyek.
Biaya dan jadwal disesuaikan
berdasarkan umpan balik yang disimpulakan dari evaluasi pelanggan. Manajer
proyek akan menambah jumlah iterasi sesuai dengan yang dibutuhkan.
Kelebihan dan Kelemahan Model Spiral.
A. Kelebihan model Spiral :
1. Dapat
disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
2. Lebih
cocok untuk pengembangan sistem dan perangkat lunak skala besar.
3. Pengembang
dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap
tingkat evolusi karena perangkat lunak terus bekerja selama proses .
4. Menggunakan
prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam
evolusi produk.
5. Tetap
mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannyake
dalam kerangka kerja iteratif .
6. Membutuhkan
pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum
menjadi permaslahan yang serius.
B. Kelemahan model Spiral:
1. Sulit
untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
2. Memerlukan
penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika
resiko mayor tidak ditemukan dan diatur.
3. Butuh
waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut
Sumber :
0 komentar: