You are on page 1of 7

CHAPTER -1 SDLC

Prerequisite Learning
Knowledge Introduce the SDLC.

What is software? Process.


What are the types of software?
What is software development? List out the SDLC Phases –Analysis, De-
sign, Coding, Testing, Deployment, and
Maintenance.

Cycle Models - Waterfall Model.

Introduction
SDLC - Software Development Life Cycle is used in the software development to design
and develop the software in a step by step process. It is mainly used to create high-quality
software according to the customer needs and requirement. The SDLC sets the standards
for developing and maintaining software and set a framework for Software Engineering.

ISO/IEC 12207 is an international standard for software life-cycle processes.

(1)
Software Development Life Cycle Process
SDLC is a process which is used by the software development industry to develop the
software project. And it used to maintain, replace, alter, update and enhance the software.
The main aim of the SDLC process is to produce and improve the quality of the software.
SDLC is a framework defining tasks performed at each step in the software development
process.

⚫ SDLC offers a basis for project planning, scheduling, and estimating.


⚫ SDLC provides a framework for a standard set of activities and deliverables.
⚫ SDLC is a mechanism for tracking and controlling the project.
⚫ SDLC increases visibility of project planning to all involved stakeholders of the
development process.
⚫ SDLC increase and enhance development speed.
⚫ SDLC improves client relationship.
⚫ SDLC helps you to decrease project risk and project management plan overhead.

SDLC -Phases:
SDLC is a step by step procedure for building and maintaining the software, which
ensures the quality and rightness of the software built. The first and foremost step is to
communicate with the customer and get the details
about the software to be developed. The
software development process should be finished
within thebudget and time range.
SDLC consists of a detailed plan which explains
thefollowing:

⚫ How to plan the software?


⚫ How to build the software?
⚫ How to maintain the software?
In SDLC Phases each stage has a distinct
procedureand the output of one phase will be the
input to thenext phase.

(2)
SDLC Phases are divided into following stages:
Stage 1: Requirement Analysis
Requirement Analysis is the first step and the foremost stage in SDLC.

⚫ The senior members of the team get the inputs from the customer and do the planning
in this stage.
⚫ Various department will be involved in this stage as follows:
 sales department
 market surveys
 domain experts
⚫ This stage is the very important stage to conduct the product feasibility study as
mentioned in the table below.

Planning phase involves Planning phase -Outcomes

⚫ Resource allocation
⚫ Project plans
(both human and materials)

⚫ Capacity planning ⚫ Schedules

⚫ Project scheduling ⚫ Cost estimates

⚫ Cost estimation ⚫ Procurement requirements

⚫ Provisioning

⚫ During the planning stage itself project risks will be analyzed and planned for
therequirements for quality assurance.
⚫ The technical feasibility study’s conclusion defines the numerous technical strategies in
order to minimize the possible risks.
Stage 2: Defining Requirements
⚫ After the requirement analysis the next step is to clearly define the product requirement
and document the stages after the approval from the customer or the market analysts.
⚫ Requirements can be done with the support of SRS (Software Requirement Specification)
document.
⚫ SRS involves of all the product requirements to be designed and developed during the

(3)
project life cycle.
⚫ DDS (Design Document Specification) is a proposed and documented design method
that addresses the requirements described in SRS.

There are mainly five types of feasibilities checks:

⚫ Economic feasibility: To complete the project within the budget.


⚫ Legal feasibility: Follow the cyber law and other regulatory framework/compliances.
⚫ Operation feasibility: Create operations according to the client expectation.
⚫ Technical feasibility: Check the Hardware and Software requirements.
⚫ Schedule feasibility: Project should be completed within the time frame.

Stage 3: Designing the Product Architecture


This stage helps to define overall system architecture. The system and software design
documents are prepared as per the requirement specification document.

⚫ This stage helps to define overall system architecture.


⚫ This design phase serves as input for the next phase of the model.

Stage 4: Coding
⚫ After the design phase is over, the next phase is coding.
⚫ Developers start the coding in this phase by the chosen programming language and
need to follow certain predefined coding guidelines.
⚫ They also need to use programming tools like compiler, interpreters, debugger to
generate and implement the code.
⚫ In the coding phase, tasks are divided into units or modules and assigned to the various
developers.
⚫ This stage is considered as the longest phase of the Software Development Life Cycle
process.

Stage 5: Testing the Product


⚫ Once the coding stage is over and software is developed, it will be deployed in the
testing environment.
⚫ The testing team starts testing the working of entire application.
⚫ In this phase the (Quality Assurance) QA and testing team identify the bugs and report
to development team.
⚫ The development team fixes the bug and send back to QA for a re-test.

(4)
⚫ The product may first be released in a limited segment and tested in the real business
environment (UAT- User Acceptance Testing).
⚫ This process continues until the software is bug-free, stable, and fulfils the expectation
of the customer or business clients.

Stage 6: Deployment in the Market and Maintenance


⚫ After the software testing final deployment process begins.
⚫ Project Manager will give the feedback, based on that the software is released and
checked for any deployment issues.
⚫ Customer starts using the developed software after the deployment. Three types of
activities will occur as follows:
 Bug fixing – Care will be taken to fix the bug after deployment.
 Upgrade – Upgrading to the newer versions of the Software
 Enhancement – Additional features can be added into the existing software

Types of SDLC Models:


There are several types of SDLC models, and the choice of model depends on the project’s
requirements, resources, and team. Here are some common SDLC models:

1. Waterfall Model: The waterfall model is a linear and sequential SDLC model. Each
phase is completed before moving on to the next.
2. RAD (Rapid Application Development) Model: The RAD model is an iterative SDLC
model that emphasizes rapid prototyping and feedback
3. Spiral Model: The Spiral model is a risk-driven SDLC model that involves a series of
iterations, similar like Waterfall Model.
4. V- Model: The V-Model is a variation of
the Waterfall model that involves testing
at every stage of the SDLC.
5. Incremental Model: Incremental Model is
not a separate model. It is necessarilya
series of waterfall cycles. The
requirements are divided into groups at
the start of the project. For each group,
the SDLC model is followed to develop
software.
6. Agile Model: The Agile model is an
iterative and incremental SDLC model
that involves continuous collaboration
between the development team and the
customer.
(5)
7. Iterative Model: The Iterative model is a repetitive SDLC model that involves multiple
cycles of requirements gathering, design, implementation, and testing.
8. Big bang Model: Big bang model is focusing on all types of resources in software
development and coding, with very little planning. This model works best for small
projects with smaller size development team. It is useful for academic software
development projects.
These are some of the common SDLC models used by software development teams. The
choice of model depends on the project’s requirements, resources, and team.

Summary:
⚫ The full form SDLC is Software Development Life Cycle.
⚫ The Software Development Life Cycle (SDLC) is a systematic process for building
software.
⚫ SDLC ensures the quality and correctness of the software built.
⚫ SDLC provides the framework in software engineering.
⚫ The senior team members conduct the requirement analysis phase.
⚫ Feasibility Study stage includes everything which should be designed and developed
during the project life cycle.
⚫ In the Design phase, the system and software design documents are prepared as per
the requirement specification document.
⚫ In the coding phase, developers’ starts build the entire system by writing code using the
chosen programming language.
⚫ Testing is the next phase which is conducted to verify that the entire application works
according to the customer requirement.
⚫ Installation and deployment face begins when the software testing phase is over, and
no bugs or errors left in the system
⚫ Bug fixing, upgrade, and engagement actions covered in the maintenance face
⚫ SDLC in software testing consists of a detailed plan which explains how to plan, build,
and maintain specific software
⚫ SDLC models are divided into several types, and the choice of model depends on the
project’s requirements, resources, and team.
Brain Buzz :
I. Expand the Following:
1. SDLC
2. SRS
3. DDS
4. QA
5. UAT

(6)
II. Pick up the answer from the box and fill in the blanks:

Accommodating changes, SRS, Senior members, software, planning,


scheduling, estimating

1. SDLC is a process which is used by the development.


2. SDLC offers a basis for project , , and .
3. The of the team get the inputs from the customer and do the
planning in this stage.
4. involves of all the product requirements to be designed and
developed during the project life cycle.
5. The choice of SDLC models depends on the project’s ,
and .
III. Answer the following:
A. Short Answer:
1. What is SDLC?
2. List the phases of SDLC?
3. What is the purpose of SRS in SDLC? How DDS supports SRS?
4. What are the three activities occur in deployment phase?
5. Define Waterfall Model?
B. Long Answer:
1. Explain the following phases:
a. Requirement Analysis
b. Defining Requirements
c. Designing
2. Elaborate the following phases:
a. Coding
b. Testing the Product
c. Deployment in the Market and Maintenance
3. Explain any three SDLC Model.

(7)

You might also like