0% found this document useful (0 votes)
22 views17 pages

Lec 3 SDLC Introduction

The document outlines the Software Development Life Cycle (SDLC), detailing the structured phases involved in software development, including requirement analysis, design, implementation, testing, deployment, and maintenance. It emphasizes the importance of a software process framework that guides software engineers and managers through predictable steps to ensure high-quality outcomes. Additionally, it highlights various activities and models that support effective project management and quality assurance throughout the software development process.

Uploaded by

qy3383940
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views17 pages

Lec 3 SDLC Introduction

The document outlines the Software Development Life Cycle (SDLC), detailing the structured phases involved in software development, including requirement analysis, design, implementation, testing, deployment, and maintenance. It emphasizes the importance of a software process framework that guides software engineers and managers through predictable steps to ensure high-quality outcomes. Additionally, it highlights various activities and models that support effective project management and quality assurance throughout the software development process.

Uploaded by

qy3383940
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Software Engineering

Unit-1
Software Process Framework
• When you build a product or system, it’s important to
go through a series of predictable steps—a road map
that helps you create a timely, high-quality result. The
road map that you follow is called a ‘software process.’

• A software process model is an abstract representation


of a process. It presents a description of a process from
some particular perspective.
Who does it?
• Software engineers and their managers adapt
the process to their needs and then follow it.
In addition, the people who have requested
the software play a role in the software
process.
Software Process Framework
Process Framework Activities
Defining a small number of framework activities that are applicable to all
software projects, regardless of their size or complexity
– Communication – Communicate with stakeholders and customers to
obtain objectives of the system and requirements for the software.
– Planning – Software project plan has details of resources needed, tasks
and risk factors likely to occur, schedule.
– Modelling – Architectural models and design to better understand the
problem and for work towards the best solution.
– Construction – Generation of code and testing of the system to rectify
errors and ensuring all specified requirements are met.
– Deployment – Entire software product or partially completed product is
delivered to the customer for evaluation and feedback.
Umbrella activities
Activities that occur throughout a software process for better management and
tracking of the project.
• Software project tracking and control – Compare the progress of the project with
the plan and take steps to maintain a planned schedule.
• Risk management – Evaluate risks that can affect the outcome and quality of the
software product.
• Software quality assurance (SQA) – Conduct activities to ensure the quality of the
product.
• Technical reviews – Assessment of errors and correction done at each stage of
activity.
• Measurement – All the measurements of the project and product features.
• Software configuration management (SCM) – Controlling and tracking changes in
the software.
• Reusability management – Back up work products for reuse and apply the
mechanism to achieve reusable software components.
Software Life Cycle Models
Or
Software Development Life
Cycle Models(SDLC)
Or
Software Process Models
Software Development Life Cycle (SDLC)

• Software Development Life Cycle (SDLC) is a process used by the software


industry to design, develop and test high quality softwares.

• The SDLC aims to produce a high-quality software that meets or exceeds


customer expectations, reaches completion within times and cost estimates.

• 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.

• The life cycle defines a methodology for improving the quality of software
and the overall development process.
Software Life Cycle Models

• The period of time that starts


when a software product is
conceived and ends when the
product is no longer available for
use.

• The software life cycle typically


includes a
• Requirement phase/Analysis
Phase,
• Design phase,
• Implementation phase,
• Test phase,
• Maintenance phase
Software Requirement Analysis Phase
• 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 in the economical, operational and
technical areas.
• The requirements gathering process is intensified and focused specifically
on software.
• The software engineer ("analyst") must understand the information
domain for the software, as well as required function, behavior,
performance, and interface.

• Requirements for both the system and the software are documented and
reviewed with the customer.
Analysis Phase
• Once the requirement gathering is done, an analysis is done to check the
feasibility of the development of a product. In case of any ambiguity, a call is set
up for further discussion.

• 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.

• Once the requirement is clearly understood, the SRS (Software Requirement


Specification) document is created. This document should be thoroughly
understood by the developers and also should be reviewed by the customer for
future reference.
Design Phase
• In this phase, the requirement gathered in the SRS document is used as an input and
software architecture that is used for implementing system development is derived.

• Software design is actually a multistep process that focuses on four distinct attributes of
a program:
– data structure,
– software architecture,
– interface representations, and
– procedural (algorithmic) detail.

• The design process translates requirements into a representation of the software that
can be assessed for quality before coding begins. Like requirements, the design is
documented and becomes part of the software configuration.

• Based on the requirements specified in SRS, usually more than one design approach for
the product architecture is proposed and documented in a SDD - Specification Design
Document.
Cont...
• This SDD 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.

• 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 the
minutest of the details in DDS.
Implementation or Code generation
Phase
• Implementation/Coding starts once the developer gets the Design
document. The Software design is translated into source code. All the
components of the software are implemented in this phase.

• The programming code is generated as per SDD during this stage.

• If the design is performed in a detailed and organized manner, code


generation can be accomplished without much hassle.

• The design must be translated into a machine-readable form.


Testing Phase
• 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 product defects are reported,
tracked, fixed and retested, until the product reaches the quality standards defined in the
SRS.

• Testing starts once the coding is complete and the modules are released for testing. In
this phase, the developed software is tested thoroughly and any defects found are
assigned to developers to get them fixed.

• Retesting, regression testing is done until the point at which the software is as per the
customer’s expectation. Testers refer SRS document to make sure that the software is as
per the customer’s standard.

• The testing process focuses on the logical internals of the software, ensuring that all
statements have been tested, and on the functional externals

• Conducting tests to uncover errors and ensure that defined input will produce actual
results that agree with required results.
Deployment
• Once the product is tested, it is deployed in the production
environment or first UAT (User Acceptance testing) is done
depending on the customer expectation.

• In the case of UAT, a replica of the production environment is


created and the customer along with the developers does the
testing. If the customer finds the application as expected,
then sign off is provided by the customer to go live.
Maintenance/Support Phase
• After the deployment of a product on the production environment,
maintenance of the product i.e. if any issue comes up and needs to be fixed
or any enhancement is to be done is taken care by the developers.

• Software will undoubtedly undergo change after it is delivered to the


customer (a possible exception is embedded software).

• Change will occur because errors have been encountered, because the
software must be adapted to accommodate changes in its external
environment (e.g., a change required because of a new operating system or
peripheral device),

• the customer requires functional or performance enhancements. Software


support/maintenance reapplies each of the preceding phases to an existing
program rather than a new one.

You might also like