Bài giảng Nhập môn công nghệ phần mềm - Phan Phương Lan
z Phần I: Tổng quan vềCông nghệphần mềm
z Chương 1: Giới thiệu vềCông nghệphần mềm
z Chương 2: Các mô hình vềtiến trình phần mềm
z Chương 3: Quản lý phần mềm
z Quản lí nhân sựvà tổchức
z Quản lí chất lượng
z Quản lí cấu hình
z Quản lí dựán
z Chương 4: Ước lượng giá thành
z Phần II: Tiến trình phần mềm
z Chương 5: Đặc tảyêu cầu
z Chương 6: Thiết kế
z Chương 7: Lập trình
z Chương 8: Kiểm thử
z Chương 9: Triển khai hệthống
z Chương 10: Bảo trì
c đặc điểm, đặc trưng và thuận lợi của hệ thống 15 Tài liệu z Sách hướng dẫn điều hành viên z Cấu hình phần cứng, phần mềm z Các phương pháp chấp nhận và từ chối truy xuất đối với người dùng z Các thủ tục thêm để bổ sung và loại bỏ các ngoại vi ra khỏi hệ thống z Các kỹ thuật để sao chép và dự phòng các tập tin và tài liệu 16 Tài liệu z Hướng dẫn hệ thống chung z Hệ thống chi tiết hóa theo cách mà khách hàng có thể hiểu z Cấu hình phần cứng và phần mềm của hệ thống z Triết lý ẩn dưới cấu trúc của hệ thống 17 Tài liệu z Hướng dẫn học và các khái quát được tự động z Hướng dẫn học được tự động hóa, từng bước một, dựa trên đa phương tiện 18 Tài liệu z Hướng dẫn lập trình viên z Khái quát về cách thức phần cứng, phần mềm được cấu hình z Các thành phần của phần mềm được chi tiết hóa và các chức năng của chúng được thực hiện z Các chức năng hỗ trợ hệ thống z Các cải tiến của hệ thống 19 Tài liệu z Gỡ rối và giúp đỡ người dùng z Thông điệp chỉ dẫn khi hệ thống không thực hiện z Các tài liệu tham khảo z Các tập tin giúp đỡ trực tuyến 1NHẬP MÔN CÔNG NGHỆ PHẦN MỀM CHƯƠNG 10– BẢO TRÌ HỆ THỐNG 2 Nội dung z Hệ thống thay đổi z Trạng thái tự nhiên của bảo trì z Các vấn đề bảo trì z Đo các đặc trưng của bảo trì z Các kỹ thuật và công cụ bảo trì 3Hệ thống thay đổi z Bảo trì: bất cứ công việc nào được thực hiện để thay đổi hệ thống sau khi nó được đưa vào vận hành z Phần mềm liên tục tiến hóa => Quy trình bảo trì có thể khó khăn Hệ thống thay đổi z Các kiểu hệ thống của Lehman z Hệ thống S (S-system) z Hệ tống P (P-system) z Hệ thống E (E-system) 5Hệ thống thay đổi z Hệ thống S: được định nghĩa một cách hình thức và được dẫn ra từ sự đặc tả 6 Hệ thống thay đổi z Hệ thống P: các yêu cầu được dựa trên giải pháp gần với vấn đề (thực tế hơn để xây dựng và sử dụng ) 7Hệ thống thay đổi z Hệ thống E: được nhúng vào thế giới thực và thay đổi và thay đổi theo nó 8 Hệ thống thay đổi z Các thay đổi trong suốt chu kỳ sống của hệ thống z Hệ thống S: không thay đổi z Hệ thống P: thay đổi gia tăng z Hệ thống E: thay đổi hằng số Bản chất của bảo trì z Các loại bảo trì z Hiệu chỉnh (Corrective): duy trì sự kiểm soát trên các chức năng hàng ngày z Thích ứng (Adaptive): duy trì sự kiểm soát trên các sửa đổi của hệ thống z Hoàn thiện (Perfective): hoàn thiện các chức năng z Ngăn ngừa (Preventive): ngăn sự thực thi của hệ thống bị suy thoái tới các mức không thể chấp nhận Bản chất của bảo trì z Người thực hiện bảo trì z Nhóm bảo trì độc lập z Có thể khách quan hơn z Dễ dàng hơn trong phân biệt cách thức hệ thống nên thực hiện với cách thức hệ thống thực hiện z Một phần của nhóm phát triển z Xây dựng hệ thống theo cách làm cho việc bảo trì dễ dàng hơn z Quá tự tin, lờ đi tài liệu giúp cho việc bảo trì Bản chất của bảo trì • Hiểu hệ thống • Định vị thông tin trong tài liệu hệ thống • Tiếp tục cập nhật tài liệu hệ thống • Mở rộng các chức năng hiện có để đáp ứng các yêu cầu đang thay đổi hay yêu cầu mới • Thêm các chức năng mới vào hệ thống • Tìm ra nguồn gốc của vấn đề hay sự thất bại của hệ thống • Định vị và hiệu chỉnh các lỗi • Trả lời các câu hỏi về cách thức hệ thống hoạt động • Tái tổ chức các thành phần mã lệnh và thiết kế • Viết lại các thành phần mã lệnh và thiết kế • Xóa các thành phần mã lệnh và thiết kế mà chúng không còn có ích • Quản lý các thay đổi của hệ thống khi chúng được tạo ra z Trách nhiệm của nhóm bảo trì 12 Bản chất của bảo trì z Sử dụng thời gian bảo trì: Các vấn đề bảo trì z Các vấn đề nhân sự z Sự hiểu biết hạn chế z Các ưu tiên trong quản lý z Đạo đức z Các vấn đề kỹ thuật z Các mô hình z Các khó khăn của kiểm thử Các vấn đề bảo trì z Cần sự thỏa hiệp z Cân bằng nhu cầu thay đổi với nhu cầu giữ cho hệ thống sẵn có với người dùng z Sửa chữa vấn đề nhanh nhưng giải pháp thiếu sự tinh tế z Vấn đề giải quyết chỉ liên quan đến sự hiệu chỉnh tức thời của lỗi Các vấn đề bảo trì z Các yếu tố tác động đến phương pháp bảo trì z Kiểu không hoạt động z Tính khốc liệt hay nguy kịch của sự không hoạt động z Mức độ khó của các thay đổi được yêu cầu z Phạm vi của các thay đổi được yêu cầu z Tính phức tạp của các thành phần sẽ được thay đổi z Số vị trí vật lý mà tại đó các thay đổi phải được tạo ra 16 Các vấn đề bảo trì z Các yếu tố tác động đến phương pháp bảo trì z Loại ứng dụng z Tính mới lạ của hệ thống z Khả năng của nhân viên bảo trì và tốc độ thay thế z Nhịp sống của hệ thống z Sự phụ thuộc vào môi trường hay thay đổi z Các đặc trưng của phần cứng z Chất lượng thiết kế z Chất lượng lập trình z Chất lượng tài liệu z Chất lượng kiểm thử 17 Các vấn đề bảo trì z Mô hình hóa công sức bảo trì (Belady và Lehman) M = p + Kc-d z M : toàn bộ công sức bảo trì z p : công sức sản xuất z c: tính phức tạp z d : mức độ quen thuộc z K : hằng số kinh nghiệm 18 Các vấn đề bảo trì z Mô hình hóa công sức bảo trì (COCOMO 2) Size = ASLOC (AA + SU + 0.4DM + 0.3CM + 0.3IM)/100 z ASLOC: số dòng mã nguồn được sửa lại z AA: công sức đánh giá và đồng hóa z SU: mức hiểu biết phần mềm z DM: tỷ lệ % thiết kế được hiệu chỉnh z CM: tỷ lệ % mã lệnh được hiệu chỉnh z IM: tỷ lệ % mã lệnh bên ngoài được tích hợp 19 Các vấn đề bảo trì 1020304050SU increment Self descriptive code; documentation up-to-date , well organized, with design rationale Good code commentary and headers; useful documentation; some weak areas Moderate level of code commentary headers, and documentation Some code commentary headers; some useful documentation Obscure code; documentation missing, obscure, or obsolete Self descriptiveness Clear match between program and application worldviews Good correlation between program and application Moderate correlation between program and application Some correlation between program and application No match between program and application worldviews Application clarity Strong modularity, information hiding in data and control structure High cohesion, low coupling Reasonably well structured, some weak areas Moderately low cohesion, high coupling Very low cohesion, high coupling, spaghetti code Structure Very highHighNominalLowVery low Bảng đánh giá SU 20 Các vấn đề bảo trì Extensive component test and evaluation documentation 8 Considerable component test and evaluation documentation 6 Some component test and evaluation documentation4 Basic component search and documentation2 None0 Level of Assessment and Assimilation EffortAssessment and Assimilation Increment Công sức AA 21 Đo các đặc trưng của bảo trì z Tính dễ bảo trì không chỉ liên quan đến mã lệnh mà còn liên quan đến sự đặc tả, thiết kế và kế hoạch kiểm thử z Tính dễ bảo trì có thể được nhìn theo hai cách z Nhìn bên ngoài phần mềm z Nhìn bên trong phần mềm 22 Đo các đặc trưng của bảo trì z Dữ liệu cần thiết z Thời điểm mà vấn đề được báo cáo z Thời gian uổng phí do sự trì hoãn quản lý z Thời gian cần để phân tích vấn đề z Thời gian cần để xác định những thay đổi nào sẽ được tạo ra z Thời gian cần để tạo ra sự thay đổi z Thời gian cần để kiểm thử sự thay đổi z Thời gian cần để ghi sự thay đổi vào tài liệu z Dữ liệu mong muốn z Tỷ lệ thời gian thực hiện thay đổi hoàn toàn trên số các thay đổi được thực hiện z Số vấn đề chưa được giải quyết z Thời gian dùng cho các vấn đề chưa được giải quyết z Tỷ lệ phần trăm các thay đổi gây ra lỗi mới z Số thành phần được sửa đổi để thực hiện sự thay đổi Các thuộc tính bên ngoài tác động đến tính dễ bảo trì 23 Đo các đặc trưng của bảo trì z Các thuộc tính bên trong tác động đến tính dễ bảo trì (theo McCabe) z Tính phức tạp về cấu trúc của mã nguồn zĐường độc lập tuyến tính z Dựa trên khái niệm lý thuyết đồ thị 24 Đo các đặc trưng của bảo trì z Các phép đo khác z Phân tích cây phân lớp z Chỉ mục Fog z Tính dễ đọc của De Young và Kampen 25 Kỹ thuật và công cụ bảo trì z Quản lý cấu hình z Ban kiểm soát cấu hình z Kiểm soát sự thay đổi z Phân tích tác động z Công cụ bảo trì được tự động hóa 26 Kỹ thuật và công cụ bảo trì z Quy trình kiểm soát cấu hình z Vấn đề được phát hiện bởi hay sự thay đổi được yêu cầu bởi người dùng/khách hàng/nhà phát triển và được ghi lại z Sự thay đổi được báo cáo tới ban kiểm soát cấu hình (CCB) z CCB thảo luận về vấn đề: xác định bản chất của sự thay đổi, người trả chi phí z CCB thảo luận về nguồn gốc của vấn đề, phạm vi của sự thay đổi, thời gian sửa đổi; họ đưa ra độ ưu tiên và giao cho nhà phân tích z Nhà phân tích tạo ra sự thay đổi trên bản sao của kiểm thử z Nhà phân tích làm việc với thủ thư để kiểm soát sự thực hiện sự thay đổi z Nhà phân tích đưa ra báo cáo về sự thay đổi 27 Kỹ thuật và công cụ bảo trì z Các vấn đề kiểm soát sự thay đổi z Sự đồng bộ hóa: khi sự thay đổi được tạo ra? z Nhận dạng: ai tạo ra sự thay đổi? z Đặt tên: thành phần nào của hệ thống được thay đổi? z Sự xác thực: thay đổi được tạo ra một cách chính xác? z Sự cho phép: ai được cho phép với sự thay đổi? z Lộ trình: ai được thông báo về sự thay đổi? z Sự hủy bỏ: ai có thể hủy bỏ yêu cầu thay đổi? z Sự ủy thác: ai có trách nhiệm đối với sự thay đổi? z Sự đánh giá: độ ưu tiên của sự thay đổi? 28 Kỹ thuật và công cụ bảo trì z Phân tích sự tác động z Sự đánh giá các rủi ro liên quan tới sự thay đổi, bao gồm các dự đoán về các ảnh hưởng lên tài nguyên, công sức và lịch biểu z Giúp kiểm soát chi phí bảo trì 29 Kỹ thuật và công cụ bảo trì z Các hoạt động bảo trì phần mềm: hình minh họa các hoạt động được thực hiện khi một thay đổi được yêu cầu 30 Kỹ thuật và công cụ bảo trì z Công cụ bảo trì được tự động z Trình soạn thảo văn bản z Trình so tập tin z Trình biên dịch và trình tải z Công cụ gỡ rối z Bộ sinh tham chiếu chéo z Bộ phân tích mã lệnh tĩnh z Kho quản lý cấu hình
File đính kèm:
- Bài giảng Nhập môn công nghệ phần mềm - Phan Phương Lan.pdf