System Analysis & Design
System Analysis & Design
THEME 1
What is a system?
An organized combination of hardware, software, and users that interact to perform a task
and facilitate decision making in an organization.
Examples of systems are stock control, library, payroll, billing etc.
This is a series of stages which are followed during the development of a system. Mainly
two people are involved in the development of a system i.e. the system analyst and the
programmer.
This is the most important stage and if it is not done properly a wrong system might be
produced.
These are methods which are used by the systems analyst to obtain the required
information from various people. They include interviews, questionnaires document study
and observation.
1. INTERVIEWS
This is when the systems analyst asks questions on a one to one basis from the people
who are using the system. Interviews will be done on people at different levels to find out
people’s feelings about the system.
Advantages of interviews
If you get trust from the people interviews will bring true feelings of the people.
Disadvantages of interviews
- People can be afraid of changing the current system so they may end up giving wrong
information.
COMPUTER STUDIES GRADE 10 – 11 Page 6 of 256
- It is difficult to get the required trust and confidence from the people so that they can
speak out freely.
-It can be difficult if there are too many people to be interviewed.
-The systems analyst cannot do anything else because he/she will be involved in the
process of interviewing unlike questionnaires i.e. it is time consuming.
2. QUESTIONNAIRES
This is when the systems analyst drafts questions on a paper and gives the questions to
people so that they can answer in writing.
Advantages of questionnaires
-People can give true information because they are not afraid of anyone since they are not
required to write their names on the questionnaire.
-It is an easy method of obtaining data from a large group of people.
-It is an easy method to obtain data form people who are far away.
-People can complete the questionnaire while the systems analyst can be doing other
things since he/she does not need to be there while the people are answering.
Disadvantages of questionnaires
-Questionnaires are boring to complete so people can just ignore them and put them aside.
-It is tiresome to gather data from all the questionnaires if a large group of people is
involved.
-If people are afraid of changing to a new system they can still give wrong or biased
information.
3. OBSERVATION
This is when the systems analyst goes to the site where the current system is being used
and sees/watches while users are using the system. This is considered the best method to
get true information. The system analyst will even attempt to use the system in the same
way the users are doing.
COMPUTER STUDIES GRADE 10 – 11 Page 7 of 256
Advantages
-It brings out other important aspects of the current system which are difficult to bring out in
interviews and questionnaires.
-There is no possibility of obtaining wrong information because the systems analyst is
there.
Disadvantages
The system analyst cannot continue with any other task because he/she is directly
involved in the observation, i.e. it is time consuming.
4. Document study.
This is when the system analyst examines existing paper work such as receipts, monthly
statements, invoices etc. this is done to see how data is recorded and also to see how data
is processed. The advantage of document study is that there is no bias i.e. no chance of
getting wrong information and the disadvantage is that the documents may be too many to
go through all of them and this becomes a tiresome process.
Areas covered by a feasibility study- The following should be looked at when producing
a feasibility report.
COMPUTER STUDIES GRADE 10 – 11 Page 8 of 256
4. Requirements specification
The systems analyst sets up a requirements specification. This includes listing the
hardware and software requirements which will allow the objectives of the new system to
be met.
Documentation
This is a carefully written document which allows the analysts to understand the system for
future maintenance (making changes to the system). Sometimes the analyst may leave the
COMPUTER STUDIES GRADE 10 – 11 Page 9 of 256
company so if there is documentation; other analysts can read and proceed with the
system development.
DESIGN STAGE
Both the programmer and the system analyst are involved at this stage.
What is done at the design stage?
NB: Design is done on paper.
Design of input forms for entering data into the system.
Design of output forms.
Design of reports.
Design validation rules on inputs, which allow only sensible data to be entered into
the system.
Design of a test strategy to make sure that the system is tested.
Design of test data, which will match the test strategy.
Design the algorithms, which show how to solve the problem. These include the
Jackson’s structure diagram for top down design, data flow diagram and system
flowchart. Top down design is the breaking down of a large problem into smaller
problems, and these smaller problems are also further broken down into even
smaller problems and so on until the problem is easier to understand and solve.
Design the file structures or tables and the relationships between the tables.
Specify the hardware and the software needed.
Convert the algorithms into a suitable programming language. This is done by the
programmer.
Documentation to allow for future maintenance.
DEVELOPMENT STAGE
This is when the real work begins in particular, when a programmer/ analyst start to do the
major work on the project. Development is done on the computer.
This is when the new system is set up using the specified hardware and software and get it
to produce the required output. It is important to plan for this stage because at this stage is
where you determine which change over method you will use, how you will train your staff
and what hardware and software you need.
2. Parallel running
this is when the old and the new system are run together in parallel for a period of time
until everyone is satisfied that the new system is working successfully. Then the old
system can be dropped.
Parallel running is expensive because two systems are being run at the same time but its
advantage is that it allows all errors with the new system to be corrected before it can be
implemented permanently.
3. Phased changeover
This is changing the system in a number of stages rather than all at once. Parts of the old
system are replaced by the new system in stages. Parts of the new system are replaced
with the new system in stages.
Advantage
It is less risky than direct changeover because it’s not the whole system which is
implemented but only part of it.
Disadvantage
If the stage which has been implemented still has errors then the whole system may not
work properly since stages are dependent on each other.
1. Lectures can be offered to staff. This means the experts in using the system will have to
offer training lessons to staff.
Advantage
Staff can ask questions on the topics they don’t understand and the experts will properly
explain things to them to make them understand.
COMPUTER STUDIES GRADE 10 – 11 Page 13 of 256
Disadvantage
The company may have to shut down so that workers can be trained. This means there will
be no or less business going on during the time the staff will be trained which may lead to
low productivity.
This method is also expensive because the company will have to hire a training venue and
also pay the experts who are offering the lectures to staff.
Advantage
Staff can train at any time on their own. This means they can even train in the evening and
that allows the business to run during the day and productivity will not be affected.
Workers can repeat sections which they don’t understand until they understand.
Staff can have a better understanding because of the multimedia features in the
computerized training packages.
Staff can train at any time on their own. This means they can even train in the evening and
that allows the business to run during the day and productivity will not be affected.
Disadvantage
It may be difficult for staff to understand some sections and they may need further
explanations.
COMPUTER STUDIES GRADE 10 – 11 Page 14 of 256
TESTING STAGE
Testing is not a stage on its own but it is done during other stages which are design and
implementation. A system must be tested to make sure that it is working correctly.
NB: Testing is also done during the design and implementation stages
Testing is done to check for syntax errors (language grammar error) when coding. When
the program is syntax error free, the programmer checks for logical errors (if the program is
producing the required output.
Types of testing
Unit testing
This is testing done on individual module/unit/component of the software to
determine whether one is fully functional as they are being produced. Usually a
large system is broken down into smaller subsystems (modules), which are easier
to handle and solve. Each of this module is tested individually, with standard,
extreme and abnormal data.
Integration testing
This is the type of testing which is done on modules as they are being linked
together. Errors may occur when bringing the modules together.
System testing
This is done on the whole system by independent testers who did not take part in
the development of the system. This stage is important because it proves that the
application meets the technical, functional and business requirements set by the
client.
User acceptance testing
This is the type of testing that is done by the user so that they may check if the
system is really satisfying their needs. User may also find other errors which may
then be solved before the system is finally handed over to them.
COMPUTER STUDIES GRADE 10 – 11 Page 15 of 256
Test data.
This is the data that is selected to be used for testing the system. Every system should be
tested with standard data, extreme data and abnormal data to see how it will behave.
2. Extreme data
This is data, which indicates the beginning and the end values. i.e. data at the ends or
extremes.
3. Abnormal data.
This is data that is out of range and it should not be accepted by the system.
The evaluation stage of the software development process requires the customer and the
system analyst to review the software. The software should be evaluated at all stages in
the process, not just when the software is complete. e.g. How well the customer’s problem
has been understood, should be evaluated at the analysis stage and the user interface
should be evaluated at the design stage.
1. Does this software meet the user requirements? Are all the objectives met?
2. Is it fit for purpose?
To answer these questions, the original aims of the software must be evaluated using the
following criteria.
Reliability
Portability
Efficiency
Maintainability
User friendliness
MAINTENANCE STAGE
This is a process which makes sure that the system continues to work properly in the
future. A system has a limited life span and therefore it needs maintenance.
Types of maintenance
1. Adaptive maintenance
This is maintenance done to make the system cope with any changes which might have
occurred. For example: changes in technology may occur like if a new printer is brought
then the system should be updated with new printer drivers.
Changes in business values such as increase in VAT means the system must be updated
to meet the new changes.
Software upgrades also need adaptive maintenance for example if a new operating system
is purchased, then the system needs to be adjusted to be compatible with the new
operating system.
COMPUTER STUDIES GRADE 10 – 11 Page 17 of 256
2. Corrective maintenance
This is maintenance done to correct any errors which may be discovered during running of
the system.
3. Perfective maintenance
This is done to improve the performance of the system. There will be no errors but the
company may just want to make the system faster, more user-friendly and more efficient.
DOCUMENTATION
All stages of the system life cycle should be carefully documented.
Importance of documentation
-It allows for future maintenance of the program because the organization’s needs may
change causing the system to be changed.
-It allows other system developers to understand and carry on with the system
development if a developer leaves before finishing the system development.
-It gives instructions to users on how to use the system.
Types of documentation
There are two types of documentation which are technical documentation and user
documentation.
Technical documentation
This is the documentation which describes how the system was developed.
User Documentation
This is the documentation which tells the user how to use the system.
Validation
-this is the checking of data by the computer at the input stage to make sure that only
sensible data is input. It is formulating rules that ensure that only sensible data in entered
into the computer system. E.g. validation of exam marks to make sure no values below 0
and above 100 are entered.
Type check- done to make sure that the correct type of data is entered e.g. cannot enter a
letter in a number field.
Range check-to make sure that numbers are in the correct range. E.g. on test marks they
cannot be below 0 and cannot be above 100.
Length check or character count-to make sure that a string of characters does not
exceed the limit. Usually done on names.
Total check-to make sure that a series of numbers is entered correctly. Calculate the total
of all the numbers and enter it. The computer will recalculate the total and compare it with
the one you entered.
Picture / Format check-to make sure that certain fields are in the correct format e.g. 3
letters followed by 6 digits.
COMPUTER STUDIES GRADE 10 – 11 Page 19 of 256
Check digit- an extra digit is added to the end of a number or code. This is done to make
sure that the correct data is entered. Done on credit card numbers.
Presence check – to see whether data has been entered in that field at all. It should not
be left blank. Done on credit card numbers, account numbers names etc
VERIFICATION
This is checking whether entered data is correct by re-entering and comparing or double-
checking. E.g. verification of passwords.
b. Before the system is implemented, it needs to be fully tested. One of the tests will be to check
that the company does not pay a worker more than $800 per week.
Use examples of a worker’s pay to explain what is meant by normal test data, abnormal test data
and extreme test data.
…………………………………………………………………………………………………………
……………………………………………………………………………………………………..…
…………………………………………………………………………………………………………
……………………………………………………………………………………………………. [3]
3. State two reasons why a software system will require maintenance
……………………………………………………………………………………………………………….
……………………………………………………………………………………………………..……… [2]
5. Imagine you have just taken the job of Analyst/Programmer for AQA Solutions, a large software
development company. You are assigned the task of corrective maintenance of software, which
was developed by a programmer who no longer works for AQA Solutions.
a. Name four types of information you expect to find in maintenance documentation and explain
how each would assist you in your task of correcting the reported bugs.
3. Describe the following stages of the systems life cycle.
a) Analysis
…………………………………………………………………………………………………… [1]
b) Design
…………………………………………………………………………………………………… [1]
c) Implementation
…………………………………………………………………………………………………… [1]
4. A large company is going to replace its current computer system with a new one. The
system has been created and is now going to be implemented. After the system is
implemented, the company will be given documentation to go with the system. This will
consist of technical documentation and user documentation. Describe three different items
that each type of documentation will contain.
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………………
…………………………………………………………………………………………………….. [3]
8. A program has been written to process student marks in a set of tests.
a) Describe two validation checks that could be made on a student name.
…………………………………………………………………………………………………………………
COMPUTER STUDIES GRADE 10 – 11 Page 22 of 256
…………………………………………………………………………………………………………… [2]
b) Describe two validation checks that could be made on a mark.
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………… [2]
c) State four factors that should be considered as part of a feasibility study, explaining the
importance of each.
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………… [4]
5. Name two methods of implementing a new computer system. Give one advantage and one
disadvantage of each method chosen.
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………… [2]
10. A company has decided to set up call centers in different countries. Regular training sessions,
using video conferencing, will be carried out.
Describe another method of training staff using modern computer technology.
…………………………………………………………………………………………………………………
…………………………………………………………………………………………………………… [1]