cs 501 software engineering fall 1999 l.
Skip this Video
Loading SlideShow in 5 Seconds..
CS 501: Software Engineering Fall 1999 PowerPoint Presentation
Download Presentation
CS 501: Software Engineering Fall 1999

Loading in 2 Seconds...

play fullscreen
1 / 20

CS 501: Software Engineering Fall 1999 - PowerPoint PPT Presentation

  • Uploaded on

CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I Administration  Assignment 4 grades Software Reuse (Application Packages)  Package supports a standard application (e.g., payroll, user interface to Internet information)  Functionality can be enhanced by:

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'CS 501: Software Engineering Fall 1999' - ostinmannual

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
cs 501 software engineering fall 1999

CS 501: Software EngineeringFall 1999

Lecture 23

Design for Usability I


 Assignment 4 grades

software reuse application packages
Software Reuse (Application Packages)

 Package supports a standard application (e.g., payroll, user interface to Internet information)

 Functionality can be enhanced by:

=> configuration parameters (e.g., table driven)

=> extensibility at defined interfaces

=> custom written sources code extensions

reuse and object object oriented languages
Reuse and Object Object Oriented Languages


Java is a relatively straightforward language with a very rich set of class hierarchies.

 Java programs derive much of their functionality from standard classes

 Learning and understanding the classes is difficult.

=> Java experts can write complex systems quickly

=>Inexperienced Java programmers write inelegant and buggy programs

design for usability
Design for Usability

Usability of a computer system is a combination of factors:

 User interface design

 Functionality

 Performance

 Help systems and documentation

 Freedom from errors

Anything else?

iterative design
Iterative Design






methods for evaluation of usability
Methods for Evaluation of Usability

 Observing users (user protocols)

 Focus groups

 Measurements

effectiveness in carrying out tasks


 Expert review

 Client's opinions

 Competitive analysis

levels of usability
Levels of Usability

interface design

functional design

data and metadata

computer systems and networks

conceptual model

the conceptual model
The Conceptual Model

The conceptual model is the user's internal model of what the system provides:

 The desk top metaphor -- files and folders

 The web model -- click on hyperlinks

 The library model -- search and retrieve

 The form filling model -- fill form, submit

Example: The Mercury page turner

interface design
Interface Design

Theinterface design is the appearance on the screen and the actual manipulation by the user

 Fonts, colors, logos, key board controls, menus, buttons

 Mouse control or keyboard control?

 Conventions (e.g., "back", "help")

Example: Screen space utilization in the Mercury page turner

principles of interface design
Principles of Interface Design

Interface design is partly an art; there are general principles:

 Consistency -- in appearance, controls, and function.

 Feedback -- what is the computer system is doing? why does the user see certain results?

 Users should be able to interrupt or reverse actions

 Error handling should be simple and easy to comprehend

 Skilled users offered shortcuts;

beginners have simple, well-defined options

The user should feel in control


 What if the user:

is visually impaired or color blind?

does not speak English?

is a poor typist?

 There is a tradition of blind programmers

 Navigation of web sites need not be only visual

You may have a legal requirement to support people with disabilities

functional design
Functional Design

The functional design, determines the functions that are offered to the user

 Selection of parts of a digital object

 Searching a list or sorting the results

 Help information

 Manipulation of objects on a screen

 Pan or zoom

same functions different interface
Same Functions, Different Interface

Example: The desk top metaphor

 Mouse -- 1 button (Macintosh), 2 button (Windows) or 3 button (Unix)

 Close button -- left of window (Macintosh) right of window (Windows)

data and metadata
Data and Metadata

Data and metadata stored by the computer system enable the functions and the interface

 The desktop metaphor has the concept of associating a file with an application. This requires a file type to be stored with each file:

-- extension to filename (Windows and Unix) -- resource fork (Macintosh)

 Data validation often requires that a user interface has access to a database (e.g., names and addresses)

computer systems and networks
Computer Systems and Networks

The performance, reliability and predictability of computer systems and networks is crucial to usability

 Response time

instantaneous for mouse tracking and echo of key stroke

5 seconds for simple transactions

 Example: Pipelined algorithm for the Mercury page turner

 Quality of Service for real time information

design tensions in networked systems
Design Tensions in Networked Systems

 Client computers and network connections vary greatly in capacity

 Client software may run on various operating systems; it may be current or an earlier version

 System designers wish to control clients; users wish to configure their own environments

usability and cost
Usability and Cost

 Performance may be expensive in hardware or special software development

 User interface development may be a major part of a software development project

 Costs are multiplied if a user interface has to be used on different computers or migrate to different versions of systems

Web browsers provide a general purpose user interface that others maintain

extensibility in web browsers
Extensibility in Web Browsers

 Data types:

helper applications, plug-ins

 Protocols

HTTP, WAIS, Gopher, FTP, etc.


 Executable code

CGI scripts at server

JavaScript at client

Java applets

 Style sheets


Before next class, read Sommerville Chapters 17, pages 319 to 346