Manajemen Konfigurasi Perangkat Lunak dalam Rekayasa Perangkat Lunak
โก Ringkasan Cerdas
Manajemen Konfigurasi Perangkat Lunak (SCM) adalah proses untuk secara sistematis mengelola, mengatur, dan mengontrol perubahan pada dokumen, kode, dan item lainnya sepanjang Siklus Hidup Pengembangan Perangkat Lunak. Tujuan utamanya adalah untuk meningkatkan produktivitas sambil menjaga efisiensi.ping Meminimalkan kesalahan.

Apa itu Manajemen Konfigurasi Perangkat Lunak?
Dalam Rekayasa Perangkat Lunak, Manajemen Konfigurasi Perangkat Lunak (SCM) SCM (Software Control Management) adalah proses untuk mengelola, mengatur, dan mengontrol perubahan pada dokumen, kode, dan entitas lainnya secara sistematis selama Siklus Hidup Pengembangan Perangkat Lunak. Tujuan utamanya adalah untuk meningkatkan produktivitas dengan kesalahan minimal. SCM merupakan bagian dari bidang lintas disiplin manajemen konfigurasi, dan dapat secara akurat menentukan siapa yang melakukan revisi mana.
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, dan penulis terlibat dalam proyek konfigurasi perangkat lunak, dan tim tersebut tersebar secara geografis dan bekerja secara bersamaan.
- Perubahan dalam kebutuhan pengguna, kebijakan, anggaran, dan jadwal perlu diakomodasi.
- Perangkat lunak harus dapat dijalankan di berbagai mesin dan OperaSistem.
- Membantu mengembangkan koordinasi antar pemangku kepentingan.
- Proses SCM juga bermanfaat untuk mengendalikan biaya yang terkait dengan melakukan perubahan pada suatu sistem.
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 langkah ini, Anda dapat mengelola atau mengontrol sesuatu meskipun Anda tidak tahu apa itu. Ini adalah deskripsi yang berisi tipe CSCI (Computer Software Configuration Item), pengidentifikasi proyek, dan informasi versi.
Kegiatan selama proses ini:
- Identifikasi Item konfigurasi seperti modul kode sumber, Kasus cobaan, dan spesifikasi kebutuhan.
- Identifikasi setiap CSCI dalam repositori SCM, dengan menggunakan pendekatan berorientasi objek.
- Proses dimulai dengan objek dasar yang dikelompokkan menjadi objek agregat. Rincian tentang apa, mengapa, kapan, dan oleh siapa perubahan dalam pengujian dilakukan.
- Setiap objek memiliki ciri khasnya sendiri yang mengidentifikasi namanya, yang secara eksplisit diketahui oleh semua objek lainnya.
- Daftar sumber daya yang dibutuhkan, seperti dokumen, file, alat, dll.
Contoh:
Alih-alih memberi nama file login.php, sebaiknya diberi nama login_v1.2.php di mana v1.2 merupakan nomor versi file tersebut.
Alih-alih memberi nama folder โCodeโ, seharusnya diberi nama โCode_Dโ di mana D menunjukkan bahwa kode tersebut 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:
- Memudahkan pembuatan berbagai versi aplikasi.
- Mendefinisikan dan menentukan mekanisme untuk mengelola berbagai versi produk kerja ini.
- Garis dasar fungsional sesuai dengan persyaratan sistem yang telah ditinjau.
- Garis dasar yang banyak digunakan meliputi garis dasar fungsional, perkembangan, dan produk.
Secara sederhana, baseline berarti siap dirilis.
Ubah Kontrol
Kontrol perubahan adalah metode prosedural yang memastikan kualitas dan konsistensi ketika perubahan dilakukan pada objek konfigurasi. Pada langkah ini, permintaan perubahan diajukan ke pengelola konfigurasi perangkat lunak.
Kegiatan selama proses ini:
- Kendalikan perubahan ad-hoc untuk membangun lingkungan pengembangan perangkat lunak yang stabil. Perubahan dikirimkan ke repositori.
- Permintaan akan diperiksa berdasarkan kelayakan teknis, kemungkinan efek samping, dan dampak keseluruhan pada objek konfigurasi lainnya.
- Sistem ini mengelola perubahan dan menyediakan item konfigurasi selama siklus hidup perangkat lunak.
Akuntansi Status Konfigurasi
Akuntansi status konfigurasi tracks setiap rilis selama proses SCM. Tahap ini melibatkan tracSebutkan apa saja yang ada di setiap versi dan perubahan yang mengarah ke versi ini.
Kegiatan selama proses ini:
- Mencatat semua perubahan yang dilakukan pada garis dasar sebelumnya untuk mencapai garis dasar yang baru.
- Identifikasi semua item untuk menentukan konfigurasi perangkat lunak.
- Memantau status permintaan perubahan.
- Daftar lengkap semua perubahan sejak baseline terakhir.
- Memungkinkan tracraja kemajuan menuju garis dasar berikutnya.
- Memungkinkan rilis/versi sebelumnya untuk dihapus.tracdisiapkan 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, melakukan audit dan melaporkan perubahan yang dilakukan.
- Audit SCM juga memastikan bahwa tracKeandalan tetap terjaga selama proses berlangsung.
- Memastikan bahwa perubahan yang dilakukan pada garis dasar sesuai dengan laporan status konfigurasi.
- Validasi kelengkapan dan konsistensi.
Peserta proses SCM
Berikut adalah para peserta utama dalam SCM:
1. Manajer Konfigurasi
- Configuration Manager 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 dengan aktivitas pengembangan standar atau permintaan perubahan. Ia bertanggung jawab untuk memelihara 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 tersebut dikembangkan dalam jangka waktu tertentu.
- Memantau kemajuan pembangunan dan mengidentifikasi 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 kunci SCM untuk memastikan mereka memiliki versi perangkat lunak terbaru.
Rencana Manajemen Konfigurasi Perangkat Lunak
Proses SCMP (Software Configuration Management Planning) dimulai pada fase pengkodean awal suatu proyek. Hasil dari fase 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 konvensi penamaan dokumen. Contoh: Test_v1.
- SCMP mendefinisikan orang yang akan bertanggung jawab atas keseluruhan proses SCM dan pembuatan baseline.
- Perbaiki kebijakan untuk manajemen versi & kontrol perubahan.
- Definisikan alat-alat yang dapat digunakan selama proses SCM.
- Basis data manajemen konfigurasi untuk mencatat informasi konfigurasi.
Alat Manajemen Konfigurasi Perangkat Lunak
Perangkat lunak manajemen perubahan apa pun harus memiliki 3 fitur utama berikut:
Manajemen Konkurensi:
Ketika dua atau lebih tugas terjadi secara bersamaan, hal itu dikenal sebagai operasi konkuren. Konkurensi dalam konteks SCM berarti bahwa file yang sama diedit oleh banyak orang secara bersamaan.
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 dilakukan pada sebuah file. Dengan bantuan fitur pengarsipan atau penyimpanan, dimungkinkan untuk mengembalikan ke versi sebelumnya jika terjadi masalah.
Syncronisasi:
Pengguna dapat melakukan checkout lebih dari satu file atau seluruh salinan repositori. Pengguna kemudian mengerjakan file yang dibutuhkan dan melakukan check-in perubahan kembali ke repositori. Mereka dapat menyinkronkan salinan lokal mereka untuk tetap mendapatkan informasi terbaru tentang perubahan yang dilakukan oleh anggota tim lainnya.
Berikut adalah beberapa alat 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. Ansible: Ini adalah alat manajemen konfigurasi perangkat lunak sumber terbuka. Selain manajemen konfigurasi, alat ini juga menawarkan penyebaran aplikasi & otomatisasi tugas.
Download link: https://www.ansible.com/


