Systems Development Life Cycle SDLC A simplified introduction

  • Slides: 30
Download presentation
Systems Development Life Cycle SDLC: A simplified introduction

Systems Development Life Cycle SDLC: A simplified introduction

Stages of the Cycle 1. 2. 3. 4. 5. 6. Problem definition Feasibility study

Stages of the Cycle 1. 2. 3. 4. 5. 6. Problem definition Feasibility study Analysis Design Implementation Maintenance

Why do we need the SDLC? The software crisis of the late ‘ 60

Why do we need the SDLC? The software crisis of the late ‘ 60 s and early ‘ 70 s Systems were delivered years late They were over budget Unreliable Difficult to maintain Did not do what was required

What does the SDLC do? Systems Development Life Cycle was an attempt to establish

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.

Deliverables Each stage has an associated set of deliverables Sets of documents produced at

Deliverables Each stage has an associated set of deliverables Sets of documents produced at each stage in the life cycle

1. Problem Definition The problem definition forms the basis of the problems and requirements

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.

Problem Definition Report – the purpose To provide a written statement of the user's

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

Problem Definition Report – the sections Problem Objectives Scope Preliminary ideas Recommended action

Problem Definition Report – the sections Problem Objectives Scope Preliminary ideas Recommended action

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

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.

3. Analysis Deliverable from the analysis stage is the ‘Specification of requirements’ Logical States

3. Analysis Deliverable from the analysis stage is the ‘Specification of requirements’ Logical States Says model of the required system WHAT the system is to do nothing about HOW to implement it Includes ◦ ◦ ◦ Data flow diagrams Data dictionary Process definitions E/R model Entity life histories or state diagrams

4. Design This has two stages: Provides several different solutions to the problem Selects

4. Design This has two stages: Provides several different solutions to the problem Selects one solution and specifies it in detail

Design – Alternative solutions A very cheap solution which does the job and no

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

How solutions may differ System boundaries; Automation boundaries; could remain manual. Hardware Software Design

How solutions may differ System boundaries; Automation boundaries; could remain manual. Hardware Software Design strategies User interface Costs

Design – Selecting a solution Specification may include: Program design (e. g. structure charts)

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

5. Implementation Program listings, test plans and supporting documentation Manual of operating procedures Manual

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

6. Maintenance Starts as soon as the system is handed over Term maintenance often

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

An example, simplified system

An example, simplified system

The System Requirements

The System Requirements

Background Errors in requirements may account for approximately 50 per cent of the total

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.

Requirements – what are they? No consensus of opinion as to what is meant

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.

Requirements Engineering Covers three phases: elicitation (identifying requirements) specification (describing them in an appropriate

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).

Different types of requirements Functional requirements: what the system has to do what its

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.

Non-functional System Requirements Usability Performance Reliability Security

Non-functional System Requirements Usability Performance Reliability Security

Elicitation This covers several different activities: Observation of the users at work Study of

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

The Requirements Specification A cornerstone of a system development project Encapsulates the shared understanding

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

The Requirements Specification May form the basis of a legal contract between developer and

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.

Requirements Validation Technically feasible to confirm that the requirements specification document is of the

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

Requirements Validation Prototyping allows the client and users to get some feeling for how

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.

Summary Stage Content Deliverable 1. Problem Definition What is the problem? Problem Definition Report

Summary Stage Content Deliverable 1. Problem Definition What is the problem? Problem Definition Report - statement of problems, scope and 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

Tasks Using one or two A 4 sides, list each stage of the SDLC,

Tasks Using one or two A 4 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