Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
http://www.icarnegie.com/curriculum/curriculum_
home.html
Software Systems Development Courses and
Certificates
1 Lecture 10 Lecture
2 Lecture 11 Exercise/Practice/Exam
3 Exercise/Practice/Exam 12 Lecture
4 Lecture 13 Exercise/Practice/Exam
5 Exercise/Practice/Exam 14 Lecture
6 Lecture 15 Exercise/Practice/Exam
7 Exercise/Practice/Exam 16 Lecture
8 Lecture 17 Exercise/Practice/Exam
9 Exercise/Practice/Exam 18 Review
Lecture and practice arrangement
Week Contents Week Contents
Hard to use
impossible to use
Course Organization
The course is organized into four units.
practical quizzes
Notice:
All exercise and exam must be finished! Or no score will
be given to you.
Course Text
Diane Zak, Programming with Microsoft Visual
Basic .Net, Second Edition, published by Course
Technology, 2005; ISBN: 0-619-21718-9.
Course Text (Last version)
Diane Zak, Programming with Microsoft Visual
Basic 6.0, Enhanced Edition, published by
Course Technology, 2001; ISBN: 0-619-06204-5.
Course Text
J. Nielsen, Usability Engineering, published by
Academic Press (AP Professional), 1993; ISBN:
0-12-518406-9. (not necessary)
Reference books
1 、用 户界面 设计 与开发 精解
2 、人 本界面 :交 互式系 统设 计
3 、用 户界面 设计 ——有 效的 人机交 互策 略
4 、人 本界面 :设 计交互 式系 统的最 新指 示(英 文
版)
5 、人 机界面 设计
6 、界 面设计 的编 码实现
7 、界 面设计 与 Visual Basic
8 、人 机交互 :以 用户为 中心 的设计 和评 估
9 、交 互设计 —— 超越人 机交 互
Other Materials
Contents
1.1.1 Iterative Design
1.1.2 Basic Concepts of Interactive Programming
Assessments
Exercise 1
Multiple-Choice Quiz 1
1.1.1 Iterative Design
Heuristic Evaluation
Think-Aloud Studies
Why Iterative Design?
The goal of this course is for you to learn to
design and build usable software programs that
people can use
easily,
efficiently
correctly
The images portrayed to the user indicate the nature and state of
those objects, E.g. ,
Turn the speaker on/off,
state, and
Inputs
input event records
what happened,
when it happened
Processing
Controls, Model Objects, and Interpreting Events
Firstly, think about 2 questions:
how to actually interpret/respond to incoming events ?
how to structure the output creation process ?
Controls, Model Objects, and Interpreting Events
Controls toolkit provides
a much higher-level abstraction of the event/redraw cycle and automates a
number of important steps
a reusable library of objects that can appear on the screen and be the target of
user input
Name : widgets 窗口小 部件 , interactors 交互因 子 , or
interactive component 交互组件 .:
buttons, sliders, text areas, icons, check boxes, and menus
In Visual Basic and several other systems, these objects go by the name of
controls
model object
maintains the information associated with the object of interest
E.g., In a Clock app. such as the actual integer value for the minutes
major benefits of using a toolkit
provides a rich set of such controls
allows new types of controls to be created when
necessary
provide a presentation of the objects of interest
to users
E.g.,
programmer does not necessarily need to recreate
a button control, and that all button controls the user sees
will work in the same way
not generally support the detailed semantics of those objects
The code which informs other parts of the application of the new
value, may actually be rather time-consuming
avoided when there are no more true updates to the values of the
variables
the solution is efficient, easy to implement, and easy to analyze
for correctness
a specific example of applying the model accessor pattern
Public Sub setMinuteValue(min As Integer)
Dim minStr As String
'Force into valid range
If min < 0 Then min = 0
If min > 59 Then min = 59
'Update internal value
If min <> minuteValue Then
minuteValue = min
' Nothing in the application to inform in this case
End If
'Prepare a two digit string (zero filled) to display
minStr = CStr(min)
If min < 10 Then minStr = "0" & minStr
' Update the text display if this is a change
If MinutesText.Text <> minStr Then MinutesText.Text =
minStr
End Sub
display the date/time control as example
1.1.3 Basic Psychology Needed for Interface Design
Motivation
Overview
Perception
Memory
Cognitive Processes
Motor Capabilities
Errors
Motivation
Most computer programs are designed to be
used to perform a task
To design good computer systems, must
understand
what the task is
how people work
how computers work
Human
activities
involved
when using a
computer
system
visio graph
Conclusions of decades of psychological research
Decades of psychological research have
produced data and theories
can help developers design computer systems
facilitate a user's cycling around this loop
NOTE :
work in parallel with each other, a person can
perceive
at the same time as thinking and
performing motor actions
the cognitive processor can only do one thing at
a time. a bottleneck in UI design
Perception
Type
Vision
Hearing
Touch
Smell
taste
Hearing
animation,
changes in color
display density
grouping
psychology
intense theoretical and empirical debate in the
academic psychological community
for purposes of UI design
we need to know only a few general things
about memory
not the subtle details academics worry about
Memory
there are two important memories: working memory
(WM) and long-term memory (LTM).
WM can be thought of as that part of LTM that is active
at any time. WM is where the perceptual processor
deposits the symbols it perceives and where the
cognitive system keeps its intermediate results when
processing information. (computer memory)
LTM is the permanent store of information that holds
everything the person knows: all facts, procedures, and
history (things that happened to the person). This
includes vocabulary, procedures for accomplishing
tasks, relationships between concepts, etc.(database)
information store of WM & LTM
WM stores information in an acoustic form or a visual form
LTM stores the gist of information instead of the actual
acoustic or visual form
E.g.,
a person who has just read a story about Jane may confuse
the name with Jean because the names look so similar (all the
same letters) and even sound very similar (the "j" and "n"
sounds).
the next week the person may not remember the name at all
only remember that the story was about a girl (the gist).
3 chunks of information at any one time
WM can hold only a limited amount of
information at any one time
3 chunks
A chunk is a symbol for a piece of information
Chunks can be hierarchically organized.
property of LTM: seems to be essentially infinite
seems be infinite, but it is often difficult to
retrieve information from it
As a databse , db is OK , but somewrong with its retrieve
mechanism
property of LTM: Things are remembered more readily in
the context in which they were learned
E.g.,
Dog Cat
Mouse Rat
Horse Squirrel
Pig Cow
Sheep
if you were asked to recall the items of computer
hardware, it would be very difficult for you to
remember "mouse“,because
you learned it in the context of "animals" and
were asked to recall it in the context of
"computer hardware.
property of LTM: similar pieces of information interfere with
each other's retrieval
E.g. ,
try to recall the name of the Web browser you typically use
try to recall the URL of a Web page you looked at on Tuesday of
last week
Since you probably typically use only one Web browser,
it is probably easy for you to recall its name
Since you have probably visited a good many Web pages
since last Tuesday—all of which have URLs that start
with "http://"—it is probably difficult for you to recall
the URL of a particular page you visited last Tuesday.
property of memory: recognition is easier than recall
E.g.,
if you show someone an item and ask if they have seen it before, it
will be much easier for them to answer "yes" or "no" than if you
asked them to name all the items they have seen before.
When you recite those English words
solve a problem
problem-solving
Routine skill
is the type of behavior exhibited by a person who knows
a system well
They know all the menu items, commands, dialog boxes,
etc
They only have to recognize what task situation
(context) they are in and they know exactly what to do.
E.g., Using word to delete a paragraph (e.g., highlight
the paragraph and hit the delete key).
When a person has attained this level of skill, it is
possible to predict how long it will take that person to
execute routine tasks with the computer system
problem-solving
when a system is new to a person / when they
use it only occasionally
usually have to problem-solve to accomplish a
task
Even when a person knows a system well, if it is
a complex system
they usually are skilled in some aspects of it but
novices in others
E.g. Using Word, type letter to write , some
advanced function you may never use and can
not use.
problem-solving
typical problem-solving behavior:
When problem-solves, as if searching through a maze
They take their best guess about what to do next and go
a short ways down that path
If it doesn’t look like they are making progress toward
their goal, they will retrace their steps and try another
route
For UI designer: can
either deliberately design user interfaces to support that
behavior
or inadvertently produce user interfaces that hinder it.
Motor Capabilities
The primary human motor behaviors used in
computer systems:
typing,
pointing,
and clicking
and homing—analysts
Assessments
Exercise 2
Multiple-Choice Quiz 2
Module Overview
quickly acquainting you with some of Visual
Basic’s fundamentals
Visual Basic represents one of the fastest ways to
create applications for the Windows platforms
It allows programmers to build applications
visually
visually—by "drawing" controls on form windows or
just forms).
like dragging objects onto forms from the palette-like Visual
Basic Toolbox
dragging their corners to resize them
All the readings for this module come from this text
the module will take advantage of the book’s tutorial
format
Assessments
Multiple-Choice Quiz 3
1.3.1 Basic Heuristic Evaluation
Heuristic Evaluation
Overview of Procedure for Using Heuristics
Heuristics-A brief Discussion
Visibility of System Status
Match Between System and the Real World
User Control and Freedom
Consistency and Standards
Error Prevention
Recognition Rather Than Recall
Flexibility and Efficiency of Use
Aesthetics and Minimalist Design
Help Users Recognize, Diagnose, and Recover from Errors
Help and Documentation
Heuristic Evaluation - usability principles
developed by researchers in Denmark a decade
ago
established from the practice of UI design and
evaluation
embody a compilation of good design practices
known design failures that have arisen in the UI design
field over the last 30 years
not derived from the information-processing
psychological theory
Heuristic Evaluation - usability principles
a technique for analyzing the usability of an
interface design at early stages of development.
to create an informal, tractable, and teachable way to
look at an interface design
form an opinion about what is good and bad about it
people will remember only the gist, not the exact words
(if they ever knew them).
Summary
keep these ten heuristics in mind
As early as possible
e.g., with sketches or a prototype, have several people
examine the UI design using these heuristics to discover
violations and give you plenty of time to fix them.
1.3.2 Basic Think-Aloud Usability Testing
an empirical technique for assessing the usability of a prototype
of an interface
"may be the single most valuable usability engineering method "
The essence of the technique
ask a user to think aloud while performing a task on your system;
which items the user sees and attends to and which he or she
misses entirely
which procedures in the interface are easy to figure out
Why do this?
detect larger problems in the interface that might have a
solution that fixes many small problems with only one
change
Exam 1