Software Development Life Cycle (SDLC) contains different phases / step that need to be followed to develop a quality software. Means in simple word if you want to develop quality software then you need to follow these steps. IT farms follow such type of model to develop their software, it guides from start to end.
It has six phases and each phase is depends on its previous phase. Means this need to be executed in sequence, we cannot take any random phase and start working on it. This phases should be followed sequentially.
There are six phases
- Requirements Gathering
- Analysis and Design
Requirement means the information about the features and functions of the software. You will rarely find any software that has no use or a software that do nothings. Each and every software has some work to do.
When client wants any software then he will have some basic idea about what is he wants in his software. for example if client want to build the shopping site then his requirement would be like there should be login option, there should be search option to search the product , there should be online payment option etc. these all are the requirements.
Analysis and Design :
In this phase of SDLC,Development team start designing the software. they decides all the things which are going to needed in this development process like which language would be efficient, database ,architectural design etc. all this things decide in this phase.
They do high level and low level design in this phase.
High level design means basically designing the overall architecture, database, required flow charts,and data flow all this is done under high level design.
Low Level design is like component level design. Detail design and logic of each and every component of the software is done under low level design.
Implementation (Coding) :
Actual coding start in this phase. Developer develop the logic as per the requirement and other things like selection of the programming language and databases are already done in previous phase that is Analysis and Design. Development is done module by module. Development work is divided among the all developer. This is longest and important phase of SDLC.
After the coding, testing is done to ensure that software is developed as per the requirement and behaving as expected. Here Test team test the software application against the requirement. Test team need not to wait until all the software get developed test team start testing module wise. When one single module is developed then that comes to tester for the testing. If you don’t know the term module, a then module is like a part of software. it is also called as the build. E.g. in e-commerce site, there are many module like login module, cart module, searching module etc. if login module is ready then they send module for testing. They do not wait for all the module.
When Test Team get a two, three modules for testing then test team performs Integration Testing. When test team get whole software for testing then they performs System Testing.
Testing has its full life cycle which is known as Software Testing Life Cycle (STLC).STCL has six phase, first is requirement, here they gathers all the information about the software, then second phases is planning, test team need to plan everything so that they will have a specific goal to achieve, third phase is Test Design where test team writes the test cases, fourth phases in Environment Set-Up, the hardware and software on which test team is going to install Software for testing. Then fifth phases in Test execution, test team execute written test cases, and the last phase is Test Closure where all the document is collected for the future reference.
Once the Software is developed and tested and found working as expected then client check the software. Whether all the requirement is implemented in software or not and it should fulfill all the business requirement of the client. This thing is tested by client and real world user. Basically this all happen in last phase of testing which is known as User Acceptance Testing (UAT) then that software has to Deploy at the client’s side or need to release in market as per the type of the Software. This deployment process is done in this phase.
This Phases is for following purposes
- Sometime client forget some requirement then that requirement is implement in software during maintenance.
- Some extra feature that client wants in his software that is also done in maintenance phase.
- Sometime major/minor bugs are not found during testing phase and those bugs if found by clients end then that bugs fixing is also done in this phase.
Note: For any queries, corrections or any improvement.Please feel free to comment below.