- This is the phase where the client requirements for the project will be gathered.
- Objective is to produce a document that specifies all requirements of Client Software.
- Business Analyst will be the primary anchor in this phase who will understand the requirements and prepare the Business Requirement Document (BRD), based on which the software will be developed and tested.
- Business Analyst will involve required stakeholders (like Developers / System Architects / Testers) to better understand the system and make effective documentation.
- Client will review and provide the sign-off / approval on the BRD.
- This is the phase where business requirements / specifications are converted into technical specifications.
- There are 2 level of design performed. They are,
High Level Design
- List of modules and a brief description of each module.
- Interface relationship among modules.
- Dependencies between modules
- Database tables identified along with key elements.
- Overall architecture diagrams along with technology details.
Low Level Design
- Detailed functional logic of the module, in pseudo code.
- Database tables, with all elements, including their type and size.
- All interface details.
- Complete input and outputs for a module
- Error message listings
Coding and Unit Testing
- This is the phase where software is developed based on the business requirements and technical specifications.
- This stage produces source code, executables, databases etc. for appropriate coding standards
- Development team performs the unit testing as and when each modules are developed.
- This is the phase where the developed software is tested to make sure the software meets the business requirements.
- There are several types of testing conducted which are identified based on the scope of the project and nature of the requirements.
NOTE:Testing Phase of SDLC is the Test Execution phase of STLC (Software Testing Life Cycle). So, by the time testing phase begins, testing team will already be ready with the test cases to be executed to validate the system. This implies that testing activities starts well ahead in the software lifecycle and in parallel to the development activities.
- This is the phase where the completed product is installed in production environment and made available for the end users to use.
- This phase begins once the software is released and the client starts using the software.
- 3 types of maintenance are typically carried out, they are,
i. Bug fixing: bugs arrived due to some untested scenarios.
ii. Upgrade: Upgrading the application to the newer versions of the software.
iii. Enhancement: Adding some new features into the existing software.