Archive for Oktober 2014

Model-Model Perangkat Lunak

Kamis, 02 Oktober 2014
Posted by Fadhlan Ruchiatna

1. Evolutionary Software Process Model
Keuntungan Evolutionary Model 
·  Pengguna mendapatkan kesempatan untuk bereksperimen dengan sistem sebagian dikembangkan
·  banyak sebelum versi penuh bekerja dilepaskan, Membantu menemukan kebutuhan pengguna yang tepat
·  banyak sebelum sistem kerja sepenuhnya dikembangkan. Core modul bisa diuji secara menyeluruh: mengurangi kemungkinan kesalahan dalam produk akhir.

Kekurangan Evolutionary Model
·Seringkali, sulit untuk membagi masalah menjadi unit-unit fungsional yang dapat diimplementasikan secara bertahap dan disampaikan. 
   evolutionary model ini berguna untuk masalah yang sangat besar, mana lebih mudah untuk menemukan modul untuk implementasi tambahan 
A. Protoyping Model
Protoyping Model adalah model yang dapat diterapkan pada model apapun. Model ini tidak memerlukan data yang lengkap dari sisi client dan banyaknya keraguan dari pembuat software karena kondisi yang belum diketahui (seberapa besar software, bagaimana sistem penerapannya). Model ini tepat digunakan jika pihak client menginginkan prototype dari software dalam waktu yang singkat. Dan prototype inilah yang akan menjadi acuan dari client untuk memberikan data kebutuhan yang lebih lengkap pada pembuat software (developer).

Kekurangan dalam model prototype :
1. Pada prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
2. Prototype yang di setujui oleh client harus dikembangkan oleh developer tanpa ada data tambahan dari client dan software dari prototype harus memiliki fungsi yang lengkap.
3.Banyak ketidak sesuaian pada bentuk prototype.
Model ini memerlukan kesepakatan antara client dan developer bahwa prototype hanya menjadi model dasa dari pembangunan software.
   
2. 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.
Incremental Model merupakan gabungan antara model linear sekuensial dan prototyping. Setiap linear sekuen menghasilkan produk yang deliveriables. Increment pertama merupakan produk inti yang mengandung persyaratan/kebutuhan dasar. Penambahan dilakukan pada increment-incremet berikutnya.
Keunggulan dari Incremental Model :
1.    Personil bekerja optimal
2. Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data karyawan
3. Mengurangi trauma karena perubahan sistem.  Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian
4.    Memaksimalkan pengembalian modal investasi konsumen 
Kekurangan dari Incremental Model :
1.    Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)
2.  Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana   spesifikasi masing-masing hasil increment
3.  Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung
3. 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.
Adapun beberapa Kelebihan dan Kelemahan Model Spiral yang ada:
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 
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 absolute
4. Win Win Spiral Model

Dalam win win spiral model yang merupakan ekstensi dari spiral model, tim pengembang dan pelanggan akan melakukan diskusi dan negosiasi terhadap requirement-nya. Disebut win win karena merupakan situasi kemenangan antara tim pengembang dan pelanggan. Yang membedakan antara win win spiral model dan spiral model adalah setelah selesai mendapatkan feed back dari pelanggan, tim pengembang aplikasi dan pelanggan akan kembali melakukan negosiasi untuk perkembangan aplikasi tersebut.
Win-win spiral model adalah satu perluasan dari Spiral Model. Di  model ini, tim pengembang dan pelanggan mendiskusikan dan merundingkan permintaan. Model ini disebut Win-Win karena memberikan suatu situasi menguntungkan untuk tim pengembang dan juga untuk pelanggan. Pelanggan untung dengan mendapatkan produk yang sesuai dengan permintaan mereka, disamping itu regu pengembang untung dengan mengirim software yang dikembangkan dengan semua permintaan yang dibentuk setelah negosiasi-negosiasi dengan pelanggan.
Win-win spiral model adalah model yang menguntungkan kedua belah pihak, yaitu pihak pembuat project  dan customer. Fase tertentu dapat di ulang oleh pembuat project tanpa harus mengulang dari awal. Disini tim pengembang dan pelanggan akan melakukan diskusi dan negosiasi terhadap requirement-nya
Ada enam tahapan model win-win spiral, diantaranya:
a.   Identifikasi permintaan.
b.   Negosiasi dengan konsumen
c.   Melakukan perubahan permintaan baru setelah melakukan negosiasi dengan konsumen.
d.   Menilai proses dan produk alternative dan analisa kerusakan.
e.   Persetujuan proses dan produk.
f.   Tinjauan ulang dengan member laporan kepada konsumen.
Kelebihan :

1.Sama sama adanya kesepakatan developer dengan customer
2.Terdapat kepuasan dan keuntungan antara developer dengan customer karena aplikasi yang dijalankan dengan negoisasi sesuai kesepakatan
3.Sangat efektif untuk digunakan karena kesepakatan antara developer dengan customer sama-sama disepakati sehingga tidak akan menimbulkan ketidak puasan customer
Kekurangan :
1.Membutuhkan waktu yang cukup lama 2.Seringkali pada awalnya customer dengan developer mengalami kecekcokkan pada saat negoisasi

5. Component-based Development Model
Component-based development sangat berkaitan dengan teknologi berorientasi objek. Pada pemrograman berorientasi objek, banyak class yang dibangun dan menjadi komponen dalam suatu software. Class-class tersebut bersifat reusable artinya bisa digunakan kembali. Model ini bersifat iteratif atau berulang-ulang prosesnya.
Secara umum proses yang terjadi dalam model ini adalah:
1.    Identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru
2.  Class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga bisa langsung diambil dari library yang sudah ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan metode berorientasi objek.
3.  Bangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.
Penggunaan kembali komponen software yang sudah ada menguntungkan dari segi:

► Siklus waktu pengembangan   software, karena   mampu   mengurangi  waktu 70%
Biaya produksi berkurang sampai 84% arena pembangunan komponen
       berkurang
Pembangunan software dengan menggunakan komponen yang sudah tersedia dapat menggunakan komponen COTS (Commercial off-the-shelf) – yang bisa didapatkan dengan membeli atau komponen yang sudah dibangun sebelumnya secara internal. Component-Based Software Engineering (CBSE) adalah proses yang menekankan perancangan dan pembangunan software dengan menggunakan komponen software yang sudah ada. CBSE terdiri dari dua bagian yang terjadi secara paralel yaitu software engineering (component-based development) dan domain engineering. 


6. Formal Method Model
Teknik formal method adalah teknik yang mengandalkan perhitungan matematika dalam setiap prosesnya. Hanya digunakan pada sistem yang sangat memperhatikan keamanan atau keselamatan dari pengguna. Contoh penggunaan teknik ini adalah aerospace engineering.

Keuntungan menggunakan teknik formal method adalah meminimalkan resiko dengan adanya perhitungan komputasi.
Sedangkan kerugiannya adalah:
(a) Biaya Tinggi.
(b) Kompleks
     (c) Tidak Umum untuk Proyek Software pada umumnya


https://uts-sumbawa.ac.id 
https://widiartaimade.blogspot.com 
Welcome to My Blog

Popular Post

Blogger templates

Total Tayangan Halaman

Diberdayakan oleh Blogger.

Pages - Menu

Pengikut

Mengenai Saya

Foto saya
Sumbawa besar, Sumbawa, Indonesia

Blogger templates

- Copyright © FrOst Blog's -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -