Data Input and Output

Design a New System
Using the list of requirements, the systems analyst now has to design thenew system.

In most cases the new system will be computer-based. The ease with which computers can communicate and process data means that are usually the best tool for the job.
Analysis
stacks_image_F6D3BE06-C9AB-40DB-AE6B-68111645791D
Design
stacks_image_78B95430-048D-48AE-A986-CDE5C5EBC88D
Testing

Designing the System Inputs

To get data into a system is a two-part process:
  1. Data must first be ‘captured’ (collected in a way that then makes it easy to input)
  2. Data must be input into the computer
The systems analyst will select a data capture method and data input method that best suit the requirements of the new system.
Sometimes the two steps of data capture and data input are performed at the same time.

For example a barcode readercaptures the data (the numeric code on the barcode) and inputs it to a computer in one go.
stacks_image_A448404D-DF4B-40DD-888C-3F19F484AC6E

Choosing the Best Data Capture and Data Input Methods for the System

Collecting data into a form that is ready for input to a computer system can be done in many ways...
Paper Forms
Form can be a simple ones with spaces for numbers and text to be written in. The data form this form would then be typed into the computer

Forms can also be machine-readable, such as OMR forms
stacks_image_D6D1B730-9DD7-4248-B711-F18FD972B1BB
Barcode Reader
Barcode readers capture the numeric codethat the barcode represents.

Typically used with POS systems and alsostock-control systems
stacks_image_54120608-97D4-4532-ACFF-4A9C6771C95B
Card Reader
Many cards contain data stored on a magnetic strip or in a small bit of memory (smart cards) which can be captured with a card reader
Used in systems such as EFTPOS
stacks_image_EA2757D7-CA46-4028-A9C6-3E75DEB7868C
Camera
Capture still or moving images which can then be input to a computer for processing
stacks_image_657BFE40-4331-47E7-98B3-7073458DE4DE
In the payroll example, the hours worked by the employees could be captured using...
  • paper form (a timesheet) - simple and cheap, but the needs to be manually input (slow) and the form can be lost
  • Barcode reader - employees could have ID cards and swipe them at the start and end of work (can cheat easily)
  • Fingerprint reader - employees could put a finger on the reader at the start and end of work (hard to cheat)
stacks_image_FF99D05C-50F7-4E23-882C-1835B1EA5DB0

Designing On-Screen Forms for Data Input

Much of the data that enters computer systems needs to typed in. A well-designed on-screen form can make this taskeasier and quicker.

On-screen forms should...
  • Have all of the necessary fields
  • Have obvious places for user input (boxes, use of colour, etc.)
  • Use appropriate controls (see below) for each field
  • Have text box controls that are the right size for the data
  • Have easy-to-understand instructions (if needed)
  • Make good use of the screen area available

Form Controls


On-screen forms can have a variety of controls (the little buttons / boxes that you click or type in):
stacks_image_A81AC802-1E00-4AB5-B911-6AD3859BD74C
Textbox
Used for normal text input
stacks_image_48E41F25-BAD4-42F6-A8E2-AC4DDD8493CF
Buttons
Used to perform an action
stacks_image_C0814D4C-91E2-48A4-951B-70ECB0DCB799
Option / Radio Buttons
Used to select an option (only one can be picked)
stacks_image_0D1397F6-D26F-4DEA-BA26-B8AA017EB8A9
Tick / Check Boxes
Used to select options (more than one can be ticked)
stacks_image_5963800D-D57F-47CA-A55C-88D2A5D83788
Drop-Down Menus
Used to select options from a list

As data is entered into the form, it needs to be checked foraccuracy. Two techniques help us do this: validation andverification...
stacks_image_90B20538-2FB5-45DE-BA31-9B9DFEE65AE8
Above is an example of a well-designed on-screen form.

Note the clear instructions, labels and layout.

Note that appropriate controls have been used for each field

Data Validation Techniques

When data is input to a computer, it is a good idea for the computer to check that the data is sensible (no dates of birth in the future, etc.)

Checks like this are called validation checks (is the data valid?)

Different validation checks can be used on different fields, depending on the type of data being entered...

Presence Check
Is data actually present in a field, or has it been missed out?
Range Check
Is the data value within a set range?
(E.g. an exam mark should be between 0% and 100%, a month should be between 1 and 12)
Length Check
Is an item of text too short or too long?
Type Check
Is the data the correct type?
(E.g. the letter ‘A’ should not be allowed in a numeric field)
Format Check
Is the data in the correct format?
(E.g. a date of birth should be entered as dd/mm/yyyy)
stacks_image_A1BDB9BA-6D51-4524-ACAD-F66226A3500D
If one of the validation checks fails(because the data entered is invalid) the computer should show a nice,friendly error message such as...

“You have forgotten to enter a name”

Data Verification Techniques

Data validation only checks whether the data entered is sensible - it does not mean that the data is the right data.

For example, if you are entering a date of birth and you mis-type it…
  • Correct date of birth: 12/11/1982
  • Date of birth entered: 12/11/1928
. . . you would not see an error, since 12/11/1928 is a valid date of birth.

To check that data is the correct value, we use a system called data verification.

There are two methods of data verification...
Proof Reading
After the data has been entered a personcompares the original data with the data in the computer (either on the screen or using a print-out).

If mistakes are spotted they can be corrected by the person.

Proof-reading is quick and simple, but doesn’t catch every mistake.
stacks_image_2057B6B2-4AA5-46EF-9419-D7526948D5C8
Double-Entry
The data is entered into the computer twice(preferably by two different people).

The computer compares the two sets of data to see if they match. If not it generates an errorand a person will need to correct the mistake.

Double-entry takes more time and effort, but itcatches almost every mistake.
stacks_image_25175D62-3EDD-4940-9DEE-DDC2F8DFE25A
A common example of double-entry verification is when you are asked to choose a new password - you are usually asked to type it in twice to make sure you've typed it correctly (since the actual letters are hidden)

Designing the System Processes

Any system has to process the data it is given. The system designer has a number of things to consider...

Designing Data and File Structures

A data structure is an organised collection of data. Most commonly, this will be some sort of database in which data will be stored as it is being processed.

When designing a database, the system designer needs to consider:
  • The type of data being stored (numbers, text, dates, etc.)
  • The size of the data (how long is a typical name, etc.)
  • The field names to use
  • How many records will need to be stored
(see the Data Types section for more details about these)

The designer also need to consider which backing storage device and media will be suitable to store the data:
  • How often will the data need to be accessed
  • How quickly the data needs to be accessed
  • How large will the data files be
So, for example, if there is a large amount of data that needs to be accessed quickly, and regularly, then a hard drive would be the best storage device to use.
stacks_image_6E44F8EE-A2C8-4529-B6B0-6D1AFCB6980C
stacks_image_823C6D91-F571-4D21-A275-782B42DEF752

Designing the How the Data Will be Processed

Of course, the system designer also needs to design the actual steps to be followed to processing the data (the algorithm).

(This part of the design is outside of the scope of the IGCSE syllabus, but I've mentioned it for completeness)

You don't need to know how to write algorithms for IGCSE!
stacks_image_33155A45-FE21-4598-9670-641B50170121

Designing the System Outputs

There are usually two types of output from a system that need to be designed:
  • On-screen reports (information displayed on the monitor)
  • Printed reports (hard-copy to be mailed, filed, etc.)

Designing On-Screen Reports

Designing an on-screen report is similar to designing an on-screen form (see above). There are a number of things that the designer should consider.

On-screen reports should...
  • Show all of the necessary fields
  • Have fields that are the right size for the data
  • Have easy-to-understand instructions (if needed)
  • Make good use of the screen area available
  • Make good use of colours and fonts to make the data clear
This is an example of a well-designed on-screen report used to show details of an employee…
stacks_image_61496F69-CDEB-47B9-BF78-D74CF74346D3
On-screen reports can include more than just text...

Reports can include:
  • Text
  • Images
  • Bar charts
  • Pie charts
  • Animations
  • Video

Designing Printed Reports

Designing a printed report is just like designing an on-screen report (see above), except that the report needs to fit a piece of printer paper, rather than the screen. The report might also include page numbers, a header / footer, etc

This is an example of a well-designed printed report used to show details of an employee…
stacks_image_D7A8FCF2-2ABE-40DD-8811-274166210D8A
Printed reports often have features that on-screen reports don't have, such as page headers and footers (containing page numbers, etc.)




Test a New System
Once the system has been created, it needs to be thoroughly tested.

test plan is usually written whilst the system is being developed. The test plan will contain details of every single thing that needs to be tested.
For example:
  • Does the system open and close properly?
  • Can data be entered?
  • Can data be saved?
  • Can reports be printed?
  • When you do something wrong, does an error message appear?
  • Is invalid data rejected? E.g. if you are not allowed to enter an amount above £1,000 on the system then a value of 1,001 should not be accepted (i.e. does the validation work?)
Test plans are very detailed, and contain many tests. Each test is specified very precisely.

A typical test would contain:
  • Details of what is being tested
  • The test data to use
  • What is expected to happen when the test is performed
Design
stacks_image_C9271D4E-068F-49A2-B3F5-52995E588931
Testing
stacks_image_6CFD1BFC-1554-47A4-91D9-18EB34417F4C
Documentation

Selecting Test Data

When choosing what data to use to test a system, you need to think about why we are testing the system: to see if it works, and to check it doesn't break.

To do this, we use three types of test data...
Normal Data Values
This is data that would normally be entered into the system.

The system should accept it, process it, and we can then check the results that are output to make sure they are correct.
stacks_image_2EFD0CAD-E603-43A7-9220-622B63433C56
E.g. In a system that was designed to accept and process test marks (percentages), then normal test values would include:
  • 10
  • 25
  • 63
  • 89
Extreme Data Values
Extreme value are still normal data.

However, the values are chosen to be at the absolute limits of the normal range.

Extreme values are used in testing to make sure that all normal values will be accepted and processed correctly.
stacks_image_1525ADDA-0795-4D52-8637-23E667EFE972
E.g. In a system that was designed to accept and process test marks (percentages), then extreme test values would be:
  • 0 (lowest possible value)
  • 100 (highest possible value)
In systems that deal with text, the extreme values are defined by howlong the text can be. The limits would be:
  • "" (nothing entered)
  • "ABCDEF..." (max. length)
Abnormal Data Values
This is data that should not normally be accepted by the system - the values areinvalid.

The system should reject any abnormal values.

Abnormal values are used in testing to make sure that invalid data does not break the system.
stacks_image_E8DFBDC0-5D12-4061-8670-901EAA0CA881
E.g. In a system that was designed to accept and process test marks (percentages), then abnormal test values would include:
  • -1
  • 101
  • 200
  • -55

When is the System Tested?

Testing is normally done in two stages...

The first phase of testing is done by the designers and engineers who created the system, usually before the system is delivered to the customer.

The test data that is used in this first phase is similar to data that would be used by the actual customer.

The second phase of testing is done after the system has been delivered and installed with the customer.

The data used in the second phase is usually 'live' data - data that is actually part of the customer's business / organisation.
These two phases of testing are often referred to as Alpha Testing (testing by the designers/engineers) and Beta Testing (testing by real users, with real data)

What Happens if the System Fails Some Tests?

The whole point of testing is to try and find areas that don't work as they should, or areas that can be improved.

If any failures are found, the systems analyst goes back and does some further researchanalysis and design to fix these areas.

Documenting the New System
 There are two types of documentation that should be produced when creating a new system:
  • User documentation
  • Technical documentation
Testing
stacks_image_E10DD35F-B52B-478D-8281-0C52F76AD967
Documentation
stacks_image_DF3B0575-CE87-456C-B11D-185D002A0A18
Implementation

User Documentation

The user documentation is intended to help the users of the system.

The users are usually non-technical people, who don't need to know how the system works. They just need to know how to use it.

User documentation usually includes:
  • List of minimum hardware and software required to use the system
  • How to install the system
  • How to start / stop the system
  • How to use the features of the system
  • Screenshots showing the system in typical use
  • Example inputs and outputs
  • Explanations of any error messages that might be shown
  • troubleshooting guide
stacks_image_6F02DBA2-D752-43FD-84BA-D16E1625F9EE
If you've ever purchased any computer software (e.g. a game), then you will have seen a user guide - it's the little booklet that comes in the CD case (that you didn't read!)

If you buy a car, it comes with a user guide that explains how to start it, unlock the doors, fill it with fuel, etc. (nobody reads those either!)

Technical Documentation

The technical documentation is intended to help the maintainers of the system (the people who need to keep the system running smoothly, fix problems, etc.)

The maintainers are usually technical people, who need to know exactlyhow the system works.

Technical documentation usually includes:
  • Details of the hardware and software required for the system
  • Details of data structures (data types, field names, etc.)
  • Details of expected inputs
  • Details of validation checks
  • Details of how data is processed
  • Diagrams showing how data moves through the system
  • Flowcharts describing how the system works
stacks_image_A7086917-6968-4BF6-A578-89412F228C89
If you buy a car, you wouldn't normally want the technical documentation for it.

Your mechanic would be the person who would need the technical documents. If the car needed servicing, or fixing, the mechanic would look in the document to understood how the various systems in the car worked.


Implementing the New System
The implementation of the new system occurs when the old system is replaced by the new one.

There are a new of ways of implementing a new system...
Documentation
stacks_image_941729F3-35AE-48BC-89A5-05D5A3D6B440
Implementation
stacks_image_3DF1B318-0099-4C49-90B4-C8997D8090D6
Evaluation

Direct Changeover

The old system is stopped completely, and the new system is started. All of the data that used to be input into the old system, now goes into the new one.
stacks_image_E4EFDF39-9821-4037-B819-FA4A759B3FBA
This is has its advantages...
  • Takes the minimal time and effort
  • The new system is up and running immediately
But there are also disadvantages...
  • If the new system fails, there is no back-up system, so data can be lost
stacks_image_314C7F88-81FD-488A-9C0E-9E41E97E1ECB
Sometimes a direct changeover is the only way to implement a new system.

E.g. an aircraft's auto-pilot system can't have a new and old version running side-by-side, arguing about what to do!

Parallel Running

The new system is started, but the old system is kept running in parallel (side-by-side) for a while. All of the data that is input into the old system, is also input into the new one.

Eventually, the old system will be stopped, but only when the new system has been proven to work.
stacks_image_1954FA7B-F4E7-4D43-82B1-6E8A6F4DB90B
This is has its advantages...
  • If anything goes wrong with the new system, the old system will act as a back-up.
  • The outputs from the old and new systems can be compared to check that the new system is running correctly
But there are also disadvantages...
  • Entering data into two systems, and running two systems together, takes a lot of extra time and effort
stacks_image_4165220E-E808-41A0-89B4-AC02DAFBC518

Phased Implementation

The new system is introduced in phases (stages, or steps), gradually replacing parts of the old system until eventually, the new system has taken over.
stacks_image_6D3BE65D-44AE-4D4D-BF35-3263A37D8CA7
This is has its advantages...
  • Allows users to gradually get used to the new system
  • Staff training can be done in stages
But there are also disadvantages...
  • If a part of the new system fails, there is no back-up system, so data can be lost
stacks_image_1297BAE0-E8ED-4CCA-AA97-A8C8ABF8AF3C

Pilot Running

The new system is first of all piloted (trialled) in one part of the business / organisation (e.g. in just one office, or in just one department).

Once the pilot system is running successfully, the new system is introduced to the all of the business / organisation.
stacks_image_DD1DE2A0-86E7-481C-9D4B-F5B766B39D27
This is has its advantages...
  • All features of the new system can be fully trialled
  • If something goes wrong with the new system, only a small part of the organisation is affected
  • The staff who were part of the pilot scheme can help train other staff.
But there are also disadvantages...
  • For the office / department doing the pilot, there is no back-upsystem if things go wrong
stacks_image_B58B91B0-D76F-42CA-B241-6307F0581E6B
A 'pilot' is someone who guidesothers - someone who leads the way.

On an airplane, the pilot guides all of the passengers safely to their destination.

In a port, the pilot is a person on a small boat who guides large ships safely into the harbour.


Evaluating the New System
Once the new system has been implemented and is in full use, the system should be evaluated (this means that we take a long, critical look at it).

The purpose of an evaluation is to assess the system to see if it does what it was supposed to do, that it is working well, and that everyone is happywith it.
stacks_image_57CEC49D-3F00-429C-8D29-7283B7F1BD4B
Evaluation

What Does an Evaluation Look For?

When the systems analyst evaluates the new system, the following questions will be asked:

Is the system...
...efficient?
Does it operate quickly, smoothly and with minimal waste?

Is the system saving time, and resources?
...easy to use?
Are all of the system's users able to use the system easily and effectively?

Can new staff understand and use the system with minimal training?
...appropriate?
Is the system suitable for the particular business / organisation?

Does the system actually meet the needs of the business / organisation?


But how can we find the answers to these questions?
stacks_image_85631D43-CC9D-440B-ACB9-6B44114D87E8

How is a System Evaluated?

The systems analyst will use a number of techniques to evaluate the system...
Check against the
Requirements Specification
If you remember, earlier on in the Systems Analysis, the old system was analysed, and a checklist of targets was drawn up for the new system.

This list was called the Requirements Specification.

The systems analyst will use this document to check the new system. Going through therequirements one-by-one the analyst will check if they have been met.
stacks_image_9187409F-2A9A-470B-9967-D3225900B767
Check the
Users' Responses
It is essential to get feedback from the usersof the system...
  • Do they like it?
  • Does it make their work easier?
  • What, if anything, could be improved?
The systems analyst can get this feedback in the same way they collected informationabout the original system...
  • Questionnaires
  • Interviews
  • Observations
stacks_image_374831E0-DA0B-49C2-AB2A-4F8FB86C93AE

What Happens Next?

The outcome of the evaluation will be to identify any limitations orproblems with the new system.

The system analyst will then need to begin the task of system analysis from the beginning, but this time analysing the new system, and then designing, testing and implementing improvements.

Thus the whole process repeats...
The fact that the process of Systems Analysis is often repeated over and over (constantly building upon and improving systems) means that it is often referred to as a cyclic(repeating) process.

The stages of Systems analysis are often shown in a circle
stacks_image_3BFA7B3B-CECA-4FB3-819A-DAB1A2271500

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.