Software Process



SOFTWARE

Saat ini, banyak masyarakat umum maupun profesional merasa bahwa mereka mengerti " Software".
Tapi apakah mereka benar-benar mengetahuinya?


Melalui buku Software Engineering A Practioner's Approach 8th Edition, saya mengutip deskripsi suatu software sebagai berikut:


Yang artinya kurang lebih seperti ini :

Software adalah program komputer yang ketika dijalankan menyediakan fitur, fungsi dan performance yang dibutuhkan. Struktur data yang memungkinkan program memanipulasi informasi, dan informasi deskriptif baik itu hard copy maupun bentuk visual yang menggambarkan operasi dan penggunaan sebuah program.


PROSES

Proses adalah kumpulan kegiatan, tindakan, dan tugas-tugas yang dilakukan untuk mencapai goal atau hasil yang diinginkan.

Di dalam konteks software engineering, proses bukanlah hal yang kaku untuk membangun sebuah software komputer.


SOFTWARE PROCESS

Software process adalah sekumpulan kegiatan-kegiatan yang saling berkaitan untuk membangun sebuah sistem yang terdiri dari merancang sistem, mengimplementasi sistem, melakukan testing dan melakukan pengembangan sistem. Ada juga konsep umum yang bisanya digunakan dalam membangun sebuah sistem yang disebut Software Layer. 

Software Engineering layer terbagi menjadi empat lapisan, yaitu :



1. Quality Focus
Sistem yang dibuat harus komitmen dengan kualitas. Hal tersebut sangat berpengaruh untuk meningkatkan keefektifan suatu sistem. Landasan dasar yang mendukung software engineering adalah Quality Focus ini. 

2. Process Model
Setelah Quality Focus terpenuhi, maka kita harus megetahui proses-proses apa saja yang terjadi agar A quality focus yang sudah direncanakan terpenuhi. Proses-proses yang lakukan ini harus tepat dan terurut agar tidak terjadi kesalahan ketika sistem sedang bekerja. 

3. Methods
Setelah Proses Model yang dibuat tersebut sudah tepat, maka kita memilih metode-metode apa yang akan digunakan agar proses model yang dibuat dapat kita implementasikan ke dalam sistem

4. Tools
Tools adala alat bantu yang digunakan dalam membuat sistem.

Aktifitas umum dalam software process diantaranya :

1. Specification – Apa yang harus dikerjakan sistem dan batasan pengembangannya
2. Development – Produksi dari sistem software
3. Validation – Pemeriksaan apakah software memenuhi kebutuhan customer

4. Evolution – Perubahan software terhadap perubahan kebutuhan


THE PROCESS FRAMEWORK

Process Framework adalah landasan untuk menyelesaikan proses software engineering dengan mengidentifikasi sebagian kecil dari framework activities yang berlaku untuk semua project software, terlepas dari besarnya ukuran atau kompleksitas. Hal ini juga mencakup serangkaian umbrella activities yang berlaku untuk software process secara keseluruhan. 

Gambaran mengenai process framework akan  dijelaskan dibawah ini :



Communication : Kegiatan ini melibatkan komunikasi yang sifatnya berat dengan pelanggan dan stakeholder 
lainnya untuk mengumpulkan persyaratan dan kegiatan lainnya yang terkait.

Planning : Rencana yang dibuat harus menjelaskan tugas-tugas teknis yang akan dilakukan, resiko,
sumber daya yang diperlukan, jadwal kerja dll.

Modeling : Sebuah model akan dibuat untuk lebih memahami atau menjelaskan persyaratan dan desain yang diinginkan.

Construction : Koding atau script yang telah dibuat akan di ujicoba.

Deployment : Pada bagian ini, versi lengkap maupun setengah jadi dari software akan diberikan kepada customer untuk mengevaluasi dan memberikan masukan berdasarkan evaluasi tersebut.


UMBRELLA ACTIVITIES

Secara umum, umbrella activities diterapkan diseluruh software project dan membantu tim pembuat software mengelola dan mengontrol progres, kualitas, perubahan, dan resiko. 

Jenis umbrella activities antara lain :

- Software project management
Melacak dan mengontrol project, 

- Formal technical reviews
Menilai produk kerja untuk mengungkap dan menghapus kesalahan sebelum merambat ke aktivitas selanjutnya.

- Software quality assurance
Menjaga kualitas software. 

- Software configuration management
Mengelola dampak perubahan.

- Work product preparation and production
Membuat model, dokumen, log, form, list, dll..

- Reusability management
Mendefinisikan kriteria untuk menggunakan kembali suatu produk dan membentuk mekanisme untuk mencapai komponen yang dapat dibuat kembali.

- Measurement
Menentukan dan mengumpulkan proses, project, dan product measures yang membantu tim dalam memberikan software yang memenuhi kebutuhan stakeholder.

- Risk management
Menilai resiko yang dapat mempengaruhi hasil projek atau kualitas.


GENERIC SOFTWARE PROCESS MODELS

Model proses secara umum dibagi menjadi 4, antara lain sebagai berikut :
1. The waterfall model, memisahkan dan membedakan tahapan-tahapan spesifikasi dan pengembangan.
2. Evolutionary development, specifikasi dan pengembangan saling berselakan.
3. Formal systems development, model sistem matematika yang secara formal diubah untuk di implementasikan.

4. Reuse-based, sistem ini dirakit dari komponen yang sudah ada.

THE WATERFALL MODEL
Model ini adalah model klasik yang bersifat sistematis, berurutan dalam membangun software.



1. Requirements analysis and definition:
Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap.

2. System and software design:
Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.

3. Implementation and unit testing:
Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit.

4. Integration and system testing:
Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).

5. Operation and maintenance:
Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.



EVOLUTIONARY DEVELOPMENT
Bersifat iteratif/ mengandung perulangan. Hasil proses berupa produk yang makin lama makin lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses.

- INCREMENTAL MODEL
Incremental Model adalah proses pemodelan kombinasi antar elemen-elemen Linear Sequential Model dan Prototyping Model.


- SPIRAL MODEL
Proses model ini adalah proses model evelusioner yang didasari atas dua proses model yang digabungkan menjadi satu proses model, yaitu Prototyping Model dengan konsep perulangannya dan Linear Sequential Model dengan pengontrolannya.




FORMAL SYSTEMS DEVELOPMENT
Model sistem matematika yang secara formal diubah untuk di implementasikan.



- FORMAL TRANSFORMATION

REUSE-BASED DEVELOPMENT
Sistem yang dirakit dari komponen yang sudah ada.




Referensi :
Buku Software Engineering A Practioner's Approach 8th Edition, Roger S. Pressman, Ph.D.
Buku Software Engineering, 6th edition, Ian Sommerville
http://iswantolionar.blogspot.com/2012/09/apa-itu-software-process.html
http://tanmayonrun.blogspot.com/2013/01/what-is-software-process-and-software.html
http://www.academia.edu/6421657/Software_Proses_Model
http://dikadinus.blogspot.com/2012/03/software-process-models.html






0 komentar:

Posting Komentar

 

Blogroll

Penawaran Menarik