Sunteți pe pagina 1din 85

The Systems Development

Life Cycle
(SDLC)

AMIT K. BHARDWAJ
The System Development Life
Cycle
It was started in the 1960s and 1970s as the first
documented approach to computer systems
development. All the stages of the development
system are thought about, planned, monitored
and Completed. SDLC is the process by which an
Information System comes to life and maintains
its usefulness to a business as it moves from
inception to replacement.

AMIT K. BHARDWAJ
System Development Life
Cycle
Business need - changing business
conditions prompt request for
new/improved computer system
System development - analyse, design
and implement a system to meet the
business need
System installation - move new system
into production
AMIT K. BHARDWAJ
System Development Life
Cycle
System operation - period of active
use
System obsolescence - system no
longer reflects changed business
needs

AMIT K. BHARDWAJ
System Life Cycle - illustration
Need
Obsolete

Develop

Install
Operate

AMIT K. BHARDWAJ
System Development
Challenges
Critical Success Factors for Systems
Development:
 effectively meet the stated business needs
 build a flexible and maintainable system

 build a reliable system

 produce a system on time and within


budget

AMIT K. BHARDWAJ
Terminologies for the SDLC phases

The phases of the SDLC are described


Differently depending on the author:
Kendall & Kendall terminology
Shelly terminology
Powers et al terminology
Etc.

AMIT K. BHARDWAJ
System Development Life Cycle
(Kendall & Kendall terminology)
Investigation
 Identify problems and opportunities
Determine requirements
Analysis
Design
Develop software
System Test
Implement and evaluate
AMIT K. BHARDWAJ
System Development Life Cycle
(Kendall & Kendall terminology)

AMIT K. BHARDWAJ
Systems Development Life Cycle
(Shelly terminology)
 Systems planning
 Preliminary investigation report
 Systems analysis
 System requirements document
 Systems design
 System design specification
 Systems implementation
 Complete functioning information system
 Systems operation and support
 Operational information system
AMIT K. BHARDWAJ
SDLC – (Shelly terminology)

AMIT K. BHARDWAJ
Systems Development Life Cycle

 Systems planning
 Purpose – identify problem’s nature/scope
 Systems request – begins the process &
describes desired changes/improvements
 Systems planning – includes preliminary
investigation or feasibility study
 End product – preliminary investigation report

AMIT K. BHARDWAJ
Systems Development Life Cycle

 Systems analysis
 Purpose is to learn exactly how the current
system operates
 Fact-finding or requirements
determination is used to define all
functions of the current system

AMIT K. BHARDWAJ
Systems Development Life Cycle

 Options
 Develop a system in-house
 Purchase a commercial package
 Modify an existing system
 Stop development
 The end product for this phase is the systems
requirements document

AMIT K. BHARDWAJ
Systems Development Life Cycle
 Systems design
Purpose is to satisfy all documented
requirements
Identify all outputs, inputs, files, manual
procedures, & application programs
Avoid misunderstanding through manager and
user involvement
End product is system design specification

AMIT K. BHARDWAJ
Systems Development Life Cycle

 Systems implementation
Construct/deliver information system
Prepares functioning, documented system
Write, test, document application programs
User and manager approval obtained
File conversion occurs
Users, managers, IS staff trained to operate and
support the system
Post-implementation evaluation performed

AMIT K. BHARDWAJ
Systems Development Life Cycle
 Systems operation and support
New system supports business operations
Maintenance changes correct errors or meet
requirements
Enhancements increase system capability
After several years of operation, systems
experience need for extensive changes
Systems development life cycle ends with
system replacement

AMIT K. BHARDWAJ
System Development Life Cycle illustration

1. Investigation - 2. Determine requirements


Identify problems,
opportunities
3. Analysis
7. Implement
and evaluate

4. Design
6. System Test

5. Develop software
AMIT K. BHARDWAJ
Other Terminology for SDLC phases

Many organisations and many authors


use different terminology for the phases
of the SDLC
However essentially the same activities
are performed
Refer to examples of other terminology

AMIT K. BHARDWAJ
System Development Life Cycle
(Powers et al terminology)

Investigation phase
Analysis and General Design phase
Detailed Design and Implementation
phase
Installation phase
Review phase

AMIT K. BHARDWAJ
Investigation phase
Initial investigation
Feasibility study
 Financial feasibility
 Technical feasibility

 Operational feasibility

 Legal /ethical feasibility

AMIT K. BHARDWAJ
Analysis and General Design phase
Existing system review
 build model of existing system
New system requirements
 from User’s point of view
New system design
 sufficient information for management to decide
whether to proceed
Implementation and Installation planning
 plan to cover next phases

AMIT K. BHARDWAJ
Detailed Design and Implementation
phase
Technical design
 for programs (pseudo-code), files, records,
reports, screens
Test specifications and Testing
prepare test plans
Programming and Testing
 write and test program code
User Training
System and Acceptance test
 by Users, simulating production conditions

AMIT K. BHARDWAJ
Installation phase
File conversion
 run programs to convert files into new format
System installation
 critical system transition to production
Options for installation are:
 Cutover can be abrupt
 Operate old and new systems in parallel
(for 2 weeks)
 Phase in new system, over time
 Install version of the system
AMIT K. BHARDWAJ
Review phase
Development recap
 team review of project, for benefit of
future projects
Post implementation review
 evaluate how well the system is working
 to what extent are project benefits being
achieved?

AMIT K. BHARDWAJ
S D L C Phases (general)

Business Survey
Feasibility
Systems Analysis
Systems Design
Programming
Testing
Implementation
Post Implementation Review
Maintenance
AMIT K. BHARDWAJ
AMIT K. BHARDWAJ
Why have a System Development Life Cycle?

Management needs to know:


 project is on time
 project is within budget

These project control stages


(checkpoints) are the end of each phase
of the System Development Life Cycle

AMIT K. BHARDWAJ
1. Business Survey
Initial broad term report
Estimate:
 project cost
 project resources (people)

 project time

Recommend whether go on to
Feasibility

AMIT K. BHARDWAJ
2. Feasibility
Assess feasibility of the project:
 operational feasibility
 technical feasibility
 financial feasibility

Identify possible solutions and options


Recommend most appropriate to
management
Outline of development plan
AMIT K. BHARDWAJ
3. Systems Analysis
Information Gathering
User Requirements refined to
specify the new system
Goal - User Requirements Document
 design for the new system
 just enough technical detail
for the customer
Report contents geared towards
customer

AMIT K. BHARDWAJ
4. Systems Design
Convert User Requirements into
computer terms
Specify
 how system will operate
 what programs are needed

 what the programs will do

AMIT K. BHARDWAJ
5. Programming and Design Aim
Convert specifications into program
code
Prepare test plans
 for unit testing (individual programs)

AMIT K. BHARDWAJ
5. Programming and Design Aim
Design aim must ensure that the system
is:
 Accurate • Implementable
 Maintainable • Acceptable
 Timely • Flexible
 Robust • Economic
 Efficient • Secure
 Compatible • Portable

AMIT K. BHARDWAJ
6. Testing - make system “bullet
proof”
System Testing & Acceptance
Testing
System Testing
 test program as part of the whole
system e.g. new program in whole
payroll system

AMIT K. BHARDWAJ
6. Testing - make system “bullet
proof”
Acceptance Testing
 Customers / Users now involved
 usually have their own test plans

 sometimes also use programmer


tests
Sign-Off document - signed by
Customer Coordinator

AMIT K. BHARDWAJ
7. Implementation
Implementation Plan or Update Log
Provides project leader with a list of all:
 files - new / amended
 screen messages - new / amended

 programs (sources) - new / amended

Timing for lodgment in production


environment decided with customer

AMIT K. BHARDWAJ
8. Post Implementation
Review
BUILDING of the system is now complete
Development recap
 team review - what can be learned from the
project
Post Implementation Review (after 3 or 4
months)
 degree to which system meets objectives
 often results in recommended improvements

AMIT K. BHARDWAJ
9. Maintenance
Ensure customer changes to the system:
 retain quality
 adhere to standards and procedures
Now back at the beginning of the SDLC
Size of maintenance change will
determine whether all (or subset of)
phases of the system Development Life
Cycle are required

AMIT K. BHARDWAJ
Life-Cycle Models

1. The waterfall model


2. The spiral model
3. Rapid application development
4. Joint application development
5. The V model

AMIT K. BHARDWAJ
Each Phase of SDLC has an
“Output”
Phase Output
Requirements analysis Software Requirements
Specification (SRS),

Design Design Document,


Design Classes
Implementation Code

Test Test Report,


Change Requests

AMIT K. BHARDWAJ
“Life-Cycle” Models

Single-Version Models

Incremental Models
 Single-Version with Prototyping

Iterative Models

AMIT K. BHARDWAJ
“Life-Cycle” Models (1)
Single-Version Models
 Waterfall Model
 Waterfall Model with “back flow”
 “V” model: Integrating testing

AMIT K. BHARDWAJ
Incremental vs. Iterative
These sound similar, and sometimes are
equated.
Subtle difference:
 Incremental: add to the product at each phase
 Iterative: re-do the product at each phase
Some of the models could be used either way

AMIT K. BHARDWAJ
The Waterfall model

The waterfall model


 First described by Royce in 1970
There seem to be at least as many
versions as there are authorities -
perhaps more

AMIT K. BHARDWAJ
Waterfall Model

Requirements

Design

Implementation

Each phase “pours over” into


the next phase.
Test

AMIT K. BHARDWAJ
Waterfall Model

Managers love waterfall models:


 Nice milestones
 No need to look back (linear system), one
activity at a time
 Easy to check progress : 90% coded, 20%
tested

AMIT K. BHARDWAJ
Waterfall Model
 Traditional life cycle
 Analysis, design, code, test & maintenance

 Top down rigidity

 No iteration between phases

 Difficult accommodating uncertainty & risk

 Black box approach

AMIT K. BHARDWAJ
Why Not Waterfall?
2. Requirements are not stable/unchanging.
The market changes—constantly.

The technology changes.

The goals of the stakeholders change.

AMIT K. BHARDWAJ
Why Not Waterfall?
3. The design may need to change during
implementation.

Requirements are incomplete and changing.

Too many variables, unknowns, and novelties.

A complete specification must be as detailed as code itself.

Software is very “hard”.


 Discover Magazine, 1999: Software characterized as the most
complex “machine” humankind builds.

AMIT K. BHARDWAJ
V - Model

The V Model Distinguishes


between Development and
Verification Activities

AMIT K. BHARDWAJ
V - Model
Each phase has corresponding test or validation counterpart

Requirements Acceptance
Analysis Test

System Design Integration


Test

Program Design Unit Test

Implementation
AMIT K. BHARDWAJ
V - Model
Client’s Understanding
Level of Detail
Developer’s Understanding
Requirements Acceptance
Low Elicitation Testing
Problem with V-Model:
Client’s Perception is the same as the
Developer’s Perception
System
Analysis
Testing

Design Integration Testing

Object Design Unit Testing


High

Project Time
AMIT K. BHARDWAJ
Problems with V - Model
The V model does not model iteration

AMIT K. BHARDWAJ
Boehm Spiral Model
Four major activities
1. Determination of objectives, alternatives,
and constraints
2. Risk analysis and prototyping
3. Waterfall approach to next level product
4. Plan for the next phase cycle:

AMIT K. BHARDWAJ
Boehm Spiral Model

AMIT K. BHARDWAJ
Spiral Model Deals with Iteration
Identify risks
Assign priorities to risks
Develop a series of prototypes for the identified risks
starting with the highest risk.
Use a waterfall model for each prototype
development (“cycle”)
If a risk has successfully been resolved, evaluate the
results of the “cycle” and plan the next round
If a certain risk cannot be resolved, terminate the
project immediately

AMIT K. BHARDWAJ
Limitations of the Waterfall
and Spiral Models
Neither of these model deals well with
frequent change
 The Waterfall model assume that once you are
done with a phase, all issues covered in that
phase are closed and cannot be reopened
 The Spiral model can deal with change between
phases, but once inside a phase, no change is
allowed
What do you do if change is happening more
frequently? (“The only constant is the
change”)
AMIT K. BHARDWAJ
Rapid Application
Development
RAD is a methodology for compressing
the analysis, design, build, and test
phases into a series of short, iterative
development cycles.
This has a number of distinct
advantages over the traditional
sequential development model.

AMIT K. BHARDWAJ
AMIT K. BHARDWAJ
Rapid Application Development

Iteration allows for effectiveness and


self-correction.
Iterations results into many small
refinements and improvements.
An important, fundamental principle of
iterative development is that each
iteration delivers a functional version of
the final system

AMIT K. BHARDWAJ
Rapid Application Development
Like prototyping, uses iterative
development
Uses tools to speed up development
 GUI
 reusable code
 code generation
 programming, language testing and debugging

AMIT K. BHARDWAJ
Rapid Application Development

RAD projects are typically staffed with small


integrated teams comprised of developers,
end users, and IT technical resources.
Small teams, combined with short, iterative
development cycles optimizes speed, unity of
vision and purpose, effective informal
communication and simple project
management.

AMIT K. BHARDWAJ
Rapid Application Development
High Speed
High Quality
And Lower Cost
Quality is a primary concept in the RAD
environment. Systems developed using
the RAD development path meet the
needs of their users effectively and
have low maintenance costs.

AMIT K. BHARDWAJ
Prototyping
Preliminary working version of a system (or
one of its parts)
built quickly and inexpensively
using “friendly, powerful” software
reviewed by end users
suggest changes for system improvements.

AMIT K. BHARDWAJ
Prototyping

Iterative process, say 10 versions


Result - evolve to become final system, or
... throw away, but clarified SDLC
requirements

AMIT K. BHARDWAJ
Prototyping Process
Identify Basic User Requirements

Rapidly Develop Prototype


Iterative
enhancement
Users work with Prototype
Throwaway
Prototype
Obtain User Feedback

Modify the Prototype Evolutionary


Prototype
AMIT K. BHARDWAJ
Prototype
Steps followed by a systems
analyst using a prototype during
the systems analysis phase are
shown

AMIT K. BHARDWAJ
Prototype
*

AMIT K. BHARDWAJ
Prototyping
Prototyping can help to obtain complete
and reliable system requirements
Prototyping process:
 iterative
 User works with latest version of prototype
to determine the refined requirements
 prototype quickly amended (by the User
and systems analyst)
AMIT K. BHARDWAJ
Prototyping tools
Interactive software development tools
Allows designer to quickly:
 design screens, create files, data entry
routines,
 basic reporting functions

Tools should be flexible and easy to use

AMIT K. BHARDWAJ
Prototyping and the SDLC
Prototyping goal is to enhance the System
development process. Prototyping focuses
on the Analysis and General Design
phase.
Outcome –
 one extreme is prototype actually becomes the
finished system (after many iterations)
 other extreme is throw away prototype and
build system using conventional methods
 BUT now have very high level of confidence
with accuracy and completeness of User
Requirements
AMIT K. BHARDWAJ
Prototyping
Performing analysis, design, and
implementation phases concurrently,
and repeatedly
Users see system functionality quickly
and provide feedback
Decision maker learns about problem
But can lose gains in repetition

AMIT K. BHARDWAJ
Prototyping
Need

Planning

Analysis

Design

Implementation

Prototype
Prototype Not OK
Prototype OK
System

AMIT K. BHARDWAJ
Uses of Prototyping
 Verifying user needs

 Verifying that design = specifications

 Selecting the “best” design

 Developing a conceptual understanding of novel


situations

AMIT K. BHARDWAJ
Uses of Prototyping
 Testing a design under varying environments

 Demonstrating a new product to upper


management

 Implementing a new system in the user


environment quickly

AMIT K. BHARDWAJ
Prototyping
Proposed Advantages Disadvantages in practice
 Improved user  Prototypes are used “as is”

communication  Integration often

 Users like it
difficult
 Design flaws
 Low risk
 Poor performance
 Avoids over-design
 Difficult to manage process
 Experimentation
 Creates unrealistic
and innovation expectations
 Spreads labor to  Documentation is difficult
user department

AMIT K. BHARDWAJ
Advantages of Prototyping
Short development time

Short user reaction time

Improved user understanding

Low cost

AMIT K. BHARDWAJ
Disadvantages of Prototyping
Gains may be lost in
Thorough understanding information
System’s benefits and costs
Detailed description of information needs
Easy to maintain IS design
Well-tested IS
Well-prepared users

AMIT K. BHARDWAJ
Alternative system development
methodologies
Alternative methodologies to SDLC are:
 Structured approaches.
 Structured System Analysis & Design
Methodology
 Yourdon

 Jackson system development

 Merise

 Work flow systems

 Prototyping.

AMIT K. BHARDWAJ
Alternative system development
methodologies

Alternative methodologies to SDLC are:


 Joint Application Development
 Rapid Application Development

 Object oriented analysis and design.

 Soft Systems Methodology.

AMIT K. BHARDWAJ
JAD

Joint application development (JAD)


 Task force of users, managers, and IS staff
 Objectives
 Gather information
 Discuss business needs
 Define the new system requirements
 Methods
 Team usually meets at specific location
 Team has project leader and recorder(s)
 Key users participate in intense development effort
 JAD can be costly, but highly effective

AMIT K. BHARDWAJ Click to see Figure 3-11


Package
RAD
Rapid application development (RAD)
 Team method similar to JAD, but goes further
 RAD phases resemble a mini-SDLC
 Requirements planning, user design, construction, and
cutover
 RAD involves a continuous design process
 Team can react quickly
 Final objective is a functioning system
 RAD can be faster and less costly, but stresses
system mechanics rather than strategic needs

AMIT K. BHARDWAJ
OOAD

Object-oriented (O-O) systems development


 Object-based model
 Objects and their attributes are abstract entities
 Classes and subclasses

AMIT K. BHARDWAJ
Review Questions

1. List and describe the major stages of the


systems development life cycle.
2. What is prototyping and what
advantages does it offer in the SDLC?
3. Explain why the investigation phase and
the initial analysis and design phases are
perhaps the most critical stages of the
SDLC.
4. Explain the systems life cycle and
describe why this concept is important to
systems developers.
AMIT K. BHARDWAJ

S-ar putea să vă placă și