Software Development Life Cycle: Presented by MS70 - Group 2
Software Development Life Cycle: Presented by MS70 - Group 2
Presented By
MS70 – Group 2
1
Key Contents
Definition
Conclusion
2
Definition
A software development process, also known
as a software development lifecycle, is a
structure imposed on the development of a
software product.
3
The SDLC Activities
Planning
Design, implementation and testing
Deployment and maintenance
4
Planning
Extracting the requirements
Incomplete, ambiguous, or even contradictory
requirements are recognized
Planning the total project(time/cost estimation
and resource allocation)
Frequently demonstrating live code may help
reduce the risk that the requirements are
incorrect
Scope Document: Analysis of the scope of the
development should be determined and clearly
stated
5
Design, implementation and
testing
Aim is to create the architecture of the total
system
Describes desired features and operations in
detail, including screen layouts, business
rules, process diagrams, pseudocode and other
documentation
Implementation is the execution of a plan
Software engineers program the code for the
project
6
Testing
Software testing is an integral and important part of the software
development process
7
Deployment
Process that make a software system available
for use
Categories:
Corrective maintenance
Adaptive maintenance:
Perfective maintenance:
9 Preventive maintenance
Software Development
Models
Waterfall Model
Spiral Model
Iterative and Incremental
development
Agile development
Magic Box Model
10
Waterfall Model
The waterfall model shows a process,
where developers are to follow these
phases in order:
1. Requirements specification
(Requirements analysis)
2. Software Design
5. Maintenance
11
Waterfall Model (contd.)
In a strict Waterfall model, after
each phase is finished, it proceeds to
the next one.
Reviews may occur before moving
to the next phase which allows for
the possibility of changes.
Gate: Phase completion criteria- the
project must pass through to move
to the next phase.
Waterfall discourages revisiting and
revising any prior phase once it's
complete.
12
Advantages of Waterfall
Model
13
Disadvantages of Waterfall
Model
All requirements must be known upfront.
It is high risk.
14
Spiral Model
Risk management at regular stages in the development cycle
Activities:
1. Formulate plans to: identify software targets, selected to
implement the program, clarify the project development
restrictions;
2. Risk analysis: an analytical assessment of selected programs, to
consider how to identify and eliminate risk;
3. Implementation of the project: the implementation of software
development and verification;
15
Spiral Model (contd.)
16
Spiral Model (contd.)
Risk-driven spiral model, emphasizing the conditions of options and
constraints in order to support software reuse, software quality can help as a
special goal of integration into the product development.
Restrictive conditions:
spiral model emphasize risk analysis, but require customers to accept and
believe that much of this analysis, and make the relevant response is not easy,
therefore, this model is often adapted to large-scale internal software
development.
If the implementation of risk analysis will greatly affect the profits of the
project, then risk analysis is meaningless, therefore, spiral model is only
suitable for large-scale software projects.
Should look for possible risks, an accurate analysis of risk, otherwise it will
lead to greater risk.
17
Advantages of Spiral Model
Strong support for Risk Analysis
Well suited for complex and large
projects
Deliverable is produced early
Uses prototyping as a risk reduction
technique
18
Disadvantages of Spiral
Model
High cost
Risk Analysis very difficult
Not suited for small projects
Needs considerable Risk Assessment
19
Which Model Should I
Choose?
Factors:
The Scope of the Project
The Project Budget
The organizational
environment
Available Resources
20
SDLC with an
example
21
Library Management
System
Requirements
22
Library Management
System (contd.)
Design phase
1. Registration
2. Item Management
3. Lending
23
Library Management
System (contd.)
Registration
Database structure:
SchemaId : Number
DateOfRegistration : DateTime
25
Library Management
System (contd.)
Lending
1. Id : Autonumber
4. DateOfLend : DateTime
26 5. DateOfReturn : DateTime- this field will filled only at the time of return
Library Management
System (contd.)
Search for Books
User should be able to search for books
by Book Name, author name etc. The
results can be displayed using a datagrid.
User must be able to select a record from
the search results.
27
Conclusion
Software Development Life Cycle (SDLC) is the
process of developing information systems through
analysis, planning, design, implementation,
integration maintenance and testing of software
applications.
SDLC is also known as information systems
development or application development.
Success of the SDLC process :
Scope Restriction
Progressive Enhancement
Pre-defined Structure
Incremental Planning at each of the stages
28
Thank You
29