Lesson2 SDLC PDF
Lesson2 SDLC PDF
Development
Life Cycle
COSC70 – Software Engineering I
System Development Life Cycle
● SDLC is a process that consists of a series
of planned activities to develop or alter any
Software Products
● It is a conceptual model which includes
policies and procedures for developing
or altering systems throughout their life
cycles.
● It consists of a detailed plan describing
how to develop, maintain, replace and alter
or enhance specific software.
System Development Life Cycle
● The life cycle defines a methodology
for improving the quality of software
and the overall development process.
● This is used by systems analysts to
develop an information system.
SDLC Activities
SDLC Activities
● SDLC is a systematic approach which explicitly breaks
down the work into phases that are required to implement
either new or modified Information System.
● This provides a series of steps to be followed to design
and develop a software product efficiently. The SDLC
framework includes the following steps:
○ System Design
○ Implementation
○ Maintenance/Support
Planning / Feasibility Study
● Define the problem and scope of existing system.
● Overview the new system and determine its
objectives.
● Confirm project feasibility and produce the project
Schedule.
● During this phase, we must consider threats,
constraints, integration and security of system
● A feasibility report for the entire project is created
at the end of this phase.
Analysis and Specification
● Gather, analyze, and validate the information.
● Define the requirements and prototypes for new
system.
● Evaluate the alternatives and prioritize the
requirements.
● Examine the information needs of end-user and
enhances the system goal.
● A Software Requirement Specification (SRS)
document, which specifies the software, hardware,
functional, and network requirements of the system is
prepared at the end of this phase.
System Design
● Includes the design of application, network,
databases, user interfaces, and system
interfaces.
● Transform the SRS document into logical
structure, which contains detailed and complete set
of specifications that can be implemented in a
programming language.
● Create a contingency, training, maintenance,
and operation plan.
● Review the proposed design. Ensure that the final
design must meet the requirements stated in SRS
document.
● Finally, prepare a design document which will be
used during next phases.
Implementation
● Implement the design into source code through
coding.
● Combine all the modules together into training
environment that detects errors and defects.
● A test report which contains errors is prepared
through test plan that includes test related tasks
such as test case generation, testing criteria,
and resource allocation for testing.
● Integrate the information system into its
environment and install the new system.
Maintenance/Support
● Include all the activities such as phone support or
physical on-site support for users that is required
once the system is installing.
● Implement the changes that software might undergo
over a period of time, or implement any new
requirements after the software is deployed at the
customer location.
● It also includes handling the residual errors and
resolve any issues that may exist in the system
even after the testing phase.
● Maintenance and support may be needed for a
longer time for large systems and for a short
time for smaller systems.
Software Development
Paradigm
Software Development Paradigm
● The software development paradigm helps
developer to select a strategy to develop the
software.
● A software development paradigm has its own set of
tools, methods and procedures, which are expressed
clearly and defines software development life cycle.
● There are various software development life cycle
models defined and designed which are followed
during the software development process.
● Each process model follows a Series of steps unique
to its type to ensure success in the process of
software development.
Waterfall Model
● The Waterfall model is the simplest model
of software development paradigm. Requirement
Analysis
Requirement
Analysis Requirement
Analysis
System Design
System Design
Implementation
Implementation
Testing
Testing
Deployment
Deployment
Maintenance
Maintenance
Iterative Model
● This model leads the software development
process in iterations. It projects the process of Initial
Planning
software.
● Every cycle produces a software, which is
Maintenance
next iteration.
● If there are issues, challenges or risks identified
during risk management, it can be patched out in
the next iteration of the project
● If all of the features of the desired software
product has been included in the next iteration, the
software will be prepared for deployment Deployment
critical projects
Maintenance
Spiral Model Determine Identify and
Objectives Resolve Risks
models. Concept of
of
Require-
Require- Detailed
● Operation ments
It allows incremental releases of the product or
ments Design
Draft
○
Analysis
Concept of Require-
Require- Detailed
Operation ments
ments Design
Draft
Implementation
Deployment
During this phase, the identified features are Test Plan Risk
Analysis
Review
developed and verified through testing. The Development
Plan
Risk
Analysis
actual software is produced based on the Requirements
Plan
2nd
nth
Prototype
1st Prototype
Concept of Require-
Require- Detailed
Operation ments
ments Design
Draft
Implementation
Deployment
At the end of this phase, the next version of Plan the Next Development
the software is available. Iteration and Testing
Spiral Model Determine Identify and
Objectives Resolve Risks
Development
Plan Verification and Integration
Validation
Test Plan
Verification and Test
Validation
Implementation
Deployment
● This could also mean that the spiral may go on Test Plan
Verification and Test
projects.
● Requirements have to be very clear before Module
Design
Unit Testing
Coding
V-Model
● Due to it’s sequential nature, this model is Requirement
Analysis
Acceptance
Testing
not good for complex and object-
oriented projects, especially for projects
System System