Kamis, 02 Oktober 2014

Pengembangan Perangkat Lunak

Ada beberapa model proses perangkat lunak yang biasa digunakan sesuai dengan kondisi-kondisi tertentu, di antaranya:

1.         Evolutionary Software Process Model
 Model Evolusioner mengambil konsep "evolusi" ke dalam paradigma rekayasa. Oleh karena itu Evolusioner Model yang berulang. Mereka dibangun dengan cara yang memungkinkan para insinyur perangkat lunak untuk mengembangkan versi yang semakin lebih kompleks dari perangkat lunak.
2.        Incremental Model
        Model ini merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang. Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai.

 Gambar  Incremental Model

Keunggulan dari Incremental Model :
·         Personil bekerja optimal
·         Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang
·         telah selesai dibangun. Contohnya pemasukan data karyawan
·         Mengurangi trauma karena perubahan sistem.  Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian Memaksimalkan pengembalian modal investasi konsumen 
Kekurangan dari Incremental Model :
·         Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)
·          Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment
·          Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung
3. Spiral Model/Spiral 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.

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 :
·      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
4.The WIN-WIN Spiral Model
Dalam model ini pengembang dan pelanggan keduanya bersama-sama berusaha untuk "menang-menang" hasil. Pelanggan menang dengan mendapatkan sistem atau produk yang memenuhi sebagian besar kebutuhan pelanggan dan menang pengembang dengan bekerja pada realistis dan dapat dicapai tujuan, anggaran dan tenggat waktu.

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 Models
Pada model ini, digunakan notasi matematika yang terperinci dan penuh ketelitian dalam mengidentifikasi desain dan menguji sistem yang berbasis komputer. Metode ini sering dipakai untuk spesifikasi yang detail, rancangan dan verifikasi pada bagian-bagian sistem yang penting (bersifat kritikal) seperti pada sistem avionic dan aerospace, serta pada sistem keamanan yang kritikal pada monitor jantung, ATM (Anjungan Tunai Mandiri) dan pada perbankan.

·         Secara khusus, metode formal sangat cocok dijalankan pada sistem yang kompleks.Digunakan ketika objek yang akan didevelop adalah sebuah spesifikasi matematikModel ini jarang digunakan, sedangkan aktifitas dinyatakan dalam bentuk matematik

  http://uts-sumbawa.ac.id/  
  http://widiartaimade.blogspot.com/  





0 komentar:

Posting Komentar