SDLC (Software Development Lifecycle) - Is A Systematic Process For Building Software That Ensures The Quality and Correctness of The Software
SDLC (Software Development Lifecycle) - Is A Systematic Process For Building Software That Ensures The Quality and Correctness of The Software
• The waterfall model is the classic model or oldest model and is known as mother of all
the model. It is widely used in government projects and many vital projects in company.
• The waterfall model is also called as 'Linear sequential model' or 'Classic life cycle
model'.
• In this model, each phase is executed completely before the beginning of the next phase.
Hence the phases do not overlap in waterfall model.
• This model is used for small projects.
• In this model, feedback is taken after each phase to ensure that the project is on the right
path.
• Testing part starts only after the development is completed.
• i) Communication
The software development starts with the communication between customer and developer.
ii) Planning
It consists of complete estimation, scheduling for project development.
iii) Modeling
• Modeling consists of complete requirement analysis and the design of the project i.e algorithm,
flowchart etc.
• The algorithm is the step-by-step solution of the problem and the flow chart shows a complete flow
diagram of a program.
• iv) Construction
• Construction consists of code generation and the testing part.
• Coding part implements the design details using an appropriate programming language.
• Testing is to check whether the flow of coding is correct or not.
• Testing also checks that the program provides desired output.
• v) Deployment
• Deployment step consists of delivering the product to the customer and taking feedback from them.
• If the customer wants some corrections or demands for the additional capabilities, then the change is
required for improvement in the quality of the software.
ADVANTAGES OF WATERFALL MODEL
• The waterfall model is simple and easy to understand, to implement, and use.
• All the requirements are known at the beginning of the project, hence it is easy to
manage.
• It avoids overlapping of phases because each phase is completed at once.
• This model works for small projects where the requirements are easily understood.
• This model is preferred for those projects where the quality is more important as
compared to the cost of the project.
DISADVANTAGES OF THE WATERFALL MODEL
• This model is not good for complex and object oriented projects.
• In this model, the changes are not permitted so it is not fit for moderate to high risk
changes in project.
• It is a poor model for long duration projects.
• The problems with this model are uncovered, until the software testing.
• The amount of risk is high.
4) V MODEL
Verification is the process to find whether the software meets the specified The validation process checks whether the software meets requirements and
requirements for particular phase. expectations of the customer.
The objective of verification is to check whether software is constructed The objective of validation is to check whether the specifications are correct
according to requirement and design specification. and satisfy the business need.
It describes whether the outputs are as per the inputs or not. It explains whether outputs are accepted by the user or not.
Plans, requirement, specification, code are evaluated in the verifications. Actual product or software is tested under validation.
5) INCREMENTAL MODEL
• The incremental model combines the elements of waterfall model and they are applied in
an iterative fashion.
• The first increment in this model is generally a core product.
• Each increment builds the product and submits it to the customer for suggesting any
modifications.
• The next increment implements the customer's suggestions and add additional
requirements in the previous increment.
• This process is repeated until the product is completed.
For example, the word-processing software is developed using the incremental model.
• i) Communication
The software development starts with the communication between customer and
developer.
ii) Planning
It consists of complete estimation, scheduling for project development.
iii) Modeling
• Modeling consists of complete requirement analysis and the design of the project like
algorithm, flowchart etc.
• The algorithm is a step-by-step solution of the problem and the flow chart shows a
complete flow diagram of a program.
• iv) Construction
• Construction consists of code generation and the testing part.
• Coding part implements the design details using an appropriate programming language.
• Testing is to check whether the flow of coding is correct or not.
• Testing also checks that the program provides desired output.
• v) Deployment
• Deployment step consists of delivering the product to the customer and taking feedback from them.
• If the customer wants some corrections or demands for the additional capabilities, then the change is required for
improvement in the quality of the software.
• Advantages of Incremental model
• This model is flexible because the cost of development is low and initial product delivery is faster.
• It is easier to test and debug in the smaller iteration.
• The working software is generated quickly in the software life cycle.
• The customers can respond to its functionalities after every increment.
• Disadvantages of the incremental model
• The cost of the final product may cross the cost initially estimated.
• This model requires a very clear and complete planning.
• The planning of design is required before the whole system is broken into smaller increments.
• The demands of customer for the additional functionalities after every increment causes problem in the system
architecture.