Software Development
Software Development
Advantages Dis-Advantages
Before the next phase of development, Error can be fixed only during the
each phase must be completed phase
It is not desirable for complex project
Suited for smaller projects where
where requirement changes
requirements are well defined
frequently
They should perform quality assurance
Testing period comes quite late in the
test (Verification and Validation) before
developmental process
completing each stage
Elaborate documentation is done at every
Documentation occupies a lot of time
phase of the software’s development
of developers and testers
cycle
Project is completely dependent on Clients valuable feedback cannot be
project team with minimum client included with ongoing development
intervention phase
Small changes or errors that arise in
Any changes in software is made during
the completed software may cause a
the process of the development
lot of problems
Advantages Disadvantages
The software will be generated quickly during
It requires a good planning designing
the software life cycle
Problems might cause due to system
It is flexible and less expensive to change architecture as such not all requirements
requirements and scope collected up front for the entire software
lifecycle
Throughout the development stages changes Each iteration phase is rigid and does not
can be done overlap each other
Rectifying a problem in one unit requires
This model is less costly compared to others correction in all the units and consumes a lot of
time
A customer can respond to each building
Errors are easy to be identified
Process stages
Component analysis;
Requirements modification;
Reuse is now the standard approach for building many types of business
system
Software specification
The process of establishing what services are required and the constraints
on the system’s operation and development.
Requirements engineering process
Feasibility study
• Is it technically and financially feasible to build the system?
Requirements elicitation and analysis
• What do the system stakeholders require or expect from the
system?
Requirements specification
• Defining the requirements in detail
Requirements validation
• Checking the validity of the requirements
Testing stages
Development or component testing
Individual components are tested independently;
Components may be functions or objects or coherent groupings of
these entities.
System testing
Testing of the system as a whole. Testing of emergent properties is
particularly important.
Acceptance testing
Testing with customer data to check that the system meets the
customer’s needs.
Business Modeling
Data Modeling
Process Modeling
Application Generation
Testing and Turnover
What is Spiral Model?
Spiral Model is a risk-driven software development process model. It is a
combination of waterfall model and iterative model. Spiral Model helps to
adopt software development elements of multiple process models for the
software project based on unique risk patterns ensuring efficient
development process.
The development process in Spiral model in SDLC, starts with a small set
of requirement and goes through each development phase for those set of
requirements.