Siklus Hidup Pengembangan Perangkat Lunak
Siklus Hidup Pengembangan Perangkat Lunak, singkatnya SDLC, adalah urutan tahapan yang terdefinisi dengan baik dan terstruktur dalam rekayasa perangkat lunak untuk mengembangkan produk perangkat lunak yang dimaksudkan.
Aktivitas SDLC
SDLC menyediakan serangkaian langkah yang harus diikuti untuk merancang dan mengembangkan produk perangkat lunak secara efisien. Kerangka SDLC mencakup langkah-langkah berikut:
Komunikasi
Ini adalah langkah pertama di mana pengguna memulai permintaan untuk produk perangkat lunak yang diinginkan. Dia menghubungi penyedia layanan dan mencoba menegosiasikan persyaratan. Dia mengajukan permintaannya ke organisasi penyedia layanan secara tertulis.
Pertemuan Persyaratan
Langkah selanjutnya, tim pengembangan perangkat lunak bekerja untuk menjalankan proyek. Tim mengadakan diskusi dengan berbagai pemangku kepentingan dari domain masalah dan mencoba memberikan informasi sebanyak mungkin tentang kebutuhan mereka. Persyaratan dipertimbangkan dan dipisahkan menjadi persyaratan pengguna, persyaratan sistem, dan persyaratan fungsional. Persyaratan dikumpulkan menggunakan sejumlah praktik seperti yang diberikan -
- mempelajari sistem dan perangkat lunak yang ada atau usang,
- melakukan wawancara dengan pengguna dan pengembang,
- mengacu pada database atau
- mengumpulkan jawaban dari kuesioner.
Studi kelayakan
Setelah pengumpulan persyaratan, tim membuat rencana kasar proses perangkat lunak. Pada langkah ini tim menganalisis apakah perangkat lunak dapat dibuat untuk memenuhi semua kebutuhan pengguna dan jika ada kemungkinan perangkat lunak tidak lagi berguna. Diketahui, jika proyek tersebut layak secara finansial, praktis, dan teknologi untuk diambil organisasi. Ada banyak algoritme yang tersedia, yang membantu pengembang menyimpulkan kelayakan proyek perangkat lunak.
Analisa sistem
Pada langkah ini para pengembang memutuskan peta jalan dari rencana mereka dan mencoba memunculkan model perangkat lunak terbaik yang sesuai untuk proyek tersebut. Analisis sistem meliputi Pemahaman tentang keterbatasan produk perangkat lunak, mempelajari masalah terkait sistem atau perubahan yang harus dilakukan dalam sistem yang ada sebelumnya, mengidentifikasi dan menangani dampak proyek pada organisasi dan personel, dll. Tim proyek menganalisis ruang lingkup proyek dan merencanakan jadwal dan sumber daya yang sesuai.
Desain perangkat lunak
Langkah selanjutnya adalah menurunkan seluruh pengetahuan tentang persyaratan dan analisis di atas meja dan merancang produk perangkat lunak. Masukan dari pengguna dan informasi yang dikumpulkan dalam tahap pengumpulan persyaratan merupakan masukan dari langkah ini. Output dari langkah ini berupa dua desain; desain logis dan desain fisik. Insinyur menghasilkan meta-data dan kamus data, diagram logis, diagram aliran data dan dalam beberapa kasus kode pseudo.
Pengodean
Langkah ini juga dikenal sebagai fase pemrograman. Implementasi desain perangkat lunak dimulai dengan menulis kode program dalam bahasa pemrograman yang sesuai dan mengembangkan program yang dapat dieksekusi bebas kesalahan secara efisien.
Menguji
Perkiraan mengatakan bahwa 50% dari keseluruhan proses pengembangan perangkat lunak harus diuji. Kesalahan dapat merusak perangkat lunak dari tingkat kritis hingga penghapusannya sendiri. Pengujian perangkat lunak dilakukan saat pengkodean oleh pengembang dan pengujian menyeluruh dilakukan oleh para ahli di berbagai tingkat kode seperti pengujian modul, pengujian program, pengujian produk, pengujian in-house dan pengujian produk di akhir pengguna. Penemuan awal kesalahan dan perbaikannya adalah kunci untuk perangkat lunak yang andal.
Integrasi
Perangkat lunak mungkin perlu diintegrasikan dengan perpustakaan, database, dan program lain. Tahap SDLC ini terlibat dalam integrasi perangkat lunak dengan entitas dunia luar.
Penerapan
Ini berarti menginstal perangkat lunak pada mesin pengguna. Kadang-kadang, perangkat lunak membutuhkan konfigurasi pasca-instalasi di sisi pengguna. Perangkat lunak diuji untuk portabilitas dan kemampuan beradaptasi dan masalah terkait integrasi diselesaikan selama implementasi.
Operasi dan Pemeliharaan
Fase ini menegaskan pengoperasian perangkat lunak dalam hal efisiensi yang lebih tinggi dan kesalahan yang lebih sedikit. Jika diperlukan, pengguna akan dilatih, atau dibantu dengan dokumentasi tentang cara mengoperasikan perangkat lunak dan cara menjaga perangkat lunak tetap beroperasi. Perangkat lunak dijaga tepat waktu dengan memperbarui kode sesuai dengan perubahan yang terjadi di lingkungan atau teknologi pengguna akhir. Fase ini mungkin menghadapi tantangan dari bug tersembunyi dan masalah tak teridentifikasi di dunia nyata.
Watak
Seiring berlalunya waktu, perangkat lunak mungkin menurun di depan kinerja. Ini mungkin benar-benar usang atau mungkin perlu peningkatan yang intens. Oleh karena itu, kebutuhan mendesak untuk menghilangkan sebagian besar sistem muncul. Fase ini mencakup pengarsipan data dan komponen perangkat lunak yang diperlukan, penutupan sistem, perencanaan aktivitas disposisi, dan penghentian sistem pada waktu akhir sistem yang sesuai.
Paradigma Pengembangan Perangkat Lunak
Paradigma pengembangan perangkat lunak membantu pengembang untuk memilih strategi untuk mengembangkan perangkat lunak. Paradigma pengembangan perangkat lunak memiliki seperangkat alat, metode, dan prosedurnya sendiri, yang diekspresikan dengan jelas dan menentukan siklus hidup pengembangan perangkat lunak. Beberapa paradigma pengembangan perangkat lunak atau model proses didefinisikan sebagai berikut:
Model Air Terjun
Model air terjun merupakan model paradigma pengembangan perangkat lunak yang paling sederhana. Dikatakan bahwa semua fase SDLC akan berfungsi satu demi satu secara linier. Artinya, saat tahap pertama selesai maka baru tahap kedua yang akan dimulai dan seterusnya.
Model ini mengasumsikan bahwa segala sesuatu dilakukan dan berlangsung secara sempurna sesuai rencana pada tahap sebelumnya dan tidak perlu memikirkan masalah masa lalu yang mungkin muncul pada tahap selanjutnya. Model ini tidak berfungsi dengan lancar jika ada beberapa masalah yang tersisa di langkah sebelumnya. Sifat model yang berurutan tidak memungkinkan kita untuk kembali dan membatalkan atau mengulang tindakan kita.
Model ini paling cocok ketika pengembang telah merancang dan mengembangkan perangkat lunak serupa di masa lalu dan mengetahui semua domainnya.
Model Iteratif
Model ini memimpin proses pengembangan perangkat lunak dalam iterasi. Ini memproyeksikan proses pengembangan secara siklik dan mengulangi setiap langkah setelah setiap siklus proses SDLC.
Perangkat lunak ini pertama kali dikembangkan dalam skala sangat kecil dan diikuti semua langkah yang dipertimbangkan. Kemudian, pada setiap iterasi berikutnya, lebih banyak fitur dan modul dirancang, diberi kode, diuji, dan ditambahkan ke perangkat lunak. Setiap siklus menghasilkan perangkat lunak, yang lengkap dengan sendirinya dan memiliki lebih banyak fitur dan kemampuan daripada siklus sebelumnya.
Setelah setiap iterasi, tim manajemen dapat mengerjakan manajemen risiko dan mempersiapkan iterasi berikutnya. Karena sebuah siklus mencakup sebagian kecil dari keseluruhan proses perangkat lunak, maka lebih mudah untuk mengelola proses pengembangan tetapi menghabiskan lebih banyak sumber daya.
Model Spiral
Model spiral adalah kombinasi dari keduanya, model iteratif dan salah satu model SDLC. Terlihat seolah-olah Anda memilih salah satu model SDLC dan menggabungkannya dengan proses siklik (model iteratif).
Model ini mempertimbangkan risiko, yang sering kali tidak diperhatikan oleh sebagian besar model lain. Model dimulai dengan menentukan tujuan dan batasan perangkat lunak pada awal satu iterasi. Tahap selanjutnya adalah membuat prototipe perangkat lunak. Ini termasuk analisis risiko. Kemudian satu model SDLC standar digunakan untuk membangun perangkat lunak. Pada tahap keempat rencana iterasi berikutnya disiapkan.
V - model
Kelemahan utama dari model air terjun adalah kita pindah ke tahap berikutnya hanya jika tahap sebelumnya sudah selesai dan tidak ada kesempatan untuk kembali jika ditemukan kesalahan di tahap selanjutnya. V-Model menyediakan sarana pengujian perangkat lunak pada setiap tahap secara terbalik.
Pada setiap tahap, rencana pengujian dan kasus pengujian dibuat untuk memverifikasi dan memvalidasi produk sesuai dengan persyaratan tahap tersebut. Misalnya, dalam tahap pengumpulan persyaratan, tim penguji mempersiapkan semua kasus uji sesuai dengan persyaratan. Nanti, saat produk dikembangkan dan siap untuk diuji, kasus uji pada tahap ini memverifikasi perangkat lunak terhadap validitasnya terhadap persyaratan pada tahap ini.
Ini membuat verifikasi dan validasi berjalan secara paralel. Model ini juga dikenal sebagai model verifikasi dan validasi.
Model Big Bang
Model ini merupakan model yang paling sederhana dalam bentuknya. Ini membutuhkan sedikit perencanaan, banyak pemrograman, dan banyak dana. Model ini dikonseptualisasikan di sekitar big bang alam semesta. Seperti yang dikatakan para ilmuwan bahwa setelah big bang banyak galaksi, planet, dan bintang berevolusi hanya sebagai sebuah peristiwa. Demikian pula, jika kami mengumpulkan banyak program dan dana, Anda dapat memperoleh produk perangkat lunak terbaik.
Untuk model ini, jumlah perencanaan yang dibutuhkan sangat kecil. Itu tidak mengikuti proses apa pun, atau terkadang pelanggan tidak yakin tentang persyaratan dan kebutuhan masa depan. Jadi persyaratan masukannya sewenang-wenang.
Model ini tidak cocok untuk proyek perangkat lunak besar tetapi bagus untuk belajar dan bereksperimen.
Untuk pembacaan mendalam tentang SDLC dan berbagai modelnya, klik di sini.