Waterfall Model Incremental Model RAD Model Evolutionary Process Model
Waterfall Model Incremental Model RAD Model Evolutionary Process Model
Waterfall Model
Incremental Model
RAD Model
Evolutionary process model
o Prototyping
o Spiral
Concurrent process model
Waterfall Model:
It is the first approach and the basic model used in software development.
It is a simple model that is easy to use as well as understand.
The execution happens in the sequence order, which means that the
outcome of the one-stage is equal to the input of another stage.
That's why it is also known as the Linear-sequential life cycle model.
To avoid the overlapping issues of the multiple phases, every stage
should be completed before moving to the next stage.
Each stage of the waterfall model involves the deliverable of the previous
stage
1.Communication
Requirement Gathering
By taking help of
Software Requirement Specification [SRS],
Customer Requirement Specification [CRS], and
Business Requirement Specification [BRS], the SRS document is
generated.
And this SRS document covers the whole thing that should be developed
and designed.
2.Planning:
Aspects Description
Legal Can the company handle the project as cyber law and other mon
agreements?
Technical Check whether the available machine supports the software or not?
Operation The company should able to generate operation that is given by the cl
feasibility
Economic Should the company able to complete the product within given bud
not?
Schedule The project should be done within the given schedule or not.
The planning is based on the needs of the project, where many people
(human resource, business analyst, architecture) evaluate whether the project
can be done or not. To develop a good project, we should follow the various
characteristics, which are based on the customer requirements:
Modelling:
In this, we will create the architecture of the product, with the help of some
essential tools like a combination of different software and hardware, various
programming languages (PHP, Java, .Net, etc.), database (MySQL, Oracle).
And then the designer gets ready with a plan for the application that could be
classified into two different parts:
o High-Level Design
o Low-Level Design
In this, the designer will concentrate only on the models such as decision trees,
flow diagrams, decision tables, flow charts, data dictionary, and the architect
does it.
In this, the designer will concentrate on the components like a User interface
(UI), and the developer manager does it.
Coding
Once we are done with the design stage, we are ready to develop the
application. For this, the developer will start writing the code based on their
programming language knowledge, and it could be any language such as
Python, C, Java, C#, C++, and so on. Whereas the back-end developers will do
the back-end coding based on the needed operations, and the front-end
developers will develop the attractive GUI.
Testing
After the compilation of coding, it will hand over to the concern test engineer.
And after that, the test engineer will start testing the functionality of the
application based on the client's requirement.
While testing the application, they may encounter some defects or bugs (not
working as per the client's needs) in the application and send those bugs to the
developer with the proper justification. And the developer will verify that the
given bug is valid or not. If it is correct, it will be fixed by the developer and
change with the new one. After that tester will re-test it and verify that the bug
is fixed or not.
Deployment:
In this, the process will remain until the software is stable or bug-free and
fulfilling all the customer requirements. When the application is stable, it will
deployed into the client's environment for their use.
After getting the software, the client will perform one round of testing to their
satisfaction. If they face any error, they will inform the development team to
resolve those issues for the particular application. When all the issue gets
resolved, the application will be deployed for the end-users use.
INCREMENTAL MODEL
Incremental Model is a process of software development where
requirements divided into multiple modules of the software development
cycle.
RAD MODEL
Rapid application development is a software development methodology
that uses minimal planning in favour of rapid prototyping.
A prototype is a working model that is functionally equivalent to a
component of the product.
In the RAD model, the functional modules are developed in parallel as
prototypes and are integrated to make the complete product for faster
product delivery.
Since there is no detailed preplanning, it makes it easier to incorporate
the changes within the development process.
RAD projects follow iterative and incremental model and have small
teams comprising of developers, domain experts, customer
representatives and other IT resources working progressively on their
component or prototype.
The most important aspect for this model to be successful is to make sure
that the prototypes developed are reusable.
This can quickly give the customer something to see and use and to
provide feedback regarding the delivery and their requirements
Prototype Model
The prototype model requires that before carrying out the development of
actual software, a working prototype of the system should be built.
A prototype usually turns out to be a very crude version of the actual system,
possible exhibiting limited functional capabilities, low reliability, and inefficient
performance as compared to actual software.
In many instances, the client only has a general view of what is expected from
the software product.
Spiral Model
Spiral Model is an evolutionary software process model that couples the
iterative nature of Prototyping with controlled & systematic aspects of the
Waterfall Model.
The spiral model is similar to the incremental model, with more emphasis
placed on risk analysis.
The spiral model has four phases: Planning, Risk Analysis, Engineering
and Evaluation.