A software development process that involves several distinct stages; requirements analysis, design, implementation, testing, documentation, deployment, and maintenance.
Describes how to conduct the SDLC stages to develop software with the highest quality and lowest cost in the shortest time.
Methodology explains how to structure, plan, and control the process of developing a software system.
A model follows a series of steps unique to its type to ensure success in the process of software development. A software engineer should have enough experience and knowledge to prefer and choose one model over the others based on the project requirements.
Is it possible and how to implement the project successfully with minimum risks?
Performed by the senior members of the team with inputs from the customer, the sales department, market surveys, and domain experts in the industry.
This input is used to plan the basic project approach and to conduct the product feasibility study in the economical, operational, and technical areas.
The outcome of the feasibility study consists of defining various technical approaches that can be followed to implement the project successfully with minimum risks.
Clearly define and document the product requirements and get them approved from the customer or the market analysts.
This is done through the Software Requirement Specification (SRS) document which consists of all the product requirements to be designed and developed during the project life cycle.
Based on the requirements specified, usually more than one design approach for the product architecture is proposed and documented.
This is done through the Design Document Specification (DDS) document.
The DDS is reviewed by all the important stakeholders and based on various parameters as risk.
The actual development starts and the product is built. The programming code is being generated. Developers have to follow the coding guidelines defined by their organization. The programming language is chosen with respect to the type of software being developed.
Stage where products defects are reported, tracked, fixed and retested, until the product reaches the quality standards defined in the software requirement specification.
Once the product is tested and ready to be deployed it is released formally in the appropriate market.
The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).