Systems Development Lifecycle

Adam Cook
Mind Map by Adam Cook, updated more than 1 year ago
Adam Cook
Created by Adam Cook about 5 years ago


A-Level Computing Mind Map on Systems Development Lifecycle, created by Adam Cook on 03/09/2015.

Resource summary

Systems Development Lifecycle
1 What is the need for it?


  • The SDLC gives the developer a specific set of steps to follow when creating a piece of software. Without the SDLC the developer may miss stages out and make unfair assumptions which may mean their program does not solve the problem that it was created to solve.
2 STAGE 1: Problem Definiton
2.1 Defines the aims of the system.
2.2 Systems analyst is used to decide how a computer system could be used to help solve the problem.
2.3 Systems analyst's job is to plan and oversee the installation of a computer system.
2.4 In order to make sure the the analyst solves the problem correctly a list of objectives for the program should be written up. These objectives are then agreed upon by all of the people involved in the creation of the system.
3 STAGE 2: Feasibility Study
3.1 Once the problem has been defined it must be decided by the systems analyst as to whether it is worth making a computer based solution.
3.2 There are multiple reasons that a project may not be feasible (not worth making).
3.2.1 Solution may not be technically possible. A robotic flying unicorn is not technically possible.
3.2.2 The solution may not be economically possible to create If someone working on minimum wage wanted to buy a mansion, it would not be economically possible.
3.2.3 The solution may not be economically possible to run. If someone working on minimum wage was given a mansion for free but had to spend hundreds of thousands of pounds a year for upkeep costs, it wouldn't be economically possible to run.
3.2.4 It may not be ethically possible. If you have to club 5 baby seals everytime you want the program to run it would not be ethically possible.
3.2.5 The available workforce may not be skilled enough. If McDonalds till software requires the cashier to solve differential equations then the software would not be feasible with the skill of the workforce.
3.2.6 The software may not make any noticeable difference to the user's experience. If I wanted to make software that works exactly like Microsoft Word then would it be worth the time and money as it would have no noticeable difference?
3.2.7 The software may not create any tangible financial benefits for the clients. If Facebook add a new feature, is it likely to make them any more money than if the system wasn't implemented. If not then is it worth making the changes?
4 STAGE 3: Requirements
4.1 Once a problem has been defined and it has been decided that the problem is feasible the systems analyst must collect as much information about the process that they are designing their software for as possible.
4.2 This information is information the the analyst needs to understand the problem that they are trying to solve.
4.3 In order to gain information it is important to question the employees that will be using the software. Whilst it might not be possible to question all of them a representative sample should be chosen.
4.4 There are three main ways that a system analyst may try and find people's views on the problem that they have been tasked to solve.
4.4.1 1: Interviews PROS Allows interviewees to talk at length. Allows the interviewer to deviate from the script to ask follow-up questions about unexpected responses. CONS Time consuming Can't reach as many people as other methods can.
4.4.2 2: Questionnaires PROS Gives you views of a large number of people very quickly. CONS Person answering the question may not be able to put their full point of view across.. Very difficult to design well. Can be difficult to complete questionnaires if the instructions are not very clear.
4.4.3 3: Group meetings PROS Allows number of people to discuss points and make their views known. Cuts down on time spent in interviews getting similar answers from multiple people. CONS One or two people tend to dominate meetings, not allowing everyone to voice their opinion. Some people may not want to announce their view-points publicly.
4.5 It is important to gain first hand knowledge of pre-existing software. This can be done in two main ways.
4.5.1 1: By observing the current system in action. It has to be taken into account that under observation the workers are not likely to behave normally.
4.5.2 2: By collecting printed documentation to find what data is required and in what form the information is outputted.
4.6 Requirements Specification
4.6.1 Why is it important?


  • Before we go on to the next stage of the SDLC it is important that we know exactly what the requirements of the system is. Whilst this should have been determined by the systems analyst by doing things like meetings and questionnaires (as previously mentioned) it should be written out into a document to make it clear exactly what the system needs. This is what the requirements specification is and aims to do.  
4.6.2 What does it contain?


  • It largely contains a list of criteria that there should be in the finished system. This document will be checked to see if the program that is made is the program that was agreed to be designed.
4.7 During this stage one of the things we should have decided is whether the program needs to handle data. However there are also several decisions about how the data in a program should be handled that should also be discussed. The main three are:
4.7.1 1: The type of data to be held by the program. This determines the form the data is stored in and the space that it will require. Knowledge of the specifics of the data is not necessarily required.
4.7.2 2: Calculations of the number of sets of data that are going to be held will have to be made. This effects the volume of storage needed which affects the type of storage that will need to be used to store the program on.
4.7.3 3: How should the data be accessed? Does the data need to be accessed individually or can it be accessed all at once. Will the data be changed frequently, if so when showing the data should the data automatically refresh? Such decision will again affect the type of storage device used,
5 STAGE 4: Design
5.1 Design Specification
5.1.1 Before we start considering how the program looks we should create 3 main documents TASK MODEL: List of tasks that will be needed to complete the system DATA FLOW DIAGRAMS: Used to describe systems, and where the data goes to/from and where it is stored. Doesn't deal with programming logic just the data. SYSTEMS FLOWCHARTS:
Show full summary Hide full summary


A level Computing Quiz
Zacchaeus Snape
Types and Components of Computer Systems
Jess Peason
Input Devices
Jess Peason
Output Devices
Jess Peason
Kwame Oteng-Adusei
Pack of playing cards answer
Karl Taylor
Code Challenge Flow Chart
Charlotte Hilton
Computing Hardware - CPU and Memory
Shantal K Green
Computing Hardware - CPU and Memory
Shantal K Green
Computing Hardware - CPU and Memory
Computer Systems