Software Development Life Cycle

 1. Pengertian SDLC (Software Development Life  Cycle) 



    Metode SDLC (Software Development Life Cycle) merupakan proses pembuatan dan pengubahan sistem serta model dan etodologi yang digunakan untuk mengembangkan sistem rekayasa perangkat lunak. metode ini banyak jenisnya  namun disini saya akan membahas 3 jenis meteode saja,  berikut adalah beberpa jeni-jenis metodenya: 

  • Waterfall 
Metode waterfall merupakan metode kerja yang menekanfase-fase yang berurutan dan sistemeatis. disebut waterfa karena prosesnya mengalir satu arah kebawah seperti air terjun.. Metode inni harus dilakukan secara berurutan sesuai dengan tahap yang ada. 

Tahapan Metode Waterfall




1. Requirement Analysis
 Tahap ini melibatkan identifiksi dan emahaman yang mendalam terhadap kebutuhan pengguna. Tujuannya adalah mengumpulkan persyarataan fungsional dan non-fungsional yang akan menjadi dasar dari mengembangan software.

2. Design 
dari persyaratan yang telah dikumpulkan akan diimplementasikan kedalam desain perangkat  lunak yang spesifik. perancangan mencakup desain arsitektur sistem, desain user interface atau antarmuka pengguna, desain database, dan desain modul perangkat lunak. 

3. Implementation 
Tahap ini melibatkan proses implementasi atual dari software berdasarkan desain yang telah ditentukan sebelumnya. tim debveloper menggunkan bahasa pemrograman dan alat pengembahangan untuk menghasilkan software yang sesuai dengan spesifikasi desain 

4. Testing 
Software akan diuji dnegan memastikan bahw itu berfungsi sesuai dengan persyaratan yang ditentukan sebelumnya. pengujiannya meliputi pengujian fungsionalitas, kesalahan atau bug, integrasi, dan pengujian kinerja. tujuannya dalah untuk menemukan dan memperbaiki kesalahan yang mungkin ada sebelum perangkat lunak diperkenalkan kepada client. 

5.Deployment and Mintenance
Tahap pemeliharaan terjadi setelah software diluncurkan dan digunakan oleh penggunak. ini melibatkkan pemeliharaan rutin, pembaruan, dan perbaikan yang diperlukan untuk memastikan kinerja yang optimal dan kepatuhan dengan perubahan atau lingkungan yang terjadi seiring waktu.  

Berikut adalh kelebihan dari metode waterfall

1. Memiliki proses yang terurut sehingga pengerjaan dapat terjadwal degan baik dan mudah. 
2. cocok untuk sistem degan kompleksitas rendah (predictable)
3.Setiap proses yang dilakukan tidak dapat saling tumpah tindih. 

Berikut kelemahan dari metode waterfall

1. Waktu pengerjaan yang relatif lama, karena dari pengerjaannya yang terurut. 
2. Biaya yang dibutuhkan lebih mahal karea waktu pengembangan yang dibutuhka lebih lama.
3. Metode waterfall ini kurang cocok untuk pengembangan proyek yang memiliki kompleksitas tinggi. 

  • Prototype


Metode prototype merupakan sebuah metode pengembangan software yang banyak digunakan, pengembang dan pelanggan bisa saling berinteraksi selama proses pengembangan software.  Metode prototype adalah metode yang memungkinkan pengguna atau user memiliki gambaran awal tentang perangkat lunak yang aan dikembangakan, serta pengguna dapat melakukan pengujian aal sebelum perangkat lunak dirilis. 

Metode ini bertujuan untuk mengembangkan model menjadi erangkat lunka yangv final. artina  sistem akan dikembangakan lebih cepat dan biayya yang dikeluarkan relatif rendah. 

Tahap-tahap pada metode prototype 

1. Requirement Gathering and Analyst (analisis kebutuhan)
dalam tahap ini analisis system dideffinisikan dengan rinci. dalam prosesnya, client dan tim developer akan bertemu utuk mendiskusikan detail sistem seperti apa yang diinginkan user. 

2. Quick Design (Desain cepat)
Pembuatan desain yang sederhana yang akan memberi gambaran singkat tentang sistem yang ingin dibuat.

3. Build Prototyppe (bangun prototype)
Pembangunan prototype sebenarnya yang akan dijadkan rujukan tim programer untuk pembuatan progra atau aplikasi. 

4. User Evaluation (Evaluasi Pengguna Awal)
Sistem yang telah dibuat dalam bentuk prototype di presentasikan pada client untuk di evaluasi. Selanjutnya, client akan memberikan komentar dan saran terhadap apa yang telah dibuat. 

5. Refining Prrototype (Memperbaiki Prototype)
Jika cclient tidak memiliki revisi maka bisa lanjut pada tahap selanjutnya. namun jika ada revisi maka fase 4-5 akan terus berulang sampai client setuju  dan tidak ada revisi lagi. 

6. Implemet Product and Mintain (Implementasi dan Pemeliharaan)
Produk akan segera dibuat oelh programmer berdasarkan prototyp akhir, selanjutnya sistem akan diuji dan diserahkan pada client, selanjutnya, adalah fase pemeliharaan agar sistem berjalan lancar tanpa kendala. 

Kelebihan  : 

1. Mempersingkat waktu ppengembnagn perangkat lunak.
2. Penerapan fitur menjadi lebih mudah,karena pengembang mengetahui apa yang dharapkan. 


Kekurangan

1. Proses yang dilakukan untuk analisis dan perancangan terlalu singkat.
2. Kurang fleksibel jika terjadi perubahan. 

  • Agile 


Agile software development merupakan metode pengembangan perangkat lunak yang didasarkan pada pengerjaannya yang berulang, dimana aturan dan solusi yang sudah disepakati oleh setiap anggota tim dilakukan dnegan kolabaras secara terstruktur dan terorganisir. 

Tujuan : 

1. High-value & working app system 
Untuk menghasilkan produk dengan kualitas baik dan memiliki niali jual yang tinggi. 

2. Iterative, incremental, evolutionary
model ini dilakukan secara iteratif, berulang-ulang, dan dapat mengalami perubahan jika diperlukan. Metode ini cukup flexible dan dapat digunakan untuk pengemmbangan yang memiliki waktu relatif singkat. 

3. Cost control & alue- driven development 
Pengembangan perangkat lunak dapat disesuaikan dengan kebutuhan pengguna. Setelah itu tim developer dapat mengatur waktu dan biaya yang dibutuhkan untuk mengembangkan perangkat lunak sesuai dengan kebutuhan. 

4. High-quality production 
Tahap menjaga kualitas dari perangkat yang dibbuat walaupun dengan baiaya dan waktu yang terbatas

5. Flexible  risk management 
Dapat  meminimalisir terjadinya kesalahan pada program atau product sebelum dilakukan deploy.

6.Collaboration 
Kolaborasi disini dilakukan oleh setiap tim untuk mendiskusikan dan membicarakan feedback yang diberikan oleh klien.

7.Self-organixing and self-managing teams 
Tujuan akhir developer dipersilahkan untuk memanajemen sendiri urusan pengembangan perangkat lunak. sementara itu menager sendiri bertugas sebagai penghubung antara pengembang dan klien sehingga dapat mengurangi terjadinya miss communication. 

  • Kelebihan : 

1. Waktu pengebangan yang cepat dan tidak membutuhkan sumber daya yang teralu banyak.
2. dapat merespon perubahan dengan cepat dan sesuai dengan kebituhan dari klien
3. klien dapat ikut berpartisipasi dalam pengembangan perangkat lunak dengan cara memberikan feedback keada tim pengembang selama prosess pembuatan perangka lunak. 


kekurangan : 

1. metode ini tidak sesuai dengan tim yang memiliki komitmen untuk menyelesaikan proyek secara bersama-sama
2. kurang sesuai dengan ti yang meiliki anggota yang banyak.
4. setia anggota tim harus siap dengan peruahan yang dpaat terjadi sewaktu-waktu








 


Komentar

Postingan Populer