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).