1/24
Software Evolution
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
why 1
new requirements
why 2
business environment changes
why 3
errors must be repaired
why 4
new hardware may be added to the system
why 5
performance or reliability may have to be improved
evolution
system is in operational use and evolving as new requirements are proposed and implemented
servicing
system remains useful but changes are only made to keep it operational, no new functionality
phase out
system may still be used but no further changes are made
software evolution processes depend on 1
type of software being maintained
software evolution processes depend on 2
development processes used
software evolution processes depend on 3
skills and experience of people involved
handover problem
mismatch between development and evolution approaches
legacy system
older systems that rely on languages and technologies that are no longer used for new systems development
legacy system replacement risk 1
lack of complete system spec
legacy system replacement risk 2
tight integration of system and business
legacy system replacement risk 3
undocumented business rules embedded in legacy system
legacy system expensive to change 1
no consistent programming style
legacy system expensive to change 2
use of obsolete programming languages with few people available with the required skills
legacy system expensive to change 3
system structure degradation
fault repairs
changing a system to fix bugs or vulnerabilities
environmental adaptation
maintenance to adapt software to a different operating environment
functionality addition and modification
modifying the system to satisfy new requirements
software re-engineering
rewriting part or all of an existing system without changing functionality
benefits of re-engineering
reduced risk, reduced cost
refactoring
making improvements to a program to slow down degradation through change