0% found this document useful (0 votes)
33 views44 pages

Section 1: Introduction To Software Lifecycle

The document provides an overview of the Software Development Lifecycle (SDLC), outlining its definition, phases, and the importance of requirement analysis. It discusses various software development models, including the Waterfall and Agile models, highlighting their advantages and disadvantages. The document emphasizes the role of different team members in the SDLC process and the significance of testing in ensuring software quality.

Uploaded by

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

Section 1: Introduction To Software Lifecycle

The document provides an overview of the Software Development Lifecycle (SDLC), outlining its definition, phases, and the importance of requirement analysis. It discusses various software development models, including the Waterfall and Agile models, highlighting their advantages and disadvantages. The document emphasizes the role of different team members in the SDLC process and the significance of testing in ensuring software quality.

Uploaded by

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

Chapter 1:

Software Lifecycle
Section 1: Introduction to
software lifecycle

CCDI Teacher: Amal Majed Academic year: 2024 - 2025


Objectives

 Define the software development lifecycle.


 Describe a software development lifecycle.
 Distinguish between various software
development models.
 Apply different requirement analysis tools.
 Describe abstraction using real-life examples.
Keywords
What is a Software?

https://www.youtube.com/watch?v=XgzwUrGi_nY
Software Development Lifecycle (SDLC)
 Any software starts with an idea that solves a
particular problem faced by a target user or users.
 That idea is then developed and maintained through a
process called software development lifecycle (SDLC).
 The (SDLC) is a method that defines the processes for
creating high-quality software.
 There are 7 key phases to understanding SDLC.
Software Development Lifecycle (SDLC)
Software Development Lifecycle (SDLC)

 Let us assume that you have a banking business and


that your business does not use any software. At the
end of the year, reports show that there has been a
significant drop in the number of customers due to
lack of internet banking facilities. Therefore, you
decide to invest in banking software.
Software Development Lifecycle (SDLC)

Discussion:

What are the advantages of using SDLC to develop a software?

• Create high-quality software


• Improve customer service
• Increase productivity of employees
• Save money
Software Development Lifecycle (SDLC)
Planning

Operations
and Requireme
Maintenan nts
ce

SDL
Deployme
C Design
and
nt prototypin
g

Software
Testing developme
nt
Software Development Lifecycle (SDLC)

1. You will reach out to multiple software development


companies until you find one that you like.
2. Then, you will meet the company’s project
manager to discuss the terms of the
agreement and sign a deal.
3. Once the project is accepted, the company’s team
meets with the client (that is you) to understand the
business problem and the expectations from the
software solution.
Software Development Lifecycle (SDLC)
Usually, the company’s team includes:

https://www.liveworksheets.com/1-jh1629950yj
Software Development Lifecycle (SDLC)
Usually, the company’s team includes:
Team member Task

Project manager Manages the budget, resources expectations, and delivery timeline.

Understands the terms used by the business owner that technical


Business analyst
staff may not understand.
Plans the product from many different aspects including user inter-
Designers
face, database, supported browsers etc.
Understands the technical feasibility of the project requirements
Developers and
writes the code for the software.
Operations Sets up the physical hardware for the servers.
Understands quality expectations from the project and checks
Testers whether the software has met the required expectations and is
ready to be delivered in the production environment.
Software Development Lifecycle (SDLC)
Planning

Operations
and Requireme
Maintenan nts
ce

SDL
Deployme
C Design
and
nt prototypin
g

Software
Testing developme
nt
Software Development Lifecycle (SDLC)

The software development


company will create a
requirement document The Software Requirements
Discuss the outlined
includes: Specification report or SRS is
requirements in detail
generated
- The scope of work
- The expected timelines
Software Development Lifecycle (SDLC)

• SRS report outline


Software Development Lifecycle (SDLC)

https://www.youtube.com/watch?v=zCX-N1H8Vps
Software Development Lifecycle (SDLC)

• SRS report outline


set of features that define how the system works,
how it responds to input, what it should do and
what it should not do.

define how the system performs a specific task. It


specify the system’s quality in terms of
performance, usability, security, capacity,
scalability
Software Development Lifecycle (SDLC)

 You(the client) and the team will discuss the


outlined requirements in detail.
Non-functional
requirements define
Functional how the system
requirements are a performs a specific
set of features that Functional task. They specify the
define how the requirements Non-Functional system’s quality in
system works. requirements terms of
Examples: performance,
usability, security,
• A verification e-mail is
capacity, etc.
sent to users when they Examples:
register for the first time.
• Registered users are • The website should be able to handle 1000
saved in a database. users at the same time without the
• After login, users are webserver going down.
directed to the homepage • Requests should be processed within 10-15
Functional requirements and Non-Functional
requirements
• Functional • Non-Functional
Requirements Requirements

an be
ts c
s
po 3,206 time t
6
c t e rs o log
in
ra
ch a n g
lo

profi ill
le ph w
on F
aceb oto p ost to
ook a e ar '
sh ou app users
l
visib d be th er thin
le on o w i s
login s
list econd
s
30
Functional requirements and Non-Functional
requirements
• Functional • Non-Functional
Requirements Requirements

o n Th e s
oftwa
ru rs with
n
sh ou l re
p ute 4.0 porta
d be
c om m or y b
me RAM availa le,
b
GB differe le on
nt OS
s
Software Development Lifecycle (SDLC)
Planning

Operations
and Requireme
Maintenan nts
ce

SDL
Deployme
C Design
and
nt prototypin
g

Software
Testing developme
nt
Software Development Lifecycle (SDLC)

 In the design phase, the


designers from the software
development company will
analyze the project’s
requirements and start planning
the product accordingly.
 Usually, designers develop more
than one design approach for the
product.
Software Development Lifecycle (SDLC)

Design
Phases

System Detailed
Design Design

Identify the Logic of each


modules/pag module and
es of the their
system. connection
Software Development Lifecycle (SDLC)

 During system design,


Designers can use the
abstraction methodology to
split the system into smaller
systems in order to focus on
one part at a time.
Software Development Lifecycle (SDLC)

Planning

Operations
and Requireme
Maintenan nts
ce

SDL
Deployme
C Design
and
nt prototypin
g

Software
Testing developme
nt
Software Development Lifecycle (SDLC)
Software Development Lifecycle (SDLC)
Planning

Operations
and Requireme
Maintenan nts
ce

SDL
Deployme
C Design
and
nt prototypin
g

Software
Testing developme
nt
Software Development Lifecycle (SDLC)

 Testing is performed to validate the developed software’s functionality and


quality.
 The errors that are found are then reported and assigned back to the
developers to be corrected before the software is released to end-users.
 Therefore, the testing phase helps in finding and avoiding software defects.
Software Development Lifecycle (SDLC)
Planning

Operations
and Requireme
Maintenan nts
ce

SDL
Deployme
C Design
and
nt prototypin
g

Software
Testing developme
nt
Software Development Lifecycle (SDLC)

https://www.youtube.com/watch?v=nZ3BaTY8c9M
Software Development Lifecycle (SDLC)
Planning

Operations
and Requireme
Maintenan nts
ce

SDL
Deployme
C Design
and
nt prototypin
g

Software
Testing developme
nt
Software Development Lifecycle (SDLC)

Perform as expected Boost performance Answer feedback


Plenary
Software Development Lifecycle (SDLC)
Software Development Lifecycle (SDLC)
 SDLC Models
• Several SDLC process models can be used to complete a software
project.
• All models employ the same SDLC phases, however, each model
moves through the phases differently.
• The choice of which SDLC model to use depends on the customer’s
requirements and the length of time the project has to be
completed.
Software Development Lifecycle (SDLC)
 SDLC Models

Agile model

Waterfall model
Software Development Lifecycle (SDLC)
 SDLC Models: Several SDLC process models can be
used to complete a software project

https://www.youtube.com/watch?v=5RocT_OdQcA
Software Development Lifecycle (SDLC)
What are the
 Waterfall model advantages
and
disadvantage
s?
Software Development Lifecycle (SDLC)
What are the
 Waterfall model advantages
and
disadvantage
s?

Advantage Disadvantage
• Simple and easy to understand • Working software is produced during
• Clearly defined deliverables from the final phases of the lifecycle
each phase • Time-consuming
• Phases are completed one at a time • High risk
• Easy to manage tasks – suitable for • Not suitable for projects with
large-scale processes uncertain requirements
• Processes and results are well • Cannot accommodate changing
documented requirements
• Difficult to measure progress within
phases
Software Development Lifecycle (SDLC)
What are the
 Agile model advantages
and
disadvantage
s?
Software Development Lifecycle (SDLC)
What are the
 Agile model advantages
and
disadvantage
s?

Advantage Disadvantage
• Flexible – can accommodate • Lack of documentation
changing requirements • Difficult to plan as requirements
• New features can be added easily keep changing
• Feedback can be taken at each • Not suitable for the implementation
phase which minimises risks of large-scale processes
Summary
Activity 1.1.8

You might also like