Вы находитесь на странице: 1из 4


• Software engineering and the design process

Lecture 2 for interactive systems

• Iterative design and prototyping

HCI in the software • When is each best?
process • Self study – read and take your own notes
Chapter 6 – Usability engineering

– Design rationale

The software lifecycle The waterfall model

• Software engineering is the discipline for
understanding the software design process, or Architectural
life cycle design

• Designing for usability occurs at all stages of design

the life cycle, not as a single isolated activity

Coding and
unit testing
• There are many models of the software life
cycle we will look at the 2 main ones Integration

– Waterfall
and testing

– Prototyping
Operation and
Detailed design
Activities in the life cycle
– Detailed design of the interface
•Requirements specification
–designer and customer try – Move from informal to formal specification
capture what the system is
expected to provide can be
expressed in natural language
or more precise languages,
• Separation of layers
such as a task analysis would – A layered approach to software development
will provide for more flexibility
–Informal design and scenario • Data
based design will result in • Logic
better requirements analysis
• Interface

The life cycle for interactive

• Testing is not only about functionality of Requirements cannot assume a linear
code sequence of activities

• Usability testing Architectural as in the waterfall model

– There are some basics that are nearly
always important Detailed
• Layout
• Language Coding and
• Number of click/steps to perform task unit testing

• Choose rather than remember

– More detail in weeks 7 & 8 lots of feedback! and testing

Operation and
Iterative design and prototyping

• Iterative design overcomes inherent problems • Prototypes

of incomplete requirements – simulate or animate some features of intended
– different types of prototypes
Requirements • throw-away
• incremental
• evolutionary

Review Design • Management issues

– time
– planning
– non-functional features
Implement – contracts

Techniques for prototyping Research example

• We wanted to build a paperless
need not be computer-based
can be animated assignment grading product with pen
Limited functionality simulations annotation of assignments.
some part of system functionality provided by designers – New paradigm
tools like HyperCard are common for these
– Few studies
Wizard of Oz technique
– Technical challenges
Warning about iterative design
design inertia – early bad decisions stay bad • Build a prototype
diagnosing real usability problems in prototypes….
…. and not just the symptoms
Waterfall or Prototype Waterfall or prototype

• Waterfall • Prototype • It doesn’t have to be a one or the other

– Interaction paradigm – The interaction paradigm decision
‘standard’ and well new or poorly
understood? understood? • Many systems are a blend
– The problem is well – The problem definition is – With some parts are prototyped to elicit
understood? incomplete or poorly
– Data centric systems – Interface centric systems • There isn’t one ‘best way’
• games
• Information systems
• Modelling
• Nor is there a ‘silver bullet’
• Data warehouse
• Design tools


The software engineering life cycle

– distinct activities and the consequences for
interactive system design

Design rationale
– recording design knowledge
– process vs. structure