Explain why change is inevitable in complex systems and give examples (apart from prototyping and incremental delivery) of software process activities that help predict changes and make the software being developed more resilient to change.

What will be an ideal response?

Systems must change because as they are installed in an environment the
environment adapts to them and this adaptation naturally generates new/different system requirements. Furthermore, the system's environment is dynamic and
constantly generates new requirements as a consequence of changes to the
business, business goals and business policies. Unless the system is adapted to
reflect these requirements, its facilities will become out-of-step with the facilities
needed to support the business and, hence, it will become less useful.
Examples of process activities that support change are:
1. Recording of requirements rationale so that the reason why a requirement is
included is known. This helps with future change.
2. Requirements traceability that shows dependencies between requirements
and between the requirements and the design/code of the system.
3. Design modeling where the design model documents the structure of the
software.
4. Code refactoring that improves code quality and so makes it more amenable
to change.

Computer Science & Information Technology

You might also like to view...

c. counting

a. doubleMap b. toDouble c. mapToDouble d. toDoubleStream

Computer Science & Information Technology

A ____ is a character that alters the way a pattern match occurs.

A. Character class B. Pattern class C. Metacharacter D. Metaword

Computer Science & Information Technology