0% found this document useful (0 votes)
34 views

Software Development Life Cycle

The document discusses the software development life cycle (SDLC), including its stages and life cycle models. It describes the SDLC as consisting of activities to develop software and specify artifacts. Typical stages include planning, requirements analysis, design, development, testing, deployment, and maintenance. Life cycle models prescribe either sequential or iterative approaches and include waterfall, V-model, spiral model, and unified process models. The SDLC aims to improve software quality and the development process overall.

Uploaded by

chalu account
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views

Software Development Life Cycle

The document discusses the software development life cycle (SDLC), including its stages and life cycle models. It describes the SDLC as consisting of activities to develop software and specify artifacts. Typical stages include planning, requirements analysis, design, development, testing, deployment, and maintenance. Life cycle models prescribe either sequential or iterative approaches and include waterfall, V-model, spiral model, and unified process models. The SDLC aims to improve software quality and the development process overall.

Uploaded by

chalu account
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

SOFTWARE ENGINEERING

Lecture – 3
Agenda
• Software Development Life Cycle
• Stages of a typical SDLC
• Life Cycle Models

Software Engineering - I 2
Assignment Discussions
• List various stakeholders of the system
• Difference between deliverable and non
deliverable

Software Engineering - I 3
SOFTWARE DEVELOPMENT LIFE CYCLE
• A SDLC consists of all the activities necessary to develop a
software system along with specification of artifacts.
– Artifact is one of many kind of tangible by- products produced
during the development of software.
– Some artifacts (Example., use cases, class diagrams, other UML
models, requirements and design documents) help describe the
function, architecture and design of the software.
• A model of SDLC, called a life cycle model, is an abstract
representation of the software development methodology
with a focus on which activities to perform and when to
perform.
• Life cycle models encompass development process,
management process and supporting process.
Software Engineering - I 4
SOFTWARE DEVELOPMENT LIFE CYCLE
• The software development life cycle (SDLC) is a
framework defining tasks performed at each step in
the software development process.
• The life cycle defines a methodology for improving
the quality of software and the overall
development process.
• SDLC is a process followed for a software project,
within a software organization. It consists of a
detailed plan describing how to develop, maintain,
replace and alter or enhance specific software.
Software Engineering - I 5
STAGES OF A TYPICAL SDLC

Software Engineering - I 6
STAGE 1: PLANNING AND REQUIREMENT
ANALYSIS
• Requirement analysis is the most important and fundamental stage in
SDLC.
• It is performed by the senior members of the team with inputs from
the customer, the sales department, market surveys and domain
experts in the industry.
• This information is then used to plan the basic project approach and to
conduct product feasibility study [i.e., an assessment of the practicality
of a proposed plan or method] in the economical, technical areas, etc.
• Planning for the quality assurance requirements and identification of
the risks associated with the project is also done in the planning stage.
• The outcome of the technical feasibility study is to define the various
technical approaches that can be followed to implement the project
successfully with minimum risks.

Software Engineering - I 7
STAGE 2: DEFINING REQUIREMENTS
• Once the requirement analysis is done the next
step is to clearly define and document the
product requirements and get them approved
from the customer or the market analysts.
• This is done through ‘SRS’ – Software
Requirement Specification document which
consists of all the product requirements to be
designed and developed during the project life
cycle.
Software Engineering - I 8
STAGE 3: DESIGNING THE PRODUCT
ARCHITECTURE
• SRS is the reference for product architects to come out
with the best architecture for the product to be
developed.
• Based on the requirements specified in SRS, usually more
than one design approach for the product architecture is
proposed and documented in a DDS - Design Document
Specification.
• This DDS is reviewed by all the important stakeholders and
based on various parameters as risk assessment, product
robustness, design modularity , budget and time
constraints , the best design approach is selected for the
product.
Software Engineering - I 9
STAGE 3: DESIGNING THE PRODUCT ARCHITECTURE

• A design approach clearly defines all the


architectural modules of the product along
with its communication and data flow
representation with the external and third
party modules (if any).
• The internal design of all the modules of the
proposed architecture should be clearly
defined with extremely small details in DDS.

Software Engineering - I 10
STAGE 4: BUILDING OR DEVELOPING THE
PRODUCT
• In this stage of SDLC the actual development starts and the
product is built.
• The programming code is generated as per DDS during this
stage.
• If the design is performed in a detailed and organized manner,
code generation can be accomplished without much hassle.
• Developers have to follow the coding guidelines defined by
their organization and programming tools like compilers,
interpreters, debuggers etc are used to generate the code.
• Different high level programming languages such as C, C++,
Pascal, Java, and PHP are used for coding.
• The programming language is chosen with respect to the type
of software being developed.
Software Engineering - I 11
STAGE 5: TESTING THE PRODUCT
• This stage is usually a subset of all the stages as
in the modern SDLC models, the testing
activities are mostly involved in all the stages
of SDLC.
• However this stage refers to the testing only
stage of the product where products defects
are reported, tracked, fixed and retested, until
the product reaches the quality standards
defined in the SRS.
Software Engineering - I 12
STAGE 6: DEPLOYMENT IN THE MARKET AND
MAINTENANCE

• Once the product is tested and ready to be deployed it is


released formally in the appropriate market.
• Sometime product deployment happens in stages as per the
organizations’ business strategy.
• The product may first be released in a limited segment and
tested in the real business environment (UAT- User
acceptance testing).
• Then based on the feedback, the product may be released
as it is or with suggested enhancements in the targeting
market segment.
• After the product is released in the market, its maintenance
is done for the existing customer base.
Software Engineering - I 13
LIFE CYCLE MODELS
• There are various software development life cycle models
defined and designed which are followed during software
development process.
• These models are also referred as "Software Development
Process Models".
• Each process model follows a Series of steps unique to its type,
in order to ensure success in process of software development.
• Each one has its pros and cons, and it is up to the development
team to adopt the most appropriate one for the project.
• Sometimes a combination of the models may be more suitable.

Software Engineering - I 14
LIFE CYCLE MODELS
• Life Cycle Models can be of two types:
– Sequential Models
– Iterative Models
• Sequential Models : These models prescribe a
sequence of activities.
• Iterative Models : These models prescribe
iterative execution of activities. That is some
activities can be repeated again and again.

Software Engineering - I 15
LIFE CYCLE MODELS
• Sequential Models include
– Waterfall model
– V model

• Iterative Models include


– Spiral model
– Unified Software Development process

Software Engineering - I 16
Thank
You
Software Engineering - I 17

You might also like