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.

Metode SDLC 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

Metode fountain adalah perbaikan dari metode waterfall, di mana jenis tahapan masih sama. Namun beberapa jenis tahapan boleh didahulukan atau dilewati, tetapi ada tahapan yang tidak bisa dilewati, contohnya seperti kamu memerlukan design sebelum melakukan implementasi, jika hal tersebut dilewati maka akan ada tumpang tindih. Berikut adalah tahap-tahap pengembangan perangkat lunak menggunakan metode 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

Postingan populer dari blog ini

TUGAS STATISTIK : KOEFISIEN KORELASI