Code Freeze dan System Versioning Pada System Operation
Mei 10, 2020
Edit
Code Freeze dan System Versioning Pada System Operation
Frederick
Phillips Brooks, Jr merupakan seorang arsitek komputer Amerika, insinyur
perangkat lunak, dan ilmuwan komputer.
Ia terkenal
karena mengelola pengembangan komputer IBM System / 360 family bersama Gerrit
Blaauw dan Gene Amdahl dan paket dukungan perangkat lunak OS / 360, kemudian
menulis secara jujur tentang proses dalam bukunya The Mythical Man-Month.
Brooks telah menerima banyak penghargaan, termasuk National Medal of Technology
pada tahun 1985 dan Turing Award pada tahun 1999.
Pada Buku The Mythical Man-Month: Essays on
Software Engineering, Terdapat bab yang membahas mengenai Code Freeze dan System Versioning,
atau Pembekuan kode dan versi sistem.
Pada Bab mengenai Code Freeze dan System Versioning, Frederick Phillips Brooks, Jr menyebutkan bahwa “Perangkat lunak
itu tidak terlihat”. Oleh karena itu, banyak hal hanya menjadi jelas
setelah sejumlah pekerjaan telah dilakukan pada sistem baru, memungkinkan
pengguna untuk mengalaminya. Pengalaman ini akan menghasilkan wawasan, yang
akan mengubah kebutuhan pengguna atau persepsi kebutuhan pengguna. Oleh karena
itu, sistem harus diubah untuk memenuhi persyaratan pengguna yang diubah. Ini
hanya dapat terjadi hingga titik tertentu, jika tidak sistem tidak akan pernah
selesai. Pada tanggal tertentu, tidak ada lagi perubahan yang diizinkan pada
sistem dan kode harus dibekukan. Semua permintaan untuk perubahan harus ditunda
hingga versi sistem selanjutnya.
Komponen
manajemen konfigurasi perangkat lunak, kontrol versi, juga dikenal sebagai
kontrol revisi atau kontrol sumber, manajemen perubahan dokumen, program
komputer, situs web besar, dan kumpulan informasi lainnya. Perubahan biasanya
diidentifikasi oleh angka atau kode huruf, disebut "angka revisi",
"tingkat revisi", atau sekadar "revisi". Misalnya, kumpulan
file awal adalah "revisi 1". Ketika perubahan pertama dilakukan, set
yang dihasilkan adalah "revisi 2", dan seterusnya. Setiap revisi dikaitkan
dengan cap waktu dan orang yang membuat perubahan. Revisi dapat dibandingkan,
dipulihkan, dan dengan beberapa jenis file, digabung.
Kebutuhan akan
cara logis untuk mengatur dan mengendalikan revisi sudah ada selama tulisan
telah ada, tetapi kontrol revisi menjadi jauh lebih penting, dan rumit, ketika
era komputasi dimulai. Penomoran edisi buku dan revisi spesifikasi adalah
contoh yang berasal dari era cetak saja. Saat ini, sistem kontrol revisi yang
paling mampu (dan juga kompleks) adalah yang digunakan dalam pengembangan
perangkat lunak, di mana sebuah tim orang secara bersamaan dapat membuat
perubahan pada file yang sama.
Versi sistem
kontrol (VCS) paling umum dijalankan sebagai aplikasi yang berdiri sendiri,
tetapi kontrol revisi juga tertanam dalam berbagai jenis perangkat lunak
seperti pengolah kata dan spreadsheet, dokumen web kolaboratif dan dalam
berbagai sistem manajemen konten, misalnya, halaman Wikipedia sejarah. Kontrol
revisi memungkinkan kemampuan untuk mengembalikan dokumen ke revisi sebelumnya,
yang sangat penting untuk memungkinkan editor melacak hasil edit satu sama
lain, memperbaiki kesalahan, dan mempertahankan diri terhadap vandalisme.
Dalam rekayasa
perangkat lunak komputer, kontrol revisi adalah segala jenis praktik yang
melacak dan memberikan kontrol atas perubahan kode sumber. Pengembang perangkat
lunak terkadang menggunakan perangkat lunak kontrol revisi untuk memelihara
dokumentasi dan file konfigurasi serta kode sumber.
Saat tim
merancang, mengembangkan, dan menggunakan perangkat lunak merupakan hal yang
umum untuk beberapa versi perangkat lunak yang sama untuk ditempatkan di situs
yang berbeda dan bagi pengembang perangkat lunak untuk bekerja secara bersamaan
pada pembaruan. Bug atau fitur perangkat lunak seringkali hanya ada dalam versi
tertentu (karena perbaikan beberapa masalah dan pengenalan yang lain ketika
program berkembang). Oleh karena itu, untuk tujuan menemukan dan memperbaiki
bug, sangat penting untuk dapat mengambil dan menjalankan berbagai versi
perangkat lunak untuk menentukan di versi mana masalah terjadi. Mungkin juga
diperlukan untuk mengembangkan dua versi perangkat lunak secara bersamaan:
misalnya, di mana satu versi memiliki bug diperbaiki, tetapi tidak ada fitur
baru (cabang), sedangkan versi lain adalah di mana fitur baru sedang dikerjakan
(trunk).
Pada tingkat
paling sederhana, pengembang dapat dengan mudah menyimpan beberapa salinan dari
berbagai versi program, dan memberi label dengan tepat. Pendekatan sederhana
ini telah digunakan dalam banyak proyek perangkat lunak besar. Meskipun metode
ini dapat bekerja, tidak efisien karena banyak salinan program yang hampir
identik harus dipelihara. Ini membutuhkan banyak disiplin diri dari pihak
pengembang dan seringkali mengarah pada kesalahan. Karena basis kode sama, itu
juga memerlukan pemberian izin baca-tulis-eksekusi untuk satu set pengembang,
dan ini menambah tekanan seseorang yang mengelola izin sehingga basis kode
tidak terganggu, yang menambah lebih banyak kerumitan. Akibatnya, sistem untuk
mengotomatisasi beberapa atau semua proses kontrol revisi telah dikembangkan.
Ini memastikan bahwa sebagian besar manajemen langkah-langkah kontrol versi
tersembunyi di balik layar.
Selain itu,
dalam pengembangan perangkat lunak, praktik hukum dan bisnis, serta lingkungan
lainnya, telah menjadi semakin umum untuk satu dokumen atau potongan kode
diedit oleh tim, yang anggota-anggotanya mungkin tersebar secara geografis dan
dapat mengejar kepentingan yang berbeda dan bahkan bertentangan. . Kontrol
revisi canggih yang melacak dan memperhitungkan kepemilikan perubahan pada
dokumen dan kode mungkin sangat membantu atau bahkan sangat diperlukan dalam
situasi seperti itu.
Kontrol revisi
teknik dikembangkan dari proses formal berdasarkan pelacakan revisi cetak biru
awal atau rujukan. Sistem kontrol ini secara implisit memungkinkan untuk
kembali ke keadaan desain sebelumnya, untuk kasus-kasus di mana jalan buntu
teknik dicapai dalam pengembangan desain. Tabel revisi digunakan untuk melacak
perubahan yang dilakukan. Selain itu, area yang dimodifikasi pada gambar
disorot menggunakan awan revisi.
Kontrol versi
tersebar luas dalam bisnis dan hukum. Memang, "kontrak redline" dan
"hukum hitam" adalah beberapa bentuk kontrol revisi yang paling awal,
dan masih digunakan dalam bisnis dan hukum dengan berbagai tingkat kecanggihan.
Teknik yang paling canggih mulai digunakan untuk pelacakan elektronik perubahan
pada file CAD (lihat manajemen data produk), menggantikan penerapan elektronik
"manual" dari kontrol revisi tradisional.
Contoh pada
kasus yang telah menyebar lama yaitu Microsoft yang telah melakukan upgrade
sistem ke Windows 10, Jadi Pada windows 7 sebelumnya, sekarang sudah tidak
support melakukan upgrade patch keamanan sistem, seperti halnya yang
disampaikan oleh Pihak Microsoft sebelumnya.
Menurut saya
hal seperti ini merupakan Pembekuan dari Upgrade Version yang dilakukan oleh
Pihak Microsoft agar Windows 10 banyak digunakan oleh pengguna.
Referensi :