What percentage of resources is spent on initial software development compared to their maintanace?
Maintanance typically claims 40-80% of all project costs, usually toward the higher end (Barry Boehm)
Give a short summary of the history of Software Evolution:
Software evolution is a crucial ingredient of agile software development (iterative and incremental development, embracing change!)
Describe the to dimensions of Software Evolution:
What are the two main activiteis of software evolution?
- Reverse Engineering
- Re-engineering
What is Reverse Engineering about?
Activity needed when trying to understand the architecture of behavior of a large software system, when the only reliable information is the source code.
Aims at building higher-level, more abstract, software models from the source code.
What is re-engineering about?
Activity needed when trying to re-structure a legacy system. In other words, systems that are still valuable, but are difficult to maintain.
Aims at producing a new system that is more evolvable.