Software Maintenance and Reengineering Software Maintenance 1 Modifiability
Software Maintenance and Reengineering
Software Maintenance 1. Modifiability 2. Types of maintenance
• Software Maintenance – • Carried out, after the product is delivered to the customer. • Modifications or updations are takes place • Involves 60% of the efforts
• Modifiability – • Ability of the software • To be able to modify • (software should be modifiable easily)
• Types of maintenance – 1. Corrective maintenance • Incase of system failure, it is initiated • Errors are fixed. • 20% of the total maintenance activities 2. Adaptive maintenance • Implementation of - business rules, work patterns, government policies. • 25% of all the maintenance activities.
• Perfective maintenance • Deals with modified and changed user requirements • Efficiency of the code is continuously improved. • For ex. – modifying the payroll program according to new rules. • 50% of all the maintenance activities.
• Preventive maintenance • Prevents – errors to occur • 5% of all the maintenance activities.
Re-engineering • Need – • Old software were created by considering • The resources available at that time. • Which may not be efficient in – today’s world. • So, it is needed – to reengineer the software again • To meet the – requirements.
• Reverse Engineering – • Knowledge and design information • is extracted from the source code. • Going backward • through all the development cycles. • Used to reduce the cost and time, • in developing or repairing the product
• Code Restructuring – • Available code is restructured as per need. • For ex. Object oriented features are introduced • Data Restructuring – • New data objects and attributes are identified. • Existing data structures are reviewed.
• Forward Engineering – • New version of the existing software is created. • By integrating – • New users, new technologies and new requirements.
- Slides: 11