You are on page 1of 10

20CS1001 - PROGRAMMING FOR

PROBLEM SOLVING

UNIT 1
Software Development Life Cycle

Dr.D.BRINDHA
Assistant Professor
CSE/KITS
Stages of Software Development Life Cycle

The software development life cycle


(SDLC) is a series of steps or phases that
outline how software is planned, built, and
maintained.
Requirements Analysis

• The first stage in the SDLC is for the development team to get an
idea of what the stakeholders and users of a software require.
• In this phase, communication takes place between stakeholders,
end-users, and project teams, as both functional and non-
functional requirements are gathered from customers.
• Identifying and capturing requirements of stakeholders
through customer interactions like interviews, surveys, etc.
• software, hardware, and network requirements for the system to
build
Feasibility Study

• Once the requirements phase is completed, a formal document needs


to be prepared that has detailed specifications of what the proposed
software will entail and how it will solve the problems that the
stakeholders had described in the previous phase.
• Any changes to the software scope, depending on available resources
and the questions about whether or not all the problems can even be
solved, are discussed in the feasibility study.
• Clearly defining and documenting customer requirements in an
SRS (Software Resource Specification Document) comprising of all
product requirements that need to be developed
Design
• Separation of hardware and software system requirements
• the system architecture is planned in the design phase.
• Here, the developers decide which coding frameworks to use, how to
break down the software into modules, and how the user shall interact
with the system. Design can be represented using flowchart like diagram.
• User interfaces
• System interfaces
• Network and network requirements
• Databases
• Creating Unified Modelling Language (UML) diagrams like- use cases,
class diagrams, sequence diagrams, and activity diagrams
Development
• Coding starts in the development phase.
• In the entire SDLC, the development phase is considered to be the
longest one. In this phase, the actual project is developed and built.
• The development teams work on separate modules in the decided
programming languages and frameworks. The aim is to make the
proposed design into working software.
• Demonstration of accomplished work presented before a Business
Analyst for further modification of work
Testing
• Once the coding phase is complete, the software needs to be
rigorously tested to find bugs and to ensure that the software
meets the requirements of the stakeholders.
• Testing the system as a whole
• Performing different types of test in the system
• Reporting and fixing all forms of bugs & defects
• The found bugs are then fixed by the developers is known as
the defect lifecycle.
• Depending on the skill of the developers, the complexity of the
software, and the requirements for the end-user, testing can either
be an extremely short phase or take a very long time.
Deployment

• Once all the bugs are fixed, the software is ready for
deployment and it is installed onto the physical computers
of the users/stakeholders for which the software is being
made.
• Different modules or designs will be integrated into the
primary source code through developer efforts
• After passing this stage, the software is theoretically ready
for market and may be provided to any end-users.
Maintenance
• A phase that is becoming increasingly more and more important is the
maintenance phase.
• Software is never meant to last forever; therefore, once it is live,
it is continuously adapted to changing requirements, necessary
upgrades, enhancements, and bug fixes that were not found before.
• Developers must now move into a maintenance mode and begin
practicing any activities required to handle issues reported by end-
users.
• developers are responsible for implementing any changes that the
software might need after deployment.
Benefits of SDLC
1. Address the goals and problems to implement the project with the
highest precision and accuracy
2. SDLC does not allow the project members to proceed ahead before
completion & approval of the prior stages
3. Installation in the project executed with SDLC has necessary checks
to be tested with precision before entering the installation stage
4. With a well-defined SDLC in place, project members can continue the
software development process without incurring any complications
5. SDLC offers optimal control with minimum problems, allowing the
project members to run the project smoothly

You might also like