software engineering requirements user interface design l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Software Engineering Requirements & User Interface Design PowerPoint Presentation
Download Presentation
Software Engineering Requirements & User Interface Design

Loading in 2 Seconds...

play fullscreen
1 / 31

Software Engineering Requirements & User Interface Design - PowerPoint PPT Presentation


  • 194 Views
  • Uploaded on

Software Engineering Requirements & User Interface Design Saint Michael’s College Department of Computer Science Colchester, Vermont 05439 http://personalweb.smcvt.edu/mbattig/ Part 1 – UID Fundamentals

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Software Engineering Requirements & User Interface Design' - adamdaniel


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
software engineering requirements user interface design

Software Engineering Requirements & User Interface Design

Saint Michael’s College

Department of Computer Science

Colchester, Vermont 05439

http://personalweb.smcvt.edu/mbattig/

part 1 uid fundamentals
Part 1 – UID Fundamentals
  • USER, n.: The word computer professionals use when they mean “idiot.” We need to avoid this mentality.
  • “I never design a building before I’ve seen the site and met the people who will be using it.” Frank Lloyd Wright

Saint Michael’s College CS/IS

introduction
Introduction

There are several areas of research that deal directly with User Interface Design. They are

  • HCI/Human Factors and
  • Usability Engineering.

The HCI camp is more driven by research in psychology and therefore employs a “heuristics” approach. The UE camp is more driven by laboratory observation and has more of a “validate & verify each system” approach. Let’s discuss the tradeoffs with each approach:

Saint Michael’s College CS/IS

usability engineering
Usability Engineering
  • Consider Jakob Nielsen’s book on Usability Engineering (google the title and read the first 3 pages).
  • Typical Usability Engineering Lab: http://idealab.dis.unimelb.edu.au/
  • The following material is adapted from: http://www.useit.com/papers/guerrilla_hci.html

Saint Michael’s College CS/IS

discount usability engineering
“Discount Usability Engineering”

The "discount usability engineering" [Nielsen 1989b, 1990a, 1993] method is based on the use of the following three techniques:

  • Scenarios
  • Simplified thinking aloud
  • Heuristic evaluation

Additionally, the basic principle of early focus on users should of course be followed. It can be achieved in various ways, including simple visits to customer locations

Saint Michael’s College CS/IS

1 scenarios
1 - Scenarios

Scenarios are a special kind of prototyping as shown. The entire idea behind prototyping is to cut down on the complexity of implementation by eliminating parts of the full system. Horizontal prototypes reduce the level of functionality and result in a user interface surface layer, while vertical prototypes reduce the number of features and implement the full functionality of those chosen (i.e. we get a part of the system to play with).

Saint Michael’s College CS/IS

2 simplified thinking aloud
2 – Simplified Thinking Aloud

Traditionally, thinking aloud studies are conducted with psychologists or user interface experts as experimenters who videotape the subjects and perform detailed protocol analysis. This kind of method certainly may seem intimidating for ordinary developers. However, it is possible to run user tests without sophisticated labs, simply by bringing in some real users, giving them some typical test tasks, and asking them to think out loud while they perform the tasks. Those developers who have used the thinking aloud method are happy about it [Jørgensen 1989, Monk et al. 1993], and my studies [Nielsen 1992b] show that computer scientists are indeed able to apply the thinking aloud method effectively to evaluate user interfaces with a minimum of training, and that even fairly methodologically primitive experiments will succeed in finding many usability problems.

Saint Michael’s College CS/IS

3 heuristic evaluation
3 – Heuristic Evaluation

These are ten general principles for user interface design. They are called "heuristics" because they are more in the nature of rules of thumb than specific usability guidelines.

Visibility of system status

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.

Match between system and the real world

The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.

User control and freedom

Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.

Consistency and standards

Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.

Error prevention

Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.

Recognition rather than recall

Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.

Flexibility and efficiency of use

Accelerators -- unseen by the novice user -- may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.

Aesthetic and minimalist design

Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.

Help users recognize, diagnose, and recover from errors

Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.

Help and documentation

Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user's task, list concrete steps to be carried out, and not be too large.

Saint Michael’s College CS/IS

hci sigchi
HCI & SIGCHI
  • There is a SIG (Special Interest Group) of the ACM for HCI called “SIGCHI.”
  • Definitions & intro from SIGCHI: http://sigchi.org/cdg/cdg2.html#2_1

Saint Michael’s College CS/IS

three classes of heuristics 1 of 3
Three classes of Heuristics (1 of 3):

Place User in Control

  • Define interaction in such a way that the user is not forced into performing unnecessary or undesired actions
  • Provide for flexible interaction (users have varying preferences)
  • Allow user interaction to be interruptible and reversible
  • Streamline interaction as skill level increases and allow customization of interaction
  • Hide technical internals from the casual user
  • Design for direct interaction with objects that appear on the screen

Saint Michael’s College CS/IS

three classes of heuristics 2 of 3
Three classes of Heuristics (2 of 3):

Reduce User Memory Load

  • Reduce demands on user's short-term memory
  • Establish meaningful defaults
  • Define intuitive short-cuts
  • Visual layout of user interface should be based on a familiar real world metaphor
  • Disclose information in a progressive fashion

Saint Michael’s College CS/IS

three classes of heuristics 3 of 3
Three classes of Heuristics (3 of 3):

Make Interface Consistent

  • Allow user to put the current task into a meaningful context
  • Maintain consistency across a family of applications
  • If past interaction models have created user expectations, do not make changes unless there is a good reason to do so

Saint Michael’s College CS/IS

know thy user
Know Thy User!
  • Perhaps the most fundamental issue is to know the user’s experience, task, and environment. We can place the user’s experience on a continuum as follows:

Novice  Intermittent User  Expert

  • This continuum can be used in at least two ways: Computer experience and knowledge of the task domain.

Saint Michael’s College CS/IS

user interface design process spiral model
User Interface Design Process (Spiral Model)
  • User, task, and environment analysis and modeling
  • Interface design
  • Interface construction
  • Interface validation

Saint Michael’s College CS/IS

user interface design process spiral model15
User Interface Design Process (Spiral Model)

The above (macro) process, is broken down into the following interface design activities (micro):

  • Establish the goals and intentions of each task
  • Map each goal/intention to a sequence of specific actions (objects and methods for manipulating objects)
  • Specify the action sequence of tasks and subtasks (user scenario)
  • Indicate the state of the system at the time the user scenario is performed
  • Define control mechanisms
  • Show how control mechanisms affect the state of the system
  • Indicate how the user interprets the state of the system from information provided through the interface

Saint Michael’s College CS/IS

additional interface design issues
Additional Interface Design Issues:
  • System response time (time between the point at which user initiates some control action and the time when the system responds)
  • User help facilities (integrated, context sensitive help versus add-on help)
  • Error information handling (messages should be non-judgmental, describe problem precisely, and suggest valid solutions)
  • Command labeling (based on user vocabulary, simple grammar, and have consistent rules for abbreviation)

Saint Michael’s College CS/IS

iterative evaluation
Iterative Evaluation

Once the User Interface is complete, we begin the Evaluation Cycle:

  • Preliminary design
  • Build first interface prototype
  • User evaluates interface
  • Evaluation studied by designer
  • Design modifications made
  • Build next prototype
  • If interface is not complete then go to step 3

Saint Michael’s College CS/IS

additional resources
Additional Resources:
  • Various Handouts
  • Additional Readings:

Jakob Nielsen: Usability Engineering (google “usability engineering” and read a few pages)

Ben Shneiderman: Designing the User Interface

Saint Michael’s College CS/IS

part 2 utilizing the pda as a vehicle for user interface design pedagogy

Part 2 - Utilizing the PDA as a Vehicle for User Interface Design Pedagogy

Note: Please see the notes on slides 25 & 30 for details about downloading the Simulator from PalmOS and running the dynamic versions of the .prc files (executables). For simplicity, you may prefer to talk about the static versions of the PDA interfaces, especially if you don’t want to go through the hassle of getting the Simulator working.

overview
Overview
  • Goals for the Software Requirements
  • Goals for User Interface Design
  • Benefits of the PalmOS® platform
  • Sample Applications & Development Products/Environments
  • Assignment

Saint Michael’s College CS/IS

software engineering goals
Software Engineering Goals
  • Learn the struggle of maintenance
  • Learn new tools/platforms while …
  • Differentiating essential from accidental
  • Learn importance of non-technical skills
  • Work in a team environment
  • Work with realistic project & constraints

Saint Michael’s College CS/IS

user interface design goals
User Interface Design Goals
  • Gain experience with prototyping
  • Experience benefits of parallel design
  • Consider the novice-expert continuum
  • Incorporate heuristics for UID:
    • E.g., Reduce user memory load, direct manipulation where applicable, minimize user inputs, etc.
  • Benefits of usability testing

Saint Michael’s College CS/IS

a sample project
A Sample Project
  • Palm IIIc Basketball Stats Collection
    • Collect team stats
    • Collect player stats
  • Usability tests during an actual NCAA Division II basketball game

Saint Michael’s College CS/IS

benefits of palmos
Benefits of PalmOS®
  • Novel platform (a little “gee-whiz” factor)
  • Unfamiliar development environment
  • Inexpensive development environment
  • Limited interface real estate (160 x 160)
  • Stylus input forces efficiency
  • Emulator provides cross-platform experience

Saint Michael’s College CS/IS

commercial app
Commercial App:

palmsim61_dbg\PalmSim.exe

NFL

Football

Scouting

Application

Click this icon:

Saint Michael’s College CS/IS

metrowerks codewarrior ide
Metrowerks CodeWarrior® IDE
  • Very reasonable academic pricing
  • Intuitive interface & debugger
  • Palm platform requires C++ (the hardware/OS resources are too limited for a full Java run-time implementation)
  • Palm OS Programming, 2nd Ed. from O’Reilly is very useful, with samples

Saint Michael’s College CS/IS

metrowerks codewarrior ide27
Metrowerks CodeWarrior® IDE
  • Most of the applications contain linear code that is not terribly object-oriented (I.e., very little reuse)
  • Constructor facility is helpful for GUI design
  • Simulator & Emulator software for windows available as free downloads from www.palmos.com

Saint Michael’s College CS/IS

sample student work 1
Sample Student Work: 1
  • Heavy memory load! Why?
  • Efficiency is lacking for real basketball games. How do I determine home vs. visiting team? What do the abbreviations mean?

Saint Michael’s College CS/IS

sample student work 2
Sample Student Work: 2
  • Improved version
  • Handles both teams on one screen
  • Jersey number is button label
  • Some run-time defects

Saint Michael’s College CS/IS

sample student work 3
Sample Student Work: 3
  • Improved usability
  • View/change stats
  • More robust
  • Still room for improvement…but as good as many commercial app’s!

Click the icon

Saint Michael’s College CS/IS

assignment
Assignment
  • Using the CS-SE Palm Requirements Specification assignment sheet (with accompanying Outline), develop a requirements specification with an appropriate User Interface Prototype.

Saint Michael’s College CS/IS