There are various software development approaches defined and designed which are used/employed during development process of software, these approaches are also referred as “Software Development Process Models” (e.g. Waterfall model, incremental model, V-model, iterative model, RAD model, Agile model, Spiral model, Prototype model etc.). Each process model follows a particular life cycle in order to ensure success in process of software development.
Note: Be sure to read our complete in-depth guide on Software Development Life Cycle (SDLC).
Software life cycle models describe phases of the software cycle and the order in which those phases are executed. Each phase produces deliverables required by the next phase in the life cycle.
Requirements are translated into design. Code is produced according to the design which is called development phase.
After coding and development the testing verifies the deliverable of the implementation phase against requirements. The testing team follows Software Testing Life Cycle (STLC) which is similar to the development cycle followed by the development team.
There are following six phases in every Software development life cycle model:
- Requirement gathering and analysis
- Design
- Implementation or coding
- Testing
- Deployment
- Maintenance
1) Requirement gathering and analysis: Business requirements are gathered in this phase. This phase is the main focus of the project managers and stake holders. Meetings with managers, stake holders and users are held in order to determine the requirements like; Who is going to use the system? How will they use the system? What data should be input into the system? What data should be output by the system? These are general questions that get answered during a requirements gathering phase. After requirement gathering these requirements are analyzed for their validity and the possibility of incorporating the requirements in the system to be development is also studied.
Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model. The testing team follows the Software Testing Life Cycle and starts the Test Planning phase after the requirements analysis is completed.
2) Design: In this phase the system and software design is prepared from the requirement specifications which were studied in the first phase. System Design helps in specifying hardware and system requirements and also helps in defining overall system architecture. The system design specifications serve as input for the next phase of the model.
In this phase the testers comes up with the Test strategy, where they mention what to test, how to test.
3) Implementation / Coding: On receiving system design documents, the work is divided in modules/units and actual coding is started. Since, in this phase the code is produced so it is the main focus for the developer. This is the longest phase of the software development life cycle.
4) Testing: After the code is developed it is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase. During this phase all types of functional testing like unit testing, integration testing, system testing, acceptance testing are done as well as non-functional testing are also done.
5) Deployment: After successful testing the product is delivered / deployed to the customer for their use.
As soon as the product is given to the customers they will first do the beta testing. If any changes are required or if any bugs are caught, then they will report it to the engineering team. Once those changes are made or the bugs are fixed then the final deployment will happen.
6) Maintenance: Once when the customers starts using the developed system then the actual problems comes up and needs to be solved from time to time. This process where the care is taken for the developed product is known as maintenance.
Also Read:
Software Development Life Cycle SDLC – Complete guide
Other popular articles:
- What is V-model- advantages, disadvantages and when to use it?
- What are Software Testing Levels?
- What is Spiral model- advantages, disadvantages and when to use it?
- What is Incremental model- advantages, disadvantages and when to use it?
- What are the Software Development Models?
the one who needs your help says
Hi please can you …
Compare and contrast the modeling process with the software life cycle: analysis, design, implementation, testing, documentation, maintenance.
J says
SDLC is there more to coding than meets the eye
mthokozisi nkomo says
what are the SDLC activities that take place in each and every software
Kin says
how does sdlc solve the business problem?
Sandy says
SDLC is an industry standard to develop and test the system so that it works when deployed. The Business Problem is really resolved once the Business Analysts (BA) gather detailed and accurate requirements and they are communicated and clearly understood by the Development Team.
The problem in general could be there is no means of analyzing data, so the system need to output statistics or analytical reports. The BA will gather details on what kind of reports, their content, format etc… The developers use this as a guide to develop the system.
arshiya says
what is the role of bussiness anylyst what sofware knowledge they should have to be a business anylyst
Divya Thakur says
Thanks for sharing such a knowledge about software development life cycle model i.e from Requirement gathering and analysis, Design, Implementation or coding, Testing, Deployment, Maintenance that really helpful to understand the life cycle model of the software development.
abs says
which is the shortest phase of SDLC?
rahul says
deployment
Mohammed Hamza says
Anyone tell that *In what phases of SDLC Modeling is done ? and Why* ?
Lara says
Under modeling you meant defining which model we’re going to use? If yes, then I can say that this stage is happened even before requirement gathering or in some case right in the middle of it. When a customer descibes his expectations about system and deadline for example, it is going to be understood how many pepople will be work on this project and what the model should be used for this project particulary. For ecom projects usually it is agile models, and for medicine it can be even waterfall.
y.gopi says
Software life cycle models describe phases of the software cycle and the order in which those phases are executed. Each phase produces deliverables required by the next phase in the life cycle. Requirements are translated into design. Code is produced according to the design which is called development phase.
kavitharajan says
Describe the various design nations answer
tamer says
Which is the best part you deliver in the Product Development Life cycle as a tester ?
Ravi says
Functionality part
Srikanth Vasagiri says
In Real time Applications, let us consider the Hospital Management software wherein at initial stages, the Vendor will showcase the product to the Stakeholders and the Managers and make a Requirement Specification Document/ Change Document and get it signed with the Vendor and the Customer to freeze the requirements.
Then the Customer would wait for the Release of the version as per the Requirement Specification Document and the Vendor would provide the Training to the End Users.
The Database team/ Functional guys would migrate the Data to the software and then start providing the Training to the end users.
The Customer would test the Application and revert back to the Vendor in case of any issues/ Bugs/ Functional non compliance as per the Requirement Specification Document.
Once the things are completed, then the GO-LIVE would be announced and the Customer would start using the Software. As and when any bugs/ reports needed, then the Vendor would do the needful as per the Contract and would provide the Annual Maintenance Contract
ANGAD BHALLA says
Hello,
Can you please briefly describe the role of business analyst in all the phases of SDLC. The part played by a Business Analyst in -;
-Requirement gathering and analysis
-Design
-Implementation or coding
-Testing
-Deployment
-Maintenance
Thank You!!
Christopher says
The business analyst interacts with the business stakeholders and subject matter experts in order to understand their problems and needs.
1 – The analyst gathers, documents, and analyzes business needs and requirements.
2 – This is then converted to flow charts for a visual analysis.
Based on this input:
1 – the database is designed
2 -2 the front and backend screens are designed
In the case of readymade ERP systems, the business analyst has the job of finding a common path between the “as is” and the “to be”.
mthokozisi nkomo says
in testing you will be making sure that your application is working before publishing it if am correct ?
Roshan says
products of the SDLC phases.
Ankita Jawalkar says
please describe SDLC in real time applications by giving examples.so that we depend on such above information rather prefering an institute being an fresher