Page 70 -
P. 70
Chapter 2 Key points 53
6. Control changes to software Manage changes to the software using a change
management system and configuration management procedures and tools.
The RUP is not a suitable process for all types of development, e.g., embedded
software development. However, it does represent an approach that potentially com-
bines the three generic process models discussed in Section 2.1. The most important
innovations in the RUP are the separation of phases and workflows, and the recogni-
tion that deploying software in a user’s environment is part of the process. Phases are
dynamic and have goals. Workflows are static and are technical activities that are not
associated with a single phase but may be used throughout the development to
achieve the goals of each phase.
KEY POINTS
Software processes are the activities involved in producing a software system. Software process
models are abstract representations of these processes.
General process models describe the organization of software processes. Examples of these general
models include the waterfall model, incremental development, and reuse-oriented development.
Requirements engineering is the process of developing a software specification. Specifications
are intended to communicate the system needs of the customer to the system developers.
Design and implementation processes are concerned with transforming a requirements
specification into an executable software system. Systematic design methods may be used as
part of this transformation.
Software validation is the process of checking that the system conforms to its specification and
that it meets the real needs of the users of the system.
Software evolution takes place when you change existing software systems to meet new
requirements. Changes are continuous and the software must evolve to remain useful.
Processes should include activities to cope with change. This may involve a prototyping phase
that helps avoid poor decisions on requirements and design. Processes may be structured for
iterative development and delivery so that changes may be made without disrupting the system
as a whole.
The Rational Unified Process is a modern generic process model that is organized into phases
(inception, elaboration, construction, and transition) but separates activities (requirements,
analysis, and design, etc.) from these phases.