53
人人人人人人人人人人人冯冯冯 冯冯冯冯冯冯冯冯 2013 冯 8 冯

《 人机交互的软件工程方法 》

Embed Size (px)

DESCRIPTION

《 人机交互的软件工程方法 》. 冯桂焕,南京大学软件学院 2013 年 8 月. 主要内容. 课程建设背景 课程建设概况 课程 内容梗概. 课程建设背景. 南京大学软件学院教学改革结晶 高年级核心课程 3 学分, 36 学时 自 2009 年开始建设 2011 年完成教材并试用 2013 年正式出版 (机械工业出版社). 课程建设历史. 可用性 实验室. 课程 实施 反馈. 课程 配套教材. 课程知识体系. 2009. 2010. 2012. 2013. 课程相关的几个问题. 为什么要教授 人机交互课程? - PowerPoint PPT Presentation

Citation preview

《人机交互的软件工程方法》

冯桂焕,南京大学软件学院2013 年 8 月

课程建设背景

课程建设概况

课程内容梗概

主要内容

南京大学软件学院教学改革结晶◦ 高年级核心课程◦ 3 学分, 36 学时◦ 自 2009 年开始建设◦ 2011 年完成教材并试用◦ 2013 年正式出版(机械工业出版社)

课程建设背景

课程建设历史

2009

2010

2012

2013

课程知识体系 可用性实验室 课程实施反馈 课程配套教材

为什么要教授人机交互课程?◦ 人机交互优劣,日益成为软件获得市场的关键◦ CCSE 2004 将人机交互列为软件工程专业的核心课程

人机交互可以通过课程学习吗?◦ 反对意见:人机交互是一门艺术而非科学◦ 课程目标:教学生构建“不难用”的软件

为什么强调软件工程视角?◦ 软件工程成为一级学科,学科建设需要◦ 与软件工程课程体系融为有机整体

课程相关的几个问题

学生如何开展交互设计?

课程建设背景

课程建设概况

课程内容梗概

主要内容

注重讲授提升交互性能的方法和技术注重讲授提升交互性能的方法和技术

区别于以人机交互技术为主导的课程设计区别于以人机交互技术为主导的课程设计

3

4

课程定位与特色

2 与传统软件工程课程体系密切结合与传统软件工程课程体系密切结合

以教会学生开发高可用性的软件为目标以教会学生开发高可用性的软件为目标1

课程设计思路实践创新的课程组织方式

注重教学内容的工程性、实践性

构筑完整人机交互知识体系

吸取国内外优秀人机交互课程和教材精华 用前沿技术激发学习兴趣 邀请业界工程师(创业学生)来院讲座

基于专业教学规范 CCSE 2004 覆盖全部知识点,同时补充新的知识点

以培养优秀交互设计师为目标 延续软件工程过程主线 大量实例 + 实践教学

课程知识体系

课程实施 - 课程知识体系

课程知识体系

课程实施 - 课程知识体系 2

课程知识体系

课程实施 - 课程知识体系 3

教学计划

课程实施 - 教学计划

从一个已有软件系统出发◦ 要求:人机交互特征复杂度适中,有源代码,分组完成( 3-4 人)

课程实施 - 实践设计

可用性实验室◦ 国内高校大部分设立在心理学和艺术学系◦ 清华大学:工业工程系可用性评测与人机交互实验室◦ 中南大学:微软中文产品可用性测试实验室◦ 大连海事大学:欧盟可用性中国中心◦ 北京邮电大学:人机工程实验室◦ ……

课程实施 - 实践设计

眼动行为观测的: (a) 测试方视图 (b) 观察方视图

课程实施 - 媒体资源

• 以前沿交互技术促教学– 兴趣是最好的老师!

选择题◦ 在复制文件夹时,屏幕会出现文件从一个文件夹移动到另一个文件夹的

动画,这是以下哪种现象的实例: (a) 可视化 (b) 映射( mapping ) (c) 启发性( affordance ) (d) 反馈

简答题◦ 请指出 KLM 、 GOMS 和 HTA三种方法分别适合应用在什么场合,以及如何应用它们进行分析。

设计题◦ 现需为某四层楼设计电梯面板(四层楼记作parking, main floor,

second 和 third floor ),应包含开门、关门、停止和紧急呼叫功能。请在下方同一行中绘出这些按钮的设计方案,并使用心理学原则(格式塔心理学)中的相近性和相似性帮助用户学习和使用。

课程考核 (50%-60%)

在线课程网站◦ http://218.94.159.106/class8.html

配套教材

课程资源

课程建设背景

课程建设概况

课程内容梗概

主要内容

第三部分 评估篇第二部分 设计篇

课程内容概览

第一部分 基础篇

Ch1. 人机交互概述Ch2. 人机交互基础知识Ch3. 交互设计目标与原则Ch4. 交互设计过程

Ch5. 交互式系统的需求Ch6. 交互式系统的设计Ch7. 可视化设计Ch8. 交互设计模型与理论Ch9. 以用户为中心的设计

Ch10. 评估的基础知识Ch11. 评估之观察用户Ch12. 评估之询问用户和专家 Ch13. 评估之用户测试

人 计算机

使用上下文

开发过程

H1人类

信息处理

H2语言、

通信和交互

D3评估技术

D1设计方法

D2实现技术和工具

C1输入

输出设备

C3对话类型 C5对话架构

C4计算机图形 C2对话技术

H3人机

工程学

U1社会组织和工作 U3人机匹配和适应

U2应用领域

D4示例系统

和案例学习

主要内容◦ 什么是人机交互◦ 人机交互的重要性◦ 人机交互的研究内容◦ 人机交互的相关领域◦ 人机交互的发展历史◦ 人机交互与软件工程 的关系

Ch1. 人机交互基础

“ACM SIGCHI 关于人机交互的研究内容”

教学重点◦ 人机交互的学科内涵和外延 人机交互≠人机界面

◦ 人机交互历史上三个主要阶段 旧的交互形式作为新形式的特例保存下来

◦ 人机交互与软件工程学科之间的关系和异同

Ch1. 人机交互基础 -2

人机交互工程师(用户视角)

用户任务分析可用性规格说明

交互体系结构/设计界面设计/规格说明软件支撑确认可用性评估

软件工程师(技术视角)

软件需求分析软件设计

接口软件编码交互支撑软件编码应用程序编码软件验证和确认

· 人机交互设计· 明确交互需求

· 交互设计评估· 交互需求验证· 软件可用性确认

人机交互原型

人机交互工程

· 软件确认· 交互验证

软件设计 软件构建

软件工程

软件需求

技术约束

软件产品

源自软件的用户交互

系统输出

/

产品发布

系统输入

/产品定义

教学难点◦ 理解人机交互作为交叉学科的特点 能够协调工作中多学科人员的沟通

◦ 理解人机交互对软件质量的重要性◦ 正确处理本课程与其他专业课程之间的关系

Ch1. 人机交互基础 -3

“Lethbridge 对于软件工程人员最为重要的 25 个知识领域”

主要内容◦ 交互框架◦常用交互范型 /形式 命令行、菜单驱动、表格、直接操纵、问答、隐喻等

◦ 关于人(和交互密切相关的) 信息处理模型 认知心理学 记忆和感觉

◦常用交互设备

Ch2. 人机交互基础知识

“投影键盘”

教学重点◦执行 / 评估活动周期◦ 不同交互范型各自的优缺点◦格式塔心理学◦ 人的记忆和认知特性

Ch2. 人机交互基础知识 -2

“Donald Norman 的交互模型(执行 / 评估活动周期)”

补充:视觉感知 & 上下文你从图中看到了什么 ?

补充:视觉感知 & 上下文 提示:一只面向你的动物

补充:视觉感知 & 上下文 提示:它的头在左侧,能产奶

补充:期望对感知的影响

From: after Bruner and Postman, 1949, pp. 206 – 23.

教学难点◦ 理解执行隔阂和评估隔阂◦ 理解信息处理模型的重要性◦格式塔心理学对交互的影响◦ 正确认识 7±2 法则◦ 能够选择恰当的交互设备

Ch2. 人机交互基础知识 -3

“Card等人类处理机模型”

主要内容◦ 可用性目标◦ 用户体验目标◦简易可用性工程 可用性度量

◦ 交互设计原则

Ch3. 交互设计的目标和原则

可用性

少出错

易记忆

易学习

高效率

主观满意度

“ISO9241-11 关于可用性的定义”

教学重点◦ 可用性目标的五个属性◦简易可用性工程的四种关键技术 理解用户、场景、边做边说、启发式评估

◦ Jacob Nielsen 的“十条启发式规则” 教学难点

◦如何开展对可用性属性的度量实验◦ 不同设计原则的异同,以及应用原则指导交互设计

Ch3. 交互设计的目标和原则 -2

主要内容◦ 交互设计的基本活动和关键特征◦ 设计中的若干问题 选择用户、需求定义、提出候选方案、决策

◦ 交互设计生命周期 教学重点和难点

◦ 理解设计的迭代特性◦ 从交互设计生命周期体会 交互设计的灵活性 评估的重要性 对用户的重视

Ch4. 交互设计过程

明确需求

开发候选设计方案 评估设计

构建交互式版本 最终产品

“ 交互设计的基本活动”

主要内容◦影响产品交互需求的两方面 产品特性 用户特性

◦ 用户建模◦ 场景◦ 基于人物角色和场景的交互需求定义◦任务分析◦ 基于原型的需求验证

Ch5. 交互式系统的需求

“ 人物角色定义举例”

教学重点◦ 用户差异在交互设计中的体现◦ 人物角色的用户建模方法◦ 场景描述◦应用人物角色和场景定义需求◦任务分析方法

教学难点◦ 用人物角色指导需求获取◦ 将用户与产品的交互融入场景描述

Ch5. 交互式系统的需求 -2

主要内容◦ 设计框架◦简化设计三策略 删除、组织、隐藏、(转移)

◦ 设计中的折中 个性化与配置、本地化与国际化、审美与实用

◦ 设计细节 加快响应时间 减轻记忆负担 减少等待感

◦ 设计模式

Ch6. 交互式系统的设计

教学重点◦ 教学生逐步开展交互设计工作◦ 学习在设计中做“减法”◦ 学习软件设计的小技巧

教学难点◦ 理解由粗到精的设计过程,不要立即进入到细节的工作◦ 理解并非功能越多的软件越受欢迎◦认识到良好的设计需要折中 不存在“完美”的软件

◦ 合理使用个性化

Ch6. 交互式系统的设计 -2

主要内容◦窗口和菜单◦ 对话框◦常用控件 命令、选择、显示、文本输入

◦ 工具栏◦ 屏幕复杂度度量

Ch7. 可视化设计

教学重点◦菜单的设计原则 菜单的工业标准

◦ 对话框的设计要点◦ 理解菜单和工具栏图标的区别

教学难点◦ 体会菜单深度与广度的差别◦ 理解对话框是一个“单独的房间” 注意减少和管理对话框

◦ 能够灵活选用不同控件 适当使用默认值

Ch7. 可视化设计 -2

主要内容◦预测模型 GOMS 、 KLM 、 Fitts’ Law

◦ 动态模型 状态转移网络 三态模型

◦语言模型 BNF表达式

◦ 系统模型 Z 标记法

Ch8. 交互设计模型与理论

“著名的轮流轻拍实验”

教学重点◦ 能使用 GOMS描述任务的完成过程◦ 会使用 KLM预测任务的完成时间◦ Fitts定律的由来及对人机交互的指导意义◦ 能够使用 STN描述系统状态变化

教学难点◦应用 KLM 对任务完成时间进行预测 理解预测模型的局限性 掌握M操作符的放置方法

◦ 理解 Fitts定律对人机交互的指导意义 充分利用屏幕边缘 适当应用光标位置

Ch8. 交互设计模型与理论

“Windows操作系统返回桌面图标的变化”

主要内容◦ 评估目标和原则◦ 评估范型与技术◦ 评估的步骤

教学重点◦ 为评估设定可行目标◦ 不同评估技术的适用场合及选择因素◦掌握 DECIDE 评估框架◦ 注重开展小规模试验

Ch10. 评估的基础知识

教学难点◦ 评估是交互式软件系统设计至关重要的环节,应该出现在

产品开发生命周期的各个阶段◦ 能够根据实际情况选择恰当的评估技术◦掌握多种评估技术的组合◦ 理解小规模试验的重要性

Ch10. 评估的基础知识 -2

“ 评估技术的比较”

主要内容◦ 实验室观察 vs. 现场观察◦ 观察与访谈的结合◦数据记录方式 纸笔、音视频、日志和交互记录

◦常用数据分析方法 教学重点

◦ 观察不仅可用于需求获取,同时也可用于评估◦ 实验室观察和现场观察的区别◦掌握不同数据记录方式的应用场合

CH11. 观察用户

教学难点◦ 能够在复杂的现场环境中完成观察◦掌握常用的数据记录方法◦掌握评估中常用的定性和定量分析技术

CH11. 观察用户 -2

“ 实验室环境的观察”

主要内容◦访谈 焦点小组

◦问卷调查◦认知走查◦ 启发式评估 iTunes 评估实例

CH12. 询问用户和专家

教学重点◦访谈的技巧 焦点小组

◦问卷设计与组织◦ 启发式评估

教学难点◦ 能有效开展访谈◦掌握优秀调查问卷设计的能力◦ 开展启发式评估的能力 理解用户的能力局限性 制定恰当的启发式规则

CH12. 询问用户和专家 -2

主要内容◦如何开展用户测试◦数据分析与总结报告◦网站用户测试实例

教学重点◦ 选择恰当的参与者◦ 设计明确的测试任务◦ 制定详细的测试步骤◦搜集数据并分析

Ch.13 用户测试

教学难点◦如何保证参与者的代表性,并对参与者进行有效组织◦ 测试任务要基于用户语言,而非程序语言◦ 通过小规模测试保证实验的有效性◦灵活运用数据搜集与分析方法

Ch.13 用户测试 -2

“定量数据与定性数据分析技术”

交互式“ 机会均等” 设计界面

视频记录 主要内容

◦ 什么是“以用户为中心”◦ 用户参与设计◦ 理解用户工作◦ 对“以用户为中心”思想的分析

教学重点◦ 理解为什么要“以用户为中心”◦掌握用户参与的不同形式◦ 对“以用户为中心”思想的正确评价

Ch9. 以用户为中心

“PICTIVE协同设计”

教学难点◦ 清楚让用户参与设计的挑战◦深刻认识到“程序员不是用户”!◦ 正确认识“以用户为中心”的优缺点

Ch9. 以用户为中心 -2

“如果当年我去问顾客他们想要什么,他们肯定会告诉我:‘一匹更快的马。’” — 亨利•福特

课程安排◦原理讲解在前,实践检查放在学期末,完成时间紧张

实践环节◦ 制定有针对性的实践题目非常困难◦ 学生缺少与真实用户沟通的机会◦ 主要精力仍花费在功能实现,而非交互◦ 大班授课,实践反馈开展困难◦ 实验环境限制,难以满足所有同学的实践需求◦助教素质不一,对学生的课后辅导有限

教学中发现的问题

谢 谢!

[email protected]