Software Development Life Cycle
Software Development Life Cycle
Software Development Life Cycle
By:
MANISH KUMAR SAHOO
[email protected]
DM08047
Introduction
Software life cycle models describe
phases of the software cycle and the
order in which those phases are
executed. There are tons of models,
and many companies adopt their own,
but all have very similar patterns.
General Life Cycle Model
REQUIREMNTS DESIGN IMPLEMENTATION TESTING
Requirements
Business requirements are gathered in this phase. This
phase is the main focus of the project managers and stake
holders. Meetings with managers, stake holders and users
are held in order to determine the requirements. Who is
going to use the system? How will they use the system?
What data should be input into the system? What data
should be output by the system? The overall result is the
system as a whole and how it performs, not how it is
actually going to do it.
Design
The software system design is produced from the results
of the requirements phase. Architects have the ball in their
court during this phase and this is the phase in which their
focus lies.
Implementation
Code is produced from the deliverables of the design
phase during implementation, and this is the longest phase
of the software development life cycle. For a developer,
this is the main focus of the life cycle because this is where
the code is produced
Testing
During testing, the implementation is tested against
the requirements to make sure that the product is actually
solving the needs addressed and gathered during the
requirements phase. Unit tests and system/acceptance
tests are done during this phase
Advantages
No administrative overhead
Signs of progress (code) early.
Low expertise, anyone can use it!
Useful for small “proof of concept” projects,
e.g. as part of risk reduction
Disadvantages
No visibility/control
No resource planning
No deadlines
Mistakes hard to detect/correct
Impossible for large projects,
communication breakdown, chaos.
V-Shaped Model
Just like the waterfall model, the V-Shaped life
cycle is a sequential path of execution of
processes. Each phase must be completed
before the next phase begins. Testing is
emphasized in this model more so than the
waterfall model though.
Requirements begin the life cycle model just like
the waterfall model. Before development is
started, a system test plan is created
The high-level design phase focuses on system
architecture and design.
The low-level design phase is where the actual
software components are designed, and unit
tests are created in this phase as well.
The implementation phase is, again, where all
coding takes place
Advantages
Disadvantages
Disadvantages
Disadvantages
Can be a costly model to use.
Risk analysis requires highly specific expertise.
Project’s success is highly dependent on the risk
analysis phase.
Doesn’t work well for smaller projects.