Event De prog Chapter 1 - Software development
Event De prog Chapter 1 - Software development
Waterfall
Prototyping
Iterative and incremental,
Spiral
Rapid Application Development (RAD)
Extreme programming 3
CONT’D …
Most methodologies share some combination of the following
stages of software development
Gathering requirements
Analyzing the problem
Design
Implementation (coding) of the software
Testing the software
Deployment
Maintenance and bug fixing
8
CONT’D …
As we have said, different approaches follow
different SDLC.
For example
Waterfall Development
Project is divided into sequential phases
Each phase carried out in turn. (One after another in
sequence)
More structured approach which attempts to assess the
majority of risks and develop a detailed plan for the
software before implementation (coding)
Avoid significant design changes and re-coding in later
stages of SDLC 9
CONT’D …
Extreme
SDLC repeated over various cycles or iterations
Spent less time on planning and documentation
More time spent on coding and
They promote continuous testing throughout the development
lifecycle
Prototyping
Works with the creation of prototypes
Prototypes are – incomplete versions of the software
being developed
It is not a complete development methodology by itself.
It is an approach to handle part of a large development
methodologies ( i.e. RAD, incremental, spiral … )
A prototype may evolve to a final working system
10
CONT’D
Incremental Development
Combines linear and iterative methodologies
The basic principles are
A series of mini-waterfalls are performed, where all phases of the waterfall are
completed for a small part of a system, before proceeding to the next increment
Used in large software development projects
breaking a project into smaller segments
It’s primary objective is to reduce inherent project risk by breaking down a project
in to smaller segments
Spiral development
Combines elements of design and prototyping -in-stages
11
CONT’D …
The best approach to choose also often
depends on the type of problem
If the problem is well understood and a solution can
be effectively planned out ahead of time, the best
approach will be ______________________
If the problem is unique and the structure of the
software solution cannot be easily envisioned, the
best approach to choose is ______________
12
1.4 RAPID APPLICATION DEVELOPMENT (RAD)
RAD is a software development methodology that
uses minimal planning in favor of rapid prototyping.
The ‘planning’ is interleaved with writing the software
itself
Is a software development methodology, which
involves
Iterative development and
The rapid construction of prototypes instead of large
amounts of up-front planning
Lacks extensive pre-planning
This allows software to be written much faster.
13
RAD METHODOLOGY
The basic principles are
Breaking project into smaller segments and
providing more ease-of-change during the
development process.
Aims to produce high quality systems quickly
primarily via, Iterative prototyping, Active user
involvement, Computerized development tools
15
ANALYSIS METHODOLOGIES
TO DESIGN RAD
Use case Diagram : used to portray the system
Sequence Diagram: used to display process flow
Class Diagram: is used to show identified objects and
relationships
16
TOOLS FOR DEVELOPMENT AND
DESIGN OF RAD
Visio
Microsoft Access
A database software
17