- Hệ thống website quản lý và đặt phòng khách sạn Hệ thống Quản lý công văn
Mã bài: ITPRG11.5 Mục tiêu thực hiện:
5.3. Quản lý cấu hình phần mềm
5.3.1. Định nghĩa:
Mọi người thường quan niệm rằng quản lý cấu hình là nghĩ ngay đến việc xác lập, và quản lý các thông số, giao thức, địa chỉ cho các mạng máy tính, cho phần cứng LAN, WAN... khơng ít người đã nhầm lẫn vấn đề này, quản lý cấu hình phần mềm là một lĩnh vực rất quan trọng trong qui trình phát triển và sản xuất phần mềm hiện nay.
Vậy, quản lý cấu hình phần mềm là một nghệ thuật của việc xác định, tổ chức và kiểm soát tất cả các sự thay đổi chỉnh sửa đối với phần mềm đang được xây dựng bởi một đội lập trình.
(Wayne Babich Addison-Wesley, 1986) Hay theo IEEE (IEEE Std. 610.12.1990 ), quản lý cấu hình là một nguyên tắc về việc áp dụng kỹ thuật và sự quản trị giám sát để:
Xác định và ghi lại các đặc điểm vật lý và chức năng của các mục cấu hình (items) Kiểm sốt các sự thay đổi các đặc điểm này
Ghi nhận và báo cáo sự thay đổi xử lý và trạng thái triển khai thực hiện Kiểm tra sự tương thích với các yêu cầu đã được xác định.
Hình 41. Các chức năng của quản lý cấu hình 5.3.2. Tại sao lại phải quản lý cấu hình?
Ví dụ về các vấn đề có thể xuất hiện khi việc quản lý cấu hình khơng tốt:
- Một lỗi mà đã được sửa xong (fixed) với chi phí rất lớn bất thình lình lại xuất hiện trở lại.
- Một chức năng, tính năng nào đó đã được phát triển và kiểm thử bị “biến mất” một cách bí ẩn. Tìm đâu ra?
- Một chương trình đã được kiểm thử tồn bộ, đầy đủ bất thình lình nó không hoạt động được.
Thay đổi các dự án từ một mớ lộn xộn ...
Hình 42. Minh họa quản lý cấu hình (1) ...trở thành có thứ tự, ngăn nắp:
Hình 43. Minh họa quản lý cấu hình (2)
- Các kết quả bàn giao của dự án là tài sản có giá trị mà đã đầu tư vào. Nếu chúng ta khơng xác định và kiểm sốt các cấu hình của nó và mối quan hệ qua lại giữa chúng, thì chỉ một thay đổi nhỏ sẽ chúng khơng có giá trị.
Việc quản lý cấu hình phần mềm tốt là một sự thách thức lớn đối với các dự án cỡ lớn. Quản lý cấu hình phần mềm tốt sẽ có các tính năng sau:
- Cập nhật một cách đồng thời: khi hai hay nhiều lập trình viên làm việc một cách riêng rẽ trên cùng một chương trình (một dự án), người cuối cùng muốn tạo ra các thay đổi có thể hủy bỏ cơng việc khác một cách dễ dàng.
- Chia sẻ mã nguồn (code): trong một hệ thống lớn, khi các chức năng chung của chương trình được sửa đổi, tất cả các thành viên khác cần được biết. Việc quản lý mã code khơng có hiệu quả thì sẽ khơng có cách nào đảm bảo rằng việc tìm kiếm và cảnh báo cho tất cả các thành viên đội dự án.
- Quản lý các phiên bản ấn hành (release version): hầu hết các chương trình/ hệ thống sản phẩm lớn được phát triển thành các sản phẩm lưu hành. Với một bản cho khách hàng dùng, một cho kiểm tra thử nghiệm, một do đội phát triển, việc fix các lỗi phải được thông báo giữa các thành phần này. Nếu một lỗi được phát hiện bởi khách hàng thì lỗi đó sẽ được fix cho các phiên bản sau cùng.
5.3.3. Các cơng việc của quản lý cấu hình phần mềm SCM - 1 Xác định các yêu cầu và phạm vi của CM.
- 2 Xây dựng kế hoạch CM.
- 3 Nhất trí và triển khai các quy trình và cơng cụ. - 4 Triển khai các quy trình bảo mật.
CM trong life-cycle của dự án:
Hình 44. Quản lý cấu hình thể hiện trong life-cycle của dự án
Quản lý cấu hình sẽ có mặt trong xun suốt vịng đời của dự án, từ khi có yêu cầu của khách hàng, thu thập yêu cầu cho đến khi khách hàng nhận được phiên bản cuối cùng (sản phẩm/ release).
Phạm vi quản lý cấu hình:
Kiểm sốt phiên bản phải được thực hiện đối với từng kết quả bàn giao. Các kết quả bàn giao nằm trong phạm vi của quản lý cấu hình.
Hình 45. Phạm vi của quản lý cấu hình
Hình 46. Sơ đồ biểu diễn kiểm soát phiên bản 5.3.4. Vai trò, trách nhiệm của những người quản lý cấu hình
Quản lý cấu hình phần mềm có 4 vai trị chính: - Người quản lý cấu hình
- Ủy ban kiểm sốt cấu hình (CCB) - Các kỹ sư thực hiện dự an
- Người quản lý dự án.
Trách nhiệm của từng người: Người quản lý cấu hình
o Tạo và duy trì kho lưu trữ
o Phát triển, xây dựng tại liệu và phân phát các thủ tục liên quan đến dự án o Thiết lập các baseline để đảm bảo rằng các sự thay đổi baseline đều được
ghi nhận một cách chi tiết và cụ thể.
o Và đảm bảo rằng khơng ai có quyền được thay đổi các baseline đã được tạo ra và
o Triệu tập các cuộc họp với CCB. Kỹ sư dự án:
o Thừa nhận rằng hài lòng với các thủ tục của dự án và tất cả các mục liên quan đến kế hoạch quản lý cấu hình phần mềm của dự án.
o Tham dự vào ủy ban kiểm sốt cấu hình khi có u cầu. Quản lý dự án:
o Cung cấp sự giám sát cho các hoạt động của CM
o Đảm bảo các hoạt động CM là tương xứng với nguồn lực đã định. Ủy ban kiểm sốt cấu hình
o Đảm bảo rằng tất cả các thay đổi đến một baseline được xem là hợp pháp đối với tất cả các bên tham gia (có sự đồng thuận giữa các bên)
o Phê duyệt hay loại bỏ các thay đổi được đề nghị về các mục trong CM o Phê chuẩn tất cả các thay đổi cho các mục baseline
o Phê duyệt các release cho khách hàng o Là hội đồng bao gồm các thành viên:
Quản lý cấu hình Quản trị dự án
Lãnh đạo nhóm kỹ thuật Lãnh đạo nhóm kiểm thử Kỹ sư chất lượng
Và các cá nhân đề nghị thay đổi hay bị ảnh hưởng bởi các thay đổi đó.
5.3.5. Các hoạt động quản lý cấu hình
Hình 47. Các hoạt động quản lý cấu hình