Introduction:
To build any software product, we need a process model as a framework for performing all the software engineering activities. The process model guides the software project and is also called a 'life cycle model' or a 'software engineering paradigm'. Many process models have evolved over time as a part of software engineering.
In this section, you will learn what a process model is by using the linear sequential process model as an example. This model is the earliest process model and the easiest to understand. It is also called the 'waterfall model' or the 'classic model'.
The process used to build software
The process used for building software is similar to any other process used for building a custom-made product, such as a house.To construct a house we need to analyze what is needed, design the house, construct it, and check if the constructed house meets the requirements. Similarly, for building software we need to understand the customer requirements, design and construct the product, and finally test it.
The process layer of software engineering
To understand what a process model is, it is important to be familiar with the concept of the process layer of software engineering. Software engineering, the discipline concerned with building software products, has the process layer as its foundation. The process layer provides the framework for all the development and management activities for building a software product. It acts as a harness for placing the technical methods required for engineering the software.
The definition of a process model is a part of this foundation. The process model spans the life cycle of a software product from its initiation, through implementation, support, and maintenance, until it is no longer in use. Therefore, it is also called a life cycle model or a software engineering paradigm
Software life cycle and development cycle
Let us now understand how the two terms related to software process model—software life cycle and software development life cycle—are defined. IEEE 610.12-1990 defines a software life cycle as 'the period of time that begins when a software product is conceived and ends when the software product is no longer in use'.
It defines a software development cycle as 'the period of time that begins with the decision to develop a software product and ends when the software is delivered'.
These two definitions represent two views of the coverage for a software process model. One view is concerned only with the development activities ending with the delivery of the software to the customer. The other view also takes into account the support and maintenance activities performed after the software is released to the customer.
0 comments:
Post a Comment