Wednesday, October 5, 2016

Software Processes

    Software Process menurut Ian Sommerville adalah serangkaian kegiatan terkait yang mengarah kepada produksi sebuah produk perangkat lunak. Dalam Software Process terdapat empat hal yang sangat fundamental antara lain :
  1. Spesifikasi,
  2. Desain,
  3. Validasi,
  4. Evolusi.
Dalam Software Process ada tiga hal yang amat mendasar yang akan menjadi fokus diantaranya :
  1. Software process models
  2. Process activities
  3. Coping with change .

     Software process models atau pemodelan proses perangkat lunak adalah representasi sederhana dari proses perangkat lunak. Pemodelan ini merupakan sebuah perspektif tertentu sehingga hanya memberikan informasi secara parsial. Adapun pemodelan yang umum digunakan adalah sebagai berikut :
  1. Waterfall, pemodelan ini mengguakan hal - hal dasar dari spesifikasi, pengembangan, validasi dan evolusi yang mana kemudian direpresentasikan sebagai proses terpisah seperti requirements specification, software design, implementation, testing dan sebagainya.
  2. Incremental development, pemodelan ini merupakan pengilustrasian dari proses specification, development, dan validation. Sistem ini dikembangkan sebagai serangkaian versi (bertahap), dengan masing-masing versi menambahkan fungsionalitas ke versi sebelumnya.
  3. Reuse-oriented software engineering, pendekatan ini didasarkan pada ketersediaan dari besarnya jumlah komponen yang dapat digunakan kembali. Proses pengembangan sistem berfokus pada pengintegrasian komponen kedalam sistem daripada harus membangun dari awal.

      Process Activities  memiliki empat dasar diantaranya :
  1. Software specification atau requirements engineering  adalah sebuah proses untuk memahami dan mendefinisikan layanan apa saja yang diperlukan oleh sistem dan mengidentifikasi kendala pada sistem operasi dan pengembangan.
  2. Software design and implementation adalah sebuah tahap dimana Software specification di implementasikan kedalam sebuah sistem yang dapat di eksekusi. Proses ini selalu melibatkan desain dan programming tetapi jika pendekatan pengembangan secara bertahap digunakan maka dapat dilakukan penyempurnaan spesifikasi perangkat lunak.
  3. Software validation  atau yang lebih umum dikenal sebagai validasi dan verifikasi dimaksudkan untuk menunjukkan bahwa sistem sesuai dengan spesifikasi dan juga memenuhi ekspektasi pelanggan.
  4. Software evolution adalah sebuah tahapan dimana perangkat lunak dapat dikembangkan lagi dikemudian hari apabila ada permintaan dari pelanggan.

    Coping with change atau mengatasi perubahan adalah kiat yang dapat dilalukan bilamana ada perubahan yang dilakukan oleh pelanggan, diantaranya :
  1. Prototyping, adalah dimana versi dari sistem atau bagian dari sistem dikembangkan secara cepat untuk memastikan kebutuhan pengguna dan kelayakan beberapa desain yang sudah diputuskan. Hal ini berguna untuk mengantisipasi perubahan dari permintaan pelanggan menjadi banyak.
  2. Incremental delivery, adalah dimana perkembangan disetiap tahapan diberikan kepelanggan untuk diberikan komentar dan di uji coba. Dukungan ini diberikan untuk menghindari perubahan dan mengubah torleransi . Hal ini juga untuk menghindari komitmen awal dari requirement untuk seluruh sistem dan memungkinkan perubahan untuk dimasukkan ketahapan akhir dengan biaya yang relatif rendah. 
  3. Boehm’s spiral model, adalah pemodelan dari penggabungan elemen - elemen dari Prototyping, Incremental delivery serta pemodelan Waterfall.


    The Rational Unified Process adalah contoh dari model proses modern yang telah diperoleh dari kerja UML yang berasosiasi dengan Unified Software Development Process. Terdapat tiga perspektif dari RUP diantaranya :
  1. Dynamic,
  2. Static,
  3. Practice.
RUP juga memiliki empat fase antara lain :
  1. Inception,
  2. Elaboration,
  3. Construction,
  4. Transition.


EmoticonEmoticon