Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Design for Usability I-Software Engineering-Lecture Slides, Slides of Software Engineering

Software Engineering one of core subject in Computer Science. This lecture was delived by Dr. Shrya Gopal at Bengal Engineering and Science University as one of lecture from lecture series on course. This lecture includes: Design, Usability, Finite, State, Machine, Cruise, Control, Engaged, Switch, Transition, Diagram, Table, Standby, Copyright

Typology: Slides

2011/2012

Uploaded on 08/26/2012

parveen
parveen 🇮🇳

4.6

(9)

93 documents

1 / 27

Toggle sidebar

Related documents


Partial preview of the text

Download Design for Usability I-Software Engineering-Lecture Slides and more Slides Software Engineering in PDF only on Docsity!

CS 501: Software Engineering

Fall 2000

Lecture 17

Design for Usability I

docsity.com

Administration

  • Midterm examination

docsity.com

Q2: Finite State Machine

The cruise control system on an automobile is controlled by a master switch and three buttons. Initially, it is turned on by the master switch. The master switch can be turned off at any time. When first turned on, the system enters stand-by mode.

When the system is in stand-by mode, the driver of the automobile can press Button A to engage the cruise control at the current speed of the automobile. When the cruise control is engaged, if the driver presses the brake or presses Button B the system will be disengaged and return to stand-by mode. After returning to stand- by mode, the driver can press Button C to engage the cruise control at the speed that it was set at previously. (After the system is first turned on, Button C has no effect.)

When the cruise control is engaged, the driver can press Button A to increase speed by one mile per hour or Button C to decrease speed by one mile per hour. docsity.com

State Transition Diagram

Off Standby Engaged Standby

MS-On

B-Brake MS-Off

A

A

C

A C

docsity.com

State Transition Table

MS

on

MS

off

A B

Brake

C

Off

Standby

Engaged

Standby

Standby

Off

Off

Off Engaged

Standby

Engaged Engaged

Engaged Engaged

docsity.com

Question 4

When software is written, who owns the copyright?

How can somebody else be permitted to use the software?

How can copyright be transferred to somebody else?

docsity.com

Question 4

When software is written, who owns the copyright?

The person who writes the software Except work for hire -- the employer

How can somebody else be permitted to use the software?

By permission from the copyright owner (usually a license)

How can copyright be transferred to somebody else?

Copyright is property that can be sold or given away (usually a contract) docsity.com

Question 4

You are employed for company X writing software.

When you leave, who owns your work?

What use can you make of the work?

docsity.com

Question 4

You are employed for company X writing software.

When you leave, who owns your work?

The company (work for hire)

What use can you make of the work?

None without permission of the copyright owner

docsity.com

Question 4

You work free-lance for company X.

When you finish, who owns your work?

What use can you make of the work?

docsity.com

Question 4

You work free-lance for company X.

When you finish, who owns your work?

It depends on the circumstances Have a written contract

What use can you make of the work?

If you hold the copyright -- unrestricted Otherwise -- none without agreement

docsity.com

Distributed Objects and the System

Life-Cycle

All large systems change with time.

  • Dynamic binding of objects combined with polymorphism permits the addition of extra object types, incremental changes, etc. to be localized.

Development environments change with time.

  • Language bindings and IIOP permit changes.

Production environments changes with time.

  • Code can be reused in different environments.

docsity.com

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?

docsity.com

Iterative Design

Requirements

Design

Implementation (prototype)

Evaluation

docsity.com

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

docsity.com

Levels of Usability

interface design functional design data and metadata computer systems and networks

conceptual model

docsity.com

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

docsity.com

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

docsity.com

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 docsity.com

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

docsity.com

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

docsity.com

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)

docsity.com

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)

docsity.com

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

docsity.com

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

docsity.com