Transcript Software Development
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 Driven-
Command 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 Refers to the representation of an image on screen being an exact image of the end result 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 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 Touch screens Speech Natural language
Museums Visually and physically disabled users Speech input systems
Areas of Use
Allows users to navigate menu system of art works, etc. by touching screen with finger.
Users can get audible sounds and words from the computer.
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).