You are on page 1of 40

Systems Development 

Life Cycle (SDLC)
Systems Development Life Cycle 
(SDLC)

The traditional methodology used to develop,
maintain, and replace information systems.
[HOFF96]

The evolution of process that is followed in
implementing a computer-based information
system subsystem. [MCLE93]

Also known as Systems Life Cycle, SystemsDeve-
lopment Methodology, Project Life Cycle,
Methodology.
Participants

Their participation depends on the


strategic value of the project



Systems Analyst

Database Administrator

Network Specialist

Programmer

Operations Personnel
Participants...


MIS/IS Steering Committee

Establishes policies, provides fiscal

control, resolves conflict

Project Team

Headed by a Team Leader

Executives
Purpose


to define the activities to be carried out
in a systems development project

to introduce consistency among many
systems development projects in the
same organization

to provide checkpoints for management
control for go/no-go decisions
SDLC Phases
Planning Phases
Steps:
1. Recognize the problem
What is a problem?
When is a problem advantageous?
2. Define the problem
Is it the correct problem?
3. Set system objectives
How will you solve the problem?
4. Identify system constraints
What are the boundaries/limitations of the
system?
Planning Phases...

Conduct a feasibility study



Is the system feasible?
Feasibility Areas:

Economic

Technical

Operational

Schedule

Legal and Contractual

Political
Planning Phases...
Elements of Project Planning

Describing project scope, alternatives
and feasibility

Dividing project into manageable tasks

Estimating resources and creating
resource plan

Developing a preliminary schedule

Developing a communication plan
Planning Phases...
Elements of Project Planning...

Determining project standards and
procedures

Identifying and Asssessing Risk

Creating Preliminary Budget

Developing a Statement of Work

Setting a Baseline Project Plan
Requirements Determination

Formal process of using research, interview,
questionnaires, sampling and other techniques to
collect information about system, requirements and
preferences

SA team collects information on what the system
should do from as many sources as possible: from
users of the current system, from observing users
and from existing reports, forms and procedures
information gathering, data collection, data
gathering
Analysis Phases

The study of the existing system for the purpose of


designing a new or improved system
Steps:

Announce the systems study

what is the reason of the study?

what benefits will the employees and the
organization get from the study?
Analysis Phases....


Organize the project team

who does what?

define the information needs
- what kind of information will be needed?
- what tools should be used to get the
information effectively?

define the system performance criteria

prepare the design proposal
Analysis Phases....

Activities

Identify and describe complete problem
specification

Studies and documents the current system – in
terms of its problems, requirements and processes

Prepares a list of requirements for the new system

Diagrams the functions of the existing system
necessary for the development of the new system
Design Phase

The determination of the processes and data that are


required by a new system
Steps:
1. Prepare the detailed systems design
2. Identify alternative system configurations
3. Evaluate alternative system configurations
4. Select the best configuration
5. Prepare the implementation proposal
6. Approve or reject the proposal
Implementation Phase
The acquisition and integration of the physical and
conceptual resources that produce a working system
Steps:
1. Plan the implementation
2. Announce the implementation
3. Obtain the hardware resources
4. Obtain the software resources
5. Prepare the database
6. Prepare the physical facilities
7. Educate the participants and users
Implementation Phase...
Conversion Methods:

Immediate/Direct
Outright conversion from old system to new system
applicable to small firms/systems

Phased
The new system put into use one part at a time
popular to large-scale systems

Parallel
Old system is implemented simultaneously with the
new one greatest assurance against failure but most
expensive
Maintenance Phase

Steps:

Use the system

Audit the system

Conduct a post implementation
review

Maintain the system

Correct the errors keep the system
current improve the system
Classical Project Life Cycle

Features:

Uses bottom-up implementation also known as the
“waterfall life cycle”

Has a number of difficulties:

nothing’s done until it’s all done

most trivial bugs are found at the beginning of the
testing period, and most serious bugs are found
last
Classical Project Life Cycle...


Has a number of difficulties:(cont...)

debugging tends to be extremely difficult
during the final stages of system testing
requirement for computer test time usually rises
exponentially at the final stages of testing

Phases progress sequentially

Relies on outdated techniques
Semi-Structured Project Life
Cycle
Features:

Uses top-down implementation

Uses structured design
Terminators:

Users

Managers

Operations Personnel
Semi-Structured Project Life
Cycle...

Activities:
1. Survey

Identification of users & development of initial
system scope

Identification of current deficiencies in the
user’s environment

Establishment of goals/objectives for a new
system

Determination of feasibility to automate
preparation of project charter
Structured Project Life Cycle...

2. Analysis

Transformation of user policy & project charter
into a structured specification

Development of system models (environmental,
behavioral, essential)

Preparation of budgets & cost-benefit
calculations
Structured Project Life Cycle...

3. Design

Allocation of essential model to appropriate
processors & tasks

Transformation of ER data models into a
database design

Development of user implementation model
Structured Project Life Cycle...

Implementation

Coding & integration of modules

Acceptance Test Generation

Generation of acceptance test cases from the
structured specification

Quality Assurance

Final or acceptance testing

Procedure Description

Generation of a user’s manual

Database Conversion

Installation
Prototyping Project Life Cycle

An iterative process of systems development in


which requirements are converted to a working
system that is continually revised through close
work between an analyst and users
Tools
* Fourth-Generation Languages (4GLs)
* Database Management System
* Computer-Aided Software Engineering
(CASE) Tools
Prototyping Project Life Cycle...

Advantages of Prototyping

Involves the user in analysis and design to a large
extent

Captures requirements in concrete, rather than
verbal or abstract form

Changing the system early in its development

Scrapping undesirable systems

Designing a system for users’ needs and
expectations
Prototyping Project Life Cycle...

Disadvantages of Prototyping

Managing the project

Adopting an incomplete system as complete

Guidelines for Developing a Prototype



Work in manageable modules

Build the prototype rapidly

Modify the prototype in successive iterations
stress the user interface
Prototyping Project Life Cycle...

Candidates for Prototyping



user is unable/unwilling to examine abstract
paper models

user does not know what he wants but can
recognize it when he sees it

system is intended to be on-line with full
screen terminals

system does not require massive details
Prototyping Project Life Cycle...

Kinds of Information Sought During


Prototyping

initial user reactions

user suggestions

Innovations

revision plans
Prototyping Project Life Cycle..

Kinds of Prototype
1. Patched-up
an inefficient and inelegant working system that is
patched together
2. Non-operational
a non-working scale model for the purpose of
testing certain aspects of the design
Prototyping Project Life Cycle..

Kinds of Prototype (cont...)


3. First of a Series
creating a pilot with the aim of implementing it
in a series of other locations
4. Selected Feature
building an operational model thatincludes
some but not all of the features that the final
system will have
Information Engineering Project
Life Cycle
Phases

Planning
provides general direction & strategic
plans to explain why the enterprise
exists

Analysis
determines what must be accomplished
to satisfy strategic plans
Information Engineering Project
Life Cycle..
Phases (cont...)

Design
transforms the results into implementable
information system & determines how
the systems operate in the enterprise

Construction
builds & maintains the information
system
Joint Application Design (JAD)


started in the late 1970s at IBM

a structured process in which users, managers, and
analysts work together for several days in a series
of intensive meetings to specify or review system
requirements

similar to a group interview but follows a
particular structure of roles and agenda during
which analysts control the sequence of questions
answered by users
Joint Application Design
(JAD)...


sessions are usually conducted in a location other
than the place where people involved normally
work

sessions are held in special-purpose rooms where
participants sit around horseshoe-shaped tables
Joint Application Design
(JAD)...

Sponsor

takes care of the expenses incurred during the
JAD

attends usually only at the very beginning or the
end

Systems Analysts

has a limited participation and are there to learn
from users and managers
Joint Application Design
(JAD)...


Scribe

takes notes during the JAD sessions

IS Staff

programmers, database analysts, IS planners, and
data center personnel

learns from the discussions and contribute their
ideas on the technical aspects of the project
Rapid Applications
Development (RAD)

A systems development methodology created to
radically decrease the time needed to design and
implement information systems

Relies on heavy user involvement, JAD sessions,
prototyping, integrated CASE tools, and code
generators

Components

Tools

People

Methodology

Management
Rapid Applications
Development (RAD)...
Advantages:

has shorter development cycle

involves smaller development teams

increases system quality
Disadvantages

only works well for systems that have to be
developed quickly

overlooks important software engineering
concepts, such as interface consistency,
programming standards, module reuse, scalability,
and systems administration

You might also like