Quản lý cấu hình – Yêu cầu cơ bản trong mọi dự án phần mềm

7 2 0
Tài liệu đã được kiểm tra trùng lặp
Quản lý cấu hình – Yêu cầu cơ bản trong mọi dự án phần mềm

Đang tải... (xem toàn văn)

Thông tin tài liệu

Quản lý cấu hình – Yêu cầu cơ bản trong mọi dự án phần mềm  Mọi cuộc thảo luận về quản lý cấu hình phần mềm cần đưa ra các câu hỏi 1 Làm thế nào để tổ chức minh định và quản lý được nhiều version của[.]

 Mọi thảo luận quản lý cấu hình phần mềm cần đưa câu hỏi: Làm để tổ chức minh định quản lý nhiều version chương trình cho thay đổi để thích nghi cách hiệu quả? Làm để tổ chức kiểm soát đổi thay phần mềm trước sau phân phát cho người đặt hàng? Ai chịu trách nhiệm việc chấp thuận đặt thứ tự ưu tiên đổi thay? Làm bảo đảm việc đổi thay thực đúng? Dùng cấu để đánh giá đổi thay khác? Câu hỏi trắc nghiệm Câu 1: Khái niệm quản lý cấu hình phần mềm? Câu 2: Nội dung quản lý cấu hình phần mềm bao gồm: A Xác định, kiểm soát thay đổi B Bảo đảm thay đổi thực C Báo cáo thay đổi cho người quan tâm D Tất phương án Câu 3: Quản lý cấu hình – Yêu cầu dự án phần mềm Những quan tâm đến quy trình sản xuất phần mềm, hẳn khơng lần gặp khái niệm quản lý cấu hình (Configuration Management) Ta dễ dàng tìm thấy yêu cầu quản lý cấu hình (QLCH) cách trực tiếp hay gián tiếp tiêu chuẩn mơ hình quy trình sản xuất phần mềm (QTSXPM) thông dụng CMM/CMMI, ISO 15504 ISO 9001:2000 Trong CMM CMMI, QLCH yêu cầu bắt buộc từ mức 2, mức hai mơ hình này.Thực tế, có nhiều định nghĩa khái niệm khác biệt QLCH, chúng có điểm chung Trong phạm vi viết, muốn phần làm sáng tỏ số định nghĩa thuộc tính QLCH QTSXPM.Tại cần Quản lý cấu hình?Chắc hẳn lần gặp tình sau:• Một lỗi (bug) phần mềm xây dựng tốn nhiều cơng sức sửa chữa, “thình lình” xuất trở lại.• Một chức (function) phần mềm phát triển kiểm tra cẩn thận bổng thất lạc biến cách khó hiểu.• Một chương trình (program) kiểm tra cẩn thận, nhiên khơng “chạy” • Một chương trình gồm nhiều đơn thể (module), đơn thể gồm nhiều chức năng, chức chia cho nhiều lập trình viên, chức bao gồm nhiều tập tin mã nguồn (source code) với nhiều phiên (version) khác Khi tích hợp hệ thống biên dịch, hàng chục tập tin source code với hàng trăm version, tập tin nào, version cần phải lấy để tiến hành tích hợp? Các vấn đề không xảy dự án, việc QLCH thực nghiêm túc kiểm sốt chặt chẽ Ta tham khảo định nghĩa ngắn gọn sau từ CMM ISO 15504: “Mục đích QLCH để thiết lập bảo đảm tính tồn vẹn sản phẩm trung gian sản phẩm sau dự án phần mềm, xuyên suốt chu kỳ sống dự án đó.” Nói cho dễ hiểu gần gũi, QLCH bao gồm công việc nhận dạng, tổ chức, quản lý thay đổi sản phẩm xây dựng nhóm lập trình viên, từ sản phẩm trung gian đến sản phẩm sau QLCH tốt giải hàng loạt khó khăn dự án, đặc biệt dự án lớn: - Cập nhật đồng thời: Khi nhiều lập trình viên làm việc cách biệt chương trình dự án, thay đổi mà người thực phá vỡ kết làm việc người khác Ví dụ: Sản phẩm anh A sử dụng kết công việc anh B, sản phẩm anh B thay đổi làm cho sản phẩm anh A khơng chạy - Chia sẻ source code: Trong hệ thống lớn, chức chung bị thay đổi, tất người liên quan phải biết - Phiên phần mềm (release): Hầu hết chương trình hệ thống lớn phát triển với nhiều release tiến hóa từ thấp đến cao Trong trường hợp release khách hàng dùng, release khác kiểm tra (test), release khác q trình phát triển, có lỗi (bug) xảy ra, việc sửa lỗi phải đồng ba phần này, không quản lý source code tốt, vấn đề đồng khó thực Nếu lỗi release khách hàng dùng, phải sửa chữa tất release sau Khi cần tiến hành QLCH? QLCH thực xuyên suốt chu kỳ sống dự án, từ lúc bắt đầu đến kết thúc, chí cịn giai đoạn bảo trì sản phẩm sau dự án (Hình 1) HOẠT ĐỘNG QLCH Trước vào chi tiết, ta cần tìm hiểu khái niệm QLCH:• Configuration Item – CI: định danh QLCH tên gọi sản phẩm, sản phẩm trung gian, tập tin (file) nhóm file, tài liệu nhóm tài liệu dự án mà ta cần phải quản lý kiểm sốt Nói chung “món” tạo dự án mà ta cần phải quản lý, ví dụ: file source code, tài liệu yêu cầu sản phẩm, thiết kế v.v.• Baseline: điểm “mốc” thỏa thuận người liên quan dự án, cho sau điểm “mốc” này, thay đổi phải thông báo tới tất người có liên quan.Một cách tổng quan, QLCH bao gồm nhóm hoạt động hình Lập kế hoạch QLCH (Configuration Management planning)Thông thường, việc lập kế hoạch cho QLCH thể tài liệu có tên Kế hoạch quản lý cấu hình (Configuration Manegement Plan – CMP) Bản kế hoạch thường bao gồm:• Ý nghĩa, mục đích phạm vi áp dụng kế hoạch• Vai trị trách nhiệm nhóm, cá nhân dự án thực hoạt động khác liên quan đến QLCH Định nghĩa rõ ràng thực (perform), xem xét (review), phê duyệt (approve) CI dự án, vai trò khách hàng, người sử dụng đầu cuối Xem ví dụ hình 3.• Cơng cụ (tool), môi trường (environment) sở hạ tầng (infrastructure) Phần mô tả công cụ phần mềm quy trình thủ tục sử dụng hỗ trợ QLCH, chẳng hạn công cụ quản lý phiên sản phẩm (version control); mơ tả vị trí máy chủ, máy trạm, cấu hình hệ thống client-server,… • Phương pháp định danh thiết lập baseline CI • Quy ước đặt tên dự án, gồm tên file • Quy trình xử lý quản lý thay đổi (change control process) • Chỉ định thành viên nhóm Configuration Control Board (CCB) • Thơng tin nơi lưu trữ CI • Kiểm kê báo cáo cấu hình (configuration accounting and reporting) • Quy trình thủ tục lưu trữ chép dự phòng (backup and archieve) Các điểm kế hoạch giải thích rõ phần tiếp sau Định danh/đánh số CI (Identification of Configuration Items)Định danh hoạt động tảng QLCH Mục đích định danh để xác định tính CI, mối quan hệ với CI khác Nó bao gồm việc mơ tả tên, đánh số, đánh dấu đặc trưng, giúp nhận biết phân biệt CI với CI hay thành phần khác.Bạn nhận thấy hình thức định danh tương tự đời sống thực tế Ví dụ, người ta đánh số bàn nhà hàng nhằm giúp người phục vụ mang thức ăn cho khách.Trong sản xuất phần mềm, CI bao gồm hay nhiều file Ví dụ: module tên ExpMod coi CI, module có file ExpMod.h ExpMod.c Mỗi CI phải có số định danh nhất, dạng thức thường thấy là: Ví dụ: PRJ001_REQB_1.0.4_draft_B cho biết: Số ID dự án: PRJ001 Số ID Item : REQB Phiên bản: 1.0.4_draft_B Trong dự án, thường có nhiều file source code, quy tắc là: file tạo nên khối chức gom chung thành CI Kiểm soát phiên (Version Control) Có nhiều định nghĩa cách hiểu khác version control, muốn định nghĩa khía cạnh thơng dụng, sát với thân cụm từ nhất.Version control kiểm soát phiên (version) khác CI (bao gồm việc định danh lưu trữ CI đó).Thế phiên gì? phiên thực thể CI sau qua nhiều lần xem xét thay đổi.Hiện có nhiều công cụ thị trường hỗ trợ cho việc kiểm sốt phiên bản, số cơng cụ thơng dụng là: Visual Source Safe Microsoft, ClearCase Rational, CVS (nguồn mở) Mỗi phiên phản có số ID đầy đủ, tăng dần cho phiên Lưu ý phiên CI khác với phiên file thành phần CI Trong ví dụ trên, phiên CI “ExpMod” khác với phiên file thành phần “ExpMod.h” “ExpMod.c” (Xem hình 3) Các phiên quan trọng CI đánh dấu để nhận biết “mốc” quan trọng tiến trình phát triển CI đó, phiên mà CI phê duyệt hay baseline Quản lý baseline (Baseline Management) Cũng Version Control, baseline có nhiều cách hiểu khác nhau, phạm vi viết này, chọn ý nghĩa tương đối phổ biến Trong thực tế thường gặp loại baseline sau:• Chức (functional)• Kế hoạch (planning)• Yêu cầu (requirements) • Sản phẩm (product) • Bản phân phối (release) • Kiểm tra (test) • Mơi trường hoạt động (environment) Quản lý baseline bao gồm: • Chọn CI cho loại baseline • Tiến hành “ghim chết” baseline thời điểm sau thay đổi chấp thuận phê chuẩn Thông thường, baseline tiến hành điểm kết thúc giai đoạn hay “mốc” quan trọng dự án Hình cho thấy rõ loại thời điểm baseline Đồng thời, quản lý baseline, vai trò nhiệm vụ người thiết lập phê chuẩn baseline phải định nghĩa Kiểm soát thay đổi (Change control) Khi phát triển bảo trì sản phẩm phần mềm, việc thay đổi u cầu khơng thể tránh khỏi.Mục đích change control để kiểm soát đầy đủ tất thay đổi ảnh hưởng đến việc phát triển sản phẩm Đôi lúc vài yêu cầu thay đổi nhỏ khách hàng, tất chặng quy trình phát triển phần mềm từ thiết kế, đến viết code, đến kiểm tra sản phẩm phải thay đổi theo.Nếu thay đổi khơng kiếm sốt chặt chẽ dẫn đến nhiều sai sót Xét ví dụ sau: lập trình viên làm dự án, có thơng báo việc thay đổi thiết kế Kết tích hợp, hệ thống khơng vận hành được.u cầu kiểm soát thay đổi thay đổi phải thông báo đến tất người nhóm làm việc có liên quan Hình minh họa quy trình kiểm sốt thay đổi Các bước kiểm soát thay đổi bao gồm: • Nghiên cứu, phân tích • Phê chuẩn khơng phê chuẩn • Thực việc thay đổi • Kiểm tra việc thay đổi • Xác lập baseline mớiTrong kiểm sốt thay đổi, ta thường gặp khái niệm “nhóm kiểm soát thay đổi” gọi tắt CCB (Change Control Board), nhóm thành lập dự án CCB thơng thường bao gồm: • Người QLC H (Configuration Manager) • Trưởng dự án (Project Manager) • Trưởng nhóm (Technical Lead) • Trưởng nhóm kiểm sốt chất lượng (Test Lead) • Kỹ sư chất lượng (Quality Engineer) • Và bị ảnh hưởng thay đổiNhiệm vụ CCB thường là:• Bảo đảm tất thay đổi phận liên quan nhận biết tham gia• Xem xét, phê chuẩn phủ thay đổi baseline • Kiểm tra, xác nhận thay đổi • Phê chuẩn phân phối sản phẩm (release) đến khách hàng Báo cáo tình trạng cấu hình (Configuration Status Accounting) Cơng việc bao gồm việc ghi nhận báo cáo tình trạng CI yêu cầu thay đổi, tập hợp số liệu thống kê CI, đặc biệt CI góp phần tạo nên sản phẩm Nó trả lời câu hỏi như: có file bị ảnh hưởng sữa chữa lỗi phần mềm đó?Kết công việc ghi nhận báo cáo mang tên Configuration Status Accounting Report (CSAR) Báo cáo thường làm rõ điểm sau:• Liệt kê tất baseline CI thành phần có liên quan.• Làm bật Cl phát triển vừa bị thay đổi • Liệt kê thay đổi cịn dang dở hay hồn thành, baseline bị ảnh hưởng (bởi thay đổi đó) Việc báo cáo làm thường xuyên định kỳ, xuyên suốt dự án Auditing (Audit thuật ngữ thường dùng, cho nhiều ngành nghề khác nhau, nhiên lĩnh vực sofware, chúng tơi khơng tìm thấy từ tiếng Việt tương đương phản ánh đủ ý nghĩa, xin giữ nguyên thuật ngữ gốc, có ý nghĩa gần với “kiểm tra” “xem xét”) Có loại audit thường thực - CSAR Audit: Thường làm sau lần CSAR tạo ra, việc kiểm tra bao gồm: • Bảo đảm baseline liệt kê CSAR • Bảo đảm tất CI tạo nên baseline liệt kê • Kiểm tra CI bị thay đổi từ lần baseline trước đó, so sánh chúng với yêu cầu thay đổi để khẳng định thay đổi CI hợp lý.- Physical configuration audit (PCA): nhằm mục đích khẳng định xem khách hàng u cầu có thực hay khơng Gồm việc: • Kiểm tra vết để phản ánh tính chiều (traceability) yêu cầu khách hàng việc thực code dự án • Xác định phân phối cho khách hàng (executable files, source code, tài liệu kèm…) có đáp ứng yêu cầu khách hàng hay không.- Functional configuration audit (FCA): nhằm mục đích khẳng định khách hàng u cầu có kiểm tra chặt chẽ sản phẩm tạo trước giao cho khách hàng hay không Gồm: • Kiểm tra vết để phản ánh tính chiều yêu cầu khách hàng việc kiểm tra sản phẩm.Quản lý release (Release management) Trong thực tế, có nhiếu định nghĩa khác khái niệm “release” Về bản, hiểu: Q trình phát triển phần mềm thường qua nhiều lần tích hợp, kết lần tích hợp “build”, nhiều “build” đó, số đáp ứng số yêu cầu định lập kế hoạch trước (theo yêu cầu khách hàng), gởi cho khách hàng để kiểm tra đánh giá Các build gọi “release”; công việc tạo phân phối release gọi công việc “release” Theo cách hiểu này, sản phẩm sau release, gọi “final release”.Trong q trình release, việc quản lý địi hỏi phải thực cơng việc sau:• Baseline mơi trường phát triển sản phẩm file, tài liệu (sẽ release)• Thực báo cáo CSAR (xem định nghĩa trên) • Thực audit: PCA FCA • Đóng gói file tài liệu release • Xác nhận nhận release từ khách hàngLưu trữ chép dự phòng (Backup & archive) Lưu trữ chép dự phòng hoạt động QLCH hoạt động quan trọng phải có sản xuất phần mềm Nó giúp khắc phục trường hợp rủi ro bị mát liệu thao tác sai, virus, cố phần cứng/ phần mềm Ở khía cạnh khác, hỗ trợ cho hoạt động version control (đã nói trên) trường hợp ta muốn sử dụng version khác nhau.Lưu trữ chép dự phịng địi hỏi tồn sản phẩm sản phẩm trung gian dự án phải định kỳ chép dự phòng thiết bị nơi khác cách an toàn.Và dự án kết thúc, hoạt động sau cần phải thực hiện:• Lưu trữ toàn liệu dự án, tuân thủ quy trình lưu trữ thiết lập (định nghĩa dự án quy định cấp công ty) • Lưu trữ huỷ bỏ tài liệu dạng giấy • Dọn liệu thơng tin dự án vừa kết thúc, sau chép lưu trữ Vai trò thành viên dự án Trong dự án điển hình, thơng thường có (nhóm) chức sau (thường gọi tắt role) tham gia thực hoạt động QLCH:CM (Configuration manager) • Thiết lập bảo trì kho lưu trữ (repository) dự án • Phát triển triển khai quy trình thủ tục QLCH dự án • Thiết lập baseline, ghi nhận chi tiết thay đổi baseline • Bảo đảm baseline khơng bị thay đổi chưa phê chuẩn • Tổ chức điều phối họp CCB Trưởng dự án (Project manager): • Giám sát hoạt động QLCH • Bảo đảm yêu cầu cần thiết cho hoạt động QLCH Ví dụ: số thành viên dự án bỏ cho QLCH, công cụ hỗ trợ cho QLCH…CCB (Configuration Control Board) Bao gồm thành viên dự án, có chức nói trên.Các thành viên dự án Các thành viên dự án, kể CM, PM thành viên CCB, có trách nhiệm: • Tn thủ tất quy trình thủ tục kế hoạch QLCH (CMP) • Tham gia vào nhóm CCB có yêu cầu ... nhóm file, tài liệu nhóm tài liệu dự án mà ta cần phải quản lý kiểm sốt Nói chung “món” tạo dự án mà ta cần phải quản lý, ví dụ: file source code, tài liệu yêu cầu sản phẩm, thiết kế v.v.• Baseline:... trung gian sản phẩm sau dự án phần mềm, xuyên suốt chu kỳ sống dự án đó.” Nói cho dễ hiểu gần gũi, QLCH bao gồm công việc nhận dạng, tổ chức, quản lý thay đổi sản phẩm xây dựng nhóm lập trình viên,... tên Kế hoạch quản lý cấu hình (Configuration Manegement Plan – CMP) Bản kế hoạch thường bao gồm:• Ý nghĩa, mục đích phạm vi áp dụng kế hoạch• Vai trị trách nhiệm nhóm, cá nhân dự án thực hoạt

Ngày đăng: 24/11/2022, 18:47

Tài liệu cùng người dùng

Tài liệu liên quan