320 likes | 499 Views
Nhóm 24. SOFTWARE MAINTENANCE. Nội dung. Software Maintenance là gì ? Tại sao chúng ta cần bảo trì phần mềm ? Khi nào thì nên thực hiện việc bảo trì ? Ai là người sẽ thực hiện việc bảo trì ? Phương pháp bảo trì phần mềm. Tools hỗ trợ. Software Maintenance là gì ?.
E N D
Nhóm 24 SOFTWARE MAINTENANCE
Nội dung • Software Maintenance là gì ? • Tại sao chúng ta cần bảo trì phần mềm ? • Khi nào thì nên thực hiện việc bảo trì ? • Ai là người sẽ thực hiện việc bảo trì ? • Phương pháp bảo trì phần mềm. • Tools hỗ trợ.
Software Maintenance là gì ? • Maintenance là giai đoạn cuối cùng của software life cycle. • Maintenance nâng cấp các tính năng của phần mềm, làm cho phần mềm hoạt động an toàn hơn. • Software Maintenance là sự thay đổi của một sản phẩm phần mềm nhằm sửa lỗi, cải thiện hiệu suất hoặc những thuộc tính khác hoặc nhằm giúp phần mềm thích ứng với các môi trường mới.
Phân loại • Corrective Maintenance. • Adaptive Maintenance. • Perfective Maintenance. • Preventive Maintenance.
Corrective Maintenance • Nhiệm vụ : • Sửa chữa các lỗi hay các khuyết điểm được tìm thấy. • Một số khuyết điểm thường gặp : • Lỗi thiết kế • Lỗi logic • Lỗi Coding • Một số khuyết điểm cũng có thể xảy ra ở lỗi xử lý dữ liệu và lỗi hoạt động của hệ thống.
Adaptive Maintenance • Nhiệm vụ : Giúp cho phần mềm tương thích với môi trường hoạt động bị thay đổi. • Việc có cần thiết để thực hiện Adaptive Maintenance hay không có thể được xác định bằng các kiểm soát hoạt động và thay đổi của môi trường.
Perfective Maintenance • Nhiệm vụ: Chủ yếu là thảo luận với khách hàng để kiểm tra những yêu cầu người dùng mới. • Quan tâm đến việc cải tiến chức năng và các hoạt động để tăng hiệu suất của hệ thống hoặc tăng cường giao diện người dùng.
Preventive Maintenance • Nhiệm vụ: Quan tâm tới các hoạt động nhằm tăng cường khả năng có thể bảo trì của hệ thống. • Để giảm bớt sự phức tạp, và làm cho các lần bảo trì sau đó dễ hơn.
Chi phí bảo trì • Ngày càng tăng. • Cao hơn nhiều so với chi phí phát triển phần mềm.
Activity Estimate (person-days) Activity Estimate (person-days) 1. Understand the problem and identify the functions that must be modified or added. 2 - 5 6. Compile and integrate into baseline 2 - 3 2. Design the changes 1 - 4 7. Test functionality of changes 2 - 4 3. Perform impact analysis 1 - 4 8. Perform regression testing 2 - 4 4. Implement changes in source code 1 - 4 9. Release new baseline and report results 1 5. Change SRS, SDD, STP, configuration status 2 - 6 TOTAL 14 - 35
Khi nào cần bảo trì phần mềm ? • Bảo trì định kì. • Bảo trì khi gặp sự cố. • Khi đối tác thay đổi các yêu cầu phần mềm.
Tại sao cần bảo trì phần mềm ? • Sửa các khuyết điểm (defect) của phần mềm. • Làm tăng chất lượng phần mềm. • Xác định độ tin cậy đối với phần mềm. • Đảm bảo hệ thống vận hành với hiệu suất cao nhất. • Xác định trách nhiệm của bộ phận gây ra lỗi, hư hỏng phần mềm (phát triển, vận hành,…)
HOW …. • Quy trình bảo trì phần mềm • Những mô hình bảo trì • Những hoạt động trong bảo trì • Những kỉ thuật dùng trong bảo trì phần mềm
Quy trình bảo trì phần mềm(tt)Thay đổi yêu cầu • Là những yêu cầu cho những thay đổi trên hệ thống bởi người dùng, khách hàng hay phát sinh từ nhu cầu quản lý. • Tất cả những yêu cầu cần được phân tích cẩn thận trước khi thực hiện và công việc này được xem là một phần quan trọng trong quy trình bảo trì phần mềm. • Các yêu cầu cần thực thi gấp: • Sửa lỗi sai • Thay đổi môi trường làm việc mới cho hệ thống
Mô hình quy trình bảo trì phần mềm IEEE1219-98 ISO/IEC 14764-00
Những hoạt động trong bảo trì phần mềm • Hoạt động đặc thù: • Transition • Modification Request acceptance/rejection • Modification Request and Problem Report Help Desk • Service Level Agreements • Hoạt động hổ trợ • Đào tạo người dùng • Đảm bảo chất lượng • Kiểm toán • …
Những kỉ thuật trong bảo trì phầm mềm • Program Comprehension • Reverse engineering • Re-engineering
Program Comprehension • Lập trình viên dành thời gian thích đáng cho việc đọc và hiểu được chương trình để có thể thực thi những thay đổi lên chương trình. • Sử dụng các công cụ “code browser” • Tài liệu đặc tả rõ ràng và súc tích có thể giúp rất nhiều cho việc hiểu chương trình.
Re-engineering • Là sự xem xét và thay đổi phần mềm để tái thiết nó trong dạng mới. • Bao gồm cả những thực thi kế tiếp với định dạng mới. • Liên quan đến việc hệ thống “Legacy” hiện có và làm nó dễ bảo trì hơn.
Tool : Resharper • Giới thiệu : • Là một add-in dành cho Visual Studio ( hỗ trợ VS2005, VS2008, VS2010) • Là một tool thương mại (commercial)
Tool : Resharper • Chức năng chính : • Phân tích chất lượng code C#, XAML, XML, ASP.NET, ASP.NET MVC. • Tái cấu trúc mã nguồn. • Phát hiện lỗi và những đoạn code có khả năng gây lỗi. • Unit Test • Navigate (Tìm kiểm, đi đến những điểm xác định trong mã nguồn)