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