Graphical user interface (GUI) design
A user interfaceThe means by which a user interacts with a computer or device. is a program or a suite of programs that allow a user to interact with a computer.
A graphical user interface (GUI) is familiar to most users of PCs and laptops. GUIs feature a desktop where everything is displayed. Applications run in operating systems (eg Windows) and all objects (apps, hardware and files) are represented by icons. Application features are accessible through the use of menus. GUIs are powerful and easy to use, but require a lot of processing power.
Input facilities
For a GUI to be effective, it needs to accept input from a user.
Examples of input facilities required are:
keyboards – for entering text
a mouse or touch pad – for clicking, dragging and selecting items
touchscreens – for tapping, swiping and gestures.
Output facilities
When a GUI receives input, it needs to be able to “communicate” back to the user to be fully effective.
Examples of output facilities for effectiveness are:
monitors – to display text, images, video
speakers or headphones – for audio feedback or audio alerts
printers – for producing physical copies of digital documents.
Effective GUIs need to be easy to use in terms of being:
accessible by all users
intuitive and allow for a simple user experience
give clear feedback so the user knows that their input has worked
consistency with all screens across the GUI

An example of using a GUI is using a food delivery app. When the app is opened, it shows buttons to order with and a dashboard with reward points. Clicking on 'order now' takes the user to another screen. The user experience is made simple and clear by presenting three options depending on whether the user is eating in the restaurant, collecting or having food delivered.
The screens for choosing food are the same regardless of the previous entry point and the checkout process is the same for all app users. The app is intuitive so that customers know what to do next and it also gives real time feedback to allow the tracking of food. This is an example of effective GUI design.

Data structures
A program may need to store lots of data, so data structures are used instead of using separate variables for each item.
Data structures include:
arrays
lists
tuples
dictionaries.
Each structure stores data differently, so the choice of data structure depends on what the program needs to do.
Arrays
An array stores multiple values of the same data type in a fixed order. Each item is stored at a numbered index, starting from 0.
Arrays are used when the number of items needed is known. All the data is the same type and items are accessed by position.
Pseudocode example
ARRAY scores =[14, 18, 12, 16]
Lists
A list is like a flexible arrayA set of data values of the same type, stored in a sequence in a computer program. Also known as a list. . Different types of data can be stored and the size of the list can be changed. Values can be added, removed or changed at any time.
Lists are used for mixed data types, when the number of items is not known in advance or when the list needs to be modified later.
Pseudocode example
LIST student = [“Heather”, 14, True]
Tuple
A tuple is like a list but once it has been created, the values cannot be changed. Values can be accessed like a list but not amended.
Tuples are used when the data needs to be protected from being changed or the data is fixed, such as the days of the week or months of the year.
Pseudocode example
TUPLE Weekdays=(“Mon”, “Tue”, “Wed”, “Thur”, “Fri”)
Dictionaries
Dictionaries store data in key-value pairs and the value is found by using a key.
Dictionaries are used when labelling each piece of data, looking up the data by name instead of position and storing data by different types.
Pseudocode example
DICTIONARY country = {
“name”: “Denmark”,
“capital”: “Copenhagen”,
“population”: 5.97
}
Data is accessed using a key so country[“population”] gives 5.97
Validation
A programmer should consider that any inputs a user makes may be incorrect and should plan arrangements for such unexpected actions. Using validationChecking input data is sensible and in the right format. helps a programmer to ensure that any data input is sensible.
Validation applies rules to inputted data. If the data does not follow the rules, it is rejected, reducing the risk that incorrectly input data may crash a program.
A programmer can build various types of validation into a program.
Examples of types of validation include:
Range checks - the input must fall within a specified range. This range is usually applied to numbers and dates but it can apply to characters. For example, when making a payment to someone, the amount to be entered might be set to be greater than zero and not greater than the funds available.
Presence checks - a data value must be entered. For example, entering a quantity when placing an order.
Look-up table – a list of acceptable values, so when data is input it is checked against a list to ensure it is valid. For example, if selecting a country from a drop-down menu, only countries from that list can be input.
Check digit – an extra digit is added to the end of a set of numbers, such as a bar code, to ensure that the data entered is correct.
Length checks - for example, a password must be at least eight characters long.
Format checks - for example, the user's date of birth must be entered in the specified format.
Double entry – a verification method that involves entering the same data twice; the data is then compared to ensure there is a match. This helps to prevent errors.
Validation does not ensure that the data entered is correct. For example, a user may accidentally enter a date of birth that seems sensible - but is incorrect. The program has no way of knowing that the date has been entered incorrectly.
To get around this, many programs include verification checks. These repeat the entered data to the user and ask them to confirm if the data is correct. If the user confirms the data, the program then assumes it to be correct. This is an example of how planning the design of a program can help to reduce errors.
Verification and authentication
verificationChecking data has been input correctly. and authentication check if a user is allowed access to a system. The most common method for verifying a user on a system is with a user ID and password.
The aim of authentication checks is to see if a user is allowed access to a system and that they are who they claim to be. It confirms details that only an individual would know, for example online checks asking for a mother’s maiden name.
The user ID checks to see if a name is on a list of possible users. The password is used to check if the user is who they claim to be.
Authentication
Authentication in computer systems is essential to ensure that only authorised users can access information, resources or functionality. The first step is checking that the user is who they claim to be, by checking the user ID and password.
Authentication is verifying the identity of a user before allowing them access to a computer system. It keeps systems secure by preventing unauthorised access and protects sensitive data.
Methods to authenticate users
Common authentication methods include:
user ID and password
two-factor authentication
biometric authentication.
User ID and password is the most common method. It checks that the User ID exists and that the password matches what is stored.
Two-factor authentication adds an additional step such as sending a code to a phone or email address which must be entered.
Biometric authentication uses fingerprint or face recognition to allow the user access to the system.
Security questions add an additional step to check answers to questions which only the individual would know such as their mother’s maiden name or first school attended.
User access levels
User access levels are permissions that ensure users can only see and do things in a computer system that they are allowed to do. These levels help maintain security by restricting access to information and functions based on the users role, so that they do not have access to information they shouldn’t. The highest level of access is usually called “admin” with “users” having the lowest level of access.
Data handling and processing
When data is input into a system and a program is run, it can perform different tasks with the data, depending on what the program has been designed to do, such as:
storing the data in variableA memory location within a computer program where values are stored., lists or arrayA set of data values of the same type, stored in a sequence in a computer program. Also known as a list.
performing calculations
sorting
searching.
An example of this is writing a program to sort a list of names. Once this task is completed the program ends and outputs the result (for example to the computer's monitor) that this is the end of the job, unless the program is written to store the output (the sorted list of names) into a file.
More on Systems analysis
Find out more by working through a topic
- count4 of 5

- count5 of 5

- count1 of 5

- count2 of 5
