CyberArmy University | Open Source Institute | CyberArmy Intelligence & Security | CyberArmy Services & Projects

[Miscellaneous] Software Process Models


[Reply] [View by Thread] [Help]
[Back To Article Discussion Forum]

Posted by Author System On 2007-04-29 10:02:27




View and vote on the article here: Software Process Models


Software Process Models

Category
Miscellaneous
Summary
Body
<p align="left]
Software Process Models




A software process model is a development strategy that incorporates the development process, methods and tools used to design software. It is chosen based on the nature of the software and the methods and tools used in development. In this article, we will discuss three popular software process models:



1. Linear Sequential Model

2. Prototyping Model

3. Rapid Application Development (RAD) Model





Linear Sequential Model:

It is also called the "classic life cycle" or "the "waterfall model." The original waterfall model was proposed by Winston Royce. The linear sequential model is perhaps the oldest and most popular software process model.



The important stages in the linear sequential model are:



(1) Analysis

(2) Design

(3) Code Generation

(4) Testing



All these stages are arranged in a linear fashion, hence the name. It is interesting to note that the original proposal used "feedback loops," but now-a-days this model is treated in a completely linear sense.



However, despite the simplicity it offers, this model sometimes fails. For example:



(1) All real projects cannot strictly follow the linear model. Some amount of iteration always creeps in.

(2) If the specification of the project is not crystal clear at the beginning, it may lead to confusion in the later stages.

(3) A working model of the software is not available until the later stages, so the customers cannot see how the project is "taking shape."



But still, the linear model is used extensively, and is advantageous when the specification is well defined and understood.





Prototyping Model:

The main focus of this model is to develop a prototype of the software. The client then evaluates the working prototype, and suggests improvements and corrections, which all go into developing the real application.



The prototyping model is used when the client is unsure about the exact specification but has a genuine need. Then the software engineers can develop a rough prototype to gain an approval of the customer. If the prototype developed is a working model, the developers may use code fragments of the prototype when developing the final application.



Of course, the developers must resist the temptation to extend a prototype into a full fledged application. Because if this is done, the quality will suffer in the long run. The prototype is only meant for evaluation purposes. Some code fragments may be used, but using the whole prototype is not generally a good idea.





RAD Model:

The Rapid Application Development Model is used when there is a time constraint. It is an incremental software development process model.



It is an adaptation of the linear sequential model, and uses component based construction. Each component is given to a group of people known as a RAD team. This leads us to a drawback of the RAD model, that is, sufficiently high human resources are required to make optimum number of RAD teams.



The various phases involved in this model are:

(1) Business Modeling

(2) Data Modeling

(3) Process Modeling

(4) Application Generation

(5) Testing and Turnover



Not all types of applications are suited for the RAD process, but it is certainly the best bet when a tight deadline has to be met.



Written by Elastic Reality (4 September 2004)

Member of CAU Knowledge-Bank Tutorial Writers

Edited by jehnx


This article was imported from the CyberArmy University site. (original author: Elastic Reality)


There are no replies to this post yet.



Guest:
Subject:
Message:
Signature:
Optional Image Link:
http://

CyberArmy::Forum v0.6
Generated In 0.02000 seconds


About Us | Privacy Policy | Mission Statement | Help