Professional Documents
Culture Documents
Instructor:
Reham Adel
2. Process Activities
❑ Software Specification
❑ Software Design and Implementation
❑ Design activities
❑ Software Validation
❑ Testing stages
❑ Software Evolution
Component testing
Individual components are tested independently;
Components may be functions or objects or coherent
groupings of these entities.
System testing
Testing of the system as a whole. Testing of emergent
properties is particularly important.
❑ Acceptance testing
Testing with customer data to check that the system meets
the customer’s needs.
The system is tested by the system customer rather than with
simulated test data.
There are two related approaches that may be used to reduce the costs of rework:
1. Change anticipation, 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.
2. Change tolerance, where the process is designed so that changes can be
accommodated at relatively low cost.
❑ Incremental delivery, where system increments are delivered to
the customer for comment and experimentation. It avoids the
premature commitment to requirements for the whole system and allows
changes to be incorporated into later increments at relatively low cost
❑ Refactoring- is the process of restructuring code. The goal of refactoring is
to improve internal code by making many small changes without altering the
code's external behavior.
Chapter2 Software Processes
KEY POINTS
35