Rabu, 02 Mei 2012

Metode Rekayasa Perangkat Lunak


Metode Rekayasa Perangkat Lunak

Dalam dunia perancangan sofware, sangat dibutuhkan metoda atau cara yang d butuhkan.
Diupayakan agar permasalahn cepat di selesaikan sesuai waktu. Tidak banyak para engineer menyelesaikan sofware tepat waktu, karena metode yang di terapkan dalam project tersebut tidak sesuai dengan kualitas dan kuantitas.

Terapan metode atau model pada  Rekayasa Perangkat Lunak tercakup :

Model Waterfall
          Model Waterfall merupakan salah satu model klasik bersifat Sisetematis. Kenapa di sebut klasik??!! karena model ini dikerjakan secara berurutan. Pengunaan model ini dalam penerapan kehidupan sehari-hari sangatlah memakan waktu dan sangat sedikit di pakai dalam membuat software.

masalah yang terdapat pada model ini :
  1. Perubahan suolit dilakukan karena sistemnya baku dan kaku.
  2. Karena, sifatnya kaku dan baku maka kebutuhan harus di kumpulkan secara lengkap sehingga perubahan bisa ditekan seminimal mungkin.
  3. Perlu diketahui penerapan model ini hanya untuk rekayasa sistem yang besar. 
Contoh Gambar


Model Rapid Application Development (Model RAD)
           Model yang menitik beratkan pada proses pembuatan prangkat lunak yang incremental (pendek dan seingkat). Model RAD megadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan penerapan componenet based construction. Jika kebutuhan lengkap dan jelas waktu yang dibutuhkan secara komplit software yang dibuat misalnya 60 s/d 90 hari.

Masalah yang terdapat dalam model RAD :
  1. Tidak cocok untuk skala besar
  2. Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
  3. Resiko teknis yang tinggi tidak cocok untuk model ini.
Contoh Gambar :

Model Prototype
         Kadang-kadang klien hanya memberikan beberapa kebutuhan umum software tanpa detil input, proses atau detil output. Di lain waktu mungkin dimana tim pembangun (developer) tidak yakin terhadap efisiensi dari algoritma yang digunakan, tingkat adaptasi terhadap sistem operasi atau rancangan form user interface. Ketika situasi seperti ini terjadi model prototyping sangat membantu proses pembangunan software.

        Sekalipun prototype memudahkan komunikasi antara developer dan klien , membuat klien mendapat gambaran awal dari prototype, membantu mendapatkan kebutuhan detil lebih baik namun demikian prototype juga menimbulkan masalah adalah  developer biasanya melakukan kompromi dalam beberapa hal karena harus membuat prototype dalam waktu singkat. Mungkin sistem operasi yang tidak sesuai, bahasa pemrograman yang berbeda, atau algoritma yang lebih sederhana.

Contoh Gambar

Model Extreme Programming (XP)
         Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan dalam pengembangan software yang rumit dan sulit dalam implementasi.
  1. Communication/Komunikasi : komunikasi antara developer dan klien sering menjadi masalah. Karena itu komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Developer didampingi oleh pihak klien dalam melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban tugas juga
diperhitungkan.
  1. Simplicity/ sederhana: Menekankan pada kesederhanaan dalam pengkodean:
“What is the simplest thing that could possibly work?” Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
  1. Feedback / Masukan/Tanggapan: Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).
  2. Courage / Berani: Banyak ide baru dan berani mencobanya, berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.