HCI in the Software Process and Design Rules

Slides:



Advertisements
Similar presentations
Interaksi Manusia Komputer – Marcello Singadji. design rules Designing for maximum usability – the goal of interaction design Principles of usability.
Advertisements

Chapter 6 HCI in the software process. Software engineering and the design process for interactive systems Usability engineering Iterative design and.
Lecture # 2 : Process Models
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
Human Computer Interaction
Chapter 2 – Software Processes
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
CH02: Modeling the process and life cycle Process of developing software (organization and discipline in the activities) contribute to the quality of the.
Usability paradigms and principles z Designing for maximum usability is the goal of design z History of interactive system design provides paradigms for.
CS 501: Software Engineering
CS147 - Terry Winograd - 1 Lecture 6 – Usability Terry Winograd CS147 - Introduction to Human-Computer Interaction Design Computer Science Department Stanford.
Principles to Support Usability - Robustness Group 3 Topic 2 IM2044 Usability Engineering Student ID:
Principles and Methods
Chapter 7 design rules.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
HCI in the software process
1 User Interface Design CIS 375 Bruce R. Maxim UM-Dearborn.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
To be covered:- What is HCI? Goal of HCI HCI - An Interdisciplinary Area Concerns in HCI Interface and interaction design Goals of interaction design Utility,
Gary MarsdenSlide 1University of Cape Town Human-Computer Interaction - 7 Design Guidelines & Standards Gary Marsden ( ) July 2002.
Chapter 7 design rules.
Editted and revised by Razan Salman.  Software engineering and the design process for interactive systems  Usability engineering  Iterative design.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
CMPUT 301: Lecture 18 Usability Paradigms and Principles Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on.
Design Rules-Part B Standards and Guidelines
Human Computer Interaction
Lecture 11 Design Rules Prof. Dr. Sajjad Mohsin. design rules Designing for maximum usability – the goal of interaction design Principles of usability.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 7 design rules. Designing for maximum usability – the goal of interaction design Principles of usability –general understanding Standards and.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 chapter 7 design rules. 2 Designing for maximum usability – the goal of interaction design Principles of usability –general understanding Standards.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Fall 2002CS/PSY UI Design Principles Categories  Learnability Support for learning for users of all levels  Flexibility Support for multiple ways.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Lecture 7 Design Process for Interactive Systems.
Chapter 7 design rules. Designing for maximum usability – the goal of interaction design Principles of usability –general understanding Standards and.
Design rules.
Human-Computer Interaction
design rules قواعد التصميم
Iterative design and prototyping
SIE 515 Design Rules Lecture 5.
Object oriented system development life cycle
Usability paradigms and principles
HCI in the software process
UI Design Principles Categories
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.
CEN3722 Human Computer Interaction Usability Evaluation
HCI – DESIGN RATIONALE 20 November 2018.
Usability paradigms and principles
An Overview of Software Processes
HCI in the software process
CS310 Software Engineering Lecturer Dr.Doaa Sami
HCI in the software process
CSE310 Human-Computer Interaction
Chapter 7 design rules.
Chapter 7 design rules.
Chapter 7 design rules.
Human Computer Interaction Lecture 14 HCI in Software Process
Chapter 7 design rules.
Presentation transcript:

HCI in the Software Process and Design Rules

Overview Software Engineering provides a means of understanding the structure of the design process, and that process can be assessed for its effectiveness in interactive system design. Usability engineering promotes the use of explicit criteria to judge the success of a product in terms of its usability.

Overview Iterative design practices work to incorporate crucial customer feedback early in the design process to inform critical decision which affect usability. Design involves making many decisions among numerous alternatives. Design rationale provides an explicit means of recording those design decisions and the context in which the decisions were made.

Software Life Cycle The activities in the Waterfall Model of the

Activities in Life Cycle Requirements Specifications The designer and customer try to capture a description of what the eventual system will be expected to provide. Involves work environment (domain). Architectural Design Concentrate on how the system provides the services expected from it. Provides a decomposition of the system description that allows for isolated development of separate components which will later be integrated.

Activities in Life Cycle Detailed Design Refinement of the component description provided by the architectural design. The behavior implied by the higher-level description must be preserved in the more detailed description. The detailed design for a component of the system should be in such a form that it is possible to implement it in some executable programming language. Coding & Unit Testing After coding, the component can be tested to verify that it performs correctly, according to some test criteria that were determined in earlier activities.

Activities in Life Cycle Integration and Testing Once enough components have been implemented and individually tested, they must be integrated as described in the architectural design. Further testing is done to ensure correct behavior and acceptable use of any shared resources. Perform some acceptance testing with the customers to ensure that the system meets their requirements. After acceptance of the integrated system that the product is finally released to the customer.

Activities in Life Cycle Maintenance After product release, all work on the system is considered under the category of maintenance, until such time as a new version of the product demands a total redesign or the product is phased out entirely. Majority of the lifetime of a product is spent in the maintenance activity. Involves the correction of errors in the system which are discovered after release and the revision of the system services to satisfy requirements that were not realized during previous development.

Validation and Verification Throughout the life cycle, the design must be checked to ensure that it both satisfies the high-level requirements agreed with the customer and is also complete and internally consistent. Validation is ‘designing the right thing’ and verification is ‘designing the thing right’.

Iterative Design & Prototyping A purposeful design process which tries to overcome the inherent problems of incomplete requirements specification by cycling through several designs, incrementally improving upon the final product with each pass. Prototypes Artifacts that simulate or animate some but not all features of the intended system. There are three main approaches to prototyping:

Iterative Design & Prototyping Throw-away Prototyping within Requirements Specification Prototype is built and tested. The design knowledge gained from this exercise is used to build the final product, but the actual prototype is discarded.

Iterative Design & Prototyping Software Life Cycle Incremental Prototyping within Software Life Cycle The final product is built as separate components, one at a time. There is one overall design for final system, but it is partitioned into dependent and smaller components. The final product is then released as a series of products, each subsequent release including one more component.

Iterative Design & Prototyping Evolutionary Prototyping throughout Software Life Cycle prototype is not discarded and serves as the basis for the next iteration of design. The actual system is seen as evolving from a very limited initial version to its final release. - Fits in well with the modifications which must be made to the system that arise during the operation and maintenance activity in the life cycle.

Techniques for Prototyping Rapid Prototypes Storyboards Simplest notion of prototype. A graphical depiction of the outward appearance of the intended system, without any accompanying system functionality. Limited Functionality Simulations Rapidly build graphical and textual interaction objects and attach some behavior to those objects, which mimics the system’s functionality. It can be evaluated and changed rapidly to reflect the results of the evaluation study with various users.

Techniques for Prototyping Rapid Prototypes High-Level Programming Support Ease the designer to program certain features of an interactive system at the expense of other system features like speed of response or space efficiency. For example HyperTalk. Allow programmer to abstract away from the hardware specifics and think in terms that are closer to the way the input and output devices are perceived as interaction devices.

Design Rules Principles to support usability Learnability Flexibility The ease with which new users can begin effective interaction and achieve maximal performance. Flexibility The multiplicity of ways in which the user and the system exchange information. Robustness The level of support provided to the user in determining successful achievement and assessment of goals.

Principles Affecting Learnability Definition Related principles Predictability Support for the user to determine the effect of future based on past interaction history. Operation visibility Synthesizability Support for the user to assess the effect of past operations on the current state. Immediate/eventual honesty Familiarity The extent to which a user’s knowledge and experience in other real-world or computer based domains can be applied when interacting with a new system. Guessability, affordance Generalizability Support for the user to extend knowledge of specific interaction within and across. - Consistency Likeness in I/O behavior arising from similar situations or similar task objs.

Principles Affecting Flexibility Definition Related principles Dialog initiative Allowing the user freedom from artificial constraints on the input dialog imposed by the system. System/user pre-emptiveness Multi-threading Ability of the system to support user interaction pertaining to more than one task at a time. Concurrent vs interleaving, multimodality Task migratability The ability to pass control for the execution of a given task so that it becomes either internalized by the user or the system or shared bet them - Substitutivity Allowing equivalent values of input and output to be arbitrarily substituted for each other. Representation multiplicity, equal opportunity Customizability Modifiability of the user interface by the user or the system. Adaptivity, adapability

Principles Affecting Robustness Definition Related principles Observability Ability of the user to evaluate the internal state of the system from its perceivable representation. Browsability, static/dynamic defaults, reachability, persistence, operation visibility. Recoverability Ability of the user to take corrective action once an error has been recognized. Reachability, forward/backward recovery, commensurate effort Responsiveness How the user perceives the rate of communication with the system. Stability Task Conformance The degree to which the system services support all of the tasks the user wishes to perform and in the way that the user understands them. Task completeness, task adequacy

Golden Rules in HCI Shneiderman’s Eight Golden Rule Strive for consistency in action sequences, layout, etc. Enable frequent users to use shortcuts. Offer informative feedback Design dialog to yield closure Offer error prevention and simple error handling Permit ease reversal of actions Support internal locus of control Reduce short-term memory load.

Golden Rules in HCI Norman’s Seven Principles for Transforming Difficult Tasks into Simple Ones Use both knowledge in the world and knowledge in the head. Simplify the structure of tasks. Make things visible. Get the mapping rights. Exploit the power of constraints, both natural and artificial. Design for error. When all else fails, standardize.