Minggu, Januari 13, 2013

BAB 2- Pengembangan dan Implementasi Perangkat Lunak

Model-model proses

Model-model proses perangkat lunak 

  • Model sekuensial linier
  • Model prototype
  • Model RAD
  • Model proses perangkat lunak evolusioner
  • Model formal

Pola proses perangkat Lunak

  • Fase definisi
  • Fase pengembangan 
  • Fase pemeliharaan 
  • Adaptasi
  • Perkembangan
  • Perfective maintance
  • Pencegahan

Teknologi proses

Model proses yang telah didiskusikan pada bagian terdahulu harus disesuaikan sebelum digunakan oleh tim proyek perangkat lunak. Untuk melakukannya telah dikembangkan alat-alat bantu teknologi proses untuk membantu organisasi perangkat lunak menganalisa proses mereka yang sedang berlangsung, mengorganisasikan tugas-tugas kerja,mengontrol dan memonitor kemajuan, serta mengatur kualitas teknis.

Produk dan proses

  • Perangkat lunak atau software digunakan untuk menghasilkan,mengatur, mendapatkan, merubah, menampilkan serta mengirimkan informasi. Jadi dapat disimpulkan tujuan utama dari sebuah software adalah untuk mentransformasikan informasi. Software biasanya akan mengalami banyak perubahan dari proses prototipe sampai menjadi produk yang layak diproduksi atau digunakan.
  • Proses merupakan salah satu bagian dari software engineering. Definisi dari software engineering adalah disiplin yang mengintegerasikan proses, metode, dan alat untuk pengembangan software.

Presciption Model

Model proses yang sesuai aturan untuk menghindari ketidakaturan. Pada kenyataannya model ini tidak menghilangkan atau mencegah ketidakaturan karena kondisi sebenarnya penuh dengan hal-hal yang tidak terduga. Lain proyek, lain kondisi. Kondisi yang tidak terstruktur tidak selalu berarti kacau. Prescription model terdiri dari :
  1. Framework Activities
  2. Software Engineering Actions
  3. Task
  4. Work Product
  5. Quality Assurance
  6. Change Control Mechanism
yang disusun dalam aliran kerja / work flow dimana tiap elemen proses diatas berelasi satu sama lain.

Waterfall Model

Model ini seiring disebut dengan "classic life cycle" atau model waterfall. Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis,desain,coding,testing/verifikasi, dan maintance. Disebut waterfall karena tahap demi tahap harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Selain karena pengaplikasiannya menggunakan model ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar diawal project. Maka SE dapat berjalan dengan baik tanpa ada masalah.
Tahapan Umum


Keterangan :
 System / Information Engineering and Modeling. Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software.
   Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software.
  Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai.
  Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding.
   Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan.
   Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.

Kekurangan Waterfall

       Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul.
       Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya.
       Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak terpakai lagi.


Incremental Model

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. Tahapan-tahapan incremental model :
       Requirement
       Specification
       Architecture Design
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 model.

Resiko Incremental Model

Model ini menerapkan sistem kerja yang paralel untuk mengantisipasi kondisi yang terjadi pada model incremental.  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.

Model Evolusioner

Biasanya model pengembangan evolusioner ini berdasarkan pada implementasi awal yang akan menghasilkan komentar pemakai, sehingga dapat dilakukan perbaikan melalui banyak versi sampai sistem yang mencukupi dapat dikembangkan. Selain memiliki aktivitas-aktivitas yang terpisah, model ini memberikan umpan balik dengan cepat dan serentak. Berikut adalah macam-macam model pengembangan evolutioner :

       •   Pemrograman Evolusioner : Dalam tipe ini, tujuan proses adalah bekerja sama dengan konsumen untuk menghasilkan kebutuhan-kebutuhan dan menyampaikan sistem akhir kepada pemakai/konsumen.

     • Permodelan : Dalam tipe yang kedua ini, tujuan proses adalah mengetahui kebutuhan-kebutuhan konsumen dan mengembangkan definisi kebutuhan yang lebih baik untuk sistem.

 The Unified Model

Iteratif yang populer dan incremental proses pengembangan perangkat lunak kerangka kerja. Penyempurnaan paling terkenal dan didokumentasikan secara luas dari Unified Process adalah Rational Unified Process (RUP). Unified Process bukan hanya proses, melainkan suatu kerangka extensible yang harus disesuaikan untuk organisasi tertentu atau proyek. Akibatnya sering tidak mungkin untuk mengatakan apakah penyempurnaan dari proses itu berasal dari UP atau dari RUP, sehingga nama-nama cenderung digunakan secara bergantian.

Karakteristik Unified Model


  • Unified Process adalah sebuah Iteratif dan Incremental Pengembangan proses. Tahapan Elaborasi, Konstruksi dan Transisi dibagi menjadi serangkaian iterasi timeboxed. (Tahap Inception juga dapat dibagi menjadi iterasi untuk proyek besar). 
  • Meskipun kebanyakan iterasi akan mencakup pekerjaan di sebagian besar disiplin proses persyaratan (misalnya, Desain, Implementasi, Testing) upaya relatif dan penekanan akan tetap berubah selama proyek.





Tidak ada komentar:

Posting Komentar