4. IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 4
5. What is
Software
Maintenance
• Changes to the software or service after delivery
• Software’s evolution through upgrades
• Last longer than development
IT1204 – Software Engineering Institute of Technology, University of
Moratuwa 5
7. Why is
Software
Maintenance
• To fix bugs
• To implement enhancements
• To increase non-functional qualities( securities,
performance)
• To decrease complexity
• To make it work in new environment
• Delete Retired functionalities
IT1204 – Software Engineering Institute of Technology, University of
Moratuwa 7
8. Categories of
Software
Maintenance
IT1204 – Software Engineering Institute of Technology,
University of Moratuwa 8
• rectify some bugs observed while the system is in use, or
to enhance the performance of the system.
Corrective maintenance:
• modifications and updating when the customers need the
product to run on new platforms, on new operating
systems, or when they need the product to interface
with new hardware and software.
Adaptive maintenance:
• support the new features that the users want or to
change different types of functionalities
Perfective maintenance:
• modifications and updations to prevent future problems
of the software
Preventive maintenance:
9. Software
Maintenance
Agreement
•Scope ( priority base/ resolution base/
Time base)
•Transition, SLA, incident management
•Software maintenance process
•Roles and responsibilities
•Cost estimation
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 9
10. Challenges in
Maintenance
• Priorities, Rates of requests
• Team instability, low skills
• Limited knowledge on the software code
• Limited domain knowledge, testing issues
• Quality of source code
• Lack of documentation
• Limited access to original developers
• Incorrect or incomplete impact analysis, process issues
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 10
12. Problem identification
phase
IT1204 – Software Engineering Institute of Technology, University of Moratuwa
• Modification request
comes
• Create the support case
• Inform the customer we
have created a support
case
• Identify the priority
12
13. Analysis phase
IT1204 – Software Engineering Institute of Technology, University of Moratuwa
• Check the issue in Local
environment
• Determine modification
elements
• Derive solution
• Identify the resolution
13
14. Design phase
•Design the changes
•Check the design is not
affecting working flows
•Develop test cases
•Inform the design and
solution
•Plan the implementation
14
15. Implementation phase
IT1204 – Software Engineering Institute of Technology, University of Moratuwa
•Coding
•Unit testing
•Code review
•Standards check
15
16. System test phase
•Testing the solution
•Testing other impacted
areas
•Move the implementation
to customer test
environment
•Create documents
•Inform the customer to test
16
17. Acceptance
test phase
• Send the test document to testers
• Assist customer representative to test
• Check whether the requested issue is
fixed
• Get the acceptance of the fix
• Get the confirmation to deliver
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 17
18. •Deploy the changes to
customer environments(PROD)
•Keep the version control
•Provide the deployment
documents
•Close the support case
IT1204 – Software Engineering Institute of Technology, University of Moratuwa 18
19. Thank you
IT1204 – Software Engineering
Institute of Technology, University of Moratuwa
19