Unit-III Software Development Methodologies(Models) (1)
Unit-III Software Development Methodologies(Models) (1)
What is SDLC?
Once the requirement analysis is done the next step is to clearly define and
document the product requirements and get them approved from the customer or
the market analysts. This is done through an SRS (Software Requirement
Specification) document which consists of all the product requirements to be
designed and developed during the project life cycle.
In this stage of SDLC the actual development starts and the product is built. The
programming code is generated as per DDS during this stage. If the design is
performed in a detailed and organized manner, code generation can be
accomplished without much hassle.
Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to
generate the code. Different high level programming languages such as C, C++,
Pascal, Java and PHP are used for coding. The programming language is chosen
with respect to the type of software being developed.
This stage is usually a subset of all the stages as in the modern SDLC models, the
testing activities are mostly involved in all the stages of SDLC. However, this
stage refers to the testing only stage of the product where product defects are
reported, tracked, fixed and retested, until the product reaches the quality
standards defined in the SRS.
Once the product is tested and ready to be deployed it is released formally in the
appropriate market. Sometimes product deployment happens in stages as per the
business strategy of that organization. The product may first be released in a
limited segment and tested in the real business environment (UAT- User
acceptance testing).
Then based on the feedback, the product may be released as it is or with suggested
enhancements in the targeting market segment. After the product is released in the
market, its maintenance is done for the existing customer base.
OR
Advantages Dis-Advantages
Spiral Model:
Spiral Model in software testing is the testing strategy which works on incremental
and prototype technique. Generally Spiral Model strategy is followed for the large
and complicated projects where risks are high and development and testing goes on
incremental basis. Spiral Model is also known as Spiral Lifecycle Model. The
Spiral Model was introduced by Barry Boehm in 1985. This model is quite old but
still very useful for the large projects development and testing.
There are five phases in Spiral Model-
Planning of each phase and next phase.
Risk Analysis
Engineering
Execution
Evaluation
Testing and development starts from planning phase and carries up to evaluation
phase. All the requirements are collected in the planning phase itself. In the risk
analysis phase we assume all the risks could be occurred during testing and
development. In engineering and execution phase we start executing the test cases
which are planned and identified and finally we move to the evaluation phase
where we review the progress of the project. The reason of success of Spiral Model
is that analysis and engineering both carried out in each phase of the project.
Prototype Model:
The basic idea in Prototype model is that instead of freezing the requirements
before a design or coding can proceed, a throwaway prototype is built to
understand the requirements. This prototype is developed based on the currently
known requirements. Prototype model is a software development model. By
using this prototype, the client can get an “actual feel” of the system, since the
interactions with prototype can enable the client to better understand the
requirements of the desired system. Prototyping is an attractive idea for
complicated and large systems for which there is no manual process or existing
system to help determining the requirements.
The prototype are usually not complete systems and many of the details are not
built in the prototype. The goal is to provide a system with overall functionality.
Prototype model should be used when the desired system needs to have a lot
of interaction with the end users.
Typically, online systems, web interfaces have a very high amount of
interaction with end users, are best suited for Prototype model. It might take
a while for a system to be built that allows ease of use and needs minimal
training for the end user.
Prototyping ensures that the end users constantly work with the system and
provide a feedback which is incorporated in the prototype to result in a
useable system. They are excellent for designing good human computer
interface systems
RAD MODEL:
This can quickly give the customer something to see and use and to provide
feedback regarding the delivery and their requirements.
Diagram of RAD-Model:
The phases in the rapid application development (RAD) model are:
RAD model distributes the analysis, design, build and test phases into a series of
short, iterative development cycles.
Following are the various phases of the RAD Model −
Testing and turnover: Test new components and all the interfaces. The overall
testing time is reduced in the RAD model as the prototypes are independently
tested during every iteration. However, the data flow and the interfaces
between all the components need to be thoroughly tested with complete test
coverage. Since most of the programming components have already been
tested, it reduces the risk of any major issues.
RAD should be used when there is a need to create a system that can be
modularized in 2-3 months of time.
It should be used if there’s high availability of designers for modeling and
the budget is high enough to afford their cost along with the cost of
automated code generating tools.
RAD SDLC model should be chosen only if resources with high business
knowledge are available and there is a need to produce the system in a short
span of time (2-3 months).