Methodology:: Development Models

This page represents my collection of the (Software) Development Models related diagrams and slides. You may download whole page in HTML format: development_models_html.zip (307 KB) and / or slides in Visio 5 format: development_models_visio.zip (110 KB) .

Navigation: If you click on thumbnail picture, it will zoom in. To zoom it out, click on picture again.

Update 27-Apr-2003

Waterfall Model

Figure 1.

Link to Waterfall Model diagram

The waterfall model is the classical model of development for both hardware and software. This model is frequently called the conventional model. The project is expected to progress down the (primary) path through each of the phases (requirements, design, coding and unit test, integration, and maintenance) of development, with deliverables (software requirements specification, design documents, actual code and test cases, final product, product updates) at each stage.

Work products (called deliverables) flow down the primary, stepwise path of normal development. The reverse flow represents iterative changes applied to a prior deliverable, the need for which has been only recognized in the next phase or even later. This is a natural consequence of the uncertainly associated with all development activity. Such changes are called rework and will require that not only some portion of the prior phase be repeated but the current one as well.

 

Incremental Model

Figure 2.

Link to Incremental Model diagram

The incremental life cycle model was one of the first variations to be derived from the waterfall model. The assumption behind the model is that the requirements can be segmented into an incremental series of the products, each of which is developed somewhat independently.

 

Incremental Waterfall Model

Figure 3.

Link to Incremental Waterfall Model diagram

In addition to the benefits that arise from being variation of the waterfall model, the incremental model has the following advantages: (1) Less cost and time is required to make the first delivery. (2) Less risk is incurred to develop the smaller systems represented by the increments. (3) User requirement changes may decrease because of the quicker time to first release. (4) Incremental funding is allowed; that is, only one or two increments might be funded when the program starts.

However, if the incremental model is inappropriate or misused, it has the following disadvantages: (1) Fielding of initial increments may destabilize later increments through unplanned levels of user change requests. (2) If requirements are not as stable or complete as thought earlier, increments might be withdrawn from service, reworked, and re-released. (3) Managing the resulting cost, schedule, and configuration complexity may exceed the capabilities of the organization.

 

Evolutionary Model

Figure 4.

Link to Evolutionary Model diagram

The next logical step in life cycle development is the evolutionary model, which explicitly extends the incremental model to the requirements phase. Fig.4 illustrates this, showing that the first build increment is used to refine the requirement s for a second build increment.

The advantages of the evolutionary model are as follows: (1) The model can be used when the requirements cannot or will not be specified. (2) The user can experiment with the system to improve the requirements. (3) Greater user/acquirer involvement is required than in the waterfall method.

The disadvantages are: (1) Use of the method is exploratory in nature and therefore constitutes a high-risk endeavor. Strong management is required. (2) This method is used as an excuse for hacking to avoid documenting the requirements or design, even if they are well understood. (3) Users/acquirers do not understand the nature of the approach and can be disappointed when results are unsatisfactory.

 

Spiral Model

Figure 5.

Link to Spiral Model diagram

The main features of the spiral model are:

Planning, Analysis, Development, and Testing are repeated on each iteration.

User acceptance testing will be started only after source code is ready.

 

Mapping of the Activities and Multiple Releases

Figure 6.

Link to Mapping of the Activities and Multiple Releases diagram

Mapping of the Activities and Multiple releases (Builds) is shown on Fig. 6.

See US Military MIL-STD-498 standard for further information.

 

Page updated: 26 Aug 2003 23:01 +0400