Rekayasa Sistem (PO3)

02.52 0 Comments

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.




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. 
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnA81KLliKrCrC3Vgfv8jwXhlh8UB3PnBAveQPEfCVx_UywQKbYix247a1AGEfIPfPBOe0POxPWNqxudYxg-5z_Mbr6Lbt91KnrojYEg6EbX7dDeBoxUWuG81cWaz9L3PcIpv06BWNTUE/s320/Capture.JPG

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkCaiDZ7IUQprefjynMkxgCxfm0VZbEuxuy4b4LZQk-xPxFxRe_SsBibS4OSJBj0_OrmbOF7aZR1YYWhK7idyGhPwoTIh3tuHJ7oADs49N7T_ooA7ZAd4yKefmzwwGVn8wk3KDC_lYzwU/s320/Capture0.JPG
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.
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgj4-fi9JDzwa9DWJLoQ66xO6AJnWSzKrq6XB6vKZY21i3vqQ6P5GLxf3Quv9BTJdDyD8fp03VhyphenhyphenS_FbwGaamTM6If0Lfs4HNIDB5zL66qa-_kHN1a-QAHBg_5MZBvhv6JRDAWfkD8lbs/s320/13.jpg
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: