1. According to Sommerville, what are the 3 different
strategies for software change? (1/2 credit for 2.)
- Software maintenance. Fixing bugs and adding features, without changing
overall structure of the software.
- Architectural transformation. Making fundamental changes in the structure
of the software.
- Software re-engineering. The basic structure is left unchanged, but the
software is modified to make it easier to understand and change.
2. Given a list of system components, what are two ways to
represent a specific system version?
- As a thread running through a component (or dependency) tree. This is a
visual representation.
- As a list that states the specific edit version of each component that is
included in the system version. Not every component needs to be included.