Configuration Manager (CM) Nhóm thực hiện: 23 Người soạn thỏa: Chu Quang Bảo 1 Mục lục 1. 2. 3. 4. 5. 6. Định nghĩa. Mục tiêu Hội đồng quản lý Quy trình thực hiện. Kết luận. Tham khảo. Next 2 1. Định nghĩa quản lý cấu hình • “SCM is the control of the evolution of complex systems,…, for the purpose to contribute to satisfying quality and delay constraints.” – Jacky Estublier “SCM provides the capabilities of identification, control, status accounting, audit and review, manufacture, process management, and teamwork.” – Susan Dart 3 Định nghĩa… • Quản lý cấu hình : Nhận dạng, tổ chức và quản lý các thay đổi đối với những sản phẩm đang được xây dựng bởi một nhóm lập trình viên từ sản phẩm trung gian đến sản phẩm cuối cùng. Developer and Cmanager 4 Định nghĩa… • CM is a key process in Capability Maturity Model (CMMI) o Level 1-Initial: ad hoc/chaotic o Level 2-Repeatable: basic project management and documentation o Level 3-Defined: standard and complete process control and procedures o Level 4-Managed: predictable process performance and precise measurements o Level 5-Optimizing: continuous and recursive improvement to performance • CM hoạt động xuyên suốt vòng đời hệ thống phần mền. 5 Định nghĩa… • Không chỉ cho Version Control. • Không chỉ cho Source Code management. • Không chỉ cho Development Phase. • Việc chọn lựa và sử dụng những tool là rất quan trọng. Nhưng thiết kế và quản lý của tiến trình CM là điều cốt yếu cho sự thành công của dự án. 6 Configuration Item (CI) An approved and accepted deliverable, changes have to be made through formal procedure. Ví dụ: Management plan Requirement Design specification Source code and executable code Test specification, data, and records Log information User documentation Library and supporting software Bug reports, etc. JRJ001_REQB_1.0.4Draft_B ID dự án: PRJ001 ID Item : REQB Phiên bản: 7 Baseline Là tập hợp những phần phiên bản đã được chính thức xem xét thống nhất, chính là 1 version của CM. Đánh dấu những “Mốc” và “Cung cấp” từ cơ bản đến xa hơn của tiến trình. Baseline + tập hợp những thay đổi = new baselines. 8 CM Tools Version control Bug tracking Bugzilla, Mantis Bugtracker, Rational ClearQuest Build RCS, CVS, Subversion, Visual Source Safe, Rational ClearCase GNU Make and many variants, Ant Project management Sourceforge.net, freshmeat.net, GForge, DForge 9 2. Mục tiêu CM • Thiết lập và bảo đảm tính toàn vẹn của các phiên bản phần mền của dự án. • Giải quyết được những yêu cầu cần thiết của một teamwork trong suốt chu kỳ sống của dự án đó. Developer and Project 10 3. Vài trò tham gia Người quản lý CM (Configuration Manager) Trưởng dự án (Project Manager) Trưởng nhóm (Technical Lead) Trưởng nhóm kiểm soát chất lượng (Test Lead) Kỹ sư chất lượng (Quantity Engineer) Và những ai ảnh hưởng tới sự thay đổi. Next 11 3. Vài trò tham gia… • Nhiệm vụ: o Bảo đảm tất cả các thay đổi là được các bộ phận liên quan nhận biết và tham gia . o Xem xét,phê chuẩn hoặc phủ quyết các thay đổi trên các baseline. o Kiểm tra xác nhận những thay đổi. o Phê chuẩn các bản phân phối sản phẩm release tới khách hàng 12 3. Vài trò tham gia… Công việc cụ thể: • CM(Configuration Manager) : o o o o o Thiết lập và bảo trì kho lưu trữ (Repository) của dự án. Phát triển và triển khai các quy trình thủ tục QLCH của hệ thống. Thiết lập các baseline, ghi nhận chi tiết các thay đổi trên các baseline. Bảm đảm các baseline không bị thay đổi khi chưa được phê chuẩn. Tổ chức và điều phối các cuộc họp của CCB. • Trưởng dự án( Project manager) o Giám sát các hoạt động QLCH. o Bảo đảo các yêu cầu cần thiết cho hoạt động QLCH. o VD: Số giờ thành viên dự án bỏ ra cho QLCH, công cụ hỗ trợ cho QLCH. 13 4. Các hoạt động • • • • Lập kế hoạch Quản lý cấu hình (CM plan) Kiểm soát phiên bản (Version Control) Quản lý baseline (Baseline Management). Kiểm soát thay đổi (Change control) 14 Tạo Plan CM Định chuẩn: IEEE Std 828 (SCM Plans), ANSI-IEEE Std 1042 (SCM), etc. Những thành phần của 1 CM plan What will be managed (list and organize CIs) Who will be responsible for what activities (roles and tasks) How to make it happen (design processes for change requests, task dispatching, monitoring, testing, release, etc.) What records to keep (logs, notes, configurations, changes, etc.) What resources and how many (tools, money, manpower, etc.) What metrics to measure progress and success 15 Kiểm soát phiên bản (Version Control) Sự kiểm soát những phiên bản khác nhau của một CI Thao tác thay đổi liên tục trên thùng chứa 16 Quản lý baseline Các loại base: • Chức năng (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) 17 Kiểm soát thay đổi (Change control) Các bước cơ bản của kiểm soát thay đổi : Nghiên cứu, phân tích Phê chuẩn hoặc không phê chuẩn Thực hiện việc thay đổi Kiểm tra việc thay đổi ` Xác lập baseline mới. 18 Tham khảo và đọc thêm Reference Introduction to Configuration Management, lecture slides for COMP3100/3500, Ian Barnes, the Australian National University. Software Configuration Management, Center for Development of Advanced Computing, Mumbai at Juhu, India. Concepts in Configuration Management Systems, Susan Dart, CMU. Software Configuration Management: A Roadmap, Jacky Estublier, CNRS, France. Further Reading Software Engineering, a Practitioner’s Approach (6th), part 4, Roger Pressman. Code Complete (2nd), Steve McConnel. http://cmcrossroads.com/ Implementing and Integrating PDM and SCM, Ivica Crnkovic et al. Version Control with Subversion, Ben Collins-Sussman et al. 19 Nhóm 23 20