systems development life cycle - wordpress.com · what does the sdlc do? systems development life...

30
Systems Development Life Cycle SDLC: A simplified introduction

Upload: others

Post on 19-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Systems Development Life Cycle

SDLC: A simplified introduction

Page 2: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Stages of the Cycle

1. Problem definition

2. Feasibility study

3. Analysis

4. Design

5. Implementation

6. Maintenance

Page 3: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Why do we need the SDLC?

The software crisis of the late ‘60s and early ‘70s

Systems were delivered years late

They were over budget

Unreliable

Difficult to maintain

Did not do what was required

Page 4: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

What does the SDLC do?

Systems Development Life Cycle was an attempt to

establish a structured approach to systems development.

For management, each stage of the life cycle was a

milestone with an associated date and set of deliverables.

Page 5: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Deliverables

Each stage has an associated set of deliverables

Sets of documents produced at each stage in the life cycle

Page 6: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

1. Problem Definition

The problem definition forms the basis of the problems and requirements list (see later)

It records all problems and requirements mentioned by clients in interviews, or which are subsequently discovered during analysis of the system.

Page 7: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Problem Definition Report – the purpose

To provide a written statement of the user's current problems and requirements; to get agreement with the user.

To ensure that the right problem is being tackled

To force the user to become involved

To define the current state of the system and the required end state

Page 8: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Problem Definition Report – the sections

Problem

Objectives

Scope

Preliminary ideas

Recommended action

Page 9: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

2. Feasibility Study Feasibility study - is there a practical solution to the problem outlined in

the initial problem definition.

In particular, the feasibility study examines the technical, financial and organisational feasibility of the project:

Can it be done?

Can we afford it?

Will the proposed new system fit in with existing procedures?

Feasibility study report

Presented by the system developer to the user

Decision is made whether or not to proceed.

Page 10: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

3. Analysis

Deliverable from the analysis stage is the ‘Specification of requirements’

Logical model of the required system

States WHAT the system is to do

Says nothing about HOW to implement it

Includes

◦ Data flow diagrams

◦ Data dictionary

◦ Process definitions

◦ E/R model

◦ Entity life histories or state diagrams

Page 11: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

4. Design

This has two stages:

Provides several different solutions to the problem

Selects one solution and specifies it in detail

Page 12: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Design – Alternative solutions

A very cheap solution which does the job and no more.

A medium price solution which does the job well and is

convenient for the user;

A high cost, all-singing, all dancing solution

Page 13: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

How solutions may differ

System boundaries;

Automation boundaries; could remain manual.

Hardware

Software

Design strategies

User interface

Costs

Page 14: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Design – Selecting a solution

Specification may include:

Program design (e.g. structure charts) and specification

Specification of the user man/machine interface

Specification of the layout of reports and other system outputs

File and record specifications

Hardware specifications, including costs

Implementation schedule

Page 15: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

5. Implementation

Program listings, test plans and supporting documentation

Manual of operating procedures

Manual of clerical procedures

User manual

Hardware on which the system will run

The system must be installed at the clients' site on their equipment

Changeover from the old to the new system supervised

Often a hand-holding period

Page 16: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

6. Maintenance

Starts as soon as the system is handed over

Term maintenance often euphemism for finding and

correcting errors

True maintenance is modifying the system to meet

evolving client requirements

System developer must start again at the beginning of the

cycle

Page 17: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

An example, simplified system

Page 18: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

The System Requirements

Page 19: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Background

Errors in requirements may account for approximately

50 per cent of the total cost of debugging a software

system.

Many of the traditional system development methods

merely pay lip service to identifying, describing and

validating the client’s requirements for the system.

Today requirements engineering is recognised as a crucial

stage in the development of software.

Page 20: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Requirements – what are they?

No consensus of opinion as to what is meant by

requirements

System requirements - the client’s needs and wishes.

Software requirements - constraints put on the system development, such as hardware, software and design methods.

Page 21: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Requirements Engineering

Covers three phases:

elicitation (identifying requirements)

specification (describing them in an appropriate language

or notation)

validation (checking with the client that the description

accurately records his or her needs and wishes).

Page 22: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Different types of requirements

Functional requirements: what the system has to

do what its inputs and outputs are and how these are

linked.

Non-functional requirements: the attributes of

the system as it performs its job; can be divided into

1. non-functional requirements of the system and

2. non-functional requirements arising from external sources.

Page 23: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Non-functional System Requirements

Usability

Performance

Reliability

Security

Page 24: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Elicitation

This covers several different activities:

Observation of the users at work

Study of relevant documents

User questionnaires

Talking to the people involved in the system

Page 25: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

The Requirements Specification

A cornerstone of a system development project

Encapsulates the shared understanding and intentions of all the stakeholders

May be used as a vehicle for communication between developers, users and other stakeholders

Page 26: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

The Requirements Specification

May form the basis of a legal contract between developer and client

Guides the programmers in their implementation of the

system

Desirable qualities of a requirements specification can be found in the IEEE Recommended Practice for Software Requirements Specifications from the IEEE Standard 831–1993.

Page 27: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Requirements Validation

Technically feasible to confirm that the requirements

specification document is of the desired quality

Not easy to ascertain whether the requirements

expressed in the specification are really what the client

wants and needs

The client may not know what he or she wants

Page 28: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Requirements Validation

Prototyping allows the client and users to get some

feeling for how their ideas would work once

implemented in a computer system.

Talk through the requirement specification with the client

and users.

Page 29: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Summary

Stage

Content Deliverable

1. Problem Definition What is the problem? Problem Definition Report - statement of

problems, scope and objectives

objectives of new system

2. Feasibility Study Is there a feasible

solution – quick look

ahead to see if you can

do something about the

problem

Feasibility Study Report - rough cost benefit

analysis

- system scope and objectives cost benefit

analysis

3. Analysis What must be done to

solve the problem

Specification of Requirements –logical

model of required system

4. Design How should the problem

be solved

Technical Design Specification –includes

program specifications, hardware

specifications, cost estimates and an

implementation schedule

5. Implementation Do it Working system, includes program listings and

documentation, test plan, hardware, operating

procedures, clerical procedures

6. Maintenance Modify system as

necessary

Working system - Operational system, modified

and documented as required

Page 30: Systems Development Life Cycle - WordPress.com · What does the SDLC do? Systems Development Life Cycle was an attempt to establish a structured approach to systems development. For

Tasks

Using one or two A4 sides, list each stage of the SDLC,

using illustrations and diagrams where appropriate

Present your work in a professional manner, using

headers and footers and other advanced formatting

options