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 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
Posting Komentar