An Integrated Approach to Software Engineering, Third Edition

As we saw in the previous chapter, the concept of process is at the heart of the software engineering approach. According to Webster, the term process means a particular method of doing something, generally involving a number of steps or operations. In software engineering, the phrase software process refers to the methods of developing software.
A software process is a set of activities, together with ordering constraints among them, such that if the activities are performed properly and in accordance with the ordering constraints, the desired result is produced. The basic desired result is, as stated earlier, high quality and productivity. In this chapter, we will discuss the concept of software processes further, the component processes of a software process, and some models that have been proposed.
In an organization whose major business is software development, there are typically many processes executing simultaneously. Many of these do not concern software engineering, though they do impact software development. These could be considered nonsoftware engineering process. Business processes, social processes, and training processes, are all examples of processes that come under this. These processes also affect the software development activity but are beyond the purview of software engineering.
The process that deals with the technical and management issues of software development is called a software process. Clearly, many different types of activities need to be performed to develop software. All these activities together comprise the software process. As different type of activities are being...