Softwar E Proces SES Chapter Two
Softwar E Proces SES Chapter Two
Softwar E Proces SES Chapter Two
S O F T WA R
E PROCES
SES
SOFTWARE PROCESS MODELS
• Incremental development in some form is now the most common approach for the
development of application systems.
• This approach can be either plan-driven, agile, or, more usually, a mixture of these approaches.
– Ina plan-driven approach, the system increments are identified in advance;
– if an agile approach is adopted, the early increments are identified but the development of later
increments depends on progress and customer priorities.
• From a management perspective, the incremental approach has two problems:
– The process is not visible.
– System structure tends to degrade as new increments are added.
The problems of incremental development become
particularly acute for large, complex, long-lifetime
systems, where different teams develop different parts of
the system. Large systems need a stable framework or
architecture and the responsibilities of the different
teams working on parts of the system need to be clearly
defined with respect to that architecture. This has to be
planned in advance rather than developed incrementally.
REUSE-ORIENTE
D S O F T WA R E
ENGINEERING
• Acceptance testing is sometimes called ‘alpha testing’. Custom systems are developed for a
single client.The alpha testing process continues until the system developer and the client
agree that the delivered system is an acceptable implementation of the requirements.
• When a system is to be marketed as a software product, a testing process called ‘beta testing’ is
often used. Beta testing involves delivering a system to a number of potential customers who
agree to use that system.They report problems to the system developers.This exposes the
product to real use and detects errors that may not have been anticipated by the system
builders.After this feedback, the system is modified and released either for further beta testing
or for general sale
V-MODEL
PROCESS ACTIVITIES: SOFTWARE
EVOLUTION
COPING WITH CHANGE
• Change is inevitable in all large software projects.The system requirements change as the
business procuring the system responds to external pressures and management priorities
change.
• There are two related approaches that may be used to reduce the costs of rework:
– Change avoidance, where the software process includes activities that can anticipate possible
changes before significant rework is required. For example, a prototype system may be developed to
show some key features of the system to customers.
– Change tolerance, where the process is designed so that changes can be accommodated at
relatively low cost.This normally involves some form of incremental development.
COPING WITH CHANGE:
PROTOTYPING
COPING WITH CHANGE:
INCREMENTAL DELIVERY
BOEHM’S SPIRAL MODEL