METODE SDLC DALAM PENGEMBANGAN SOFTWERE
Nama : Ulan Juniarti
NIM : 210112006
Prodi : Sistem Informasi
Pengertian SDLC
SDLC adalah sebuah proses yang sistematis untuk membuat dan mengembangkan software. SDLC mengutamakan ketelitian dan kualitas dari software yang kita bangun.
Tujuan SDLC adalah untuk memproduksi software berkualitas tinggi yang dapat memenuhi kebutuhan customer. SDLC merupakan singkatan dari Software Development Life Cycle. Metode ini sudah banyak digunakan untuk membantu para developer dalam mengembangkan produk mereka.
Metode SDLC
1. Waterfall
Metode waterfall adalah metode kerja yang menekankan fase-fase yang berurutan dan sistematis. Disebut waterfall karena proses mengalir satu arah “ke bawah” seperti air terjun. Metode waterfall ini harus dilakukan secara berurutan sesuai dengan tahap yang ada. Berikut adalah tahap-tahap pengembangan perangkat lunak menggunakan metode waterfall.
·
Requirement Gethering and Analysis
Dalam tahap
ini, para developer mencari tahu dan mengumpulkan berbagai kebutuhan terkait
pengembangan software. Hal ini bertujuan agar software yang Anda bangun bisa
sesuai dengan ekspektasi dan kebutuhan pengguna. Riset ini dapat Anda peroleh
melalui wawancara, survey, atau diskusi.
·
Design
Para
pengembang software mulai membangun rancangan desain software sebelum mulai
membuat kode. Desain ini biasanya menggunakan Flowchart, Mind Map, atau Entity
Relationship Diagram (ERD). Desain ini berguna untuk memudahkan developer
ketika proses development dimulai.
·
Implementation/Development
Pada
tahapan ini, desain yang sebelumnya telah Anda bangun kemudian mulai diubah
jadi kode-kode program yang membentuk software. Anda akan menghasilkan kode
yang berbentuk modul-modul yang harus Anda gabung di tahap kerja sebelumnya.
·
Integration & Testing
Tahapan
selanjutnya dari metode SDLC adalah testing. Langkah ini Anda lakukan setelah
proses development selesai, dengan menyatukan modul-modul tersebut dan
mengintegrasikannya satu sama lain. Setelah itu, Anda dapat melakukan mengujian
yang bertujuan untuk memeriksa apakah software Anda telah sesuai dengan desain
dan fungsi awalnya, atau belum. Tahap testing sangat penting karena Anda harus
memastikan software berjalan dengan baik sebelum membiarkan customer
memakainya. Anda tentu tidak ingin mengecewakan customer dengan software yang
memiliki banyak kendala dalam pengoperasiannya, bukan?
·
Verification
Pada
langkah ini, customer atau klien akan langsung menggunakan software Anda
sebagai bentuk uji coba. Mereka akan memastikan apakah sistem yang Anda bangun
sudah sesuai dengan kebutuhan atau belum.
·
Operation & Maintenance
Maintenance
adalah tahap akhir dari metode waterfall. Pada tahapan ini, software Anda sudah
selesai dan sudah mulai digunakan oleh user. Namun, software yang sudah
berjalan pun tetap butuh pemeliharaan secara rutin. Pemeliharaan atau
maintenance ini bertujuan untuk meningkatkan sistem keamanan software, menambah
fitur-fitur dan meningkatkan versi, serta memperbaiki kesalahan yang luput Anda
temukan pada tahap sebelumnya.
Kelebihan Waterfall
1. Memiliki proses yang terurut, sehingga pengerjaan dapat terjadwal dengan baik dan mudah.
2. Cocok untuk sistem dengan kompleksitas rendah (predictable).
3. Setiap proses yang dilakukan tidak dapat saling tumpah tindih.
Kekurangan Waterfall
1. Waktu pengerjaan relatif lebih lama, karena harus menunggu tahap sebelumnya selesai.
2. Biaya yang dibutuhkan lebih mahal karena waktu pengembangan yang dibutuhkan lebih lama.
3. Model waterfall ini kurang cocok untuk pengembangan proyek yang memiliki kompleksitas tinggi.
2. Prototype
Metode prototype
adalah metode yang memungkinkan pengguna (user) memiliki
gambaran awal tentang perangkat lunak yang akan dikembangkan, serta pengguna
dapat melakukan pengujian di awal sebelum perangkat lunak dirilis.
Metode ini
bertujuan untuk mengembangkan model menjadi perangkat lunak yang final. Artinya
sistem akan dikembangkan lebih cepat dan biaya yang dikeluarkan lebih rendah.
Metode prototype ini memiliki tahap-tahap yang harus dilakukan dalam
pengembangan perangkat lunak. Berikut adalah tahap-tahap
pengembangan perangkat lunak menggunakan metode prototype.
· Analisa
kebutuhan
Pada tahap ini pengembang melakukan
identifikasi perangkat lunak dan semua kebutuhan sistem yang akan dibuat.
· Membuat
prototype
Membuat rancangan sementara yang
berfokus pada alur program kepada pengguna.
· Evaluasi
prototype
Evaluasi dilakukan untuk mengetahui
apakah model prototype sudah sesuai dengan harapan.
· Mengkodekan
sistem
Jika prototype disetujui maka akan
diterjemahkan ke dalam bahasa pemrograman yang sesuai.
· Pengujian
sistem
Setelah perangkat lunak sudah siap,
perangkat lunak harus melewati pengujian. Pengujian ini biasanya dilakukan
dengan White Box Testing, Black Box Testing, dan lain-lain.
· Evaluasi
sistem
Pengguna melakukan evaluasi apakah
perangkat lunak sudah sesuai dengan apa yang diharapkan atau tidak. Jika ya,
lakukan tahap selanjutnya. Jika tidak, ulangi tahap mengkodekan sistem dan
pengujian sistem.
· Menggunakan
sistem
Perangkat
lunak yang telah diuji dan disetujui siap untuk digunakan.
Kelebihan metode prototype
1. Mempersingkat waktu pengembangan perangkat lunak.
2. Penerapan fitur menjadi lebih mudah, karena pengembang mengetahui apa yang diharapkan.
Kekurangan metode prototype
1. Proses yang dilakukan untuk analisis dan perancangan terlalu singkat.
2. Sulit melakukan perubahan di tengah-tengah proses kerja jika sewaktu-waktu ada perubahan.
3. Agile
Agile merupakan sebuah metode fleksibel yang memungkinkan developer untuk membuat software dalam jangka waktu yang lebih singkat. Namun diperlukan adaptasi yang cepat dari developer terhadap perubahan dalam bentuk apa pun.
Tujuan Agile
·
High
– value & working app system
Menghasilkan produk dengan kualitas
yang baik, dan memiliki nilai jual yang tinggi.
·
Iterative,
incremental, evolutionary
Pengembangan dapat dilakukan secara
iteratif, berulang-ulang, dan dapat mengalami perubahan jika diperlukan.
·
Cost
control & value – driven development
Pengembangan perangkat lunak dapat
sesuai dengan kebutuhan pengguna dan tim dapat dengan cepat merespon kebutuhan,
sehingga waktu dan biaya pembuatan dari perangkat lunak dapat dikendalikan.
·
High
– quality production
Kualitas dari perangkat lunak tetap
terjaga, meskipun waktu dan biaya lebih sedikit.
·
Flexible
& risk management
Meminimalisir terjadinya kesalahan
pada program ataupun produk sebelum dilakukannya proses deploy aplikasi.
·
Collaboration
Kolaborasi ini dilakukan oleh setiap
tim pengembang untuk mendiskusikan feedback yang diberikan
oleh klien.
·
Self
– organizing, self – managing teams
Pengembang diberikan akses untuk memanajemen
sendiri urusan software development. Seorang manajer hanya bertugas sebagai
penghubung antara pengembang dengan klien sehingga dapat mengurangi
terjadinya miss communication.
Kelebihan metode aigle
1. Perubahan dapat dengan cepat ditangani.
2. Proses pengembangan perangkat lunak membutuhkan waktu yang relatif cepat dan tidak memerlukan sumber daya yang besar.
3. Klien dapat memberikan feedback kepada pengembang dalam proses dalam pembuatan program.
Kekurangan metode aigle
1. Metode ini kurang sesuai dengan tim yang besar (lebih dari 20 orang).
2. Tim harus selalu siap, karena perubahan dapat terjadi kapan saja.
3. Metode ini kurang cocok untuk tim yang berkomitmen untuk menyelesaikan proyek bersama-sama.
4. Fountain
·
User requirement
specification
Mencari tahu apa saja yang dibutuhkan oleh pengguna
dalam perangkat lunak yang sedang dikembangkan.
·
Software
requirement specification
Penyesuaian perangkat lunak dari sisi pengguna.
·
System design
Pembuatan desain sistem yang akan dibuat sebelum
diimplementasikan.
·
Program design
Pembuatan desain yang lebih sempurna dan hampir
mendekati hasil akhir dari perangkat lunak.
·
Implementation
Di tahap ini dilakukan implementasi sesuai dengan
desain yang sudah dibuat di tahap sebelumnya.
·
Program testing:
unit
Dalam tahap ini dilakukan uji coba terhadap
unit-unit yang dibutuhkan dalam perangkat lunak yang dikembangkan.
·
Program testing:
system
Di
tahap ini dilakukan uji coba terhadap sistem dari perangkat lunak seutuhnya
sebelum perangkat lunak digunakan.
·
Program use
Dalam tahap ini dilakukan pengajaran kepada
pengguna untuk menggunakan perangkat lunak yang telah dibuat.
·
Software
maintenance
Biasanya
dalam tahap ini dilakukan perawatan terhadap perangkat lunak yang sudah dibuat,
perawatan dapat berupa update sistem atau perbaikan kesalahan atau bugs yang
ada.
Kelebihan metode fountain
1. Memiliki proses yang terurut, sehingga
pengerjaan dapat terjadwal dengan baik dan mudah.
2. Cocok untuk sistem dengan kompleksitas
rendah (predictable).
3. Dapat
melewati atau mendahulukan beberapa tahapan.
4. Setiap proses yang dilakukan tidak dapat saling
tumpah tindih.
Kekurangan metode fountain
1. Waktu pengerjaan relatif lebih
lama, karena harus menunggu tahap sebelumnya selesai.
2. Biaya yang dibutuhkan lebih mahal
karena waktu pengembangan yang dibutuhkan lebih lama.
3. Model fountain ini kurang cocok
untuk pengembangan proyek yang memiliki kompleksitas tinggi.
Komentar
Posting Komentar