compsci 345 / softeng 350 course review prof jim warren

Post on 16-Dec-2015

234 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

COMPSCI 345 / SOFTENG 350Course Review

Prof Jim Warren

The Exam

• Read over every lecture slide, and review the text where it’s covered in better depth– That way nothing makes you go WTF?! (“What’s

the, father?”)• Note the key aspects from lecture, tutorials

and assignments– These are the sources for high point questions

• Slow down, take deep breaths and READ the exam questions CAREFULLY

1-3

Model Human Processor (MHP)

Guest lecture byDr Hokyoung Ryu from Massey emphasized the impact of this model for design

1-4

KLM - Operators• Operators

– K Press a key or button• Varies with task and typing skill, typically 0.28s

– P Point with mouse• Can apply Fitts’ Law – on average, 1.10s

– B Mouse button• Down or up – 0.10s Click – 0.20s

– H Home hands to keyboard or peripheral device• 0.4s

– D Draw line segments• 0.9 x # of segments + 0.16 total length in cm

– M Mental preparation• 1.35s

– R System response• Depends on the system

5

CNM-GOMS example GOAL: CLOSE-WINDOW . [select GOAL: USE-MENU-METHOD . . MOVE-MOUSE-TO-FILE-MENU . . PULL-DOWN-FILE-MENU . . CLICK-OVER-CLOSE-OPTION GOAL: USE-CTRL-W-METHOD . . PRESS-CONTROL-W-KEYS]

For a particular user, U1:

Rule 1: Select USE-MENU-METHOD unless another rule applies Rule 2: If the application is GAME, select CTRL-W-METHOD

So here we have one Goal with either of two Methods, one of which requires a sequence of three Operators, the other requires just one Operator; for U1 we have 2 Selection rules

6

State transition networks (STN) – example

• circles - states

• arcs - actions/events

Start Menu

Circle 1 Circle 2 Finish

Line 1 Line 2 Finish

select 'circle'

select 'line'

click on centreclick on

circumference

draw circlerubber band

rubber band draw last line

click on first point double click

click on point

draw a line

The “Laws”

• Hick’s Law: T = a + b log2(n + 1)

• Fitts’ Law: MT = a + b log2(A/W + 1)

Formchart for theSeminar Registration System

Formcharts are state transition diagrams that are…• Bipartite: client states (pages [denoted by ovals]) and server states (actions

[denoted by rectangles])• Typed: a message type for each page and each action

Register

ConfirmRemoveRemove

NewReg

RemovePage

RegPage

Seminar

server/page transition

page/server transition

Screen diagram• Close to a set of screen

sketches, but adding formalism

• Screens are nodes• Transitions (arcs) are actions

that take us between screens

• Alternatives are annotated– one default action, unlabeled– Other actions (notably error

handling) labeled with condition in curly braces

10

Refined HTA for making tea

Also a variant in Heim pp 122-124

Exam will be clear on which variant to use, or accept either

11

example – objects and actions

Object Sam human actorActions:

S1: drive tractorS2: dig the carrots

Object Vera human actor– the proprietor

Actions: as workerV1: plant marrow seedV2: program irrigation controller

Actions: as managerV3: tell Sam to dig the carrots

Object the men compositeComprises: Sam, Tony

Object glasshouse simpleAttribute:

humidity: 0-100%

Object Irrigation Controllernon-human actor

Actions:IC1: turn on Pump1IC2: turn on Pump2IC3: turn on Pump3

Object Marrow simpleActions:

M1: germinateM2: grow

12

Partial AWT and SwingClass Hierarchy

java.lang.Object

Component MenuComponentCheckboxGroup

Button CheckboxCanvas Choice Container Label List Scrollbar TextComponent

JComponent Window

Frame

JFrame

Dialog

JDialog

PanelScrollpane

Applet

JApplet

java.awt.* javax.swing.*

JLabel JListAbstractButton

JButton

JPanel JScrollpane

13

CirclePaint Part 3Paint Method

public void paintComponent(Graphics g) {g.clearRect(0, 0, this.getWidth(), this.getHeight());for(Circle c : circles) {

g.setColor(c.col);((Graphics2D)g).fill((Shape)new

java.awt.geom.Ellipse2D.Float( c.x-c.r, c.y-c.r, 2*c.r, 2*c.r));

}if(current!=null) {

g.setColor(current.col);((Graphics2D)g).fill((Shape)new

java.awt.geom.Ellipse2D.Float( current.x-current.r, current.y-current.r, 2*current.r, 2*current.r));

}}

GridBayLayout code

Set the layout of a container with a new layout manager – in this case ‘pane’ is the result of frame.getContentPane()

Attributes of the GridBagConstraints object determine position/behaviour of objects once added to the pane

.fill indicates button fills available space; .weightx determines how space is allocated among columns

JButton button;pane.setLayout(new GridBagLayout());GridBagConstraints c = new GridBagConstraints();

button = new JButton("Button 1");c.weightx = 0.5;c.fill = GridBagConstraints.HORIZONTAL;c.gridx = 0;c.gridy = 0;pane.add(button, c);

button = new JButton("Button 2");c.fill = GridBagConstraints.HORIZONTAL;c.weightx = 0.5;c.gridx = 1;c.gridy = 0;pane.add(button, c);

button = new JButton("Button 3");c.fill = GridBagConstraints.HORIZONTAL;c.weightx = 0.5;c.gridx = 2;c.gridy = 0;pane.add(button, c);

15

Assistants

Among the various forms of User Support

1-16

What is Usability?• Ease of learning—How fast can a user learn to

accomplish basic tasks?• Efficiency of use—How fast can an experienced user

accomplish tasks?• Memorability—Can a user remember enough to use

it effectively the next time?• Error frequency and severity—How often do users

make errors, how serious are these errors, and how do users recover from these errors?

• Subjective satisfaction—How much does the user like using the system?

1-17

Design the Test

• Where: Determine the Location of the Tests

18

Heuristic Evaluation• Rank by severity

– 0=no usability problem– 1=cosmetic – fix if have extra time– 2=minor – fixing is low priority– 3=major – important to fix– 4=usability catastrophe – imperative to fix

• Heuristics such as 10 from Nielsen– Visibility of system status– Match between system and real world– User control and freedom, etc.

• Heuristic evaluation `debugs' design

19

Within v. Between

• Consider a test on the difference of beer v. vodka martinis on reaction time– Null hypothesis – no difference in increase in reaction time

between the two beverages

• Design 1:– 30 people try beer; 30 other people try vodka – D.V. is change in

reaction time pre- v. post drinking• Not bad – be sure to randomize who goes into beer group v. vodka

group• But ‘power’ of the experiment will be reduced due to the great

variability of individuals in reaction to alcohol

Nuremberg Code• In 1947, the judgment

by the war crimestribunal at Nuremberglaid down 10 standardsto which physiciansmust conform whencarrying outexperiments on humansubjects

• See http://www.cirp.org/library/ethics/nuremberg/– This Code now underlies all university and medical human research ethics approval procedures

1-21

Technical Issues Concerning Icons - Deconstructing Icons

• Aggregate symbols– Overlap

– Addition

– Antithesis

– Specification

1-22

Using Sound in Interaction Design

• Hierarchical Earcons– Each node in a hierarchy inherits the attributes of

the previous level

Hierarchical structure Hierarchical earcons

Speech Synthesis Markup Language

• Designed by W3C to provide a rich, XML-based markup language for assisting the generation of synthetic speech in Web and other applications

<?xml version="1.0"?><speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis/synthesis.xsd" xml:lang="en-US">

Take a deep breath <break/> then continue.Press 1 or wait for the tone. <break time="3s"/>I didn't hear you! <break strength="weak"/> Please repeat.

</speak>

• Tags for controlling pitch, pace, emphasis, etc.– See http://www.w3.org/TR/speech-synthesis/

1-23

Bon Voyage

• Hope this course helps you make better systems in the future

And...

• Don’t forget to go on studying until you get a Masters, at least

• Enrol in HLTHINFO 730 Healthcare Decision Support Systems in semester 1, 2010

top related