240 likes | 600 Views
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
E N D
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
Model Human Processor (MHP) Guest lecture byDr Hokyoung Ryu from Massey emphasized the impact of this model for design
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 unlessanother • 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
State transition networks (STN) – example • circles - states • arcs - actions/events
The “Laws” • Hick’s Law: T = a +b log2(n + 1) • Fitts’ Law: MT = a +b log2(A/W + 1)
RegPage Register NewReg Seminar RemovePage Remove ConfirmRemove page/server transition server/page transition 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
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
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
Object Sam human actor Actions: S1: drive tractor S2: dig the carrots Object Vera human actor – the proprietor Actions: as worker V1: plant marrow seed V2: program irrigation controller Actions: as manager V3: tell Sam to dig the carrots Object the men composite Comprises: Sam, Tony Object glasshouse simple Attribute: humidity: 0-100% Object Irrigation Controllernon-human actor Actions: IC1: turn on Pump1 IC2: turn on Pump2 IC3: turn on Pump3 Object Marrow simple Actions: M1: germinate M2: grow example – objects and actions
Partial AWT and SwingClass Hierarchy java.lang.Object CheckboxGroup Component MenuComponent Button Canvas Checkbox Choice Container Label List Scrollbar TextComponent JComponent Scrollpane Panel Window AbstractButton JLabel JList JPanel JScrollpane Applet Dialog Frame JButton JApplet JDialog JFrame java.awt.* javax.swing.*
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
Assistants Among the various forms of User Support
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?
Design the Test • Where: Determine the Location of the Tests
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
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 judgmentby 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
Technical Issues Concerning Icons - Deconstructing Icons • Aggregate symbols • Overlap • Addition • Antithesis • Specification
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/
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