compsci 345 / softeng 350 course review prof jim warren

24
COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

Upload: emerald-henry

Post on 16-Dec-2015

234 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

COMPSCI 345 / SOFTENG 350Course Review

Prof Jim Warren

Page 2: COMPSCI 345 / SOFTENG 350 Course 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

Page 3: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

1-3

Model Human Processor (MHP)

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

Page 4: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 5: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 6: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 7: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

The “Laws”

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

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

Page 8: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 9: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 10: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 11: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 12: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 13: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

}}

Page 14: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 15: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

15

Assistants

Among the various forms of User Support

Page 16: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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?

Page 17: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

1-17

Design the Test

• Where: Determine the Location of the Tests

Page 18: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 19: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 20: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 21: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

1-21

Technical Issues Concerning Icons - Deconstructing Icons

• Aggregate symbols– Overlap

– Addition

– Antithesis

– Specification

Page 22: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 23: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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

Page 24: COMPSCI 345 / SOFTENG 350 Course Review Prof Jim Warren

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