Lecture 11 Flashcards
What are the key problems for all organizations?
A key problem for all organizations is implementing and managing change to their existing software systems
What is fault repairs?
Changing a system to fix faults/vulnerabilities
What is environmental adaptation?
Changing a system so that it operates in a different way from its initial implementation
(New tax laws, Brexit for example)
What is modifying existing functionality?
Users asking for features to be changed
What is Program evolution dynamics?
Program evolution dynamics is the study of the processes of system change
Why should a program have continuous change?
A program that is used in a real-world environment must necessarily change or it becomes progressively less useful in that environment
Why do you have to check increasing complexity?
As an evolving program changes, its structure tends to become more complex. Extra resources must be devoted to preserving and simplifying the structure
Why does software need continuing growth?
The functionality offered by systems has to continually
increase to maintain user satisfaction
What is declining quality?
The quality of systems will decline unless they are
modified to reflect changes in their operational
environment
What is a feedback system?
Evolution processes incorporate multiagent, multiloop feedback systems and you have to treat them as feedback systems to achieve significant product
improvement.
What is legacy system replacement?
Outdated system changing it
Why is replacing legacy system risky?
Lack of complete original system specification
No means of reusing the old designs
Undocumented business rules embedded in the legacy system
Poor upkeep of documentation
New software development is always late and over budget
Replacement will always be over budget and late
What are the legacy system catagories
Low quality, low business value
• These systems should be scrapped
Low quality, high business value
• These make an important business contribution but are expensive to maintain
• Should be re-engineered or replaced if a suitable system is available
High quality, low business value
• Scrap completely or maintain (?)
High quality, high business value
• Continue in operation using normal system maintenance
What are the re-engineering cost factors?
The quality of the software to be reengineered
• Can software metrics help here to measure quality?7
The tool support available for reengineering
• Developers are always moaning about tools
• Refactoring tools are poor
The availability of expert staff for reengineering
• This can be a problem with old systems based on technology that is no longer widely used
Time (costs money)
• The cost of one developer per day
Technical debt
Factors that affect system lifetimes:
Investment costs
The costs of a systems engineering project may be tens or even hundreds of millions of pounds