Software Development
Chapter 2
Interface Design
Need For User Interface
Various people from different backgrounds now use
computers in everyday life
The need for a user friendly interface which the average
person can productively interact with is important
This need led to the development of various types of user
interfaces, categories for different types of users
The vast majority of programs are now interactive and user
interfaces are often graphical
Types Of User Interfaces
There are many different types of user interfaces currently in use
Each type of interface can be characterised by the style of interaction it supports
The most common styles include:
Command Driven
Menu Drive
Graphical User Interface (GUI)
Special Purpose
Styles are chosen by designers to support the particular tasks
Many systems have a mixture of styles to support different tasks
Command DrivenCommand Line Interpreter (CLI)
The command line interface was the first interactive user interface
They do not require much effort in screen design or management as a basic black
or white background with contrasting text is normally used
Commands are entered at a prompt and validated by the command language
interpreter before being carried out
Commands are words or mnemonics as the amount of typing should be minimal
CLI Advantages
They may be implemented using cheap alphanumeric displays
More experienced users have direct control over the operations
Commands of almost arbitrary complexity can be created by
combining individual commands
It is faster to issue a command sequence directly rather than
searching through a menu
It allows complicated and sophisticated operations to be performed
and combined with scripts
CLI Disadvantages
Users have to learn a command language that can be complex
The learning time for a CLI is greater
Users always make mistakes in typing, this requires error handling and
message generation facilities
System interaction is through a keyboard
It can be difficult to get the simplest operations performed
Commands across different operating systems are different
Menu Driven
Menu driven interfaces present the user with a list of options
The user can make their selection from a keyboard or pointing device
Selecting an option may initiate a command or present the user with a sub-menu
Sub menus are said to be nested inside the menu
There are three major categories menus can be divided into:
Full Screen Menus
Bar and Pull-Down Menus
Pop-Up Menus
Full Screen Menus
These menus present the options to the user as a sequential list
It is followed by a message prompting the user to select one
Options may be numbered or a letter used to uniquely identify each
option and to facilitate quick selection
Bar and Pull-Down Menus
The main options available to the user are presented as pads on a horizontal bar
across the screen
When the user selects a pad the second-level options are displayed in a pull-down
menu
This type of men system is used in with a pointing device
Options may also be selected using shortcut or arrow keys
Pop-Up Menus
These menus appear as a box with one of the options already selected
When the user points to the box the other options are displayed in a list and
the user can select one with the pointing device
Menu options only remain visible when the pointing button is depressed
Menu Driven Advantages
The user is presented with a choice so does not need to remember
commands
The interface is suitable for beginners
The opportunities for making serious errors are reduced
Menus can utilise special pointing devices keeping typing to a minimal
Menu Driven Disadvantages
They are not as concise as command driven interfaces
Accomplishing a task in a menu driven interface involves more steps
than a command driven interface
If there is a large number of options available it is difficult to structure
the menu system
Tasks which involve logical operators are awkward to express
Graphical User Interface
The main elements of a GUI are:
Windows
Icons
Menus
Pointers
Alerts and Warnings
Dialogue Boxes
WIMP
The first four elements of a GUI were responsible for the term WIMP being
applied to these type of interfaces
Using a WIMP environment allows the user to directly manipulate objects and
perform operations
Windows
A window is an interface component through which objects and actions are
presented
It is an area of the screen dedicated to a specific purpose
Windows may be tiled or overlapping
They can be moved around and resized
Windows may also be scrolling
Icons
An icon is a pictorial representation of an object or action
A unique icon represents an application when it is minimised
Icons must be understandable by users and its purpose must be clear to users
Menus
The graphical user interface can support all types of menus
Common types are:
Pull-Down Menus
Menu Bars
Scrolling Menus
Pop-Up Menus
Pointers
A pointer is a symbol displayed on the screen that is controlled by a pointing
device like a mouse
It is used to point at objects and action on screen that the user wants to
select
The pointer is the tool used to drive the GUI
Alerts and Warnings
Alerts and warnings occur as pop-up menus
They notify the user of an event that requires a response
The user can choose between overriding the event or by performing the
required action
Dialogue Boxes
A dialogue box is a movable window in which users provide information that
is required by an application so it can perform the user request
Processing Capabilities of a GUI
The graphical nature of a GUI gives it the ability to perform a variety of
different operations
This includes combining text and graphics
Graphical Operations
Some operations of a GUI are:
What You See Is What You Get (WYSIWYG) editing
Image scanning
Processable graphics
Animation and support for multimedia
The manipulation of graphics to produce moving images is called Animation
Porting of documents or files across different applications
Refers to the representation of an image on screen being an exact image of
the end result
A GUI treats all files as objects, making it possible to embed one object
within another. So you can use a file created in one application in another
Provisions for users with disabilities
The WIMP environment is ideally suited for adjusting components for users
with visual, hearing or mobility difficulties
GUI Advantages
Users feel in control of the computer
User learning time is short
Immediate feedback on actions is given so mistakes can be detected and corrected
quickly
Icons help users to recognise what objects are meant to represent
Users can transfer skills from one WIMP based operating system to another
GUI Disadvantages
Interfaces are processor intensive and memory demanding
Powerful and expensive processors are needed to support tasks
Sometimes a longer sequence of steps is necessary to perform certain
operations in a GUI
Screens can become cluttered and difficult to navigate
Special Purpose Languages
With the ever increasing development of hardware and software many
specialised user interfaces are now being created
Interface
Areas of Use
Touch screens
Museums
Allows users to navigate menu
system of art works, etc. by
touching screen with finger.
Speech
Visually and
physically
disabled
users
Users can get audible sounds and
words from the computer.
Natural language
Speech
input
systems
The most natural interaction style.
Speech recognition software is
improving greatly but is still not
perfect.
Pupils questions A company decides to offer DVD rental through the World Wide Web. After
registering, a customer will create a list of movies that he or she would like to
watch. The highest positioned available movie from the list will be posted to the
customer.
When finished with the DVD, the customer will post it back. The management of
the company decide to appoint a project team to oversee the implementation of
a software solution.
During the design phase careful consideration will be given to the design of the
user interface as well as producing a design of the detailed logic of the software.
(i) State three factors that will influence the project team when designing the
user interface for software accessed on the World Wide Web.
(ii) Pseudocode is used to represent the detailed logic of the proposed software.
Describe three aspects of pseudocode that will assist the implementation
of the system.
Answer
(i) • Clients skill level.
• Existing documentation indicating user current experience.
• Existing software indicating staff’s current experience/skill.
• Development environment.
• Hardware and software (OS) that the software will run on.
• Types of browser used to access as they have different capabilities eg layers
tables.
• Minimum bandwidth since this will affect users’ ability to view graphics,
video.
• Any other acceptable answer. 1 mark for each of 3 factors
(ii) • English statements which have a one to one mapping with code (1).
• Numbering reflects dependency (1).
• Indentation to indicate control structures such as repetition and selection (1
• Data flow informs parameter passing (1).