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
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
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
3.2 There are multiple reasons that a
project may not be feasible (not
3.2.1 Solution may not be
220.127.116.11 A robotic flying unicorn is
not technically possible.
3.2.2 The solution may not be
economically possible to create
18.104.22.168 If someone working on
minimum wage wanted to buy
a mansion, it would not be
3.2.3 The solution may not be
economically possible to run.
22.214.171.124 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.
126.96.36.199 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
188.8.131.52 If McDonalds till software requires the cashier
to solve differential equations then the software
would not be feasible with the skill of the
3.2.6 The software may not make any
noticeable difference to the user's
184.108.40.206 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.
220.127.116.11 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
18.104.22.168.1 Allows interviewees to talk at
22.214.171.124.2 Allows the interviewer to deviate from the script to ask
follow-up questions about unexpected responses.
126.96.36.199.1 Time consuming
188.8.131.52.2 Can't reach as many
people as other
4.4.2 2: Questionnaires
184.108.40.206.1 Gives you views of a
large number of people
220.127.116.11.1 Person answering the
question may not be able to
put their full point of view
18.104.22.168.2 Very difficult to design
22.214.171.124.3 Can be difficult to complete questionnaires
if the instructions are not very clear.
4.4.3 3: Group meetings
126.96.36.199.1 Allows number of people to
discuss points and make their
188.8.131.52.2 Cuts down on time spent in interviews
getting similar answers from multiple
184.108.40.206.1 One or two people tend to dominate
meetings, not allowing everyone to voice their
220.127.116.11.2 Some people may not want to announce their
4.5 It is important to gain first hand knowledge of
pre-existing software. This can be done in two main
4.5.1 1: By observing the current system in action.
18.104.22.168 It has to be taken into account that under observation
the workers are not likely to behave
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
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
22.214.171.124 TASK MODEL: List of tasks that will be
needed to complete the system
126.96.36.199 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.