Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I.

Similar presentations


Presentation on theme: "CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I."— Presentation transcript:

1 CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I

2 2 Administration  Assignment 4 grades

3 3 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

4 4 Reuse and Object Object Oriented Languages Example: 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

5 5 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?

6 6 Iterative Design Requirements Design Implementation (prototype) Evaluation

7 7 Methods for Evaluation of Usability  Observing users (user protocols)  Focus groups  Measurements effectiveness in carrying out tasks speed  Expert review  Client's opinions  Competitive analysis

8 8 Levels of Usability interface design functional design data and metadata computer systems and networks conceptual model

9 9 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

10 10 Interface Design The interface 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

11 11 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

12 12 Disabilities  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

13 13 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

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

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

16 16 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

17 17 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

18 18 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

19 19 Extensibility in Web Browsers  Data types: helper applications, plug-ins  Protocols HTTP, WAIS, Gopher, FTP, etc. proxies  Executable code CGI scripts at server JavaScript at client Java applets  Style sheets

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


Download ppt "CS 501: Software Engineering Fall 1999 Lecture 23 Design for Usability I."

Similar presentations


Ads by Google