Siklus hidup perangkat lunak dan tahapannya

Siklus hidup perangkat lunak, atau siklus hidup pengembangan perangkat lunak, adalah proses sistematis yang digunakan oleh tim pengembangan untuk membangun perangkat lunak melalui tahapan yang terkendali. Dengan metode ini, dimungkinkan untuk memverifikasi fungsionalitas produk dan memperbaiki kemungkinan kesalahan yang ada dalam kodenya sebelum dirilis secara resmi.

Metodologi ini juga mencakup studi pendahuluan yang memunculkan pembuatan perangkat lunak, karena melalui ini, dimungkinkan untuk menetapkan metode yang paling tepat untuk mengembangkan produk dan dengan itu, meminimalkan biaya yang terkait dengan perbaikan kesalahan dalam perangkat lunak. selama tahap perkembangan lanjut. Berkat ini, adalah mungkin untuk secara efektif mencapai tujuan membuat program komputer dalam skala apa pun.

Secara internasional, tahapan pemilihan, pemantauan, dan implementasi siklus hidup perangkat lunak didasarkan pada standar ISO 12207-1, yang menunjukkan faktor-faktor yang harus dipertimbangkan selama proses pengembangan, rekomendasi, dan metodologi yang memadai untuk menerapkan standar.. Perlu dicatat bahwa metode ini digunakan dalam industri yang sangat penting seperti bidang teknik, makanan, kesehatan dan pertahanan militer.

Fase

 

Siklus hidup perangkat lunak pada dasarnya didasarkan pada tiga fase atau aktivitas pengembangan. Apa yang mereka rinci di bawah ini.

Fase perencanaan dan analisis

Fase awal siklus hidup perangkat lunak didasarkan pada perencanaan, sebuah proses yang mempertimbangkan analisis persyaratan yang diminta oleh pelanggan produk. Selain itu, pada tahap ini juga ditentukan parameter-parameter yang berkaitan dengan fungsi-fungsi yang harus dipenuhi oleh perangkat lunak yang akan dikembangkan.

Dari informasi ini, tim pengembangan dapat memiliki visi yang jelas tentang apa yang ingin dicapai melalui penggunaan perangkat lunak yang diminta dan fungsionalitas apa yang harus ada dalam semua kondisi yang ditetapkan oleh klien. Karena pentingnya analisis pendahuluan yang dilakukan pada tahap pertama ini, maka tahap perencanaan dan analisis dianggap yang paling penting dari semuanya.

Tahap implementasi, pengujian dan dokumentasi

Tahap kedua didasarkan pada tiga tahap yang mencari satu tujuan; mengembangkan perangkat lunak. Dalam pengertian ini, tahap implementasi, pengujian dan dokumentasi didasarkan pada hal-hal berikut:

  • Implementasi: Ini adalah proses pemrograman kode perangkat lunak oleh pengembang dan insinyur perangkat lunak dari informasi yang diperoleh berdasarkan tahap perencanaan dan analisis.
  • Pengujian: Ini tidak lebih dari pengujian semua unsur perangkat lunak yang diprogram untuk mendeteksi kesalahan dan memperbaikinya tepat waktu sebelum maju ke tahap pengembangan berikutnya.
  • Dokumentasi: Ini terdiri dari mendaftarkan dan mendokumentasikan desain perangkat lunak untuk menghasilkan bahan bibliografi yang dapat digunakan untuk melakukan pemeliharaan atau perbaikan proyek di masa depan selama tahap pengembangan selanjutnya.

Fase penyebaran dan pemeliharaan

Hal ini sesuai dengan tahapan pengendalian yang dilakukan terhadap produk setelah di distribusikan. Selama fase ini, instalasi perangkat lunak dilakukan, serta penyesuaian dan pengujian berbeda yang dapat dipantau oleh personel teknis yang bertanggung jawab atas perangkat lunak. Dalam pengertian ini, penyebaran mengacu pada distribusi produk dan pelatihan pengguna untuk memanfaatkannya. Adapun pemeliharaan, mengacu pada perbaikan atau modifikasi kode program untuk menghilangkan kemungkinan masalah yang belum terdeteksi selama tahap pengujian.

model

Ada model berbeda yang digunakan untuk mengembangkan siklus hidup perangkat lunak, ini memungkinkan perusahaan pengembang untuk mengikuti protokol yang disetujui dan logis untuk membuat program.

Model kaskade

Ini adalah model tradisional yang mulai digunakan pada tahun 1966. Model kaskade didasarkan pada serangkaian tahapan berurutan yang membentuk urutan logis untuk melakukan tahapan pengembangan perangkat lunak. Jadi, menurut model Cascade, urutan berikut diikuti:

  1. Koleksi persyaratan.
  2. Desain perangkat lunak.
  3. Konstruksi atau Implementasi perangkat lunak.
  4. Integrasi.
  5. Pengujian (atau validasi).
  6. Deployment (atau instalasi).
  7. Pemeliharaan.

Model spiral

Spiral_Modelpng

Ini adalah model evolusioner yang berfokus pada analisis risiko selama tahap pengembangan tertentu, dan dengan demikian menentukan arah pengembangan yang akan diikuti. Ini mengikuti proses berulang (pengulangan), melalui tahapan analisis risiko, pengembangan dan pengujian, perencanaan dan penentuan tujuan. Umumnya (berkenaan dengan skema) satu kemajuan dalam arah ‘searah jarum jam’, dari pusat spiral; meskipun urutan tertentu tidak selalu diikuti.

Umumnya, ini dimulai dengan analisis risiko, di sana batasan dan kemunduran yang mungkin dimiliki atau disebabkan oleh produk diperhitungkan. Setelah ini didefinisikan, ‘kuadran’ lainnya dilewati, di mana perencanaan ditetapkan sesuai dengan tujuan yang ditetapkan.

Pengembangan tangkas

Ini model pembangunan adalah interaktif satu, di mana versi lengkap dari perangkat lunak diuji dengan maksud menerima umpan balik dari prosedur ini, fokus pada pengalaman pertama kontak dengan program ini. Pengujian ini dilakukan secara berkala, dan prosesnya dianggap selesai setelah semua kesalahan dan kemunduran yang mungkin dihasilkan produk telah diatasi.

model V

v_model_software_development

Model V diberi nama untuk cara di mana tahapan siklus hidup perangkat lunak diuraikan. Ini mengikuti tahap yang sama dari model air terjun, namun menambahkan dua tahap yang mengarah pada umpan balik antar tahap untuk mendeteksi kesalahan dan menetapkan rencana pemeliharaan.

Pengembangan berulang dan berkembang

Ini terdiri dari proses pertumbuhan bertahap, di mana perangkat lunak dikembangkan dari blok awal. Setiap kali blok selesai, itu diuji untuk kemungkinan kesalahan. Kemudian berkembang untuk mendapatkan lebih banyak fungsi, hingga mencapai program yang lengkap. Ini berusaha untuk memiliki kontrol yang lebih baik di setiap titik pengembangan produk.

Peran dalam tim pengembangan perangkat lunak

development_team_roles

Karena banyaknya tahapan dan metodologi yang diterapkan selama siklus hidup perangkat lunak, maka diperlukan personel terlatih untuk melakukan peran yang berbeda dalam tim pengembangan atau perusahaan perangkat lunak. Berikut adalah peran dalam tim pengembangan :

Manajer proyek

Ini adalah orang yang bertanggung jawab untuk mengelola proyek pengembangan, menjadi orang utama yang bertanggung jawab untuk bernegosiasi dengan klien sebelum, selama dan setelah dipekerjakan untuk mengembangkan program. Manajer proyek juga bertanggung jawab untuk menetapkan dan menegakkan tenggat waktu, serta mengatur anggaran dan membuat keputusan yang diperlukan untuk memecahkan masalah yang muncul dalam proses.

Analis persyaratan

Dia adalah salah satu orang paling penting selama fase perencanaan dan analisis perangkat lunak baru, karena ia bertanggung jawab untuk mendok
umentasikan, menetapkan untuk menetapkan semua fungsi yang harus dimiliki perangkat lunak untuk dikembangkan sesuai dengan kebutuhan dan persetujuan klien.. Analis harus menyajikan semua informasi ini dengan cara yang logis, menyeluruh, dan dapat dimengerti oleh tim pengembangan lainnya.

Pengembang

Pengembang (walaupun mungkin banyak) bertanggung jawab untuk menulis dan menyiapkan kode perangkat lunak, serta orang yang bertanggung jawab untuk melakukan pemeliharaan dan debugging.

Penguji

Menetapkan dan melakukan kontrol kualitas dan tes deteksi bug dalam perangkat lunak. Penguji bertanggung jawab untuk menguji produk sesuai dengan penggunaan yang akan diberikan pengguna pada perangkat lunak dan, selain itu, dialah yang membuat laporan dengan kesalahan yang harus di-debug sebelum produk masuk ke fase penerapan dan pemeliharaan.

Arsitek

Arsitek bertanggung jawab untuk menetapkan struktur kode, bahasa pemrograman yang akan digunakan dan juga yang mengelola berbagai aspek yang terkait dengan pengembangan perangkat lunak yang tidak terkait langsung dengan fungsinya.

Related Posts