Apa itu SDLC ?
(Systems
Development Life Cycle ) merupakan siklus hidup pengembangan system. Dalam
rekayasa system dan rekayasa perangkat lunak, SDLC berupa proses dalam pembuatan
dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan
sistem tersebut.
Dalam
rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi
pengembangan perangkat lunak. Metodologi ini membentuk suatu kerangka kerja
untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses yang
di pengembangan oleh perangkat lunak.
Pengembangan
SDLC adalah proses yang digunakan oleh analis system untuk mengembangkan di sistem
informasi, termasuk persyaratan, validasi, pelatihan, dan pengguna
(stakeholder) kepemilikan. Setiap SDLC harus menghasilkan berkualitas tinggi yang memenuhi atau
melampaui harapan pelanggan, mencapai penyelesaian dalam waktu dan perkiraan
dalam biaya, bekerja secara efektif dan
efisien di saat ini dan direncanakanTeknologi Informasi infrastruktur dan mudah untuk mempertahankan dan biaya
efektif.
Fungsi SDLC ?
Untuk
menggambarkan tahapan-tahapan utama dan langkah-langkah dari tahapan yang
secara garis besar terbagi dalam fase fase utama dalam SDLC, yaitu :
Perencanaan
: Mengapa Digembangkan Sistem?
Analisis
: Siapa, apa, kapan dan dimana sistem
diterapkan?
Perancangan
: Bagaimana kerja sistem?
Implementasi
: Bagaimana Sistem Memasang/diinstall?
Ø Perencanaan
:
·
Mengidentifikasikan Nilai Bisnis
· Analisis
Kelayakan
· Membuat
Rencana Kerja
· Merancang Staff
· Mengontrol
dan Mengarahkan Projek
Ø Analisis :
· Analisis
masalah
· Mencari
informasi yang tergantung dengan sistem
· Menentukan
model proses
· Menentukan
model data
Ø
Perancangan :
· Perancangan
Proses secara Fisik
· Merancangan
Arsitektur Sistem
· Perancangan
Interface
· Perancangan
Basis Data dan Berkas
· Perancangan
Program
Ø
Implementasi:
·
Construction
· Instalation
Setiap
kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil
kegiatannya (deliverable). Apabila kegiatan utama tersebut dijabarkan ke dalam
langkah-langkah yang lebih rinci dapat dilihat gambarkan seperti berikut :
+---------------------------------------------------------------------+
: ANALYSIS :
DESIGN : IMPLEMENTATION :
+---------------------------------------------------------------------
: :
+---------------+ : :
+-->:
Problem : : :
|
: Detection :
: :
|
+---------------+
+-----------+
+-----------+
+---------> | | : | | : |
|
+---------------+ | :
+---------------+ | : +---------------+
|
: Initial : |
: : Output : |
: : Programming / :
| :
Investigation : | : : : | : :
test :
|
+---------------+ | :
+---------------+ | : +---------------+
+---------> | | : | | : |
|
+---------------+ | :
+---------------+ | : +---------------+
|
: Requirements : | : :
Input : | : :
Training / :
|
: Analysis : | :
: : | : :
Other :
|
+---------------+ | :
+---------------+ | : +---------------+
+---------> | | : | | : |
+---------------+ | : +---------------+ | : +---------------+
: Generation of : | : :
Files :--+ : : System
:
: Alternatives : | :
: : : :
Change Over :
+---------------+ | : +---------------+ : +---------------+
| | : :
+---------------+ | : :
: Selection of :--+ : :
: Proper System : : :
+---------------+ : :
System Development
Methodology adalah rangkaian langkah
untuk mengimplementasikan SLDC itu sendiri. Dalam dunia rekayasa perangkat
lunak terdapat empat buah metodologi dalam penerapan SLDC, yakni :
Waterfall Development Methodology
Parallel Development Methodology
Rapid Application Development
Agile Development: Extreme Programming
Metodologi
tersebut tidak ada yang paling bagus. Semua Metodologi mempunyai kelebihan dan
kekurangan. Tergantung suatu kelompok pengembang perangkat lunak menggunakan
metode apa yang paling mencocok dengan kondisi lingkungan pengembangan
perangkat lunak tersebut.
Waterfall Development Methodology
Waterfall
Development Methodology merupakan suatu cara berkembang software yang fase –
fasenya berurutan. Sebuah fase tidak bisa dikerjakan sebelum fase sebelumnya
yang telah selesai dikerjakan.
Kelebihan
dari Waterfall Development Methodology adalah :
Proses
pengidentifikasian sistem memerlukan waktu yang sangat lama sebelum fase
programming dimulai
Meminimalisasi
pengubahan sistem pada saat memproses pengembangan perangkat lunak
Kekurangan
dari Waterfall Development Methodology adalah :
Fase
perencanaan / design harus dilakukan pada oleh paper yang khusus sebelum fase
programming dimulai
Terjadi
selisih waktu yang cukup lama diantara pengajuan sistem dan pembaharuan sistem
Parallel Development Methodology
Parallel
Development Methodology merupakan suatu cara pada SDLC yang melakukanpada fase
design dan implementation secara paralel.
Kelebihan
dari Parallel Development Methodology adalah :
1.
Meminimalisasi waktu penjadwalan
2.
Meminimalisasi kesempatan untuk dikerjakan dari awal
Kekurangan
dari Parallel Development Methodology adalah :
1. Masih
menggunakan dokument di kertas
2. Menggabungkan
subproyek yang memerlukan suatu keahlian khusus. Biasanya banyak terjadi
kegagalan pada saat proses penggabungannya
Rapid Application Development
Rapid
Application Development merupakan suatu cara penerapan SDLC dengan membuat
suatu software prototype terlebih dahulu dan kemudian dipresentasikan ke
costumer. Jika costumer menyetujuinya, maka software akan dikembangkan lebih
lanjut.
Kelebihan
Rapid Application Development adalah :
1. Pengguna
dapat memperoleh / menggunakan sistem lebih awal
2. Pengguna
dapat merencanakan beberpa tambahan untuk versi setelahnya
Kekurangan
Rapid Application Development adalah :
1. Pengguna
bekerja dengan sistem yang sebenarnya belum selesai secara keseluruhan
Agile Development: Extreme Programming
Agile Development:
Extreme Programming merupakan suatu pengerjaan perangkat lunak secara cepat.
Metode ini sangat cocok untuk proyek perangkat lunak yang membutuhkan waktu
lebih instan dalam pengembangannya.
Kelebihan
dari Agile Development: Extreme Programming adalah :
1. Hasil bisa
didapat dalam waktu yang sangat cepat
2. Bekerja
lebih baik dalam projek dengan tidak ada perubahan yang tak tentu
Kekurangan
dari Agile Development Extreme Programming adalah :
1.
Membutuhkan kedisiplinan tinggi
2. Tepat
hanya jika dilakukan di projek kecil
3.
Membutuhkan lebih terbanyak inputan dari pengguna
Untuk
menentukan metode mana yang lebih cocok diterapkan dalam pengembangan proyek dalam
perangkat lunak, maka harus memperhatikan hal berikut :
Clear user
requirements
Familiarity
with technology
Complexity of
system
Reliability
of system
Time schedule
Schedule
visibility
ok
BalasHapus