System Design (A-Level only)
This is all about how humans and computers interact with one another. The way this happens has changed drastically over the years, as we have gone from switches and buttons to touch screen and fingerprint readers.
This topic covers:
Potential for natural-language interfaces
Approaches to the problem of communication
The need for a design review
Describing the criteria for an evaluation of systems
Approaches to computer communication
In recent years, we have been moving away from classic methods of input, to faster, contemporary methods. These include dictation, touch screen and virtual reality.
An early example of voice input is the Microsoft connect and a system such as Siri. In this instance, there are a limited selection of commands that can be given, such as pause and play. However, voice input can be used to execute much more complicated instructions too. For example, asking Siri to get directions to a location, or setting an alarm in the future. Despite this, there are some problems:
Accents can change how words are heard, so some commands may not be recognised
Background noise can make it difficult to distinguish between actual commands and normal noise
Some commands may have many variation to be recognised
Touch screens have enabled far easier, more initiative methods of navigation. Children as young as 2 are able to understand how to operate a touch screen to play simple games. For more on touch screens, see Communication & Hardware >> Input & Output devices.
This is a fairly new creation, taking control of the many senses a user. The intention is to persuade the user that they are someplace else, by enclosing 2 screens in a headset, with each one displaying a slightly different picture, providing a depth perception. These devices also offer 360 degree, following the user as they turn their head, stimulating a real world. The way it works is extremely technical, but we really just need to know what it is and that it exists. Some examples are the Occulus Rift and PlayStation VR.
Design Validation & Evaluation
This is testing process that is carried out during a systems life-cycle in order to check that the system/product meets its desired requirements. The process begins before the creation of the product, testing that what is being built is being created from what was stated beforehand. This is so that mistakes and problems can be fixed right from the start.
An important part of the validation process is to release a test (prototype) to customers, receive feedback on the interface's effectiveness and improve the design based on what was said, to produce a more stable and effective interface.
Finally, an evaluation takes place, where the final product is tested to ensure it fits all the requirements specified in the details of what the customer is buying. There are many considerations taking into account during the evaluation process:
Cost: check the spending compared to the budget
Requirements: ensures it's functions have met all expectations, meeting every requirement that was set at the start.
Usability: the software must be usable by the users, dependent on the skill level required to use the created software. For example, a game could be easy to use for most people, but some database software would only be required to be used by someone who understands databases, an not your regular user.
Robustness: any bugs or unexpected crashes must all be resolved, with any remaining hidden ones removed in later updates. The robustness must be higher in some cases, for example an autopilot takeover is far more important than a word processor.
Performance: processes should be completed in a suitable time frame, varying on the type of software created. A search in a database, for example, should take less than a minute, whilst a key entered in a word processor should be almost instant.