Norman 7 B: Improving Data Entry

Slides:



Advertisements
Similar presentations
College of Alameda Copyright © 2007 Patrick McDermott Vincent van Gogh ( ) The Langlois Bridge March 1888.
Advertisements

Database Design Concepts INFO1408 Term 2 week 1 Data validation and Referential integrity.
 When you receive a new you will be shown a highlighted in yellow box where your can be found  To open your new just double click.
Creating Web Page Forms
Troy Eversen | 19 May 2015 Data Integrity Workshop.
Arizona Department of Education Exceptional Student Services Vouchers System RTC User.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
SWE205 Review Spring Why is software unusable? Users are no longer trained. Why? Feature creep Inherently hard: a problem of communication Designed.
Review for Final Exam Fall 2014 Jeff Offutt SWE 632 User Interface Design and Development.
GUI Widgets Jeff Offutt SWE 432 Design and Implementation of Software for the Web.
Data entry: Validation
Software Engineering Experimentation Rules for Reviewing Papers Jeff Offutt See my editorials 17(3) and 17(4) in STVR
Collecting Data Types, coding, accuracy, file formats and the effect of data loss.
Copyright (c) Cem Kaner. 1 Software Testing 1 CSE 3411 SWE 5411 Assignment #1 Replicate and Edit Bugs.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
Systems Life Cycle. Know the elements of the system that are created Understand the need for thorough testing Be able to describe the different tests.
ITGS Databases.
Copyright 2007, Paradigm Publishing Inc. ACCESS 2007 Chapter 3 BACKNEXTEND 3-1 LINKS TO OBJECTIVES Modify a Table – Add, Delete, Move Fields Modify a Table.
 When you receive a new you will be shown a highlighted in yellow box where your can be found  To open your new just double click.
BMTRY 789 Lecture 11: Debugging Readings – Chapter 10 (3 rd Ed) from “The Little SAS Book” Lab Problems – None Homework Due – None Final Project Presentations.
Changing Your Password General Lesson 3. Objectives Following completion of this lesson you will be able to:. Define how often a password must be changed.
Verification & Validation. Batch processing In a batch processing system, documents such as sales orders are collected into batches of typically 50 documents.
William H. Bowers – Improving Data Entry Cooper 17.
OCR CAMBRIDGE NATIONALS UNIT 1 - UNDERSTANDING COMPUTER SYSTEMS DATA CAPTURE METHODS.
Data Verification and Validation
Lesson 4.  After a table has been created, you may need to modify it. You can make many changes to a table—or other database object—using its property.
Bell Ringer What should a contract be based on? What things should be included in a contract? What things could make a contract no longer applicable?
OCR CAMBRIDGE NATIONALS UNIT 1 - UNDERSTANDING COMPUTER SYSTEMS DATA CAPTURE METHODS.
CHAPTER 2 Laws of Security. Introduction Laws of security enable user make the judgment about the security of a system. Some of the “laws” are not really.
G063 – Prototyping. Learning Objective: At the end of this topic you should be able to: describe prototyping as a software development methodology.
Ban The Bomb By Alan Cooper Presented by Justin Pilgrim.
[The Design of Everyday Things, Don Norman, Ch 7]
JavaScript, Sixth Edition
Paul Ammann & Jeff Offutt
Testing More In CS430.
SEVERITY & PRIORITY RELATIONSHIP
CIS 155 Table Relationship
Systems Life Cycle: Testing
Krug Chapter 5 B: Software Should be Considerate
Software Usability and Design
Sentinel logic, flags, break Taken from notes by Dr. Neil Moore
User Interface Design and Development
Accidental and Essential Problems Excise Tasks
Krug 8 Dialog Boxes Toolbars
Krug 11 Usability as Courtesy
Web User Interface (WUI) Behavior
Sentinel logic, flags, break Taken from notes by Dr. Neil Moore
Krug Chapter 2 How We Really Use the Web and Web Site Design
Software Testing and Maintenance Modifying Code
Systems Design Chapter 6.
Cooper Part II Making Well-Behaved Products Data Entry
Krug Chapter 6 B: Flow in UIs
Chapter 1 Cognitive psychology concepts
Norman Chapter 2 Psychology of Everyday Actions
Norman 7 A: User-Centered Design
Software Engineering Experimentation
Designs for Data Integrity, validations, security and controls
Implementation of security elements in database
Norman Chapter 1 Psychopathology
Norman Chapter 2 Psychology of Everyday Actions
Norman Chapter 1 Psychopathology
Microsoft Access Validation Rules, Table Relationships And
Norman Chapter 6 Krug Chapter 7 D: Undo
Krug Chapter 2 How We Really Use the Web and Web Site Design
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Error Handling in Java Servlets
Software Should be Considerate
Input Data Validation for Web Applications
User-Centered Design Data Entry CS 4640 Programming Languages for Web Applications [The Design of Everyday Things, Don Norman, Ch 7]
Presentation transcript:

Norman 7 B: Improving Data Entry Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 205 Software Usability and Design

Data Integrity vs Data Immunity Be considerate when users enter data Experienced developers design the user interface to block invalid data Data Integrity : The state of the program depends on correct, valid input data Input data validation means Checking before sending to software Rejecting it if does not conform 22-Feb-19 © Jeff Offutt

Data Validation is Anti-Usable Input data validation is like a rude guard at a security check who won’t let you through if you have a 4 ounce bottle of eyedrops ! Puts the needs of the database before the needs of the users (excise!) Makes users feel like suspects and treats typos like malicious behavior Sometimes invalid data is reasonable We don’t have the complete data We mis-typed something It doesn’t matter – the rules are too restrictive 22-Feb-19 © Jeff Offutt

Most invalid data can be made valid Data Immunity Don’t use data validation to ensure integrity Make the software immune from invalid data Most invalid data can be made valid by the software ! Four types of immunization Repairing automatically Masking out invalid data Flexible rule enforcement Auditing instead of editing 22-Feb-19 © Jeff Offutt

Data Immunity (1)–Auto-Repair If you search for “gorge mson,” google will say : “Showing results for george mason” Plus a link that matches the original string Auto-fixing examples: Convert word to numbers (“five” to “5”) Look for relationships (“Fairfax, BA” to “Fairfax, VA”) Let the programmers be creative ! It saves money to have programmers work more and users work less 22-Feb-19 © Jeff Offutt

Data Immunity (2)–Mask Invalid Data The UI can often prevent invalid data from being entered Do not allow “five” for a number – use masking to ignore all non-numeric characters Fill in dashes automatically, so it doesn’t matter if the users entered “123-45-6789” or “123456789” Use radio buttons or dropdowns when possible 22-Feb-19 © Jeff Offutt

Data Immunity (3)–Flexible Rule Enforcement Defining good rules is hard – defining perfect rules is impossible ! Three levels of rules : The restrictions we really want (intent) The restrictions we describe (specifications) The restrictions we implement (law) The three never match perfectly, and considerate people consider the intent instead of the law Allow some rules to be bent Keep a log to check later 22-Feb-19 © Jeff Offutt

Data Immunity (4)–Audit Don’t Edit If it can’t be fixed … Do we have to bother the users right now ? Missing data is not a data integrity error Missing data can sometimes be entered later Missing data can often be inferred from existing data The programmers have to work Mistakes can often be fixed later Spelling mistakes, TurboTax’s audit phase Tell users about mistakes with modeless feedback Modeless : feedback they do not have to respond to 22-Feb-19 © Jeff Offutt

Protect the users from mistakes Data Entry Summary Protect the users from mistakes Don’t prevent them from doing their jobs 22-Feb-19 © Jeff Offutt