Maintenance/Evolution Flashcards
What is code maintenance?
- Correcting errors which were not discovered in earlier stage of the life cycle
- Updating the implementation for updating platforms
- Enhancing the system services as new requirements are discovered
What are the types of code changes you can have in the maintenance phase?
Fault repairs
Environmental adaptations
Functionality additions
Explain fault repairs
Fixing coding errors
Cost: cheap
Doesn’t involve much redesign
Explain environmental adpatation
Updates for new OS
Cost: A little more expensive than fault repairs
Doesn’t involve much redesign
Explain functionality additions
Meet business changes
Cost: Expensive, most common too!
Often involves redesign
Why is change expensive?
Poor original development practices
What are some poor original development practices?
Undocumented requirements
- Cant tell whats changed
Undocumented designs
- Cant understand plan
Low readability of code
- Cant figure out whats going on
Limited documentation
What is requirements change management?
The process of understanding and controlling change to requirements
What is the process of requirements change management?
- Don’t start with code
- Start by understanding the change and cost (big, small, easy, hard)
- Decide whos paying
What are emergency changes in code?
Problems which occur that require fast or emergency changes
- Updating code takes priority over documentation
What are the dangers of emergency changes in code?
- Multiple subsequent emergency repairs occur which mask the original emergency repairs
- Code gets unmanageable/ unmaintainable
When do we start code again?
Cost of change gets high
- Client notes it is costing a lot to have changes
- Software company realises code is getting hard to fix
How is maintenance different to software engineering?
Most SE involved the reuse or previous code
Evolution is another SE loop
Why is the maintenance of software important?
- Code can easily adapt to changing needs
- Minimising risks and costs
- Enhancing customer satisfaction