Designing a system
Posted in Computing, Systems developmentWhen designing a system you need to consider a number of things:
- inputs of the system - how many, what data types, how they are inputted
- outputs of the system - how often, medium, content, format, look, speed
- user interface - the forms, screens, error messages, menus and buttons
- processing - how data inputted will be processed to get the required output
- testing - how will the system be tested properly
- security - how will data be protected and restricted
System flowcharts
System flowcharts are diagrams which provide an overview of the whole or parts of the system, they show inputs, outputs, storage and processing required. There are 3 key symbols you need to know about:
Arrows are used to connect parts of the system showing the direction data is going to and from. Here is a simple example:
Here input into the system is in the form of the number of hours worked by an employee. This, together with the hourly pay rate from a storage such as a database is processed to get the earnings of the employee which in turn outputs a pay check for him/her
Prototyping
Prototyping involves creating a working model of the system in order to test it or have feedback before completing the final system. This can involve creating mock input screens and user interface designs to test the usability of the system and get feedback from the users. It may involve creating a small aspect of the system that can be used to test an important algorithm.
Prototyping can be either 'throwaway', where the final system is built completely independently of the prototype, or it can be 'evolutionary' where the prototype is developed into the final system.
User interface design
The user interface of a system - the way in which the users interact with the various aspects of the final solution - is an important part of a successful system. Things that need to be considered in order to design a good user interface include:
- Who will be using the system - what sort of computer knowledge do they have? do they have any disabilities or other considerations? will they be kids or older adults? etc
- What tasks is the system to be built for? Dull repetitive tasks or life-critical tasks?
- What does the technology being used allow for?
Input and output screens are an important part of any user interface. They should follow some basic principles:
- Simple and to the point, don't use overly technical terms the user won't understand
- Error messages should tell the user how to fix the problem, not just what the problem is
- Make use of titles to identify windows and messages
- Be sure to make clear the format you want data to be inputted in. For example Dates can be inputted as DD/MM/YY, MM/DD/YY, YYYY-MM-DD, DD/MM/YYYY, etc. so make sure the user knows what format you want)
- Use default values in put boxes as 'hints' and 'tips' for users
- Colours should be carefully used and be consistent throughout.
- Where possible, use keyboard shortcuts
- Provide easy to find ways out of the system