Kamis, 23 April 2009

Software Development Life Cycle

Software Development Life Cycle sangat penting dalam pengembangan perangkat lunak karena dapat mengatasi keterbatasan biaya, waktu, dan sumberdaya.

Software Development Life Cycle dalam pengembangan digunakan untuk membantu memonitor dan mengontrol progress dan karena biaya kebanyakan sistem mengalami over time dan over budget. Tanpa metodologi, tidak ada aturan-aturan yang didefinisikan untuk “how do we procceed?” terutama berguna untuk pengembang sistem pemula.

Metodologi digunakan untuk memastikan bahwa tidak ada aktivitas yang terlupakan dan kebanyakan yang akan berakhir dengan kegagalan. Model Proses Pengembangan Sistem adalah proses pengembangan sistem yang sangat formal dan seksama yang mendefinisikan seperangkat aktifitas, metode-metode, best practices, deliverables, dan automated tools yang digunakan oleh pengembang sistem dan project manager untuk pengembangan dan pemeliharaan sistem dan perangkat lunak.

Model proses pengembangan perangkat lunak menggambarkan urut-urutan kejadian yang diperlukan untuk membangun sesuatu produk perangkat lunak tertentu. Model proses pengembangan suatu perangkat lunak sangat diperlukan untuk mendefinisikan, menjelaskan, mengabstraksikan, memodifikasi, memperbaiki dan mendokumentasikan produk perangkat lunak, untuk menggunakan model proses yang baik harus memenuhi 3 ketentuan, yaitu :

1. Model harus memiliki ‘descriptive power’ Sebuah model harus dapat mendeskripsikan yang dikerjakan dalam tahapannya. Software yang baik biasanya dapat terlihat melalui proses pengembangannya, jika suatu model tidak dapat mendeskripsikan prosesnya maka tidak semua orang dapat mengerti cara kerja pengembangannya. Maka buat apa memakai sebuah model yang hanya beberapa orang dalam tim saja yang mengerti.

2. Model yang dibuat harus mudah dibaca orang lain
Suatu model digunakan agar semua orang dapat mengerti tahapannya sehingga mengerti apa yang dikerjakan agar menghasilkan perangkat lunak yang berkualitas.

3. Bisa dikomputerisasikan
Model pengembangan digunakan agar dapat membantu mengembangkan perangkat lunak yang berkualitas, jika salah satu tahapan tidak dapat dikomputerisasikan maka model tersebut hanya akan menambah masalah dalam pengembangan bukannya mengurangi masalah. Oleh karena itu suatu model harus dapat melalui tahap komputerisasi.

Pada prinsipnya semua model pengembangan perangkat lunak memiliki tahapan yang paling penting yaitu:

1. Identifikasi masalah
Bagaimana menyelesaikan masalah kalau masalahnya saja tidak mengerti?? Oleh karena itu suatu model harus memiliki tahap yang dapat mencari permasalahan kemudian memberi alternatif solusi.

2. Penyelesaian yang terintegrasi
Ketika permasalahan sudah diketahui, tinggal penyelesaian yang harus dilakukan. Penyelesaian tidak dapat dilakukan seketika itu juga dalam satu tahap, namun dalam beberapa langkah pengembangan yang terintegrasi (modularity).

3. Teknik pengembangan
Setelah permasalahan diselesaikan, perangkat lunak tidak hanya berhenti disitu saja. Proses pengembangan pasti dilakukan mengingat tidak ada satupun perangkat lunak yang sempurna dari kesalahan (bug) dan yang dapat dilakukan adalah dengan meminimalisasi kesalahan melalui pengembangan dan evaluasi.

Beberapa tahap dalam System Development Life Cycle adalah

1. System Initiation
Menentukan perencanaan awal untuk menentukan lingkup, tujuan, jadwal dan anggaran proyek yang diperlukan untuk memecahkan masalah atau kesempatan yang direpresentasikan oleh proyek.

2. System Analysis
Merekomendasikan perbaikan dan menspesifikasikan persyaratan dan prioritas bisnis untuk solusi yang akan ditawarkan.

3. System Design
Menghasilkan rancangan spesifikasi sebagai solusi dari requirement yang diberikan sebelumnya.

4. System Implementation
Menghasilkan solusi perangkat keras dan perangkat lunak untuk permasalahan bisnis berdasarkan spesifikasi.