Pada awal pengembangan software atau perangkat lunak, biasanya programmer
langsung melakukan kegiatan utamanya yakni pengkodean software dengan
menggunakan prosedur atau pengembangan software. Tentunya dalam pembuatan
software tersebut, seorang programmer akan menemukan kendala-kendala yang
seiring dengan perkembangan lingkup system yang semakin meluas. Oleh karena itu
dibutuhkan proses dalam pengembangan software dengan model dan metodologi yang
disebut dengan SDLC (Software Development Life Cycle / System Development Life
Cycle.
A. Tahapan SDLC
Seperti halnya proses metamorphosis pada
kupu-kupu yang indah, maka dibutuhkan beberapa tahapan yang harus dapat dilalui
agar menghasilkan software yang berkualitas sehingga user atau client merasa
puas.
Saya bahas tahapan-tahapan yang ada pada
SDLC secara umum sebagai berikut :
1. Inisialisasi (Initiation)
Tahap ini biasanya ditandai dengan pembuatan
proposal proyek perangkat lunak /software yang akan dibuat.
2. Pengembangan Konsep Sistem (System Concept
Development)
Tahap ini adalah pendefinisian lingkup
konsep termasuk dokumen lingkup system analisis manfaat biaya, manajemen
rencana, dan pembelajaran kemudahan system.
3. Perencangan (Planning)
Perlunya mengembangkan rencana manajemen proyek dan dokumen dasar untuk
mendapatkan sumber daya yang dibutuhkan adalah cara terbaik dalam memperoleh
solusi.
4. Analisis Kebutuhan (Requirement Analysis)
Tahap ini
merupakan tahapan yang harus benar-benar dipahami seorang System Analyst,
dimana ia harus memahami kebutuhan pemakai system / user (membuat dokumen
kebutuhan fungsional) dan bagaimana perkembangan selanjutnya.
5. Desain (Design)
Desain di sini bukan
bagaimana cara memberikan tampilan yang professional untuk user, namun
bagaimana cara seorang System Analyst dapat mentransfromasikan kebutuhan detail
menjadi kebutuhan yang sudah lengkap dan fokus dalam memenuhi fungsi-fungsi
yang dibutuhkan.
6. Pengembangan (Development)
Berikut ini rincian dari tahapan
pengembangan dalam SDLC :
a. Mengonversi desain ke SI yang dilengkapi
dengan penerapannya di lingkungan system yang dibutuhkan.
b. Membuat basis data dan mempersiapkan
prosedur kasus pengujian.
c. Memperbaiki dan membersihkan program.
d. Peninjauan dari pengujian sebelumnya.
7. Integrasi dan Pengujian (Integration and
Test)
Mendemonstrasikan system perangkat lunak bahwa telah memenuhi kebutuhan yang
dispesifikasikan pada dokumen kebutuhan fungsional sehingga dapat
dihasilkan sebuah laporan analisis pengujian.
8. Implementasi (Implementation)
Menerapkan
perangkat lunak pada lingkungan user dan menjalankan resolusi dari permasalahan
yang telah teridentifikasi dari fase integrasi dan pengujian.
9. Operasi dan Pemeliharaan (Operation and
Maintenance)
Pada tahap ini
dijelaskan deskripsi pekerjaan untuk mengoperasikan dan memelihara SI pada
lingkungan user, termasuk proses peninjauan.
10. Disposisi (Disposition)
Mendeskripsikan aktfitas akhir dari
pengembangan system dan membangun data yang sesuai aktifitas user yang
sebenarnya.
Ada beberapa model SDLC yang dapat digunakan, namun
semuanya memiliki kelemahan dan kelebihan pada setiap modelnya. Hal terpenting
adalah mengenali tipe pelanggan (customer) dan memilih menggunakan model SDLC
yang sesuai dengan karakter pelanggan dan sesuai dengan karakter pengembang.
Selanjutnya akan saya membahas beberapa model SDLC yang biasa digunakan.
B. Model-model SDLC
B.1. Model Waterfall
Model SDLC waterfall (air terjun) atau yang sering juga disebut model sekuensial linier atau alur hidup klasik. Model waterfall menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support) atau pemeliharaan (maintenance).
Tahapan dalam model Waterfall :
a. Analisis Kebutuhan Perangkat Lunak
Pengumpulan kebutuhan dilakukan secara intensif dilakukan untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan user.
b. Desain
Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya.
c. Pengodean
Tahap ini adalah pekerjaan yang dilakukan pemrogram atau programmer dengan hasil berupa program computer yang sebelumnya telah dibuat pada tahap desain.
d. Pengujian
Tahap ini memastikan bahwa semua bagian sudah diuji dan meminimalisir kesalahan dan memastikan output yang dihasilkan sesuai dengan yang diinginkan.
e. Pendukung atau Pemeliharaan
Tahap ini dapat mengulangi proses tahapan sebelumnya (analisis, desain, pengkodean, pengujian) karena tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan. Namun tidak dimaksudkan untuk membuat perangkat lunak yang baru.
B.2. Model Prototype
Model prototype dapat digunakan untuk menyambungkan ketidakpahaman
pelanggan mengenai hal teknis dan memperjelas spesifikasi kebutuhan diinginkan
pelanggan kepada pengembang perangkat lunak.
Sering
sekali pelanggan (customer) membayangkan sekumpulan kebutuhan yang
diinginkan tapi tidak terspesifikasikan secara detail dari segi input, proses,
atau output. Oleh karena itu, dengan model prototype ini semua kebutuhan
pelanggan dapat dipenuhi.
Tahapan dalam model Prototype :
a. Mendengarkan
pelanggan
Pada awalnya seorang analis mendengarkan
apa yang dibutuhkan pelanggannya, semua kebutuhan yang diutarakan pelanggan
selanjutnya diterjemahkan analis kepada pemrogram.
b. Membangun
/memperbaiki Mock-Up
Sebuah mock-up disebut sebagai prototype
perangkat lunak jika menyediakan atau mampu mendemonstrasikan sebagian besar
fungsi system perangkat lunak dan memungkinkan pengujian desain system
perangkat lunak.
c. Pelanggan
melihat / menguji Mock-Up
Setelah Mock-Up terbentuk, maka pelanggan
pun berhak melihat serta menguji Mock-Up. Jika Mock-Up dirasa kurang mampu
memenuhi kebutuhan pelanggan, maka proses selanjutnya yaitu kembali ke tahapan
pertama yakni mendengarkan pelanggan.
B.3. Model Rapid Application
Development (RAD)
Model RAD ini bisa dibilang
merupakan adaptasi dari model air terjun versi kecepatan tinggi untuk
pengembangan setiap komponen perangkat lunak. Konsep yang dapat diambil dari
model ini yaitu jika kebutuhan perangkat lunak dipahami dengan baik dan lingkup
perangkat lunak dibatasi dengan baik maka tim dapat menyelesaikan pembuatan
perangkat lunak dengan waktu yang pendek, dengan membagi tim pengembang menjadi
beberapa tim untuk mengerjakan beberapa komponen yang dilakukan secara
parallel.
a. Pemodelan Bisnis
Pemodelan yang dilakukan untuk memodelkan
fungsi bisnis untuk mengetahui informasi apa yang terkait proses bisnis,
informasi apa saja yang harus dibuat, siapa yang membuat dan bagaimana alur
informasi itu.
b. Pemodelan Data
Memodelkan data apa saja yang dibutuhkan
berdasarkan pemodelan bisnis dan mendefinisikan atribut-atributnya beserta
relasinya dengan data-data yang lain.
c. Pemodelan Proses
Mengimplementasikan fungsi bisnis yang
sudah didefinisikan terkait dengan pendefinisian data.
d. Pembuatan Aplikasi
Mengimplemnetasikan pemodelan proses dan
data menjadi program. Model RAD sangat menganjurkan komponen yang sudah ada
jika dimungkinkan.
e. Pengujian dan
Pergantian
Menguji komponen-komponen yang dibuat.
Jika sudah teruji maka tim pengembang komponen berikutnya.
B.4. Model Spiral
Model ini mengadaptasi 2 model perangkat
lunak yang ada yaitu model prototyping dengan pengulangannya dan model
waterfall dengan pengendalian dan sistematikanya. Model ini dikenal dengan
sebutan Spiral Boehm. Pengembang dalam model ini memadukan
beberapa model umum tersebut untuk menghasilkan produk khusus atau untuk
menjawab persoalan-persoalan tertentu selama proses pengerjaan proyek.
Tahap-tahap model
ini dapat dijelaskan secara ringkas sebagai berikut :
a. Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan
calon pengguna/pemakai.
b. Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber
informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
c. Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang
menjadi resiko baik teknis maupun manajemen.
d. Tahap Rekayasa (engineering):pembuatan prototipe.
e. Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan
pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan
sokongan-sokongan tambahan untuk keberhasilan proyek.
f. Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan masukan
berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
Dari beberapa model SDLC yang telah saya jelaskan di
atas, model Spiral yang bisa memberikan jaminan kualitas yang paling baik untuk
aplikasi berskala besar. Penerapan model spiral cocok digunakan untuk suatu
proyek dengan target waktu dan biaya yang tidak terlalu ketat. Setiap perubahan
spesifikasi pasti beresiko pada molornya waktu pengerjaan dan membengkaknya
biaya proyek. Namun sekali lagi, kembali pada jenis dan ruang lingkup proyek
yang akan dibuat oleh pengembang tentunya memenuhi kebutuhan customer.
Sekian
postingan saya mengenai SDLC, jikalau ada waktu luang lagi saya akan
mengembangkan tulisan saya kembali. Terima kasih telah berkunjung di blog saya.
Comments
Post a Comment