Experiment 2
Experiment 2
Theory:
Software Development Life Cycle, or SDLC is a process used to develop software. There are
different stages or phases within the Software Development Life Cycle and in each phase,
different activities take place.
2. Design:
The next stage of Software Development Life Cycle is the Design phase. During the design
phase, developers and technical architects start the high-level design of the software and system
to be able to deliver each requirement.
The technical details of the design is discussed with the stakeholders and various parameters
such as risks, technologies to be used, capability of the team, project constraints, time and
budget are reviewed and then the best design approach is selected for the product.
The selected architectural design, defines all the components that needs to be developed,
communications with third party services, user flows and database communications as well as
front-end representations and behaviour of each components.
3. Implementation:
After the requirements and design activity is completed, the next phase of the Software
Development Life Cycle is the implementation or development of the software. In this phase,
developers start coding according to the requirements and the design discussed in previous
phases.
Database admins create the necessary data in the database, frontend developers create the
necessary interfaces and GUI to interact with the back-end all based on guidelines and
procedures defined by the company.
Developers also write unit tests for each component to test the new code that they have written,
review each other’s code, create builds and deploy software to an environment. This cycle of
development is repeated until the requirements are met.
Documents required are Source Code Test Specification and Test cases
4. Testing:
Testing is the last phase of the Software Development Life Cycle before the software is
delivered to customers. During testing, experienced testers start to test the system against
the requirements.
The testers aim to find defects within the system as well as verifying whether the application
behaves as expected and according to what was documented in the requirements analysis phase.
Once a version of the software is released to production, there is usually a maintenance team
that look after any post-production issues.
If an issue is encountered in the production the development team is informed and depending
on how severe the issue is, it might either require a hot-fix which is created and shipped in a
short period of time or if not very severe, it can wait until the next version of the software.
Conclusion:
• Adherence to a suitable life cycle is very important, for the successful completion of the
Project. This, in turn, makes the management easier.
• Different Software Development Life Cycle models have their own Pros and Cons. The
best model for any Project can be determined by the factors like Requirement (whether it
is clear or unclear), System Complexity, Size of the Project, Cost, Skill limitation, etc.
• Example, in case of an unclear requirement, Spiral and Agile models are best to be used as
the required change can be accommodated easily at any stage.
• Waterfall model is a basic model and all the other SDLC models are based on that only.
Questionnaire:
1. What is SDLC?
Ans. SDLC or the Software Development Life Cycle is a process that produces software with
the highest quality and lowest cost in the shortest time possible. SDLC provides a well-
structured flow of phases that help an organization to quickly produce high-quality software
which is well-tested and ready for production use.