Chapter 2 – Software processes. The objective of this chapter is to introduce you to the idea of a software process a coherent set of activities for software production. When you have read this chapter you will: understand the concepts of software processes and software process models; have been introduced to three generic software process models and when they might be used; know about the fundamental process activities of software requirements engineering, software development, testing, and evolution;. | Chapter 2 – Software Processes Lecture 1 1 Chapter 2 Software Processes Topics covered Software process models Process activities Coping with change The Rational Unified Process An example of a modern software process. 2 Chapter 2 Software Processes The software process A structured set of activities required to develop a software system. Many different software processes but all involve: Specification – defining what the system should do; Design and implementation – defining the organization of the system and implementing the system; Validation – checking that it does what the customer wants; Evolution – changing the system in response to changing customer needs. A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. 3 Chapter 2 Software Processes Software process descriptions When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data | Chapter 2 – Software Processes Lecture 1 1 Chapter 2 Software Processes Topics covered Software process models Process activities Coping with change The Rational Unified Process An example of a modern software process. 2 Chapter 2 Software Processes The software process A structured set of activities required to develop a software system. Many different software processes but all involve: Specification – defining what the system should do; Design and implementation – defining the organization of the system and implementing the system; Validation – checking that it does what the customer wants; Evolution – changing the system in response to changing customer needs. A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective. 3 Chapter 2 Software Processes Software process descriptions When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing a user interface, etc. and the 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. 4 Chapter 2 Software Processes Plan-driven and agile processes Plan-driven processes are processes where all of the process activities are planned in advance and progress is measured against this plan. In agile processes, planning is incremental and it is easier to change the process to reflect changing customer requirements. In practice, most practical processes include elements of both plan-driven and agile approaches. There are no right or wrong software processes. 5 Chapter 2 Software Processes Software process models The waterfall model Plan-driven model. Separate and distinct phases of .