Quality Assurance User Interface Modeling

Similar documents
Human-Computer Interaction IS4300

KF5008 Program Design & Development. Lecture 1 Usability GUI Design and Implementation

Assignment 1. Application Development

Page 1. Ideas to windows. Lecture 7: Prototyping & Evaluation. Levels of prototyping. Progressive refinement

Introduction to the JAVA UI classes Advanced HCI IAT351

Lab 4. D0010E Object-Oriented Programming and Design. Today s lecture. GUI programming in

PIC 20A GUI with swing

Java Swing Introduction

Analytical Evaluation

+! Today. Lecture 3: ArrayList & Standard Java Graphics 1/26/14! n Reading. n Objectives. n Reminders. n Standard Java Graphics (on course webpage)

CS415 Human Computer Interaction

GUI Implementation Support

WIMP Elements. GUI goo. What is WIMP?

Graphical User Interface (GUI)

All the Swing components start with J. The hierarchy diagram is shown below. JComponent is the base class.

(Incomplete) History of GUIs

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing

15/16 CSY2041 Quality and User-Centred Systems

Java IDE Programming-I

Overview of Today s Lecture. Analytical Evaluation / Usability Testing. ex: find a book at Amazon.ca via search

Java: Graphical User Interfaces (GUI)

Analytical evaluation

Heuristic evaluation is a usability inspection technique developed by Jakob Nielsen. The original set of heuristics was derived empirically from an

G51PGP Programming Paradigms. Lecture 008 Inner classes, anonymous classes, Swing worker thread

User Interface Evaluation

Graphical User Interfaces (GUIs)

Java & Graphical User Interface II. Wang Yang wyang AT njnet.edu.cn

Prototyping a Swing Interface with the Netbeans IDE GUI Editor

MIT GSL week 4 Wednesday. User Interfaces II

GUI Programming. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies

cs465 principles of user interface design, implementation and evaluation

Implementing Games User Research Processes Throughout Development: Beyond Playtesting

This quiz is closed book, closed notes. You have 80 minutes to complete it. Your name:

User-Centered Design. Jeff Bos, Design Insights BlackBerry

GUI Design for Android Applications

11/6/15. Objec&ves. RouleQe. Assign 8: Understanding Code. Assign 8: Bug. Assignment 8 Ques&ons? PROGRAMMING PARADIGMS

Seng310 Lecture 8. Prototyping

Part I: Learn Common Graphics Components

Heuristic Evaluation

Heavyweight with platform-specific widgets. AWT applications were limited to commonfunctionality that existed on all platforms.

Lecture 6. Design (3) CENG 412-Human Factors in Engineering May

Lecture 11 Usability of Graphical User Interfaces

CS 251 Intermediate Programming GUIs: Components and Layout

USERINTERFACE DESIGN & SIMULATION. Fjodor van Slooten

Chapter 15: Analytical evaluation

Control Flow: Overview CSE3461. An Example of Sequential Control. Control Flow: Revisited. Control Flow Paradigms: Reacting to the User

3 Evaluating Interactive Systems

Graphical User Interface (Part-1) Supplementary Material for CPSC 233

Prototyping. Readings: Dix et al: Chapter 5.8 Marc Rettig: Prototyping for tiny fingers, Communications of the ACM, April 1994.

10/16/2008. CSG 170 Round 5. Prof. Timothy Bickmore. User Analysis Task Analysis (6) Problem Scenarios (3)

Software Prototyping. & App Inventor

Our Hall of Fame or Shame candidate for today is the command ribbon, which was introduced in Microsoft Office The ribbon is a radically

Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS

Software Quality. Martin Glinz. Thomas Fritz. Lecture 7 UI Design, Usability & Testing. Many thanks to Meghan Allen and Daniel Greenblatt.

Heuristic Evaluation of Covalence

Lecture 9. Lecture

Jonathan Aldrich Charlie Garrod

News and info. Array. Feedback. Lab 4 is due this week. It should be easy to change the size of the game grid.

EVALUATION OF PROTOTYPES USABILITY TESTING

Interface Implementation

Original GUIs. IntroGUI 1

CSC207 Week 4. Larry Zhang

CS415 Human Computer Interaction

Java Programming Lecture 6

Example: CharCheck. That s It??! What do you imagine happens after main() finishes?

Goals PROTOTYPING) Cris%an(Bogdan( (

Android Programming Lecture 2 9/7/2011

Usability. HCI - Human Computer Interaction

Visit for more.

3 Prototyping and Iterative Evaluations

Interaction Techniques. SWE 432, Fall 2017 Design and Implementation of Software for the Web

We will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety?

GUI Applications. Let s start with a simple Swing application in Java, and then we will look at the same application in Jython. See Listing 16-1.

A Short Introduction to Usability in Online Surveys

COMPSCI 230. Software Design and Construction. Swing

HCI and Design SPRING 2016

CS 160: Evaluation. Professor John Canny Spring /15/2006 1

Evaluation in Information Visualization. An Introduction to Information Visualization Techniques for Exploring Large Database. Jing Yang Fall 2005

User-Centered Design. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Figure 1: My Blocks are blue in color, and they appear in the Custom palette in NXT-G.

UI Software Organization

Low fidelity: omits details High fidelity: more like finished product. Breadth: % of features covered. Depth: degree of functionality

CS3205 HCI IN SOFTWARE DEVELOPMENT PROTOTYPING STRATEGIES. Tom Horton. * Material from: Floryan (UVa) Klemmer (UCSD, was at Stanford)

Applying Usability to elearning

Mobile Development Workshop DAY 2: INTRODUCTION TO JAVA

Interaction Design. Heuristic Evaluation & Cognitive Walkthrough

Why User Interface Design? What

COSC 341 Human Computer Interaction. Dr. Bowen Hui University of British Columbia Okanagan

Human-Computer Interaction IS4300

Containers. Atomic Components. Containment Hierarchy. Example Example 3.3 (revisited) Example DemoSwing.java

Lab & Assignment 1. Lecture 3: ArrayList & Standard Java Graphics. Random Number Generator. Read Lab & Assignment Before Lab Wednesday!

CSE 331 Software Design and Implementation. Lecture 19 GUI Events

Systems Programming Graphical User Interfaces

D S R G. Alina Mashko. User interface. Department of vehicle technology. Faculty of Transportation Sciences

Top 10 Usability Guidelines for Blogging

CS415 Human Computer Interaction

CSE115 / CSE503 Introduction to Computer Science I. Dr. Carl Alphonce 343 Davis Hall Office hours:

Event Driven Programming

Interaction Techniques. SWE 432, Fall 2016 Design and Implementation of Software for the Web

CPS122 Lecture: Graphical User Interfaces and Event-Driven Programming

Transcription:

Quality Assurance User Interface Modeling Part II - Lecture 4 1 The University of Auckland New Zealand 254 18/09/ /2012

Interviewing Methods of the FBI 254 18/09/ /2012 Cognitive interview: method to enhance accurate recall 1. Context: reinstate the context of the event 2. Detail: don t hold back any details 3. Order: recall the event in a different sequence 4. Perspective: look at the event from different perspectives Reference: Geiselman et al. Enhancement of Eyewitness Memory with the Cognitive Interview. American Journal of Psychology, 99(3), 1986. http://www.jstor.org/stable/10.2307/1422492 Major cause of project failure: wrong requirements 2

Today s Outline /2012 254 18/09/ User Interface Modeling GUI Builders: WindowBuilder ild for Eclipse User Interface Prototypes ( Click Dummies ) 3

User Interface Modeling 4 The University of Auckland New Zealand 254 18/09/ /2012

Introduction to Modeling 254 18/09/ /2012 Software is complex; how can we deal with it? Common solution: try to use a good representation ti Model: represents certain properties of an object in a different context Abstraction: reduce complexity by taking away unnecessary details Clarity: make interesting properties more visible Facilitate application of a methodology Usability (e.g. easy to create, change, understand ) Usually many different models conceivable; different models for different purposes 5

User Interfaces (UIs) 254 18/09/ /2012 User interfaces are the interfaces between humans and computers Input: How does the user talk to the system? Output: How does the system talk to the user? Interaction: input and output between human and computer over time (HCI=Human- Computer Interaction) The UI is a crucial part of a system Functionality is useless if users don t know how to use it Users won t use it if usage is cumbersome Out In 6

Usability 254 18/09/ /2012 ISO 9241 definition: "The effectiveness, efficiency, and satisfaction with which specified users achieve specified goals in particular environments. Some usability heuristics (by Jacob Nielsen http://www.useit.com/papers/heuristic) / /h i i Visibility of system status Match between system and the real world User control and freedom Consistency and standards Error prevention Help users s recognize, diagnose, and recover from errors 7

254 18/09/ /2012 Screen Diagrams Idea: get UI right through early user feed-back Use models to discuss UI with users Screen diagrams are a simple informal model for UIs 1. Draw prototypical screens of a system which h look like real screens, with real data (graphical details not important) 2. Draw arrows from the controls of a screen to the screens that follow when the control is used (e.g. button click) 3. If multiple screens are connected to same control, insert black square signifying conditional branch 8

Screen Diagram Example 254 18/09/ /2012 Create a click dummy for the following system: A lawyer needs a program to manage clients and lawsuits. When she opens the program, she wants to see a menu with functions for listing all clients, listing all lawsuits, and closing the program. The screen that lists all the clients has a function for showing the details of a client and a function for going back to the main menu. Similarly, the screen that lists the lawsuits has a function for showing the details of a lawsuit and a function for going back. 9

GUI Builders: WindowBuilder for Eclipse 10 The University of Auckland New Zealand 254 18/09/ /2012

Containment Hierarchy /2012 254 18/09/ Most UI are created by nesting controls (aka widgets/ UI elements) into other controls (containers) Containment hierarchy: the way the controls of a UI are nested Not all controls visible; often invisible internal containers E.g. for Java Swing: Top-Level Container: JFrame (or JDialog or JApplet) Component: JButton Pane: JContentPane Container: JScrollPane Component: JList 11

Creating a JFrame 254 18/09/ /2012 1. Install WindowBuilder with Help -> Install New Software using the update site link for your Eclipse version from here: http://www.eclipse.org/windowbuilder/download.php (you need all of Swing Designer and all Core components of WindowBuilder Engine ) 2. Add a JFrame to your project using New -> Other -> WindowBuilder -> Swing Designer -> JFrame 3. Choose a package and class name 4. Switch between code and UI using the tabs at the bottom of the editor 5. Select contentpane in Components view 6. In Properties view: set the Layout to (absolute) to allow free placement of controls 7. Add components from the Palette view 8. Run the application using Run as Java app 12

/2012 254 18/09/ Containment hierarchy Source code of the GUI WindowBuilder User Interface Palette of GUI controls Properties of selected control Visual GUI editor 13

User Interface Prototypes ( Click Dummies ) 14 The University of Auckland New Zealand 254 18/09/ /2012

Click Dummies 254 18/09/ /2012 Bring screen diagrams to life: UI mockups / UI prototypes / click dummies The user can nevigate between the screens The user can see how input & output is done by the system The user can imagine the real system Very restricted but very easy to create No functionality implemented All data is just hypothetical Very good for early user testing & feedback!!! 15

Event Handlers 254 18/09/ /2012 When the user does something (click, mouse move, key press, etc) an event object is created Event handler: method that is called when a particular event occurs In Java: Event handler is method in event listener object For each type of event a particular method of a particular event listener Set event handlers with dedicated setter methods in control jbutton.addactionlistener( new java.awt.event.actionlistener() { public void actionperformed( java.awt.event.actionevent e) { System.out.println( println("you clicked me!!!"); } }); 16

Opening and Closing Frames on Button Click /2012 254 18/09/ Add event handler by right-clicking on component and using menu Code for opening new frame ( Frame2 ): (Frame2): Frame2 f2 = new Frame2(); f2.setvisible(true); Code for closing the current frame: // get event source // and dispose its JFrame ((JFrame) ((java.awt.component)e.getsource()) t) ts ()) // get button.getparent() // get contentpane.getparent() // get JLayeredPane.getParent() // get JRootPane.getParent()) // get JFrame.dispose(); 17

Today s Summary 254 18/09/ /2012 Models try to represent interesting aspects of a system in a clear and manageable way Screen diagrams illustrate the UI of a system GUI builders help to create UIs quickly UI prototypes ( click dummies ) can be used for early user feed-back Friday: lab & lecture Assignment 3 coming out this week 18

Quiz /2012 254 18/09/ 1. Describe a situation where using a model would be useful, and explain why (give 3 reasons). 2. Create a screen diagram for a simple online music store. 3. What is a click dummy? What is it used for? 19