Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering): Chương 5 - Nguyễn Nhất Hải
lượt xem 4
download
Chương 5 cung cấp cho người học những kiến thức cơ bản về: Khái niệm quản lý cấu hình phần mềm, các hoạt động trong quản lý cấu hình phần mềm, vai trò của người quản lý cấu hình phần mềm, các khái niệm trong SCM, lập kế hoạch quản lý cấu hình phần mềm, các công cụ quản lý cấu hình phần mềm.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Nhập môn công nghệ phần mềm (Introduction to software engineering): Chương 5 - Nguyễn Nhất Hải
- Chương 5: Quản lý cấu hình PM NHẬP MÔN • 1. Đặt vấn đề CÔNG NGHỆ PHẦN MỀM • 2. Khái niệm quản lý cấu hình PM (INTRODUCTION TO SOFTWARE • 3. Các hoạt động trong quản lý cấu hình PM om ENGINEERING) • 4. Vai trò của người quản lý cấu hình PM • 5. Các khái niệm trong SCM .c • 6. Lập kế hoạch quản lý cấu hình PM ng • 7. Các công cụ quản lý cấu hình PM co 1 2 an 1 2 th 1. Đặt vấn đề o ng Software Evolution du Quá trình phát triển phần mềm • Phần mềm được phát triển theo thời gian • Lý tưởng: – Nhiều yếu tố khác nhau được tạo ra trong suốt thời gian – Phần mềm được phát triển từ các yêu cầu ổn định u của dự án – (do việc hướng đến mục tiêu cố định luôn dễ dàng hơn cu mục tiêu bị thay đổi) – Có nhiều phiên bản khác nhau – Các nhóm làm việc song song để đưa ra sản phẩm cuối • Thực tế: cùng – Các yêu cầu ổn định luôn không tồn tại cho hầu hết các hệ thống thực tế • Hệ thống có thể thay đổi liên tục • Do đó: – Một dự án phần mềm hiệu quả cần phải có chiến lược để giải quyết vấn đề “THAY ĐỔI” 3 4 3 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Vấn đề Thay đổi và Kiểm soát • Nhiều người phải làm việc trên phần mềm đang thay đổi • Nếu những thay đổi không được kiểm soát - mọi thứ • Nhiều phiên bản của phần mềm phải được hỗ trợ: có thể và sẽ vượt khỏi tầm tay – Hệ thống đã phát hành – Hệ thống được cấu hình tùy chỉnh (các chức năng khác nhau) • Vấn đề quản lý thay đổi thậm chí là cần thiết khi – Hệ thống đang được phát triển nhiều người cùng làm việc trong một dự án • Phần mềm phải chạy trên các máy và hệ điều hành khác nhau om • Nếu không có các chiến lược và cơ chế thích hợp để Do đó cần phải có sự quản lý và phối hợp với nhau kiểm soát các thay đổi - người ta không bao giờ có • Quản lý cấu hình phần mềm thể khôi phục về bản sao cũ ổn định hơn của phần .c – quản lý các hệ thống phần mềm đang phát triển mềm – kiểm soát chi phí liên quan đến việc thực hiện các thay đổi đối với hệ – Do bởi mọi thay đổi đều dẫn đến rủi ro thống ng co 5 6 an 5 6 th Câu trả lời o ng Configuration Management… du • Sự thật: • Áp dụng một cách tiếp cận nghiêm ngặt để – Những thay đổi là không thể tránh khỏi đảm bảo u – Các thay đổi cần được kiểm soát – Các chi tiết trong hệ thống phần mềm đều được cu – Các thay đổi cần được quản lý xác định và theo dõi • Giải pháp – Các thay đổi với các mục khác nhau được ghi lại và theo dõi – Quản lý cấu hình phần mềm – Tích hợp thích hợp tất cả các mô-đun khác nhau – Software Configuration Management(SCM) 7 8 7 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Configuration Management Sự cần thiết của SCM… • SCM có thể giúp xác định tác động của thay đổi cũng • Khi phần mềm phát triển - nhiều tài nguyên hệ thống thay đổi như kiểm soát sự phát triển song song – CM ngăn ngừa các lỗi có thể tránh được phát sinh từ các thay đổi xung đột • Nó có thể theo dõi và kiểm soát các thay đổi trong • Thông thường nhiều phiên bản của phần mềm được phát tất cả các khía cạnh của phát triển phần mềm hành và cần đến sự hỗ trợ om – Yêu cầu – CM cho phép một nhóm hỗ trợ nhiều phiên bản. – Thiết kế – CM cho phép các thay đổi trong các phiên bản tuần tự được truyền bá – Mã hóa • CM cho phép các nhà phát triển theo dõi các thay đổi và khôi .c phục bất kỳ thay đổi nào để đưa hệ thống phần mềm trở lại – Kiểm thử trạng thái an toàn đã biết gần đây nhất – Làm tài liệu ng co 9 Software Project Management 10 an 9 10 th 2. Software Configuration Management o ng Software Configuration Management Forward Definition! du • Definition: • Description: – Một tập hợp các quy tắc quản lý trong quy trình kỹ – Quản lý cấu hình phần mềm bao gồm các nguyên tắc và kỹ thuật đánh giá và kiểm soát sự thay đổi đối với u thuật phần mềm để phát triển đường cơ sở các sản phẩm phần mềm trong và sau quá trình kỹ cu (baseline). thuật phần mềm. n Chuẩn IEEE (IEEE Std. No. 610.12-1990) định nghĩa một cơ sở như sau: • Đặc tả kỹ thuật hoặc sản phẩm đã được xem xét và thống nhất chính thức, sau đó được dùng như là một cơ sở để tiếp tục phát triển, và có thể thay đổi chỉ thông qua thủ tục kiểm soát • Standards (approved by ANSI) thay đổi chính thức. – IEEE 828: Software Configuration Management Plans n Một baseline là một mốc quan trọng trong sự phát triển của phần mềm được đánh dấu bằng việc cung cấp một hoặc nhiều mục cấu hình phần mềm – IEEE 1042: Guide to Software Configuration và sự chấp thuận của các SCI - software configuration items thu được thông qua đánh giá kỹ thuật chính thức. Management 11 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 2. SCM Các hoạt động SCM Activities (continued) • Software Configuration Management (SCM) Activities: • Nhận dạng mục cấu hình (Configuration item identification) – Configuration item identification – mô hình hóa hệ thống như một tập hợp các thành phần đang phát triển – Promotion management • Quản lý tăng trưởng (Promotion management) – Release management – là việc tạo ra các phiên bản cho các nhà phát triển khác – Branch management • Quản lý phát hành (Release management) om – Variant management – là việc tạo ra các phiên bản cho khách hàng và người dùng – Change management • Quản lý nhánh (Branch management) – là quản lý của sự phát triển đồng thời .c • Quản lý biến thể (Variant management) • No fixed rules: – là việc quản lý các phiên bản dự định cùng tồn tại – SCM functions are usually performed in different ways • Quản lý thay đổi (Change management) ng (formally, informally) depending on the project type and – là việc xử lý, phê duyệt và theo dõi các yêu cầu thay đổi life-cycle phase (research, development, maintenance). co an 13 14 th 4. SCM Roles o ng 5. Các khái niệm trong SCM du • Người quản lý cấu hình • What are – Chịu trách nhiệm xác định các mục cấu hình (configuration items – CI). Người quản lý cấu hình cũng có thể chịu trách nhiệm xác – Configuration Items u định các thủ tục để tạo các sự tăng trưởng và các bản phát – Baselines hành. cu • Thành viên ban kiểm soát thay đổi – SCM Directories – Chịu trách nhiệm phê duyệt hoặc từ chối các yêu cầu thay đổi – Versions, Revisions and Releases • Lập trình viên – Tạo các thay đổi được kích hoạt bởi các yêu cầu. Nhà phát triển kiểm tra các thay đổi và giải quyết xung đột ➭ Các thuật ngữ được định nghĩa ở đây không • Kiểm soát viên nghiêm chặt và thay đổi đối với các hệ thống – Chịu trách nhiệm về việc lựa chọn và đánh giá các thay đổi để phát hành và đảm bảo tính nhất quán và đầy đủ của bản phát quản lý cấu hình khác nhau. hành này 15 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Configuration Item Configuration Item “An aggregation of hardware, software, or • Các mục cấu hình phần mềm không chỉ là các đoạn mã chương trình mà là tất cả các loại tài liệu cho sự phát both, that is designated for configuration triển phần mềm, ví dụ: management and treated as a single entity in – các tệp mã the configuration management process.” – trình điều khiển cho các trường hợp kiểm thử om – tài liệu phân tích hoặc thiết kế – tài liệu hướng dẫn người dùng “Tập hợp phần cứng, phần mềm hoặc cả hai, – cấu hình hệ thống (ví dụ: phiên bản trình biên dịch được .c được chỉ định để quản lý cấu hình và được coi sử dụng) như một thực thể duy nhất trong quy trình ng v Trong một số hệ thống, không chỉ phần mềm mà còn tồn tại các mục cấu hình phần cứng quản lý cấu hình”. (CPU, tần số tốc độ bus)! co an 17 18 th Configuration management concepts An example of CM aggregates and (UML class diagram). * o ng configuration items du Controlled item * A320:CM Aggregate CM Aggregate Configuration item Version u cu * Fly-by-wire SW:CI Landing Gear:CM Aggregate Promotion Release * Workspace Repository Fuselage:CI Wing:CI Tire:CI 19 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Finding Configuration Items Finding Configuration Items (CIs) (continued) • Các dự án lớn thường tạo ra hàng nghìn thực thể • Một số thực thể này phải được duy trì trong suốt thời gian tồn tại của phần mềm. Điều này cũng bao gồm giai (tệp, tài liệu, ...) phải được xác định duy nhất. đoạn khi phần mềm không còn được phát triển nhưng • Nhưng không phải tất cả các thực thể đều cần vẫn được sử dụng bởi khách hàng vẫn mong đợi sự hỗ trợ thích hợp trong nhiều năm. được định cấu hình. Vấn đề: om • Một lược đồ đặt tên thực thể nên được xác địnhđể các – Cái gì: Lựa chọn CI (Nên quản lý những gì?) tài liệu liên quan có tên liên quan. – Khi nào: Khi nào bạn bắt đầu đặt một thực thể dưới • Lựa chọn các mục cấu hình phù hợp là một kỹ năng cần .c sự kiểm soát cấu hình? thực hành – Rất giống với mô hình đối tượng • Bắt đầu quá sớm dẫn đến quá sự “áp đặt” ng – Sử dụng các kỹ thuật tương tự như mô hình hóa đối tượng để tìm các CI • Bắt đầu quá muộn dẫn đến hỗn loạn co an 21 22 th Terminology: Baseline o ng Terminology: Baseline du “A specification or product that has been formally Examples: reviewed and agreed to by responsible u Baseline A: API của một chương trình được xác định hoàn toàn; phần thân của các management, that thereafter serves as the basis phương thức trống. cu for further development, and can be changed only Baseline B: Tất cả các phương pháp truy cập dữ liệu được thực hiện và thử nghiệm; lập trình GUI có thể bắt đầu. through formal change control procedures.” Baseline C: GUI được triển khai, giai đoạn thử nghiệm có thể bắt đầu. “Một đặc tả hoặc sản phẩm đã được xem xét và chấp nhận, sau đó sẽ là cơ sở để phát triển thêm và chỉ có thể được thay đổi thông qua các thủ tục kiểm soát thay đổi chính thức.” 23 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- More on Baselines Baselines in SCM • Khi hệ thống được phát triển, một loạt baseline được phát triển, thường là sau khi xem xét (đánh giá phân tích, đánh giá thiết kế, xem xét mã, kiểm tra hệ thống, Baseline A (developmental) chấp nhận khách hàng, ...) All changes relative to baseline A • Nhiều lược đồ đặt tên cho đường cơ sở tồn tại (1.0, Baseline B (functional) om 6.01a, ...) All changes relative to baseline B Baseline C (beta test) • Lược đồ 3 chữ số: .c All changes relative to baseline C 7.5.5 Official Release ng Release Version Revision (Customer) (Developer) (Developer) co an 25 26 th Three digit version identification scheme o ng SCM Directories du Alpha test release • Programmer’s Directory (IEEE: Dynamic Library) MUE.0.0.1:Release – Thư viện để chứa các thực thể phần mềm mới được tạo MUE.1.0.0:Release First major release hoặc sửa đổi. Không gian làm việc của lập trình viên chỉ do u lập trình viên kiểm soát. cu MUE.1.2.1:Release Second minor release with bug fixes • Master Directory (IEEE: Controlled Library) – Quản lý (các) baseline và kiểm soát các thay đổi được thực Second major hiện đối với chúng. Mục nhập được kiểm soát, thường sau MUE.2.0.3:Release release with three series of bug fixes khi được xác minh. Các thay đổi phải được cho phép. • Software Repository (IEEE: Static Library) Three-digit version identification scheme ::= ... – Lưu trữ cho các baseline khác nhau được phát hành để sử ::= dụng chung. Các bản sao của các baseline này có thể được ::= cung cấp cho các tổ chức yêu cầu. ::= 27 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Standard SCM Directories Change management • Quản lý thay đổi là việc xử lý các yêu cầu thay đổi • Programmer’s Directory – Một yêu cầu thay đổi dẫn đến việc tạo ra một bản phát hành mới – (IEEE Std: “Dynamic Library”) • Quy trình thay đổi – Completely under control of one – Thay đổi được yêu cầu (có thể được thực hiện bởi bất kỳ ai bao gồm programmer. cả người dùng và nhà phát triển) Promotion – Yêu cầu thay đổi được đánh giá dựa trên các mục tiêu của dự án om • Master Directory – Sau khi đánh giá, thay đổi được chấp nhận hoặc bị từ chối – (IEEE Std: “Controlled Library”) Central source – Nếu nó được chấp nhận, thay đổi được chỉ định cho người phát triển – Central directory of all code archive và được triển khai .c promotions. – Thay đổi đã thực hiện được kiểm tra. Release • Mức độ phức tạp của quy trình quản lý thay đổi thay đổi theo dự • Software Repository án. Các dự án nhỏ có thể thực hiện các yêu cầu thay đổi một cách – (IEEE Std: “Static Library”) không chính thức và nhanh chóng trong khi các dự án phức tạp yêu ng Foo’95 Foo’98 cầu các biểu mẫu yêu cầu thay đổi chi tiết và sự chấp thuận chính – Externally released baselines. thức của một người quản lý nữa. co an 29 30 th Version vs. Revision vs. Release o ng Managing Concurrent Development du • Version: – An initial release or re-release of a configuration item associated with a complete compilation or recompilation • Trong các dự án lớn, các nhà phát triển thường muốn u of the item. Different versions have different functionality. thay đổi cùng các hạng mục (giống nhau) cu • Revision: • Cần hỗ trợ đồng thời các phiên bản đã phát hành và phát – Change to a version that corrects only errors in the triển mới. design/code, but does not affect the documented functionality. Quiz: Is Windows98 a new version or a new revision compared to Windows95 ? • HOW? • Release: – The formal distribution of an approved version. 31 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Branches: CVS 6. SCM planning Main trunk ::= . ::= . ::= . | • Lập kế hoạch quản lý cấu hình phần mềm bắt đầu trong giai đoạn đầu của dự án. MUE.1.1:Release ::= ::= • Kết quả của giai đoạn lập kế hoạch SCM là Kế revised by hoạch quản lý cấu hình phần mềm (SCMP) MUE.1.2:Release derived from om Branch 1.2.1 revised by có thể được mở rộng hoặc sửa đổi trong phần MUE.1.3:Release 1.2.1.1:Release còn lại của dự án. .c merged with revised by • SCMP có thể tuân theo tiêu chuẩn công khai 1.2.1.2:Release như IEEE 828 hoặc tiêu chuẩn nội bộ (ví dụ: ng released as MUE.2.0:Release của công ty). co an 33 34 th Outline of a Software Configuration The Software Configuration Management Plan o ng Management Plan (SCMP, IEEE 828- 1990) du • 1. Introduction • 4. Schedule (WHEN?) • Xác định các loại tài liệu được quản lý và sơ đồ – Describes purpose, scope of – Establishes the sequence and đặt tên tài liệu. application, key terms and coordination of the SCM activities references with project mile stones. • Xác định người chịu trách nhiệm về các thủ tục u • 2. Management (WHO?) • 5. Resources (HOW?) CM và việc tạo ra các baseline. cu – Identifies the responsibilities and – Identifies tools and techniques • Xác định các chính sách để kiểm soát thay đổi và authorities for accomplishing the planned configuration management required for the implementation of the SCMP quản lý phiên bản. activities • 6. Maintenance • Mô tả các công cụ nên được sử dụng để hỗ trợ • 3. Activities (WHAT?) – Identifies activities and – Identifies the activities to be responsibilities on how the SCMP quá trình CM và bất kỳ hạn chế nào trong việc sử performed in applying to the will be kept current during the life- dụng chúng. project. cycle of the project. • Xác định cơ sở dữ liệu quản lý cấu hình được sử dụng để ghi lại thông tin cấu hình. 35 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt
- 7. Tools for Software Configuration An example of change management Management process Anybody Control Board Developer Quality Control • Quản lý cấu hình phần mềm thường được hỗ trợ bởi Request change Team các công cụ với các chức năng khác nhau. Assess request • Examples: [inconsistent with goals] [consistent with goals] – RCS om Reject request • very old but still in use; only version control system – CVS Approve request • based on RCS, allows concurrent working without locking .c – Perforce Assign change • Repository server; keeps track of developer’s activities ng – ClearCase Implement change • Multiple servers, process modeling, policy check mechanisms Validate change co an 37 38 th Summary o ng du • Quản lý cấu hình phần mềm là một phần cơ bản của kế hoạch quản lý dự án để quản lý các hệ thống phần mềm đang phát triển và điều phối các thay đổi đối với chúng. • SCM được thực hiện theo kế hoạch SCM. Kế hoạch này có thể tuân u theo tiêu chuẩn công khai (ví dụ IEEE 828) hoặc tiêu chuẩn nội bộ. cu • Cần phải điều chỉnh một tiêu chuẩn cho một dự án cụ thể: – Các dự án lớn cần có kế hoạch chi tiết để thành công – Các dự án nhỏ không đủ khả năng gánh vác những kế hoạch như vậy • SCM được hỗ trợ bởi các công cụ. Chức năng của chúng thay đổi từ các công cụ lưu trữ phiên bản đơn giản đến các hệ thống rất phức tạp với các quy trình tự động để kiểm tra chính sách và hỗ trợ tạo tài liệu SCM. 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Nhập môn Công nghệ thông tin: Lab 1 - Th.S Dương Thành Phết
13 p | 225 | 44
-
Bài giảng Nhập môn Công nghệ thông tin: Hướng dẫn bài tập 3 - Th.S Dương Thành Phết
59 p | 170 | 21
-
Bài giảng Nhập môn Công nghệ thông tin: Hướng dẫn bài tập 1 - Th.S Dương Thành Phết
17 p | 156 | 20
-
Bài giảng Nhập môn Công nghệ phần mềm: Chương 3 - Nguyễn Thị Minh Tuyền
77 p | 146 | 18
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm (2011)
49 p | 104 | 14
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 9 - Ngô Chánh Đức
32 p | 122 | 13
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 2 - Ngô Chánh Đức
60 p | 123 | 11
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 3 - Ngô Chánh Đức
35 p | 89 | 11
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 4 - Ngô Chánh Đức
45 p | 111 | 10
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm
35 p | 31 | 9
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 1 - Ngô Chánh Đức
13 p | 101 | 8
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 5 - Ngô Chánh Đức
51 p | 76 | 8
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 7 - Ngô Chánh Đức
26 p | 112 | 8
-
Bài giảng Nhập môn Công nghệ phần mềm: Giới thiệu tổng quan về nội dung học phần - TS. Trần Ngọc Bảo
32 p | 126 | 7
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 6 - Ngô Chánh Đức
36 p | 91 | 6
-
Bài giảng Nhập môn Công nghệ thông tin 1: Chương 8 - Ngô Chánh Đức
29 p | 75 | 6
-
Bài giảng Nhập môn Công nghệ thông tin 1: Giới thiệu môn học - Ngô Chánh Đức
4 p | 107 | 5
-
Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Nguyễn Văn Danh
9 p | 79 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn