Escolar Documentos
Profissional Documentos
Cultura Documentos
Software
Development
Life
Cycle
Table of Contents
Topic
Slide Number
What is SDLC
SDLC Phase
7-8
10
WaterFall Model
11-16
17
Incremental Model
18-22
Spiral Model
23-30
RAD
31-35
SDLC
Table of Contents
Topic
Slide Number
Evolutionary Model
36-41
V-Model
42-46
Agile SDLC
47-48
Extreme programming
49-52
FDD
53
DSDM
54-56
Adaptive SDLC
57-58
Tailored SDLC
59
Exercises
60-61
SDLC
Table of Contents
Topic
Slide Number
SDLC Phases
Planning
Analysis
Design
Build
Test
Quality Assurance
Summary
Exercise
SDLC
64
65-67
68-71
72-76
77--81
82-84
85-90
91-93
94
What is SDLC
The systems development life cycle (SDLC)
is a conceptual
model
used in project management
that describes the stages involved
in an information system development project,
from an initial feasibility
study
SDLC
In some of the models we will see that these are performed once and in
others some or all the steps are repeated or broken down into sub
steps.
SDLC
SDLC Phases
Planning and Control
Input:
This Phase will produce a high-level
Identified Business Need
overview document of the proposed
project. It will contain information
Deliverables:
relating to the projects requirements
Project Charter
and will enable the formalization and
definition of the scope of the project .
Input:
This Phase of the SDLC is required to
understand and document the users'
needs for the system.
Requirement
Analysis
Project Charter
Deliverables:
Detailed System Analysis
Design
Input:
Detailed System
Analysis
Deliverables:
Detailed System design
SDLC
SDLC Phases
Input:
This Phase addresses the
preparation and establishment
of the technical environment
for development.
Build
Test
Input:
System Build
Deliverables:
User procedures
Test Plan
SDLC
Quality Reviewer
Lead Analyst
Business Requirement
Analyst
Lead Designer
System Analyst
Requirement Analysis
Architect
Designer
Design
SDLC
Lead Developer
Developer
Build
Lead Tester
System Tester
Integration Tester
Test
10
SDLC
Waterfall Model
Planning and Control
Requirement
Analysis
Design
Build
Test
11
SDLC
12
SDLC
13
SDLC
Waterfall Strengths??
Ease of Use: Easy or difficult ?
Easy to understand, easy to use
Provides structure to inexperienced staff
14
SDLC
Waterfall Deficiencies
Can new requirements be taken into consideration during the development
phase?
Can the customer preview the system during the development phase?
Little opportunity for customer to preview the system (until it may be too
late)
15
SDLC
16
SDLC
17
SDLC
Release 2
Test
Test
Release 1
Test
Build
Build
Build
Increment 2
Design
Design
Requirement
Requirement
Requirement
Analysis
Analysis
Analysis
Design
18
SDLC
Each release
delivers an
operational product
19
SDLC
20
SDLC
How does this model deal with the cost of the complete system?
Total cost of the complete system is high.
21
SDLC
Most of the requirements are known up-front but are expected to evolve
over time
22
SDLC
Spiral Model
23
SDLC
24
SDLC
25
SDLC
26
SDLC
27
SDLC
28
SDLC
Time spent for evaluating risks too large for small or low-risk
projects
Time spent planning, resetting objectives, doing risk analysis
and prototyping may be excessive
29
SDLC
30
SDLC
31
SDLC
32
SDLC
RAD Strengths??
What mainly gets reduced by using RAD model?
Reduced cycle time and improved productivity with fewer
people -means lower costs
33
SDLC
RAD Weaknesses??
What is the risk associated with this model?
Due to time boxing, where features are pushed off to later
versions in favor of delivering an application in a short time
frame, RAD may produce applications that are less full
featured than traditionally developed applications.
34
SDLC
35
SDLC
Evolutionary Model
We can see that the incremental, iterative, and spiral models all still
suffer from the problem of the length of time from the start of the SDLC
to delivery of software for use by the customers.
this means that the real-life problem is at least partly resolved more
quickly.
36
SDLC
37
SDLC
38
SDLC
39
SDLC
40
SDLC
V Model
Requirement
Analysis
Test
Integration Test
Build
41
SDLC
When to use
Structured Evolutionary Prototyping
Requirements are unstable or have to be clarified
As the requirements clarification stage of a waterfall model
Develop user interfaces
Short-lived demonstrations
New, original development
With the analysis and design portions of object-oriented development.
42
SDLC
V-Shaped Steps
Project and Requirements Planning
allocate resources
43
SDLC
V-Shaped Strengths??
Which phase is more emphasized when using V Shaped Model?
Emphasize planning for verification and validation of the
product in early stages of product development
Each deliverable must be testable More Emphasis laid on the
Testing phase.
Ease of use?
Easy to use
44
SDLC
V-Shaped Weaknesses
Can V model handle concurrent events?
Does not easily handle concurrent events
45
SDLC
46
SDLC
Agile SDLC
Speed up or bypass one or more life cycle phases
Usually less formal and reduced scope
Used for time-critical applications
Web application deveopment
Used in organizations that employ disciplined methods
47
SDLC
48
The best architectures, requirements and designs emerge from selforganizing teams
. The most efficient and effective method of conveying information to
and within a development team is face-to-face communication
Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout
the project
Working software is the primary measure of progress.
SDLC
Agile Characteristics
Mostly agile practices are adaptive
Charactised by XP,scrum,lean s/w dev,Feature driven
devopement,crystal methodologies
49
SDLC
50
Crystal Clear
Scrum
SDLC
Extreme Programming - XP
For small-to-medium-sized teams developing software with vague or
rapidly changing requirements
Coding is the key activity throughout a software project
51
SDLC
XP Practices (1-6)
52
1.
2.
Small releases put a simple system into production, then release new
versions in very short cycle
3.
4.
5.
6.
SDLC
XP Practices (7 12)
53
7.
8.
9.
Continuous integration integrate and build the system many times a day
every time a task is completed.
10.
11.
12.
SDLC
XP is extreme because
Common sense practices taken to extreme levels
If code reviews are good, review code all the time (pair programming)
If testing is good, everybody will test all the time
If simplicity is good, keep the system in the simplest design that supports its
current functionality. (simplest thing that works)
If integration testing is important, build and integrate test several times a day
(continuous integration)
If short iterations are good, make iterations really, really short (hours rather
than weeks)
54
SDLC
1.
Develop an overall model Produce class and sequence diagrams from chief
architect meeting with domain experts and developers.
2.
Build a features list Identify all the features that support requirements. The
features are functionally decomposed into Business Activities steps within Subject
Areas.
Features are functions that can be developed in two weeks and expressed in
client terms with the template: <action> <result> <object>
3.
4.
5.
55
SDLC
56
SDLC
DSDM Principles
1.
2.
3.
4.
5.
6.
7.
8.
9.
57
SDLC
DSDM Lifecycle
Feasibility study
Business study prioritized requirements
Functional model iteration
risk analysis
Time-box plan
Design and build iteration
Implementation
58
SDLC
Adaptive SDLC
Combines RAD with software engineering best practices
Project initiation
Adaptive cycle planning
Concurrent component engineering
Quality review
Final QA and release
59
SDLC
Adaptive Steps
1.
2.
3.
4.
5.
6.
7.
8.
60
SDLC
Project should consider risk but complete spiral too much start with
spiral & pare it done
Each team must pick or customize a SDLC model to fit its project
61
SDLC
62
SDLC
63
SDLC
Exercise
1. What are the key elements of the SDLC?
2. We involve the users in new project requests, but they complain that we
ask for too much information that they do not have or know. We don't
want to become too bureaucratic, but we need more complete
information and not half filled out forms. How can we effectively and
affordably fix or improve things
advised that they are moving away from flowcharts in favor of text
based instructions in table format. I asked what drove this decision. The
answer was that the users of the process found it easier to read a table
format instead of a flow diagram. Isn't there a risk in missing or getting
the process workflows wrong if you don't use a proper flowcharting tool?
64
SDLC
Exercise (contd.)
Cite the difference between the Waterfall, Spiral and VModel
Cite an example where a V Model would be preferable then the
Waterfall or Spiral Model
65
SDLC
SDLC Phases
The System Development Life Cycle (SDLC) is intended to provide a set
of guidelines for the successful completion of application development
projects. The SDLC consists of six distinct Phases .
68
SDLC
Planning
Purpose:
This Phase of the SDLC is required to determine the feasibility of a
particular project proceeding, or not.
This Phase will produce a high-level overview document of the
proposed project.
Prerequisites:
Deliverables:
69
SDLC
Planning (Contd.)
Responsibility
Executive Management --Deliverable Approval
Project Manager --Assist as required
Development TeamNone
Business Analyst --Assist as required
User Team --Requirement Input
Quality Assurance --Standards QA
70
SDLC
Planning
Milestone:
Project Approval. A project must not proceed to the next Phase
without the appropriate authorization and approval.
71
SDLC
Planning
Additional Activities:
Depending on the specific requirements of the system project, certain
activities may need to be performed, after the completion and approval
of the Project Charter, but before the next Phase of the SDLC. These
are:
Selection of Development Team;
Selection and appointment of a qualified Project Manager;
Secured and allocated resources (funds, people, technology)
72
SDLC
Analysis
Purpose:
This Phase of the SDLC is required to understand and document the
users' needs for the system.
This Phase will document, in significantly more detail than the Project
Statement, the scope, business objectives and requirements of the
current/proposed system.
The emphasis throughout this Phase is on what the system will do.
During analysis and specification, the technical aspects and
constraints should be considered, but should not be influenced by
implementation characteristics. The technical aspects of the system
are addressed in the Design Phase.
73
SDLC
Analysis
Prerequisites:
Project Statement Approved.
Deliverables:
Detailed System Analysis.
74
SDLC
Analysis
Responsibility
Executive Management
--Monitor Progress
Project Sponsor
Analyst
75
--Major Contributor
User Team
--Significant contribution
QA
-Analysis QA
SDLC
Analysis
Milestone:
Detailed System Analysis -- Approval and Sign-off
A project must not proceed to the next Phase without appropriate
deliverable approval and Sign-off.
Activity:
The Project Manager is responsible for producing the deliverables
associated with the Detailed System Analysis. However, the Project
Manager usually delegates this to the Business Analyst.
76
SDLC
Design
Purpose:
This Phase of the SDLC continues from the Detailed System Analysis
and describes how the proposed system will be built.
The Design is specific to the technical environment that the system will
operate in and the tools used in building the system. The results of this
Phase significantly impact the Build and Implementation Phases of the
system.
77
SDLC
Design
Prerequisites:
Detailed System Analysis -- Signed-off
Deliverables:
Detailed System Design.
78
SDLC
Design
Responsibility
Executive Management --Monitor Progress
Project Manager
Development Team
79
SDLC
--Quality Assurance
--Major Contributor
Design
Milestone:
Detailed System Design -- Approval and Sign-off.A project must not
proceed to the next Phase without appropriate deliverable approval
and Sign-off.
Activity:
The Project Manager is responsible for producing the deliverables
associated with the Detailed System Design. However, the Project
Manager usually delegates responsibility for some or all of these
deliverables to the Development Team.
80
SDLC
Build
Build Application is the third
activity in the Application work
stream. Using the analysis and
design deliverables from the
previous two stages, you will
produce the detailed design, then
build and test the application
components.
81
SDLC
Build
This Phase of the SDLC deals with the development, unit testing and
integration testing of the application modules, screens and reports. In
addition, this Phase addresses the preparation and establishment of the
technical environment for development, testing and training of user
representatives.
This Phase is usually carried out in parallel with the development of user
procedures and user documentation from the Implementation Phase.
Both of these will be required for module testing, upon the completion of
the Build Phase.
82
SDLC
Build
Prerequisites:
Detailed System Design -- Signed-off.
Deliverables:
System Build.
Developer Guidelines.
Application Forms and Reports.
83
SDLC
Build
Responsibilities
Executive Management -- Monitor Progress
Development Team -- Major Contributor
84
SDLC
Build
Milestone:
System Build -- Approval and Sign-off.
Some activities in this Phase may be conducted in parallel with
activities of the Module Testing Phase.
85
SDLC
Test
Using the deliverables (integrated components from the previous
stages), this stage prepares and executes assembly, product,
performance and UAT of the application components.
This Phase of the SDLC is to prepare for and carry out the
implementation of the developed system through user and acceptance
testing to a full production system.
86
SDLC
Test
Prerequisites:
System Build -- Sign-off.
Deliverables:
87
User Procedures
On-Line Help
Test Plan
User Training Plan.
Application Migration Plan.
Implementation Plan
.Internet Deployment Plan (as appropriate)
.Production Sign-off.
SDLC
Test
The Project Manager is responsible for producing the deliverables
associated with the Implementation Phase. However, the Project
Manager usually delegates responsibility for some or all of these
deliverables to the Development Team.
88
SDLC
Quality Assurance
Quality Assurance
The Quality Assurance (QA) role is the role responsible for
guaranteeing a level of quality for the end client, and to help the
software development team to identify problems early in the process.
It is not surprising that people in this role are often known as "testers".
Of course, the role is more than just testing. It's about contributing to
the quality of the final product .
89
SDLC
90
SDLC
The testing cases and scripts are also used to validate that there are no
unexplained errors in the system
91
SDLC
If the test cases and scripts in the test plan are the agreed upon
acceptance criteria for a project then all that is necessary is for project
closure is to demonstrate that all of the testing cases and scripts have
been executed successfully with passing results.
92
SDLC
93
SDLC
Second
The role executes or supervises the execution of those test cases and
scripts.
Third
The role facilitates or performs random testing of all components to
ensure that there's not a random bug haunting the system.
94
SDLC
Summary
SDLC models are tools that allow the development team to correctly follow the
SDLC steps to create software that meets a business need.
The SDLC models have evolved as new technology and new research have
addressed weaknesses of older models. Ideas have been borrowed and adapted
between the various models.
95
SDLC
Summary
The Different Phases of SDLC are
Planning
Analysis
Design
Build
Test
Quality the degree to which the software satisfies stated and implied
requirements
96
SDLC
Summary
Quality must be controlled because it lowers production speed,
increases maintenance costs and can adversely affect business
97
SDLC
Exercise
1. How many test cases can you write for a login page scenario?
2. Knowledge Buzz library has a huge collection of books and has
branches all over India. Lending of Books , membership creation,
withdrawal of membership, etc is done manually at present. Knowledge
Buzz requires a software which could be accessed by any of the
clients in India, membership should be created online or manual,
scanning of books be done online, booking of books should be done
online, withdrawal of membership should be done online.
98
SDLC