Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Human-Computer Interaction
Lecture 16
HCI Process and Methodology
Imran Hussain
University of Management and Technology (UMT)
• Paradigms of Interaction
• Software Engineering
• Differences?
– Maintenance
• Buildings don’t change much
– Design
• Buildings really are less complex
– Number of states
– Remove one brick
• Design
– A description of how we will implement a solution
– A model or blueprint for meeting requirements
– Done before implementation, so it can be evaluated
• Many possible designs for a set of requirements. How to choose?
• Method:
– Approaches for solving a particular problem. The “how to’s” for doing
some specific task.
• E.g. object-oriented design; black-box testing; prototypes for requirements
analysis.
• Tools:
– Software that supports methods and/or processes
• CASE: Computer-aided Software Engineering
• Test environments, 4GLs, Design tools, etc.
Requirements
analysis
Design
Code
Test
Maintenance
• Architectural design
– High-level description of how the system will provide the services
required factor system into major components of the system and how
they are interrelated needs to satisfy both functional and non-functional
requirements
• Detailed design
• Refinement of architectural components and interrelations to identify
modules to be implemented separately the refinement is governed by
the non-functional requirements
Project set-up
JAD workshops
Iterative design
and build
Engineer and
test final prototype
Implementation
review
— Good for large and complex projects but not simple ones
• Usability engineering
• Design rationale
• Designing for usability occurs at all stages of the life cycle, not as a
single isolated activity
Requirements
cannot assume a linear
specification sequence of activities
as in the waterfall model
Architectural
design
Detailed
design
Coding and
unit testing
Integration
lots of feedback! and testing
Operation and
maintenance
Identify needs/
establish
requirements
(Re)Design
Evaluate
Build an
interactive
version
Final product
Exemplifies a user-centered design approach
• Important features:
— Evaluation at the centre of activities
— No particular ordering of activities. Development may start in any one
— Derived from empirical studies of interface designers
task/functional
Implementation
analysis
Requirements
Prototyping Evaluation specification
Conceptual/
formal design
• Important features:
– Holistic view of usability engineering
– Provides links to software engineering approaches, e.g. OOSE
– Stages of identifying requirements, designing, evaluating, prototyping
– Can be scaled down for small projects
– Uses a style guide to capture a set of usability goals