SDLC
SDLC
(Software Development Life Cycle)
1. Apa Yang Dimaksud Dengan SDLC?
Software Development Life Cycle atau yang biasa disingkat dengan SDLC adalah sebuah kerangka kerja atau proses yang melibatkan pembuatan dan pengubahan sistem serta model dan metodologi yang tentunya hemat biaya dan hemat waktu yang digunakan oleh tim pengembangan atau tim development untuk merancang,mendesain,membangun,mengembangkan,menguji serta memelihara sistem rekayasa perangkat lunak yang berkualitas tinggi. Jadi SDLC ini membantu menghubungkan antara ide dan struktur yang berkualitas tinggi dalam waktu yang cukup singkat,secara umumnya begini deh. SDLC membicarakan tentang menguraikan serangkaian langkah yang membagi proses pengembangan software atau perangkat lunak menjadi tahapan yang sesuai dengan kepentingannya atau yang dibutuhkan oleh client.
Jadi,bayangkan saja apabila tidak ada SDLC ini,maka tim development mungkin akan kesulitan untuk mengembangkan,menguji,dan memelihara software aplikasi yang dibuat dengan kualitas yang tinggi. Karena SDLC memang berfungsi untuk membantu memastikan bahwa proses pengembangan perangkat lunak berjalan secara sistematis dan terorganisir, serta menghasilkan produk yang sesuai dengan kebutuhan pengguna.
Oleh karena itulah,SDLC sudah banyak digunakan oleh tim development untuk membangun dan mengembangkan aplikasi atau software yang mereka buat dan telah diikuti oleh organisasi yang berbeda dalam pengembangan dan perancangan aplikasi software yang berkualitas tinggi. Sehingga,tujuan dari adanya SDLC ini adalah untuk membantu menghasilkan dan mengelola proses utama dari proses pengembangan perangkat lunak yang nantinya akan menjadi hasil akhir yang berkualitas tinggi dengan mengikuti serangkaian tahapan yang begitu terstruktur,adapun tujuan lain dari adanya SDLC ini adalah untuk meminimalkan resiko proyek melalui perencanaan ke depan agar perangkat lunak memenuhi harapan pelanggan selama produksi dan seterusnya.
Jadi penggunaan dari SDLC ini penting karena pengembangan perangkat lunak dapat menjadi tantangan untuk dikelola karena persyaratan yang berubah, peningkatan teknologi, dan kolaborasi lintas fungsi. Metodologi siklus hidup pengembangan perangkat lunak (SDLC) memberikan kerangka kerja manajemen yang sistematik dengan kiriman yang spesifik pada setiap tahap proses pengembangan perangkat lunak. Hasilnya, semua pemangku kepentingan setuju pada tujuan pengembangan perangkat lunak dan persyaratan awal serta memiliki rencana untuk mencapai tujuan tersebut.
2. Cara Kerja dari SDLC
Seperti yang sudah dijelaskan sebelumnya. SDLC merupakan sebuah kerangka kerja atau proses yang melibatkan pembuatan dan pengembangan serta pemeliharan yang dilakukan oleh tim developer untuk membuat suatu software aplikasi. Oleh karena itu SDLC memiliki fase-fase atau cara kerja dalam menggambarkan tahapan yang dilalui dalam pengembangan perangkat lunak, dari perencanaan hingga pemeliharaan. Berikut adalah penjelasan dari setiap fase dalam SDLC :
1). Perencanaan (Planning)
Tahap perencanaan merupakan tahapan paling penting dan krusial dari semua proses. Perencanaan dapat menetapkan kesuksesan atau kegagalan dari sebuah proyek. Jika sebuah proyek tidak berjalan sesuai rencana, maka ada kemungkinan untuk gagal dalam pembangunannya,oleh karena itu,fase perencanaan biasanya mencakup tugas-tugas seperti analisis biaya-manfaat, penjadwalan, estimasi sumber daya, dan alokasi,menyusun anggaran dan jadwal proyek,menentukan sumber daya yang diperlukan,dan menyusun rencana resiko dan srategi mitigasinya. Di fase ini,tim pengembangan mengumpulkan persyaratan dari beberapa pemangku kepentingan seperti pelanggan, ahli internal dan eksternal, serta manajer untuk membuat dokumen spesifikasi persyaratan perangkat lunak
2). Analisis Kebutuhan (Analyst)
Lalu langkah selanjutnya adalah menganalisis kebutuhan. Di fase ini,tim mengumpulkan dan menganalisis kebutuhan pengguna untuk perangkat lunak,sehingga dokumen spesifikasi kebutuhan sistem yang jelas dan disetujui oleh semua pemangku kepentingan.
3). Desain/perencanaan (Designing)
Pada fase desain, teknisi perangkat lunak menganalisis persyaratan dan mengidentifikasi solusi terbaik untuk membuat perangkat lunak. Misalnya, teknisi mungkin mempertimbangkan untuk mengintegrasikan modul yang sudah ada sebelumnya, membuat pilihan teknologi, dan mengidentifikasi alat pengembangan. Teknisi akan melihat cara terbaik untuk mengintegrasikan perangkat lunak baru ke dalam infrastruktur IT yang sudah ada yang mungkin dimiliki organisasi. Di fase ini,tim dan teknisi juga merancang arsitektur dan struktur perangkat lunak berdasarkan kebutuhan yang telah dianalisis.
4). Penerapan/Pengembangan/Coding (Development/Coding)
Dalam fase ini, pengembang mulai menuliskan kode. Tugas-tugas telah dibagi ke unit-unit. Modul telah ditugaskan kepada berbagai pengembang untuk dibuat kodenya. Pengembang harus mengikuti aturan dan ketentuan dalam coding yang tepat. Pengembang juga butuh menggunakan tools programming seperti compiler, interpreter, dan debugger untuk men-generate dan implementasi kode. Fase ini merupakan fase terpanjang dalam SDLC karena membangun perangkat lunak sesuai dengan desain yang telah disepakati,yang nantinya perangkat lunak sudah dapat dioperasikan,namun belum sepenuhnya diuji. Sehingga masuk ke dalam tahapan berikutnya.
5). Pengujian Perangkat Lunak (Testing)
Tujuan dari fase pengujian ini tentunya adalah Memastikan bahwa perangkat lunak berfungsi dengan baik, bebas dari bug, dan memenuhi kebutuhan pengguna,jadi sebelum produk dapat siap untuk disebarkan, produk butuh dilakukan testing dalam lingkungan oleh test engineer untuk mengecek apakah terdapat bug dan error. Fungsionalitas dari produk juga di cek dalam fase ini apakah berfungsi sesuai dengan kebutuhan atau tidak. Bugs dan error yang ditemukan dapat dilaporkan kepada pengembang yang akan memperbaiki dan mengubah untuk dilakukan testing Kembali. Proses ini dinamakan proses iterative yang berkelanjutan sampai aplikasi terbebas dari bugs dan kecacatan serta bekerja dengan stabil.
6). Implementasi atau Penyebaran (Implementation/Deployment)
Tahap selanjutnya adalah menyebarkan perangkat lunak yang terjadi hanya setelah proses coding dan uji coba selesai. Di tahap ini, software yang telah bebas dari bug, berfungsi dengan benar dan aman akhirnya dapat di rilis atau launching untuk siap digunakan oleh semua orang/pengguna akhir.
7). Pemeliharaan (Maintenance)
SDLC tidak terhenti sampai dengan implementasi dan penyebaran. Namun dilanjutkan dengan monitoring untuk error dan beberapa peningkatan. Dalam tahap ini, ada kegiatan tradisi yang menganalisa apakah software bekerja dengan baik atau masih butuh tambahan baru. Sehingga tujuan dari proses atau fase pemeliharaan ini adalah memelihara perangkat lunak agar tetap berfungsi dengan baik dan diperbarui sesuai dengan kebutuhan pengguna.
2. Macam Macam Metode dari SDLC
Metode SDLC ini sebenarnya memiliki banyak jenisnya,tapi disini saya akan menyebutkan 4 macam metode dari SDLC ini,yakni adalah metode Waterfall.metode Prototype,metode Agile,metode Fountain. Saya akan membahas mulai dari metode Waterfall terlebih dahulu :
1). Metode Waterfall
Metode SDLC yang pertama adalah 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 dalam metode waterfall.
Requirement gathering and analysis
Mengumpulkan kebutuhan secara lengkap untuk dianalisis dan mendefinisikan kebutuhan apa saja yang harus dicapai oleh program. Informasi dapat diperoleh melalui wawancara, diskusi, atau survey.
Design
Melakukan perancangan desain perangkat lunak sebagai perkiraan sebelum dibuatnya kode. Desain sistem dapat dibuat menggunakan Flowchart, Mind Map, atau Entity Relationship Diagram (ERD).
Implementasi
Implementasi ini adalah tahap dimana seluruh desain yang sebelumnya sudah dibuat diubah menjadi kode-kode program. Kode yang dihasilkan masih berbentuk modul-modul yang harus digabungkan di tahap selanjutnya.
Integration & testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat sebelumnya dan melakukan pengujian untuk mengetahui apakah perangkat lunak yang dibuat telah sesuai dengan desain dan fungsinya atau tidak.
Verification
Di tahap ini, pengguna atau klien yang langsung melakukan pengujian pada sistem, apakah sistem telah sesuai dengan tang disetujui atau belum sesuai.
Operation & maintenance
Tahap ini merupakan tahap terakhir dari model waterfall. Sistem yang sudah selesai dijalankan serta dilakukan pemeliharaan. Pemeliharaan berupa memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya.
Setiap metode yang digunakan pasti memiliki kelebihan serta kekurangannya tersendiri.
Berikut adalah kelebihan dari metode waterfall:
Memiliki proses yang terurut, sehingga pengerjaan dapat terjadwal dengan baik dan mudah.
Cocok untuk sistem dengan kompleksitas rendah (predictable).
Setiap proses yang dilakukan tidak dapat saling tumpah tindih.
Berikut adalah kekurangan dari metode waterfall:
Waktu pengerjaan relatif lebih lama, karena harus menunggu tahap sebelumnya selesai.
Biaya yang dibutuhkan lebih mahal karena waktu pengembangan yang dibutuhkan lebih lama.
Model waterfall ini kurang cocok untuk pengembangan proyek yang memiliki kompleksitas tinggi.





0 Comments:
Posting Komentar