Software Engineering - Software Development Lifecycle Model

Pybeginner
By -
0

A software lifecycle model (also called a process model) is a descriptive, diagrammatic representation of the software lifecycle. A lifecycle model represents all the activities required to move a software product through its lifecycle phases. It also captures the order in which these activities must be performed. In other words, a lifecycle model maps the different activities performed on a software product from inception to retirement.


Different lifecycle models can map core development activities to phases in different ways. Thus, no matter which lifecycle model is followed, core activities are included in all lifecycle models, although activities may be performed in different orders in different lifecycle models. During any stage of the life cycle, more than one activity may also be performed.



The Need for a Software Lifecycle Model


The development team must identify a lifecycle model suitable for the specific project and then adhere to it. Without the use of a specific lifecycle model, the development of a software product would not be systematic and disciplined. When a software product is being developed by a team, there must be a clear understanding among team members about when and what to do. Otherwise, it would lead to chaos and project failure.


This problem can be illustrated using an example. Suppose a software development problem is divided into several parts and the pieces are assigned to team members. From then on, assume that team members are free to develop the parts assigned to them however they want. It is possible that one member will start writing the code for his part, another may decide to prepare the test documents first, and some other engineer may start with the design phase of the parts assigned to him. This would be one of the perfect recipes for project failure. 


A software lifecycle model defines entry and exit criteria for each phase. A stage can only start if its stage entry criteria are met. Therefore, without the software lifecycle model, the entry and exit criteria of a phase cannot be recognized. Without software lifecycle models, it becomes difficult for software project managers to monitor project progress.

Different Software Lifecycle Models 

Many lifecycle models have been proposed so far. Each of them has some advantages as well as some disadvantages. Some important and commonly used lifecycle models are as follows:


  • Classic Waterfall
  • Model Iterative Waterfall
  • Model Prototyping
  • Model Evolutionary
  • Model Spiral Model

We will talk more about these models later.


Post a Comment

0Comments

Post a Comment (0)