主要内容 - 南京大学软件学院

Download Report

Transcript 主要内容 - 南京大学软件学院

冯桂焕,南京大学软件学院
2013年8月

课程建设背景

课程建设概况

课程内容梗概

南京大学软件学院教学改革结晶
◦ 高年级核心课程
◦ 3学分,36学时
◦ 自2009年开始建设
◦ 2011年完成教材并试用
◦ 2013年正式出版
(机械工业出版社)
课程知识体系
2009
可用性实验室
2010
课程实施反馈
2012
课程配套教材
2013

为什么要教授人机交互课程?
◦ 人机交互优劣,日益成为软件获得市场的关键
◦ CCSE 2004将人机交互列为软件工程专业的核心课程

人机交互可以通过课程学习吗?
◦ 反对意见:人机交互是一门艺术而非科学
◦ 课程目标:教学生构建“不难用”的软件

为什么强调软件工程视角?
◦ 软件工程成为一级学科,学科建设需要
◦ 与软件工程课程体系融为有机整体

课程建设背景

课程建设概况

课程内容梗概
1
以教会学生开发高可用性的软件为目标
2
与传统软件工程课程体系密切结合
3
注重讲授提升交互性能的方法和技术
4
区别于以人机交互技术为主导的课程设计
实践创新的课程组织方式
 吸取国内外优秀人机交互课程和教材精华
 用前沿技术激发学习兴趣
 邀请业界工程师(创业学生)来院讲座
注重教学内容的工程性、实践性
 以培养优秀交互设计师为目标
 延续软件工程过程主线
 大量实例+实践教学
构筑完整人机交互知识体系
 基于专业教学规范CCSE 2004
 覆盖全部知识点,同时补充新的知识点

课程知识体系

课程知识体系

课程知识体系

教学计划

从一个已有软件系统出发
◦ 要求:人机交互特征复杂度适中,有源代码,分组完成(3-4人)

可用性实验室
◦
◦
◦
◦
◦
◦
国内高校大部分设立在心理学和艺术学系
清华大学:工业工程系可用性评测与人机交互实验室
中南大学:微软中文产品可用性测试实验室
大连海事大学:欧盟可用性中国中心
北京邮电大学:人机工程实验室
……
眼动行为观测的: (a)测试方视图
(b) 观察方视图
• 以前沿交互技术促教学
– 兴趣是最好的老师!

选择题
◦ 在复制文件夹时,屏幕会出现文件从一个文件夹移动到另一个文件
夹的动画,这是以下哪种现象的实例:




(a) 可视化
(b) 映射(mapping)
(c) 启发性(affordance)
(d) 反馈

简答题

设计题
◦ 请指出KLM、GOMS和HTA三种方法分别适合应用在什么场合,以
及如何应用它们进行分析。
◦ 现需为某四层楼设计电梯面板(四层楼记作parking, main floor,
second和third floor),应包含开门、关门、停止和紧急呼叫功
能。请在下方同一行中绘出这些按钮的设计方案,并使用心理学原
则(格式塔心理学)中的相近性和相似性帮助用户学习和使用。

在线课程网站

配套教材
◦ http://218.94.159.106/class8.html

课程建设背景

课程建设概况

课程内容梗概
第一部分 基础篇
第二部分 设计篇
第三部分 评估篇
Ch1. 人机交互概述
Ch5. 交互式系统的需求
Ch10. 评估的基础知识
Ch2. 人机交互基础知识
Ch6. 交互式系统的设计
Ch11. 评估之观察用户
Ch3. 交互设计目标与原则
Ch7. 可视化设计
Ch12. 评估之询问用户和
Ch4. 交互设计过程
Ch8. 交互设计模型与理论
专家
Ch9. 以用户为中心的设计
Ch13. 评估之用户测试

主要内容
◦
◦
◦
◦
◦
◦
什么是人机交互
人机交互的重要性
人机交互的研究内容
人机交互的相关领域
人机交互的发展历史
人机交互与软件工程
的关系
使用上下文
U3 人机匹配和适应
U1 社会组织和工作
U2 应用领域
人
计算机
C2 对话技术
C4 计算机图形
H1 人类
信息处理
H2 语言、
通信和交互
D3 评估技术
H3 人机
工程学
C3 对话类型
C1 输入
输出设备
D4 示例系统
和案例学习
C5 对话架构
D2 实现技术和工具
D1 设计方法
开发过程
“ACM SIGCHI关于人机交互的研究内容”

教学重点
◦ 人机交互的学科内涵和外延
 人机交互≠人机界面
◦ 人机交互历史上三个主要阶段
 旧的交互形式作为新形式的特例保存下来
◦ 人机交互与软件工程学科之间的关系和异同
人机交互工程师(用户视角)
人机交互工程
软件工程师(技术视角)
可用性规格说明
软件设计
交互体系结构/设计
接口软件编码
界面设计/规格说明
软件支撑确认
交互支撑软件编码
应用程序编码
可用性评估
软件验证和确认
系
统
输
入
产
品
定
义
· 交互设计评估
· 交互需求验证
· 软件可用性确认
软件需求
系
统
输
出
产
品
发
布
/
软件需求分析
人机交互
原型
/
用户任务分析
· 人机交互设计
· 明确交互需求
技术约束
软件设计
软件构建
软件产品
源自软件的用
户交互
· 软件确认
· 交互验证
软件工程

教学难点
◦ 理解人机交互作为交叉学科的特点
 能够协调工作中多学科人员的沟通
◦ 理解人机交互对软件质量的重要性
◦ 正确处理本课程与其他专业课程之间的关系
“Lethbridge对于
软件工程人员最为
重要的25个知识领
域”

主要内容
◦ 交互框架
◦ 常用交互范型/形式
 命令行、菜单驱动、表格、直接操纵、问答、隐喻等
◦ 关于人(和交互密切相关的)
 信息处理模型
 认知心理学
 记忆和感觉
◦ 常用交互设备
“投影键盘”

教学重点
◦
◦
◦
◦
执行/评估活动周期
不同交互范型各自的优缺点
格式塔心理学
人的记忆和认知特性
“Donald Norman的交互模型
(执行/评估活动周期)”

你从图中看到了什么?

提示:一只面向你的动物

提示:它的头在左侧,能产奶
From: after Bruner and Postman, 1949, pp. 206 – 23.

教学难点
◦
◦
◦
◦
◦
理解执行隔阂和评估隔阂
理解信息处理模型的重要性
格式塔心理学对交互的影响
正确认识7±2法则
能够选择恰当的交互设备
“Card等人类处理机模型”

主要内容
◦ 可用性目标
◦ 用户体验目标
◦ 简易可用性工程
主观满
意度
易学习
 可用性度量
◦ 交互设计原则
可用性
易记忆
少出错
“ISO9241-11关于可用性的定义”
高效率

教学重点
◦ 可用性目标的五个属性
◦ 简易可用性工程的四种关键技术
 理解用户、场景、边做边说、启发式评估
◦ Jacob Nielsen的“十条启发式规则”

教学难点
◦ 如何开展对可用性属性的度量实验
◦ 不同设计原则的异同,以及应用原则指导交互设计

主要内容
◦ 交互设计的基本活动和关键特征
◦ 设计中的若干问题
 选择用户、需求定义、提出候选方案、决策
◦ 交互设计生命周期

教学重点和难点
◦ 理解设计的迭代特性
◦ 从交互设计生命周期体会
 交互设计的灵活性
 评估的重要性
 对用户的重视
明确需求
开发候选设计方案
评估设计
构建交互式版本
“交互设计的基本活动”
最终产品

主要内容
◦ 影响产品交互需求的两方面
 产品特性
 用户特性
◦
◦
◦
◦
◦
用户建模
场景
基于人物角色和场景的交互需求定义
任务分析
基于原型的需求验证
“人物角色定义举例”

教学重点
◦
◦
◦
◦
◦

用户差异在交互设计中的体现
人物角色的用户建模方法
场景描述
应用人物角色和场景定义需求
任务分析方法
教学难点
◦ 用人物角色指导需求获取
◦ 将用户与产品的交互融入场景描述

主要内容
◦ 设计框架
◦ 简化设计三策略
 删除、组织、隐藏、(转移)
◦ 设计中的折中
 个性化与配置、本地化与国际化、审美与实用
◦ 设计细节
 加快响应时间
 减轻记忆负担
 减少等待感
◦ 设计模式

教学重点
◦ 教学生逐步开展交互设计工作
◦ 学习在设计中做“减法”
◦ 学习软件设计的小技巧

教学难点
◦ 理解由粗到精的设计过程,不要立即进入到细节的工作
◦ 理解并非功能越多的软件越受欢迎
◦ 认识到良好的设计需要折中
 不存在“完美”的软件
◦ 合理使用个性化

主要内容
◦ 窗口和菜单
◦ 对话框
◦ 常用控件
 命令、选择、显示、文本输入
◦ 工具栏
◦ 屏幕复杂度度量

教学重点
◦ 菜单的设计原则
 菜单的工业标准
◦ 对话框的设计要点
◦ 理解菜单和工具栏图标的区别

教学难点
◦ 体会菜单深度与广度的差别
◦ 理解对话框是一个“单独的房间”
 注意减少和管理对话框
◦ 能够灵活选用不同控件
 适当使用默认值

主要内容
◦ 预测模型
 GOMS、KLM、Fitts’ Law
◦ 动态模型
 状态转移网络
 三态模型
◦ 语言模型
 BNF表达式
◦ 系统模型
 Z标记法
“著名的轮流轻拍实验”

教学重点
◦
◦
◦
◦

能使用GOMS描述任务的完成过程
会使用KLM预测任务的完成时间
Fitts定律的由来及对人机交互的指导意义
能够使用STN描述系统状态变化
教学难点
◦ 应用KLM对任务完成时间进行预测
 理解预测模型的局限性
 掌握M操作符的放置方法
◦ 理解Fitts定律对人机交互的指导意义
 充分利用屏幕边缘
 适当应用光标位置
“Windows操作系统返回桌面图标的变化”

主要内容
◦ 评估目标和原则
◦ 评估范型与技术
◦ 评估的步骤

教学重点
◦
◦
◦
◦
为评估设定可行目标
不同评估技术的适用场合及选择因素
掌握DECIDE评估框架
注重开展小规模试验

教学难点
◦ 评估是交互式软件系统设计至关重要的环节,应该出现在
产品开发生命周期的各个阶段
◦ 能够根据实际情况选择恰当的评估技术
◦ 掌握多种评估技术的组合
◦ 理解小规模试验的重要性
“评估技术的比较”

主要内容
◦ 实验室观察vs.现场观察
◦ 观察与访谈的结合
◦ 数据记录方式
 纸笔、音视频、日志和交互记录
◦ 常用数据分析方法

教学重点
◦ 观察不仅可用于需求获取,同时也可用于评估
◦ 实验室观察和现场观察的区别
◦ 掌握不同数据记录方式的应用场合

教学难点
◦ 能够在复杂的现场环境中完成观察
◦ 掌握常用的数据记录方法
◦ 掌握评估中常用的定性和定量分析技术
“实验室环境的观察”

主要内容
◦ 访谈
 焦点小组
◦ 问卷调查
◦ 认知走查
◦ 启发式评估
 iTunes评估实例

教学重点
◦ 访谈的技巧
 焦点小组
◦ 问卷设计与组织
◦ 启发式评估

教学难点
◦ 能有效开展访谈
◦ 掌握优秀调查问卷设计的能力
◦ 开展启发式评估的能力
 理解用户的能力局限性
 制定恰当的启发式规则

主要内容
◦ 如何开展用户测试
◦ 数据分析与总结报告
◦ 网站用户测试实例

教学重点
◦
◦
◦
◦
选择恰当的参与者
设计明确的测试任务
制定详细的测试步骤
搜集数据并分析

教学难点
◦
◦
◦
◦
如何保证参与者的代表性,并对参与者进行有效组织
测试任务要基于用户语言,而非程序语言
通过小规模测试保证实验的有效性
灵活运用数据搜集与分析方法
“定量数据与定性数据分析技术”

主要内容
◦
◦
◦
◦

视频
记录
什么是“以用户为中心”
用户参与设计
理解用户工作
对“以用户为中心”思想的分析
交互式“机会均
等”设计界面
教学重点
◦ 理解为什么要“以用户为中心”
◦ 掌握用户参与的不同形式
◦ 对“以用户为中心”思想的正确评价
“PICTIVE协同设计”

教学难点
◦ 清楚让用户参与设计的挑战
◦ 深刻认识到“程序员不是用户”!
◦ 正确认识“以用户为中心”的优缺点
“如果当年我去问顾客他们想要什么,他们肯定会告诉我:‘一匹更快的
马。’”
— 亨利•福特

课程安排
◦ 原理讲解在前,实践检查放在学期末,完成时间紧张

实践环节
◦
◦
◦
◦
◦
◦
制定有针对性的实践题目非常困难
学生缺少与真实用户沟通的机会
主要精力仍花费在功能实现,而非交互
大班授课,实践反馈开展困难
实验环境限制,难以满足所有同学的实践需求
助教素质不一,对学生的课后辅导有限
谢
谢!
[email protected]