0% found this document useful (0 votes)
52 views10 pages

MODELS in Software Engg.

There are three types of prescriptive process models described in the document: the waterfall model, incremental process model, and RAD (Rapid Application Development) model. The waterfall model involves completing each phase fully before beginning the next in a linear sequential fashion. The incremental process model combines elements of the waterfall model in an iterative fashion. The RAD model aims to develop software rapidly through initial communication, planning, and dividing requirements into iterative groups.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views10 pages

MODELS in Software Engg.

There are three types of prescriptive process models described in the document: the waterfall model, incremental process model, and RAD (Rapid Application Development) model. The waterfall model involves completing each phase fully before beginning the next in a linear sequential fashion. The incremental process model combines elements of the waterfall model in an iterative fashion. The RAD model aims to develop software rapidly through initial communication, planning, and dividing requirements into iterative groups.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

There are three types of prescriptive process models.

They are:

1. The Waterfall Model


2. Incremental Process model
3. RAD model

1. The Waterfall Model

 The waterfall model is also called as 'Linear sequential model' or 'Classic


life cycle model'.
 In this model, each phase is fully completed before the beginning of the next
phase.
 This model is used for the small projects.
 In this model, feedback is taken after each phase to ensure that the project is
on the right path.
 Testing part starts only after the development is complete.

NOTE: The description of the phases of the waterfall model is same as that of
the process model.
An alternative design for 'linear sequential model' is as follows:
Advantages of waterfall model
 The waterfall model is simple and easy to understand, implement, and use.
 All the requirements are known at the beginning of the project, hence it is easy
to manage.
 It avoids overlapping of phases because each phase is completed at once.
 This model works for small projects because the requirements are understood
very well.
 This model is preferred for those projects where the quality is more important
as compared to the cost of the project.
Disadvantages of the waterfall model
 This model is not good for complex and object oriented projects.
 It is a poor model for long projects.
 The problems with this model are uncovered, until the software testing.
 The amount of risk is high.

2. Incremental Process model

 The incremental model combines the elements of waterfall model and they are
applied in an iterative fashion.
 The first increment in this model is generally a core product.
 Each increment builds the product and submits it to the customer for any
suggested modifications.
 The next increment implements on the customer's suggestions and add
additional requirements in the previous increment.
 This process is repeated until the product is finished.
For example, the word-processing software is developed using the
incremental model.
Advantages of incremental model
 This model is flexible because the cost of development is low and initial product
delivery is faster.
 It is easier to test and debug during the smaller iteration.
 The working software generates quickly and early during the software life
cycle.
 The customers can respond to its functionalities after every increment.
Disadvantages of the incremental model
 The cost of the final product may cross the cost estimated initially.
 This model requires a very clear and complete planning.
 The planning of design is required before the whole system is broken into small
increments.
 The demands of customer for the additional functionalities after every
increment causes problem during the system architecture.

3. RAD model

 RAD is a Rapid Application Development model.


 Using the RAD model, software product is developed in a short period of time.
 The initial activity starts with the communication between customer and
developer.
 Planning depends upon the initial requirements and then the requirements are
divided into groups.
 Planning is more important to work together on different modules.
The RAD model consist of following phases:

1. Business Modeling
 Business modeling consist of the flow of information between various functions
in the project.
 For example what type of information is produced by every function and which
are the functions to handle that information.
 A complete business analysis should be performed to get the essential business
information.
2. Data modeling
 The information in the business modeling phase is refined into the set of
objects and it is essential for the business.
 The attributes of each object are identified and define the relationship between
objects.
3. Process modeling
 The data objects defined in the data modeling phase are changed to fulfil the
information flow to implement the business model.
 The process description is created for adding, modifying, deleting or retrieving
a data object.
4. Application generation
 In the application generation phase, the actual system is built.
 To construct the software the automated tools are used.
5. Testing and turnover
 The prototypes are independently tested after each iteration so that the overall
testing time is reduced.
 The data flow and the interfaces between all the components are are fully
tested. Hence, most of the programming components are already tested.
Evolutionary Process Models
 Evolutionary models are iterative type models.
 They allow to develop more complete versions of the software.
Following are the evolutionary process models.

1. The prototyping model


2. The spiral model
3. Concurrent development model

1. The Prototyping model

 Prototype is defined as first or preliminary form using which other forms are
copied or derived.
 Prototype model is a set of general objectives for software.
 It does not identify the requirements like detailed input, output.
 It is software working model of limited functionality.
 In this model, working programs are quickly produced.
The different phases of Prototyping model are:

1. Communication
In this phase, developer and customer meet and discuss the overall objectives
of the software.

2. Quick design
 Quick design is implemented when requirements are known.
 It includes only the important aspects like input and output format of the
software.
 It focuses on those aspects which are visible to the user rather than the
detailed plan.
 It helps to construct a prototype.

3. Modeling quick design


 This phase gives the clear idea about the development of software because the
software is now built.
 It allows the developer to better understand the exact requirements.

4. Construction of prototype
The prototype is evaluated by the customer itself.
5. Deployment, delivery, feedback
 If the user is not satisfied with current prototype then it refines according to
the requirements of the user.
 The process of refining the prototype is repeated until all the requirements of
users are met.
 When the users are satisfied with the developed prototype then the system is
developed on the basis of final prototype.

Advantages of Prototyping Model


 Prototype model need not know the detailed input, output, processes,
adaptability of operating system and full machine interaction.
 In the development process of this model users are actively involved.
 The development process is the best platform to understand the system by the
user.
 Errors are detected much earlier.
 Gives quick user feedback for better solutions.
 It identifies the missing functionality easily. It also identifies the confusing or
difficult functions.

Disadvantages of Prototyping Model:


 The client involvement is more and it is not always considered by the
developer.
 It is a slow process because it takes more time for development.
 Many changes can disturb the rhythm of the development team.
 It is a thrown away prototype when the users are confused with it.

2. The Spiral model

 Spiral model is a risk driven process model.


 It is used for generating the software projects.
 In spiral model, an alternate solution is provided if the risk is found in the risk
analysis, then alternate solutions are suggested and implemented.
 It is a combination of prototype and sequential model or waterfall model.
 In one iteration all activities are done, for large project's the output is small.

The framework activities of the spiral model are as shown in the


following figure.

NOTE: The description of the phases of the spiral model is same as that of the
process model.

Advantages of Spiral Model


 It reduces high amount of risk.
 It is good for large and critical projects.
 It gives strong approval and documentation control.
 In spiral model, the software is produced early in the life cycle process.

Disadvantages of Spiral Model


 It can be costly to develop a software model.
 It is not used for small projects.
3. The concurrent development model

 The concurrent development model is called as concurrent model.


 The communication activity has completed in the first iteration and exits in the
awaiting changes state.
 The modeling activity which existed in inactive state, completed its initial
communication and then go to the under-development state.
 If the customer indicates the changes in the requirements, then the modeling
activity moves from the under development state to the awaiting changes
state.
 The concurrent process model activities moving from one state to another
state.

Advantages of the concurrent development model


 This model is applicable to all types of software development processes.
 It is easy for understanding and use.
 It gives immediate feedback from testing.
 It provides an accurate picture of the current state of a project.

Disadvantages of the concurrent development model


 It needs better communication between the team members. This may not be
achieved all the time.
 It requires to remember the status of the different activities.

You might also like