Flashcards - FSE Week 9 Computer Science Study Materials
What is software change inevitable?
Because new requirements emerge, the business environment changes, errors must be repaired, new equipment is added, and performance/reliability may need improvement.
What key problem do organizations face regarding software systems?
Implementing and managing change to existing software systems.
What does the evolution stage of a software system entail?
It is when the system is in operational use and evolving due to new requirements.
What is the difference between servicing and evolution in software?
Servicing involves only necessary changes to keep software operational, while evolution includes implementing new requirements.
What drives software evolution processes?
Proposals for change linked with affected components allowing costs and impacts to be estimated.
What involves program understanding in change implementation?
Understanding how the program is structured and how changes might affect it.
What is the purpose of regression testing?
To check that changes have not ‘broken’ previously working code.
What issues arise in handover problems between agile and plan-based approaches?
Differences in documentation expectations and methods between agile and plan-based evolution teams.
What defines a legacy system?
An older system relying on outdated languages and technologies, often dependent on obsolete hardware.
What is a socio-technical system?
A system that includes hardware and software, defined operational processes, and influences from organizational structures.
Why is legacy system replacement risky?
Due to undocumented business rules, tight integration with processes, and risks of new software being late or over budget.
What are the components of a legacy system?
System hardware, support software, application software, application data, business processes, and policies/rules.
What is the consequence of high system change requests?
The lower the quality of the system.
How is software maintenance defined?
Modifying a program after it has been put into use, primarily for custom software.
What types of maintenance are there in software engineering?
Fault repairs, environmental adaptation, and functionality addition/modification.
What is the main focus of software evolution in large companies?
Devoting budget primarily to changing and evolving existing software than to developing new software.
What does environmental adaptation in software maintenance refer to?
Changing a system to operate in a different environment from its initial implementation.
What financial impact does legacy system maintenance have?
It can be expensive due to lack of consistent programming style and obsolete languages.