Professional Documents
Culture Documents
Session 1 - Software Development Process
Session 1 - Software Development Process
Development
Process
Prepared by
Malliga Ramalingam
Session Objectives
Introduction to SDP
Understanding Quality
Understanding Process
Understanding Life Cycle Models
Choosing a Process
Conclusion
ramsuri@gmail.com
Programming in Small
Individual Effort
Intellectual Exercise
No Documentation
Developer Maintenance
ramsuri@gmail.com
Programming in Large
ramsuri@gmail.com
Software Engineering
ramsuri@gmail.com
Software
Engineering:Definition
Phases
Methodology
Activities
Standards
Tools
ramsuri@gmail.com
Uniqueness of Software
Non-developer maintenance:
Software lives for a long time. The
development team, may not.
Change management: Whenever a
change has to be made, it is necessary
to analyse its impact on various parts
of the software.
Version control: Once changes are
made to the software, the user should
get the right copy of the software.
Failures should roll back to the
previous versions.
Subject to risks: Any large effort is
ramsuri@gmail.com
subject to risks. Eg: skills, technology,
Session Objectives
Introduction to SDP
Understanding Quality
Understanding Process
Understanding Life Cycle Models
Choosing a Process
Conclusion
ramsuri@gmail.com
Software Quality
Introduction to SDP
Understanding Quality
Understanding Process
Understanding Life Cycle Models
Choosing a Process
Conclusion
ramsuri@gmail.com
What is a Process?
Introduction to SDP
Understanding Quality
Understanding Process
Understanding Life Cycle Models
Choosing a Process
Conclusion
ramsuri@gmail.com
Waterfall model
Design
Development
Testing
ramsuri@gmail.com
Implementation
Waterfall Model
sequence of steps (phases).
requires a phase is complete
before the next phase is started.
helps in contract finalisation with
reference to delivery and payment
schedules.
Is difficult to use this model as it
is, because of the uncertainity in
the software requirements.
all the requirements
ramsuri@gmail.com a priori is
Prototyping
ramsuri@gmail.com
Spiral Model
ramsuri@gmail.com
Rational Unified Process Model
Introduction to SDP
Understanding Quality
Understanding Process
Understanding Life Cycle Models
Choosing a Process
Conclusion
ramsuri@gmail.com
How to choose a process
Best way to attack this is to look at the
software requirements.
If they are stable and well understood, then
waterfall model may be sufficient.
If they are stable, but not clear, then throw away
prototyping can be used.
Where the requirements are changing, evolutionary
prototyping is better.
If the requirements are coupled with the underlying
business processes, which are going through a
process of change, then a model based on Boehm's
spiral model, like the Rational Unified Process
should be used.
In these days of dynamic business environment,
where 'time to market' is critical, and project size is
relatively small, an agile process should be chosen.
These are guidelines only.
ramsuri@gmail.com
Many organisations choose a model and
Session Objectives
Introduction to SDP
Understanding Quality
Understanding Process
Understanding Life Cycle Models
Choosing a Process
Conclusion
ramsuri@gmail.com
Conclusions