Bài giảng Phát triển, vận hành, bảo trì phần mềm - Chương 3: Qui trình và mô hình bảo trì phần mềm cung cấp cho người học các kiến thức: Qui trình bảo trì phần mềm, các mô hình bảo trì phần mềm, khi thực hiện thay đổi. Mời các bạn cùng tham khảo.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM PHÁT TRIỂN VẬN HÀNH BẢO TRÌ PHẦN MỀM ThS NGUYỄN THỊ THANH TRÚC UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung (Chương 3) QUI TRÌNH BẢO TRÌ PHẦN MỀM CÁC MƠ HÌNH BẢO TRÌ PHẦN MỀM KHI THỰC HiỆN THAY ĐỔI Thảo luận làm tập Q&A UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 3: QUI TRÌNH VÀ MƠ HÌNH BẢO TRÌ PHẦN MỀM 3.1 QUI TRÌNH BẢO TRÌ PHẦN MỀM 3.2 CÁC MƠ HÌNH BẢO TRÌ PHẦN MỀM 3.3 KHI THỰC HiỆN THAY ĐỔI UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 3: QUI TRÌNH VÀ MƠ HÌNH BẢO TRÌ PHẦN MỀM QUI TRÌNH BẢO TRÌ PHẦN MỀM o Định nghĩa o Qui trình sản phẩm phần mềm o Đánh giá phê bình qui trình mơ hình truyền thống Code-and-Fix Model Waterfall Model Spiral Model CÁC MƠ HÌNH BẢO TRÌ PHẦN MỀM o Mơ hình Quick-Fix o Mơ hình Boehm o Mơ hình Osborne o Iterative Enhancement Model o Mơ hình Reuse-Oriented KHI THỰC HiỆN THAY ĐỔI o Tăng trưởng qui trình o Mơ hình tăng trưởng CMM (Capability Maturity Model) cho phần mềm o Cơ sở kinh nghiệm phần mềm UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.1 QUI TRÌNH BẢO TRÌ PHẦN MỀM Định nghĩa Qui trình sản phẩm phần mềm Đánh giá phê bình qui trình mơ hình truyền thống o Code-and-Fix Model o Waterfall Model o Spiral Model UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Software Process Fundamental Assumption: Good processes lead to good software Good processes reduce risk Good processes enhance visibility UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Basic Process Steps in all Software Development • Feasibility and planning • Requirements • System and program design • Implementation and testing • Acceptance testing and release • Operation and maintenance It is essential to distinguish among these process steps and to be clear which you are are doing at any given moment Do not confuse requirements and design UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sequence of Processes (software lifecycle) Every software project will include these basic processes, in some shape or form, but they may be carried out in various sequences Major alternatives • Sequential: Complete each process step before beginning the next (but see the next few slides) Waterfall model • Iterative: Go quickly through all process steps to create a rough system, then repeat them to improve the system Iterative refinement UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Sequential Development: The Waterfall Model Requirements Feasibility study Requirements Design System design Implementation Program design Implementation (coding) Testing Acceptance & release Operation & maintenance UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Thảo luận Waterfall Model Thuận lợi: • • • • qui trình rõ ràng cộng việc tách biệt kiểm sốt chất lượng bước Kiểm sốt chi phí bước Không thuận lợi: Mỗi giai đoạn qui trình thể hiếu biết giai đoạn trước mà thường đòi hỏi giai đoạn sớm xét duyệt lại The Waterfall Model is not enough! UIT-VNUHCM 2009 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quick-fix model Trong môi trường phù hợp làm việc hiệu Ví dụ: o Một hệ thống phát triển bảo trì người Người hiểu hệ thống đủ để quản lý mà không cần sưu liệu o Áp lực hạn cuối nguồn lực chiến lược để thích ứng gắn kết kỹ thuật quickfix với kỹ thuật khác UIT-VNUHCM 2009 50 CuuDuongThanCong.com https://fb.com/tailieudientucntt Boehm’s model Thuận lợi o Qui trình kiểm sốt o Nhấn mạnh vào phản hồi Không thuận lợi o Thấp quick-fix Dựa mơ hình kinh tế nguyên tắc Qui trình bảo trì dẫn xuất từ định người quản lý dựa cân mục tiêu ràng buộc UIT-VNUHCM 2009 51 CuuDuongThanCong.com https://fb.com/tailieudientucntt Osborne’s Thuận lợi o Liên quan đến tất giai đoạn chu trình sống o Sưu liệu cập nhật Không thuận lợi o Phức tạp o Nhiều cơng sức chi phí đối phó trực tiếp với thực tế mơi trường bảo trì Mơ hình khác hướng đến giả định khía cạnh tình hướng lý tưởng Mơ hình bảo trì xử lý lặp tiếp diễn vòng đời phần mềm UIT-VNUHCM 2009 52 CuuDuongThanCong.com https://fb.com/tailieudientucntt Iterative Enhancement Model Thuận lợi o Khá đơn giản o Cho phép phân tích Khơng thuận lợi o Những định bao gồm không rõ ràng o Appears informally to be on a tilt! Thực thay đổi hệ thống phần mềm qua thời gian sống qui trình lặp liên quan đến cải thiện hệ thống theo bước lặp UIT-VNUHCM 2009 53 CuuDuongThanCong.com https://fb.com/tailieudientucntt Reuse Model Thuận lợi o Có thể dùng thành phần từ dự án khác o Code is modular Không thuận lợi o Overhead in designing for reuse Nhận diện phần hệ thống cũ ứng viên tái sử dụng, Hiểu phần hệ thống này, Thay đổi phần hệ thống cũ phù hợp với yêu cầu, Tích hợp phần thay đổi vào hệ thống UIT-VNUHCM 2009 54 CuuDuongThanCong.com https://fb.com/tailieudientucntt Reuse-oriented development UIT-VNUHCM 2009 55 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.3 KHI THỰC HiỆN THAY ĐỔI Tăng trưởng qui trình Mơ hình tăng trưởng CMM (Capability Maturity Model) cho phần mềm Cơ sở kinh nghiệm phần mềm UIT-VNUHCM 2009 56 CuuDuongThanCong.com https://fb.com/tailieudientucntt So sánh nỗ lực bảo trì & phát triển UIT-VNUHCM 2009 57 CuuDuongThanCong.com https://fb.com/tailieudientucntt QUI TRÌNH – Cải tiến nâng cao chất lượng Quy trình khung sở để cải tiến tiến trình nâng cao chất lượng, suất Quy trình khung phổ biến (Các chuẩn) ISO CMM (Capability Maturity Model) CMMI (Capability Maturity Model Integration): level UIT-VNUHCM 2009 Initial (chaotic, ad hoc, heroic) the starting point for use of a new process Repeatable (project management, process discipline) the process is used repeatedly Defined (institutionalized) the process is defined/confirmed as a standard business process Managed (quantified) process management and measurement takes place Optimising (process improvement) process management includes deliberate process optimization/improvement 58 CuuDuongThanCong.com https://fb.com/tailieudientucntt Cơ sở tri thức kinh nghiệm Tri thức hình thành từ hướng dẫn (guidleline),mơ hình hay thể rõ ràng kỹ nhân Tổ chức tạo hệ thống để hỗ trợ chia kinh nghiệm yếu tổ đòi hỏi thực thi thành công sở tri thức kinh nghiệm: o o o o Thay đổi văn hố Tính ổn định Giá tri nghiệp vụ (business value) Thực thi tăng cường UIT-VNUHCM 2009 59 CuuDuongThanCong.com https://fb.com/tailieudientucntt Các khía cạnh bảo trì – kiến thức … Các khía cạnh kỹ sư bảo trì thực thay đổi, va tri thức hỗ trợ bảo trì UIT-VNUHCM 2009 60 CuuDuongThanCong.com https://fb.com/tailieudientucntt Vận dụng Cơng cụ KM Agent hỗ trợ Bảo trì UIT-VNUHCM 2009 61 CuuDuongThanCong.com https://fb.com/tailieudientucntt Vấn đề tham dự trình bảo trì ? Hiểu hệ thống hành o Hệ thống thực làm gì? o Ở đâu cần thay đổi? o Các phần phần mềm liên quan với nào? Thực thi thay đổi Kiểm thử Nhận diện nhu cầu thay đổi Thảo luận o o o o Hiểu chương trình ? Tác động thay đổi? Kiểm thử ? Vấn đề Quản lý? UIT-VNUHCM 2009 62 CuuDuongThanCong.com https://fb.com/tailieudientucntt Bài tập & thảo luận Exercise 5.6: Bạn thực dự án phần mềm vừa qua? Đó dự án thương mại & dự án cấp đại học hay dự án nhân Hãy viết đánh giá mơ hình chu trình sống mà bạn làm Nó có đảm bảo có cấu trúc hay khơng dự định Bạn có thực mơ hình khác bạn bắt đầu dự án lần Exercise 5.7: Bạn IT manager phải có trách nhiệm với hệ thống thư viện lớn bị lỗi không mong đợi vào sáng thứ hai Bạn trải qua bước để thực nào: o Nó cấp bách phải để thực o Nếu thư viện có chức tương đương cho vài ngày mà khơng có hệ thống phần mềm UIT-VNUHCM 2009 63 CuuDuongThanCong.com https://fb.com/tailieudientucntt Yêu cầu thực tuần Viết lại báo cáo cho thảo luận lớp Bài tập 1: Tìm hiểu qui trình nâng cao đảm bảo chất lượng (slide 58) Bài tập 2: Tìm hiểu Knowledge Management Agent hỗ trợ qui trình bảo trì (software maintenance process) Deadline tối hôm trước buổi học Chuẩn bị báo cáo khả thi cho đồ án nhóm, kết hợp thảo luận với nhóm khách hàng Sẽ dành thời gian cho nhóm ln phiên lên trình bày với khách hàng thứ … (Trên lớp) UIT-VNUHCM 2009 64 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... https://fb.com/tailieudientucntt Chương 3: QUI TRÌNH VÀ MƠ HÌNH BẢO TRÌ PHẦN MỀM 3. 1 QUI TRÌNH BẢO TRÌ PHẦN MỀM 3. 2 CÁC MƠ HÌNH BẢO TRÌ PHẦN MỀM 3. 3 KHI THỰC HiỆN THAY ĐỔI UIT-VNUHCM 2009 CuuDuongThanCong.com... https://fb.com/tailieudientucntt Chương 3: QUI TRÌNH VÀ MƠ HÌNH BẢO TRÌ PHẦN MỀM QUI TRÌNH BẢO TRÌ PHẦN MỀM o Định nghĩa o Qui trình sản phẩm phần mềm o Đánh giá phê bình qui trình mơ hình truyền thống Code-and-Fix Model... (Chương 3) QUI TRÌNH BẢO TRÌ PHẦN MỀM CÁC MƠ HÌNH BẢO TRÌ PHẦN MỀM KHI THỰC HiỆN THAY ĐỔI Thảo luận làm tập Q&A UIT-VNUHCM 2009 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 3: