SOFTWARE MAINTENANCE

32
SOFTWARE MAINTENANCE Nhóm 24

description

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ì ?. - PowerPoint PPT Presentation

Transcript of SOFTWARE MAINTENANCE

Page 1: SOFTWARE MAINTENANCE

SOFTWARE MAINTENANCE

Nhóm 24

Page 2: 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ợ.

Page 3: SOFTWARE MAINTENANCE

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.

Page 4: SOFTWARE MAINTENANCE

Phân loại

Corrective Maintenance. Adaptive Maintenance. Perfective Maintenance. Preventive Maintenance.

Page 5: SOFTWARE 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 logicLỗi CodingMộ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.

Page 6: SOFTWARE MAINTENANCE

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.

Page 7: SOFTWARE MAINTENANCE

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.

Page 8: SOFTWARE MAINTENANCE

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.

Page 9: SOFTWARE MAINTENANCE

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.

Page 10: SOFTWARE MAINTENANCE

Chi phí bảo trì

Page 11: SOFTWARE MAINTENANCE

ActivityEstimate (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

baseline2 - 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 results1

5. Change SRS, SDD, STP, configuration status

2 - 6 

TOTAL 14 - 35

Page 12: SOFTWARE MAINTENANCE

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.

Page 13: SOFTWARE MAINTENANCE

Ai thực hiện việc bảo trì ?

Page 14: SOFTWARE MAINTENANCE

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,…)

Page 15: SOFTWARE MAINTENANCE

HOW ….

Quy trình bảo trì phần mềmNhữ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

Page 16: SOFTWARE MAINTENANCE

Quy trình bảo trì phần mềm

Page 17: SOFTWARE MAINTENANCE

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 saiThay đổi môi trường làm việc mới cho hệ thống

Page 18: SOFTWARE MAINTENANCE

Quy trình bảo trì phần mềm(tt)Thực thi thay đổi

Phê duyệt những thay

đổi

Phân tích yêu cầu

Cập nhật yêu cầu

mới

Phát triển phần mềm

Page 19: SOFTWARE MAINTENANCE

Mô hình quy trình bảo trì phần mềm

IEEE1219-98 ISO/IEC 14764-00

Page 20: SOFTWARE MAINTENANCE

Những hoạt động trong bảo trì phần mềm

Hoạt động đặc thù:TransitionModification Request acceptance/rejectionModification Request and Problem Report Help

DeskService Level Agreements

Hoạt động hổ trợĐào tạo người dùngĐảm bảo chất lượngKiểm toán…

Page 21: SOFTWARE MAINTENANCE

Những kỉ thuật trong bảo trì phầm mềm

Program Comprehension Reverse engineering Re-engineering

Page 22: SOFTWARE MAINTENANCE

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.

Page 23: SOFTWARE MAINTENANCE

Reverse engineering

Page 24: SOFTWARE MAINTENANCE

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.

Page 25: SOFTWARE MAINTENANCE

Mô hình Re-enegineering trong phần mềm

Page 26: SOFTWARE MAINTENANCE

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)

Page 27: SOFTWARE MAINTENANCE

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 TestNavigate (Tìm kiểm, đi đến những điểm xác

định trong mã nguồn)

Page 28: SOFTWARE MAINTENANCE

Navigator

Page 29: SOFTWARE MAINTENANCE

Inspection

Page 30: SOFTWARE MAINTENANCE

Refactoring

Page 31: SOFTWARE MAINTENANCE

Unit Test

Page 32: SOFTWARE MAINTENANCE

Code Cleanup