DEFINISI SIKLUS HIDUP
jika ditinjau dari sisi definisi, siklus hidup memiliki beberapa definisi sebagai berikut ?
- dari gustafson (dalam buku theory and problems of software
engineering, 2002) definisi ini meyatakan bahwa siklus hidup adalah
urutan dari kegiatan yang ada didalam sebuah pengembangan perangkat
lunak.
- dari keyes ( dalam buku software engineering handbook,2005 )
definisi ini menekankan bahwa sebuah perangkat lunak bisa saja mengalami
sebuah siklus hidup tergantung dari proses pengembangannya mulai dari
ide besar sampai lahir perangkat lunak itu sendiri.
kesimpulan dari 2 definisi siklus hidup diatas adalah bahwa siklus hidup
perangkat lunak merupakan urutan hidup sebuah perangkat lunak
berdasarkan perkembangan perangkat lunak yang ditentukan oleh pengembang
perangkat lunak itu sendiri....
sytem development life cycle
SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis
sistem dan programmer dalam membangun sistem informasi. Langkah yang
digunakan meliputi :
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan
System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam
membangun sistem melalui beberapa langkah. Ada beberapa model SDLC.
Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa
model lain SDLC misalnya fountain, spiral, rapid, prototyping,
incremental, build & fix, dan synchronize & stabilize.
Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa
langkah dan pada sistem yang besar, masing-masing langkah dikerjakan
oleh tim yang berbeda.
Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC
pada referensi lain mungkin berbeda, namun secara umum adalah sama.
Langkah tersebut adalah
1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan
2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai
apa saja yang dibutuhkan dalam pengembangan sistem dan membuat
perencanaan yang berkaitan dengan proyek sistem
3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen
dan desain pemrograman yang diperlukan untuk pengembangan sistem
informasi
4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan
5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat
6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama
hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji
ulang, kadang-kadang bersama expert user, terutama dalam langkah
spesifikasi kebutuhan dan perancangan sistem untuk memastikan bahwa
langkah telah dikerjakan dengan benar dan sesuai harapan. Jika tidak
maka langkah tersebut perlu diulangi lagi atau kembali ke langkah
sebelumnya.
Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality
control, sedangkan pengujian di langkah kelima bersifat quality
assurance. Quality control dilakukan oleh personal internal tim untuk
membangun kualitas, sedangkan quality assurance dilakukan oleh orang di
luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus
terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan
peningkatan fungsi sistem.
- Model-model yang digunakan pada Software Development Life Cycle (SDLC) yaitu:
a. Model Waterfall
Merupakan model pengembangan system yang paling mudah dan paling
sering digunakan. Model pengembangan ini bersifat linear dari tahap awal
pengembangan system yaitu tahap perencanaan sampai tahap akhir
pengembangan system yaitu tahap pemeliharaan. Tahapan berikutnya tidak
akan dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan
tidak bisa kembali atau mengulang ke tahap sebelumnya. Tahap-tahap yang
dilakukan pada model Waterfall ini digambarkan pada gambar berikut ini :
metode ini masih lebih baik digunaka walaupun sudah tergolong "kuno".
daripada menggunakn pendekatan asal asalan. selain itu, metode ini juga
masih masuk akal jika kebutuhan sudah diketahui dengan baik.
- pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. iterasi sering terjadi menyebabkan masalah baru.
- sulit bagi pelanggan untuk menentukan sama kebutuhan secara eksplisit.
- pelanggan harus sabar. karena pembuatan perangkat lunak akan dimulai
ketika tahap desain sudah selesai. sedangkan pada tahap sebelum desain
bisa memkan waktu yang lama
- kesalahan diawal tahap berakibat sangat fatal pada tahap berikutnya.
b. Model Iterasi
Merupakan model pengembangan system yang bersifat dinamis dalam
artian setiap tahapan proses pengembangan system dapat diulang jika
terdapat kekurangan atau kesalahan. Setiap tahapan pengembangan system
dapat dikerjakan berupa ringkasan dan tidak lengkap, namun pada akhir
pengembangan akan didapatkan system yang lengkap pada pengembangan
system. Terdapat dua jenis model iterasi, yaitu :
- Model Incremental, merupakan model pengembangan system yang
dipecah sehingga model pengembangannya secara increment/bertahap.
Kebutuhan pengguna diprioritaskan dan prioritas tertinggi dimasukkan
dalam awal increment. Model Incremental digambarkan sebagai berikut :
- Model Spiral, merupakan model pengembangan system yang
digambarkan berupa spiral. Model spiral ini tidak merepresentasikan
rangkaian tahapan dengan penelusuran balik (back-tracking), tidak ada
fase-fase tahapan yang tetap seperti spesifikasi atau perancangan.
Setiap untaian pada pada spiral menunjukkan fase software process. Model
Spiral ini digambarkan sebagai berikut :
c. Model Rapid Application Development (RAD)
Merupakan model pengembangan system yang melakukan beberapa
penyesuaian terhadap SDLC pada beberapa bagian sehingga lebih cepat
untuk sampai ke tangan pengguna system. metodologi ini biasanya
mensyaratkan beberapa teknik dan alat-alat khusus agar proses bisa
cepat, misalnya melakukan sesi Joint Application Development (JAD), penggunaan alat-alat Computer Aided Software Engineering (CASE Tools), kode generator dan lain-lain. Model RAD ini digambarkan sebagai berikut :
d. Model Prototyping
Merupakan model pengembangan system yang proses iterative dalam
pengembangan sistem dimana requirement diubah ke dalam sistem yang
bekerja (working system) yang secara terus menerus diperbaiki melalui
kerjasama antara user dan analis. Prototype juga bisa dibangun melalui
beberapa tool pengembangan untuk menyederhanakan proses. Prototyping
merupakan bentuk dari Rapid Application Development (RAD). Model
Prototypig digambarkan sebagai berikut :