1/ - Organisation de la maintenance MAINTENANCE INDUSTRIELLE 1/ - Organisation de la maintenance.
SOFTWARE MAINTENANCE
description
Transcript of SOFTWARE MAINTENANCE
SOFTWARE MAINTENANCE
Nhóm 24
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 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.
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.
Chi phí bảo trì
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
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.
Ai thực hiện việc bảo trì ?
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ề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
Quy trình 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 saiThay đổi môi trường làm việc mới cho hệ thống
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
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ù: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…
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.
Reverse engineering
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.
Mô hình Re-enegineering trong phần mềm
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 TestNavigate (Tìm kiểm, đi đến những điểm xác
định trong mã nguồn)
Navigator
Inspection
Refactoring
Unit Test
Code Cleanup