Prototyping Hix & Hartson:

Slides:



Advertisements
Similar presentations
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
Advertisements

©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Project Management
Requirements Analysis 8. 1 Storyboarding b508.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Human.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
Prototyping and Development Tools laua leventhal.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Software Life Cycle Model
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
THE PROTOTYPING MODEL The prototyping model begins with requirements gathering. Developer and customer meet and define the overall objectives for the software.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
CS2003 Usability Engineering Human-Centred Design Dr Steve Love.
Software Engineering User Interface Design Slide 1 User Interface Design.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
User Interfaces 4 BTECH: IT WIKI PAGE:
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Software Prototyping Rapid software development to validate requirements.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CASE (Computer-Aided Software Engineering) Tools
Unit F451 Computer Fundamentals Components of a Computer System Software Data: Its representation, structure and management in information.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
Systems Development Process and Methodologies Dr. T. Ravichandran.
Tutorial 4 IT323.  Q1. As a software project manager in a company that specializes in the development of software for the offshore oil industry, you.
Rekayasa Perangkat Lunak Part-6
Chapter 1 The Systems Development Environment
Prototyping in the software process
Software Prototyping.
Chapter 1 The Systems Development Environment
Building Information Systems
User-centred system design process
Prototyping Lecture # 08.
Computer Aided Software Engineering (CASE)
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
CS 5150 Software Engineering
Chapter 1 The Systems Development Environment
WXGE6103 Software Engineering Process and Practice
Iterative design and prototyping
Software development life cycle models
Introduction to Operating System (OS)
Systems Analysis and Design
Chapter 1 The Systems Development Environment
Prototyping.
The Object-Oriented Thought Process Chapter 06
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Software Prototyping Animating and demonstrating system requirements.
Prototyping.
Software Processes.
CS 321: Human-Computer Interaction Design
Tools of Software Development
Software life cycle models
The Role of Prototyping
Object-Oriented Systems Development Life Cycle (CH-3)
HCI in the software process
Chapter 8 Software Evolution.
HCI in the software process
Human Computer Interaction Lecture 14 HCI in Software Process
Rapid software development
Chapter 8 Prototyping and Rapid Application Development
Chapter 1 The Systems Development Environment
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 Tools of Software Development l 2 types of tools used by software engineers:
Presentation transcript:

Prototyping Hix & Hartson: Developing User Interfaces: Ensuring Usability Through Product & Process Deborah Hix and H. Rex Hartson © 1993 John Wiley & Sons, Inc. ISBN 0-471-57813-4 See also: Low vs. high-fidelity prototyping debate James Rudd, Ken Stern, and Scott Isensee Interactions v.III n.1 (Jan. 1996) pp.76-85 <URL:http://www.acm.org/pubs/citations/journals/interactions/1996-3-1/p76-rudd/> Prototyping for usability of new technology Roger R. Hall International Journal of Human-Computer Studies v.55 n.4 (Oct 2001) pp.485-501 <URL:http://www.sciencedirect.com/science/article/B6WGR-458NDYJ-15/1/58f22af92c41a9471beb1147d44b0071>

Readings in Preece et al. Chapter 27 (prototyping) Chapter 28 (software support)

Introduction Many in the software industry have discovered that building the system the user really wants and needs is tricky Often users are not sure of exactly what functions they would like the system to perform Many times users have difficulty communicating their needs to the system developers In addition, users may have faulty expectations regarding automation Users may be unaware of some of the power, flexibility and features computer systems can offer They may overestimate the functionality they can obtain for their projected investment

Rapid Prototyping Is… Rapid prototyping facilitates the development of software projects and especially UIs

Traditional Non-prototyped Approach In the traditional ‘waterfall model’ of software engineering, each phase of the software development cycle occurs in linear, non-iterative order

Prototyping Approach Rapid prototyping is a technique which directly addresses these user problems A prototype is a model not a refined and finished product GUI builders can be used as prototyping tools

Steps Prototyping in general can be described as having a series of steps (Scharer, 1983): Preliminary fact-finding Pre-generation design stage Prototype generation Prototype refinement Wouldn’t it be great to have the sources down here in the notes? Preliminary fact finding  early analysis activities Pre-generation design  design document Prototype generation  developing the prototype & testing it Prototype refinement updating protype based on testing results

How Does Prototyping Fit? During the prototyping process the developer must decide whether to build a full prototype of the target system or only a portion of the system Global vs. Local prototype, etc. (H&H §9.2.3) Developers must also decide whether the prototype will be incorporated into the final system or if it is to be a ‘throw-away’ effort Additionally, developers must schedule and integrate prototyping into the development cycle H+H: Hix and Hartson (1993) Developing User Interfaces: Ensuring Usability Through Product & Process.

Advantages Developers only truly understand the system requirements when they can see some form of implementation in action Can lead to improved functional requirements, improved interaction requirements, and easier evolution of requirements Experiments show improvements in products and communication

More Potential Advantages The user interface is carefully designed and tailored to the users' needs The user becomes involved more completely in the evolution of the product The low cost and ready availability of at least some prototyping tools make their acquisition feasible even on a low budget and less productive

Approaches May be distinguished by detail and goals of prototype: Scenario/storyboard Demonstration Version 0 Scenario/storyboard. 1. The user is presented an example on paper or on a computer of actual system usage. 2. However, the system only simulates the processing of fixed user data or queries. 3. Each frame of the storyboard or scenario represents one page or screen the user might see output from the system. Demonstration. In this approach to prototyping, users are allowed to enter their own restricted set of data or to perform some limited set of functions. 1. The system typically processes some limited range of user queries or data, using limited files. 2. The usefulness of this type of prototype is greater than the scenario/storyboard approach because some true system functionality is exhibited, giving the user and the designer a better picture of the proposed system. Version 0. In Version 0 prototyping the prototype is a working release of the system and is intended to be used under conditions similar to the final, targeted environment.

Version 0 Version 0 Advantages The main disadvantage A working release of the system Lacks full functionality Advantages Evolves into the final product User sees progress being made on the product The main disadvantage Reluctant to throw out a bad design Version 0. In Version 0 prototyping the prototype is a working release of the system and is intended to be used under conditions similar to the final, targeted environment. 1. The Version 0 prototype lacks full functionality, may be missing functions such as help and error messaging, and is expected to be altered through suggestions from the user. 3. Clearly, it is a goal of the Version 0 approach to create code which will be evolved into the released version of the system. 4. One advantage of this approach is that the prototype evolves into the final product, eliminating most throw-away code. 5. Another advantage is that the user sees progress being made on the product. 6. The main disadvantage is that the producers of the prototype may be reluctant to throw out a bad design or to incorporate important refinements which significantly alter the prototype.

Tools for Storyboard Prototypes Pencil & paper Drawing software Screen shots from visual developers To create storyboard prototypes, drawing software such as MacDraw, MacPaint, or Corel Draw can be used in place of paper and pencil to produce screen or report mock-ups. 1. The advantages of using these tools are the ease of modification, the ability to reproduce portions of each page and the neatness of the product. 2. The disadvantages are that the screen size, page size, and other characteristics of the target system must be known and taken account of in creating each storyboard frame.

Tools for Demonstration Prototypes Programming languages E.g. Visual Basic Hypermedia Hypercard-like systems GUI WWW browsers

Tools for Version 0 (1) Specific prototyping software E.g. Marksman

Tools for Version 0 — UIMS User interface management systems Originally conceived of as tools to allow the user to customize the interface of a software package while maintaining the functionality The tool facilitates the structuring of the screen, the handling of the dialogue between the human and the computer, and the sequencing of events

UIMS (2) Advantages Code that is created is separate from the functional parts of the system Enforce style consistency among the user interfaces created using that particular UIMS Evolving towards graphical programming languages Disadvantages High cost, limited availability and special hardware

Tools for Version 0 GUI builders and 4GLs spreadsheet packages and database packages may have screen generators Visual Basic RapidApp Tcl/Tk Fourth Generation Languages. By adding overlays and using macros, spreadsheet packages can be used to create prototypes. a. Database packages such as dBase IV and FoxBase include features which allow the designer to create screens and reports using high-level commands. Also Visual Basic. b. The prototypes made with these sorts of system can readily become Version 0 systems.

Testing & Evaluation In Preece et al.: Review Read Chapter 19 (requirements gathering) Read Chapter 29 (evaluation) Chapter 30 (usage data) Chapter 33 (predictive evaluation)