Software development life cycle Models
August 10, 2009
SDLC is also known as classic life cycle or linear sequential model.
The various life cycle models are
General life cycle model
It describes the phases of software cycle.
Each phase of deliverables is passed as an input to the other phase.
Project manager and customer are involved.
Business requirements are captured.
Business rules are defined.
Understanding the customer needs and expectation.
Requirement specification Document is the output.
It is produced from the result of requirement specification
System requirement specification, Functional specification, high level and low level design, Database design, UML diagram are the output of this phase.
Code is generated from the result of the design phase using high level programming language.
Tools can be used to produce to automate the production of code.
Testing can be done during this phase.
Testing can be against the requirements of the customer.
Unit test / system / acceptance test can be done during this phase.
Implemented in a sequential order.
In a Waterfall model the output of one phase forms the input of the next phase.
Works well for smaller project when the requirements are well understood.
Best suited for procedure oriented language.
No back tracking.
Poor model for complex and object oriented projects.
Poor model for the requirements are continuously changing.
V Shaped Model
It is applicable to where the requirements are clearly understood.
The main difference between the waterfall model and v shaped model is the early test planning id done in v shaped model.
Higher chance of success over the waterfall model due to the development of test plans during the life cycle.
Software is developed during the implementation phases so no early prototype of software is produced.
Does not provide a clear solution for the problem found in testing phase.
It is a cyclic software development process.
Delivered the business values into iterations.
Generates the software quickly.
Less cost to change the requirement.
Easier to test and debug each iteration.
Not all requirements are gathered at once.
This model mainly focuses on risk analysis.
Good for large projects.
Issues can be easily identified.
Does not work for smaller projects.
Project success is highly dependent on risk analysis phase.