0% found this document useful (0 votes)
13 views

Software Development

The document discusses several software development models and processes including waterfall, incremental, RAD, spiral and agile. Waterfall is a sequential model that separates development into distinct phases that must be completed before starting the next. Incremental breaks requirements into standalone modules developed iteratively. RAD prioritizes rapid development with less planning. Spiral combines waterfall and iterative approaches with a risk-driven focus. Agile emphasizes incremental planning and flexibility to changing requirements.

Uploaded by

noorzafar731
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Software Development

The document discusses several software development models and processes including waterfall, incremental, RAD, spiral and agile. Waterfall is a sequential model that separates development into distinct phases that must be completed before starting the next. Incremental breaks requirements into standalone modules developed iteratively. RAD prioritizes rapid development with less planning. Spiral combines waterfall and iterative approaches with a risk-driven focus. Agile emphasizes incremental planning and flexibility to changing requirements.

Uploaded by

noorzafar731
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Software development

Software engineering is defined as a process of analyzing user


requirements and then designing, building, and testing software
application which will satisfy those requirements.
Different software Processes
Specification :
Defining what the system should do
Design and implementation:
Defining the organization of the system and implementing the system
Validation:
Checking that t does what the customer wants .
Evolution:
Changing the system in response to changing customer neends .
Plan driven processes:
Are the processes where all process activities are planned in advance and
progress is measured against this plan.
Agile processes:
Planning is incremental and it is easier to change the process to reflect
changing customer requirnment .
Waterfall model :
Plan driven model .separate and distinct phase of specification and
development .
Waterfall Model is a sequential model that divides software development
into pre-defined phases. Each phase must be completed before the next
phase can begin with no overlap between the phases.
Waterfall Methodology can be used when:

 Requirements are not changing frequently


 Application is not complicated and big
 Project is short
 Requirement is clear
 Environment is stable
 Technology and tools used are not dynamic and is stable

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

 Resources are available and trained


Incremental model:
Incremental Model is a process of software development where
requirements are broken down into multiple standalone modules of
software development cycle. Incremental development is done in steps
from analysis design, implementation, testing/verification, maintenance.

When to use Incremental models?


 Requirements of the system are clearly understood
 When demand for an early release of a product arises
 When software engineering team are not very well skilled or trained
 When high-risk features and goals are involved
 Such methodology is more in use for web application and product based companies

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

Advantages and Disadvantages of Incremental


 Based on systematic reuse where systems are integrated from existing

components or COTS (Commercial-off-the-shelf) systems.

 Process stages
 Component analysis;

 Requirements modification;

 System design with reuse;

 Development and integration.

 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.

What is RAD Model?


RAD Model or Rapid Application Development model is a software
development process based on prototyping without any specific planning.
In RAD model, there is less attention paid to the planning and more priority
is given to the development tasks. It targets at developing software in a
short span of time.

SDLC RAD modeling has following phases

 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.

Each phase of spiral model in software engineering begins with a design


goal and ends with the client reviewing the progress. The spiral model in
software engineering was first mentioned by Barry Boehm in his 1986
paper.

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.

When to use Spiral Model?


 A Spiral model in software engineering is used when project is large
 When releases are required to be frequent, spiral methodology is
used
 When creation of a prototype is applicable
 When risk and costs evaluation is important
 Spiral methodology is useful for medium to high-risk projects
 When requirements are unclear and complex, Spiral model in SDLC is
useful
 When changes may require at any time
 When long term project commitment is not feasible due to changes
in economic priorities

Spiral Model Advantages and Disadvantages


Advantages Disadvantages
Additional functionality or
Risk of not meeting the schedule or
changes can be done at a later
budget
stage
Cost estimation becomes easy as Spiral development works best for
the prototype building is done in large projects only also demands risk
small fragments assessment expertise
Continuous or repeated
For its smooth operation spiral model
development helps in risk
protocol needs to be followed strictly
management
Development is fast and features
Documentation is more as it has
are added in a systematic way in
intermediate phases
Spiral development
Spiral software development is not
There is always a space for
advisable for smaller project, it might
customer feedback
cost them a lot

Spiral model sectors


 Objective setting
 Specific objectives for the phase are identified.
 Risk assessment and reduction
 Risks are assessed and activities put in place to reduce the key risks.
 Development and validation
 A development model for the system is chosen which can be any of
the generic models.
 Planning
 The project is reviewed and the next phase of the spiral is planned.
Agile development :

You might also like