Thursday, 28 August 2014

MODEL MODEL PENGEMBANGAN PERANGKAT LUNAK




~ PROTOTYPE
prototipe adalah awal sampel, model, atau peluncuran produk yang dibangun untuk menguji suatu konsep atau proses atau untuk bertindak sebagai sesuatu yang harus direplikasi atau belajar dari. Ini adalah istilah yang digunakan dalam berbagai konteks, termasuk semantic,  desain , elektronik, dan perangkat lunak pemrograman .
Sebuah prototipe dirancang untuk menguji dan percobaan desain baru untuk meningkatkan presisi oleh analis sistem dan pengguna.
 Prototyping berfungsi untuk memberikan spesifikasi untuk nyata, sistem bekerja daripada yang teoritis. Pada beberapa model alur kerja, menciptakan prototipe (proses materialisasi kadang-kadang disebut) adalah langkah antara formalisasi dan evaluasi dari ide.

Kelebihan :

1. Adanya komunikasi yang baik antara pengem bang dan pelanggan

2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan

3. Pelanggan berperan a ktif dalam pengembangan system

4. Lebih menghemat waktu dalam pengembangan system

5. Penerapan menjadi lebih mudah karena pemakai meng etahui apa yang diharapkannya.

Kekurangan

1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belummemikirkan
kemampuan pemeliha raan untuk jangja waktu lama.

2. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan          
prototyping lebihcepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut bahasa pemrograman yang sederhana untuk membuat hanya merupakan cetak biru sistem

3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan
     teknik perancangan yang baik.

~ TRANSFORMASI FORMAL


Transformasi formal adalah transformasi spesifikasi secara matematik melalui representasi yang  berbeda untuk suatu program yang dapat dieksekusi,  Transformasi formal digunakan untuk mengembangkan bagian  bagian sistem yangmemiliki persyaratan keselamatan yang tinggi dan pendekatan reuse digunakan untuk  pengimplementasian bagian  bagian lain dari sistem data manajemen.
Transformasi  formal  digunakan  untuk  mengembangkan  bagian bagian  sistem yang  memiliki  persyaratan  keselamatan  yang  tinggi  dan  pendekatan  reuse digunakan  untuk  pengimplementasian  bagian bagian  lain  dari  sistem  data  manajemen. Pendekatan  ini  berdasarkan  pembuatan  spesifikasi  sistem  formal  secara  matematik  dan  transformasi  spesifikasi  dengan  menggunakan metode matematik atau dengan suatu program. 
Transformasi iniadalah correctness preserving, ini berarti bahwa kita dapat yakin program yang dikembangkan sesuai dengan spesifikasi. Pengembangan sistem formal menggunakan suatu model sistem matematika yangditransformasikan ke implementasi,
Pengembangan  sistem  formal  merupakan  pendekatan terhadap  pengembangan  perangkat  lunak  yang  memiliki kesamaan  dengan  model  air  terjun,  tetapi  proses pengembangannya  didasarkan  pada  transformasi  matematis dari  spesifikasi  sistem  menjadi  program  yang  dapat dijalankan
Kelebihan dan Kekurangan Transformasi formal

Kelebihan Transformasi formal adalah;
1. mengurangi jumlah kesalahan pada sistem sehingga penggunaan
utamanya adalah pada sistem yang kritis
2. efektif dalam segi biaya
3. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,

Kekurangan Transformasi formal adalah;
1. Metode ini mempunyai keterbatasan dalam Pemakaiannya
2. Memerlukan keahlian khusus dan pelatihan untuk Mengaplikasikannya
3. Memerlukan keahlian khusus dan pelatihan untuk Mengaplikasikannya
4. Memerlukan tingkat kerahasian dan keamanan yang tinggi sebelum digunakan


~ Rapid application development
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat.
Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan.

Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.
PENERAPAN
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan :
  1. Component based construction ( pemrograman berbasis komponen bukan prosedural).
  2. Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
  3. Pembangkitan kode program otomatis/semi otomatis.
  4. Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
~ incremental
Incremental adalah menggabungkan elemen-elemen model sekuensial linier (diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju waktu kalender. Setiap urutan linier
menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada pengguna

Model proses incremental tersebut, seperti model prototype dan pendekatan-pendekatan evolusioner yang lain, bersifat iterative. Tetapi tidak seperti model prototype, model pertambahan berfokus pada penyampaian produk operasional dalam setiap pertambahannya. Pertambahan awal ada di versi stripped down dari produk akhir, tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk evaluasi oleh pemakai

Kelebihan model increment :

·         Cocok digunakn bila pembuat software tidak banyak/kekurangan pembuat.
·         Mampu mengakomodasi perubahan kebutuhan customer.

Kekurangan model increment :

·           Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
·           Penambahan staf dilakukan jika hasil incremental  akan dikembangkan lebih lanjut.
·           Hanya cocok untuk proyek dengan skala kecil.

Kelebihan Penggunaan Incremental Model :
• Merupakan model dengan manajemen yang sederhana

• Pelanggan tidak perlu menunggu sampai seluruh system dikirim untuk mengambil keuntungan dari system tersebut. Inkremen yang pertama sudah memenuhi persyaratan mereka yang paling kritis,     sehingga perangkat lunak dapat segera digunakan.

• Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutnya

• Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan sukses kepada pelanggan.

• Karena layanan dengan prioritas tertinggi diserahkan pertama dan inkremen berikutnya diintegrasikan dengannya, sangatlah penting bahwa layanan system yang paling penting mengalami pengujian yang paling ketat. Ini berarti bahwa pelanggan akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat lunak pada inkremen system yang paling kecil.
Kekurangan Penggunaan Incremental Model :
• Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus menyediakan sebagian dari fungsional system.

• Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar

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.


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

~ Fourth Generation Technique (4GT)
Fourth Generation Technique (4GT) adalah meliputi seperangkat peralatan software yang memungkinkan seorang developer software menerapkan beberapa karakteristik software pada tingkat yang tinggi, yang kemudian menghasilkan source code dan object code secara otomatis sesuai dengan spesifikasi yang ditentukan developer.

 Saat ini peralatan / tools 4GT adalah bahasa non prosedur untuk :

·        DataBase Query
·        Pembentukan laporan ( Report Generation )
·        Manipulasi data
·        Definisi dan interaksi layar (screen)
·        Pembentukan object dan source ( Object and source generation )
·        Kemampuan grafik yang tinggi, dan
·        Kemampuan spreadsheet
Saat ini, pengembangan perangkat lunak yang mendukung 4GT, berisi tool-tool berikut: Bahasa non-prosedural untuk query basis data, report generation, data manipulation, interaksi layar dan definisi, code generation, kemampuan grafik level tinggi, kemampuan spreadsheet, dan automated generation of HTML serta bahasa-bahasa yang mirip yang digunakan untuk membuat suatu website dengan menggunakan perangkat lunak tertentu. Tiap tool ini ada, tapi hanya untuk aplikasi khusus.
Kelebihan:
Karena 4GT menggunakan 4GL yang “notabene” merupakan bahasapemrograman yang  khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT. Bahkan ada 4GL yang bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.
Kekurangan:
Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan bahasa 4GL. Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional.
4GL tidak selalu berhasil menghasilkan sistem yang diinginkan.

No comments:

Post a Comment