Ch2 SW Processes
Ch2 SW Processes
Processes activities:
▪ specifying a requirements
▪ designing a user interface, , data models, object models, etc.
▪ ordering of these activities.
Process descriptions may also include:
▪ Products, which are the outcomes of a process activity;
▪ Roles, which reflect the responsibilities of the people involved in
the process;
▪ Pre- and post-conditions, which are statements that are true
before and after a process activity has been enacted or a
product produced.
▪ Incremental development
• Agile development
• Incrementally planned
Incremental development
▪ Develop the system in increments and evaluate each increment
before proceeding to the development of the next increment;
▪ Agile is incremental by definition
▪ Evaluation done by user/customer proxy.
Planning may be done in advance or as needed.
▪ In advance, requirements could be divided into incremental
deliverables for the customer.
▪ As needed, highest priority requirements are delivered. Then
the next highest priority items are addressed. This is called Agile
Development.
Incremental delivery
▪ Deploy an increment for use by end-user;
▪ More realistic evaluation about practical use of software;
▪ Difficult to implement for replacement systems as increments
have less functionality than the system being replaced.
For example:
▪ Web-service
▪ Component frameworks(J2EE,.NET)
▪ Commercial Off the Shelf (COTS) products
• SAP – business software with configurable modules
Requirements specification
Software discovery and evaluation
Requirements refinement
Application system configuration
Component adaptation and integration
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.
Customer testing
▪ Testing with customer data to check that the system meets the
customer’s needs.
Incremental development
▪ Develop the system in increments and evaluate each increment
before proceeding to the development of the next increment;
▪ Normal approach used in agile methods;
▪ Evaluation done by user/customer proxy.
Incremental delivery
▪ Deploy an increment for use by end-users;
▪ More realistic evaluation about practical use of software;
▪ Difficult to implement for replacement systems as increments
have less functionality than the system being replaced.
Process measurement
▪ You measure one or more attributes of the software process or
product. These measurements forms a baseline that helps you
decide if process improvements have been effective.
Process analysis
▪ The current process is assessed, and process weaknesses and
bottlenecks are identified. Process models (sometimes called
process maps) that describe the process may be developed.
Process change
▪ Process changes are proposed to address some of the identified
process weaknesses. These are introduced and the cycle
resumes to collect data about the effectiveness of the changes.
Initial
▪ Essentially uncontrolled
Repeatable
▪ Product management procedures defined and used
Defined
▪ Process management procedures and strategies defined
and used
Managed
▪ Quality management strategies defined and used
Optimising
▪ Process improvement strategies defined and used
30/10/2014 Chapter 2 Software Processes 63
Key points