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.
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
Design
Testing
Designing the System Inputs
To get data into a system is a two-part process:
- Data must first be ‘captured’ (collected in a way that then makes it easy to input)
- Data must be input into the computer
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.
For example a barcode readercaptures the data (the numeric code on the barcode) and inputs it to a computer in one go.
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
Forms can also be machine-readable, such as OMR forms
Barcode Reader
Barcode readers capture the numeric codethat the barcode represents.
Typically used with POS systems and alsostock-control systems
Typically used with POS systems and alsostock-control systems
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
Used in systems such as EFTPOS
Camera
Capture still or moving images which can then be input to a computer for processing
In the payroll example, the hours worked by the employees could be captured using...
- A 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)
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...
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):
Used for normal text input
Used to perform an action
Used to select an option (only one can be picked)
Used to select options (more than one can be ticked)
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...
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
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...
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)
(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)
(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)
(E.g. a date of birth should be entered as dd/mm/yyyy)
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”
“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…
To check that data is the correct value, we use a system called data verification.
There are two methods of data verification...
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
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.
If mistakes are spotted they can be corrected by the person.
Proof-reading is quick and simple, but doesn’t catch every mistake.
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.
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.
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 designer also need to consider which backing storage device and media will be suitable to store the data:
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
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
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!
(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!
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...
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
On-screen reports can include more than just text...
Reports can include:
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…
This is an example of a well-designed printed report used to show details of an employee…
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.
A 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.
A 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:
A typical test would contain:
- 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?)
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
Testing
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...
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.
The system should accept it, process it, and we can then check the results that are output to make sure they are correct.
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.
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.
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)
- "" (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.
The system should reject any abnormal values.
Abnormal values are used in testing to make sure that invalid data does not break the system.
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.
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 research, analysis and design to fix these areas.
If any failures are found, the systems analyst goes back and does some further research, analysis 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
Documentation
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:
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
- A troubleshooting guide
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!)
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:
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
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.
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...
There are a new of ways of implementing a new system...
Documentation
Implementation
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.
This is has its advantages...
- Takes the minimal time and effort
- The new system is up and running immediately
- If the new system fails, there is no back-up system, so data can be lost
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!
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.
Eventually, the old system will be stopped, but only when the new system has been proven to work.
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
- Entering data into two systems, and running two systems together, takes a lot of extra time and effort
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.
This is has its advantages...
- Allows users to gradually get used to the new system
- Staff training can be done in stages
- If a part of the new system fails, there is no back-up system, so data can be lost
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.
Once the pilot system is running successfully, the new system is introduced to the all of the business / organisation.
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.
- For the office / department doing the pilot, there is no back-upsystem if things go wrong
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.
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.
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.
Evaluation
What Does an Evaluation Look For?
When the systems analyst evaluates the new system, the following questions will be asked:
Is the system...
Is the system...
...efficient?
Does it operate quickly, smoothly and with minimal waste?
Is the system saving time, and resources?
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?
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?
Does the system actually meet the needs of the business / organisation?
But how can we find the answers to these questions?
How is a System Evaluated?
The systems analyst will use a number of techniques to evaluate the system...
Check against the
Requirements Specification
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.
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.
Check the
Users' Responses
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?
- Questionnaires
- Interviews
- Observations
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 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
The stages of Systems analysis are often shown in a circle
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.