Manajemen Konfigurasi Perangkat Lunak dalam Rekayasa Perangkat Lunak

Apa itu Manajemen Konfigurasi Perangkat Lunak?

Dalam Rekayasa Perangkat Lunak, Manajemen Konfigurasi Perangkat Lunak (SCM) adalah proses untuk secara sistematis mengelola, mengatur, dan mengendalikan perubahan dalam dokumen, kode, dan entitas lainnya selama Siklus Hidup Pengembangan Perangkat Lunak. Tujuan utamanya adalah meningkatkan produktivitas dengan kesalahan minimal. SCM adalah bagian dari bidang manajemen konfigurasi lintas disiplin dan dapat secara akurat menentukan siapa yang membuat revisi.

Mengapa kita memerlukan manajemen Konfigurasi?

Alasan utama untuk Menerapkan Sistem Manajemen Konfigurasi Perangkat Lunak Teknis adalah:

  • Ada banyak orang yang mengerjakan perangkat lunak yang terus diperbarui
  • Ini mungkin merupakan kasus di mana beberapa versi, cabang, penulis terlibat dalam proyek konfigurasi perangkat lunak, dan tim tersebar secara geografis dan bekerja secara bersamaan.
  • Perubahan kebutuhan pengguna, kebijakan, anggaran, jadwal perlu diakomodasi.
  • Perangkat lunak harus dapat berjalan di berbagai mesin dan OperaSistem
  • Membantu mengembangkan koordinasi antar pemangku kepentingan
  • Proses SCM juga bermanfaat untuk mengendalikan biaya yang diperlukan dalam melakukan perubahan pada suatu sistem

Perlu Manajemen Konfigurasi

Setiap perubahan pada item konfigurasi perangkat lunak akan mempengaruhi produk akhir. Oleh karena itu, perubahan pada item konfigurasi perlu dikontrol dan dikelola.

Tugas dalam proses SCM

  • Identifikasi Konfigurasi
  • Dasar
  • Ubah Kontrol
  • Akuntansi Status Konfigurasi
  • Audit Konfigurasi dan Revbaru saja

Identifikasi Konfigurasi

Identifikasi konfigurasi adalah metode untuk menentukan ruang lingkup sistem perangkat lunak. Dengan bantuan langkah ini, Anda dapat mengelola atau mengendalikan sesuatu meskipun Anda tidak mengetahuinya. Ini adalah deskripsi yang berisi tipe CSCI (Item Konfigurasi Perangkat Lunak Komputer), pengidentifikasi proyek, dan informasi versi.

Kegiatan selama proses ini:

  • Identifikasi Item konfigurasi seperti modul kode sumber, Kasus cobaan, dan spesifikasi kebutuhan.
  • Identifikasi setiap CSCI di repositori SCM, dengan menggunakan pendekatan berorientasi objek
  • Proses ini dimulai dengan objek dasar yang dikelompokkan menjadi objek agregat. Rincian tentang apa, mengapa, kapan, dan oleh siapa perubahan dalam pengujian dilakukan.
  • Setiap objek mempunyai fitur tersendiri yang mengidentifikasi namanya yang eksplisit untuk semua objek lainnya
  • Daftar sumber daya yang diperlukan seperti dokumen, file, alat, dll.

Contoh:

Alih-alih memberi nama File login.php, file tersebut harus diberi nama login_v1.2.php di mana v1.2 adalah singkatan dari nomor versi file

Alih-alih memberi nama folder “Kode”, folder tersebut harus diberi nama “Kode_D” di mana D mewakili kode yang harus dicadangkan setiap hari.

Dasar

Garis dasar adalah versi item konfigurasi perangkat lunak yang diterima secara formal. Ini ditunjuk dan ditetapkan pada waktu tertentu saat melakukan proses SCM. Hal ini hanya dapat diubah melalui prosedur pengendalian perubahan formal.

Kegiatan selama proses ini:

  • Memfasilitasi pembangunan berbagai versi aplikasi
  • Mendefinisikan dan menentukan mekanisme untuk mengelola berbagai versi produk kerja tersebut
  • Garis dasar fungsional sesuai dengan persyaratan sistem yang ditinjau
  • Garis dasar yang banyak digunakan mencakup garis dasar fungsional, pengembangan, dan produk

Secara sederhana, baseline berarti siap dirilis.

Ubah Kontrol

Kontrol perubahan adalah metode prosedural yang menjamin kualitas dan konsistensi ketika perubahan dilakukan pada objek konfigurasi. Pada langkah ini, permintaan perubahan dikirimkan ke manajer konfigurasi perangkat lunak.

Kegiatan selama proses ini:

  • Kontrol perubahan ad-hoc untuk membangun lingkungan pengembangan perangkat lunak yang stabil. Perubahan dilakukan pada repositori
  • Permintaan akan diperiksa berdasarkan kelayakan teknis, kemungkinan efek samping, dan dampak keseluruhan pada objek konfigurasi lainnya.
  • Ia mengelola perubahan dan membuat item konfigurasi tersedia selama siklus hidup perangkat lunak

Akuntansi Status Konfigurasi

Akuntansi status konfigurasi melacak setiap rilis selama proses SCM. Tahap ini melibatkan pelacakan apa yang dimiliki setiap versi dan perubahan yang mengarah pada versi ini.

Kegiatan selama proses ini:

  • Mencatat semua perubahan yang dilakukan pada baseline sebelumnya untuk mencapai baseline baru
  • Identifikasi semua item untuk menentukan konfigurasi perangkat lunak
  • Pantau status permintaan perubahan
  • Daftar lengkap semua perubahan sejak baseline terakhir
  • Memungkinkan pelacakan kemajuan ke baseline berikutnya
  • Memungkinkan untuk memeriksa rilis/versi sebelumnya yang akan diekstraksi untuk pengujian

Audit Konfigurasi dan Revbaru saja

Audit Konfigurasi Perangkat Lunak memverifikasi bahwa semua produk perangkat lunak memenuhi kebutuhan dasar. Ini memastikan bahwa apa yang dibangun adalah apa yang disampaikan.

Kegiatan selama proses ini:

  • Audit konfigurasi dilakukan oleh auditor dengan memeriksa bahwa proses yang ditentukan telah diikuti dan memastikan bahwa tujuan SCM terpenuhi.
  • Untuk memverifikasi kepatuhan terhadap standar kontrol konfigurasi. mengaudit dan melaporkan perubahan yang dilakukan
  • Audit SCM juga memastikan bahwa keterlacakan dipertahankan selama proses berlangsung.
  • Memastikan bahwa perubahan yang dilakukan pada garis dasar mematuhi laporan status konfigurasi
  • Validasi kelengkapan dan konsistensi

Peserta proses SCM

Berikut adalah peserta kunci dalam SCM

Peserta proses SCM

1. Manajer Konfigurasi

  • Manajer Konfigurasi adalah kepala yang bertanggung jawab untuk mengidentifikasi item konfigurasi.
  • CM memastikan tim mengikuti proses SCM
  • Dia perlu menyetujui atau menolak permintaan perubahan

2. Pengembang

  • Pengembang perlu mengubah kode sesuai aktivitas pengembangan standar atau permintaan perubahan. Dia bertanggung jawab untuk menjaga konfigurasi kode.
  • Pengembang harus memeriksa perubahan dan menyelesaikan konflik

3 Auditor

  • Auditor bertanggung jawab atas audit dan peninjauan SCM.
  • Perlu memastikan konsistensi dan kelengkapan rilis.

4. Manajer Proyek:

  • Pastikan produk dikembangkan dalam jangka waktu tertentu
  • Memantau kemajuan pengembangan dan mengenali masalah dalam proses SCM
  • Menghasilkan laporan tentang status sistem perangkat lunak
  • Pastikan proses dan kebijakan diikuti untuk pembuatan, perubahan, dan pengujian

5. Pengguna

Pengguna akhir harus memahami istilah-istilah utama SCM untuk memastikan dia memiliki perangkat lunak versi terbaru

Rencana Manajemen Konfigurasi Perangkat Lunak

Perencanaan proses SCMP (Perencanaan Manajemen Konfigurasi Perangkat Lunak) dimulai pada fase pengkodean awal suatu proyek. Hasil dari tahap perencanaan adalah rencana SCM yang mungkin diperluas atau direvisi selama proyek berlangsung.

  • SCMP dapat mengikuti standar publik seperti IEEE 828 atau standar khusus organisasi
  • Ini mendefinisikan jenis dokumen yang akan dikelola dan penamaan dokumen. Contoh Tes_v1
  • SCMP mendefinisikan orang yang akan bertanggung jawab atas keseluruhan proses SCM dan pembuatan baseline.
  • Perbaiki kebijakan untuk manajemen versi & kontrol perubahan
  • Tentukan alat yang dapat digunakan selama proses SCM
  • Basis data manajemen konfigurasi untuk mencatat informasi konfigurasi.

Alat Manajemen Konfigurasi Perangkat Lunak

Setiap perangkat lunak manajemen perubahan harus memiliki 3 fitur utama berikut:

Manajemen Konkurensi:

Ketika dua atau lebih tugas terjadi pada waktu yang sama, ini dikenal sebagai operasi bersamaan. Konkurensi dalam konteks SCM berarti file yang sama sedang diedit oleh banyak orang pada waktu yang sama.

Jika konkurensi tidak dikelola dengan benar dengan alat SCM, hal ini dapat menimbulkan banyak masalah mendesak.

Kontrol Versi:

SCM menggunakan metode pengarsipan atau menyimpan setiap perubahan yang dibuat pada berkas. Dengan bantuan fitur pengarsipan atau penyimpanan, dimungkinkan untuk kembali ke versi sebelumnya jika terjadi masalah.

Syncronisasi:

Pengguna dapat memeriksa lebih dari satu file atau seluruh salinan repositori. Pengguna kemudian mengerjakan file yang dibutuhkan dan memeriksa perubahan kembali ke repositori. Mereka dapat menyinkronkan salinan lokal mereka untuk tetap mendapatkan informasi terkini tentang perubahan yang dibuat oleh anggota tim lainnya.

Berikut ini adalah alat-alat yang populer

1.Git: Git adalah alat sumber terbuka dan gratis yang membantu kontrol versi. Ini dirancang untuk menangani semua jenis proyek dengan kecepatan dan efisiensi.

Download link: https://git-scm.com/

2. tim Foundation Server: Tim Foundation adalah sekelompok alat dan teknologi yang memungkinkan tim berkolaborasi dan berkoordinasi untuk membangun suatu produk.

Download link: https://azure.microsoft.com/en-us/services/devops/server/

3. Mungkin: Ini adalah alat manajemen konfigurasi Perangkat Lunak sumber terbuka. Selain manajemen konfigurasi, ia juga menawarkan penerapan aplikasi & otomatisasi tugas.

Download link: https://www.ansible.com/

Periksa lebih banyak alat Konfigurasi SW: https://www.guru99.com/software-configuration-management-tools.html

Kesimpulan

  • Praktik terbaik Manajemen Konfigurasi membantu organisasi untuk secara sistematis mengelola, mengatur, dan mengendalikan perubahan dalam dokumen, kode, dan entitas lainnya selama Siklus Hidup Pengembangan Perangkat Lunak.
  • Tujuan utama dari proses SCM adalah untuk meningkatkan produktivitas dengan kesalahan minimal
  • Alasan utama di balik proses manajemen konfigurasi adalah adanya banyak orang yang bekerja pada perangkat lunak yang terus diperbarui. SCM membantu membangun konkurensi, sinkronisasi, dan kontrol versi.
  • Garis dasar adalah versi item konfigurasi perangkat lunak yang diterima secara formal
  • Kontrol perubahan adalah metode prosedural yang menjamin kualitas dan konsistensi ketika perubahan dilakukan pada objek konfigurasi.
  • Akuntansi status konfigurasi melacak setiap rilis selama proses SCM
  • Audit Konfigurasi Perangkat Lunak memverifikasi bahwa semua produk perangkat lunak memenuhi kebutuhan dasar
  • Manajer proyek, Manajer konfigurasi, Pengembang, Auditor, dan pengguna merupakan peserta dalam proses SCM
  • Perencanaan proses SCM dimulai pada tahap awal suatu proyek.
  • Git, Team foundation Sever dan Ansible adalah beberapa alat SCM yang populer.