Software Life Cycle Model

Posted on Tuesday, August 11, 2009
This was posted in Software Engineering

A (software/system) life cycle model is a description of the sequence of activities carried out in an SE project, and the relative order of these activities. It specifies the relationships between project phases, including transition criteria, feedback mechanisms, milestones, baselines, reviews, and deliverables.

A Project Plan contains much information, but must at least describe:

  • resources needed (people, money, equipment, etc)
  • dependency & timing of work (flow graph, work packages)
  • rate of delivery (reports, code, etc)

A software lifecycle model is a standardized format for

  • Planning
  • Organizing, and
  • Running,

a new development project.

It provides a fixed generic framework that can be tailored to a specific project. Project specific parameters will include:

  • Size (person-years)
  • Budget
  • Duration

So, “Project plan = lifecycle model + project parameters”

A software life cycle model is either a descriptive or prescriptive characterization of how software is or should be developed. A descriptive model describes the history of how a particular software system was developed. Descriptive models may be used as the basis for understanding and improving software development processes, or for building empirically grounded prescriptive models (Curtis, Krasner, Iscoe, 1988). A prescriptive model prescribes how a new software system should be developed. Prescriptive models are used as guidelines or frameworks to organize and structure how software development activities should be performed, and in what order. Typically, it is easier and more common to articulate a prescriptive life cycle model for how software systems should be developed. This is possible since most such models are intuitive or well reasoned. This means that many distinctive details that describe how a software systems is built in practice can be ignored, generalized, or deferred for later consideration. This, of course, should raise concern for the relative validity and robustness of such life cycle models when developing different kinds of application systems, in different kinds of development settings, using different programming languages, with differentially skilled staff, etc. However, prescriptive models are also used to package the development tasks and techniques for using a given set of software engineering tools or environment during a development project.

Descriptive life cycle models, on the other hand, characterize how particular software systems are actually developed in specific settings. As such, they are less common and more difficult to articulate for an obvious reason: one must observe or collect data throughout the life cycle of a software system, a period of elapsed time often measured in years. Also, descriptive models are specific to the systems observed and only generalizable through systematic comparative analysis.

Therefore, this suggests the prescriptive software life cycle models will dominate attention until a sufficient base of observational data is available to articulate empirically grounded descriptive life cycle models.

References:

http://www.nada.kth.se/

http://www.softpanorama.org/

sdlc life cycle amity university,SE life cycle model,www nada kth se life cycle
Path :: Home > Articles > Software Engineering > Software Life Cycle Model