人机交互软件工程视角笔记

2024-03-25 08:50

本文主要是介绍人机交互软件工程视角笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 目录

    文章目录

    前言

    一、人机交互基础知识

    (一)交互框架

    1.执行、评估活动周期EEC

    (1)活动的四个基本组成部分

    (2)Norman的交互模型EEC

    (3)执行隔阂和评估隔阂(重点)

    2.扩展EEC框架

    (1)交互式系统的四个人部分

    (二)交互形式

    1.命令行交互

    2.菜单驱动的页面

    3.基于表格的页面

    4.直接操纵

    5.问答界面

    6.隐喻界面

    7.自然语言交互

    二、使用步骤

    1.引入库

    2.读入数据

    总结



前言

学习人机交互时的笔记整理


一、人机交互基础知识

(一)交互框架

1.执行、评估活动周期EEC

Donald Norman 在《设计心理学》中提出的执行、评估活动周期框架在交互设计领域最有影响力。

(1)活动的四个基本组成部分
  • 目标:想做什么
  • 执行:实现目标必须进行的操作
  • 客观因素:执行活动时必须考虑的客观条件
  • 评估:衡量活动执行的结果和目标之间的差距

注:这里不需要对活动进行详细说明,目标与意图也不是一对一(意图可以是通过不同的一系列操作达成目标的方法)

(2)Norman的交互模型EEC

        执行:

  • 建立目标:用任务语言根据领域来制定
  • 形成操作意图:由目标转化,以及为达目标所需执行的实际动作
  • 明确动作序列
  • 执行操作

        评估:

  • 感知系统状态
  • 解释系统状态
  • 对照目标评估系统状态

注:循环可以从任何一个地方开始。

        (1)数据驱动的循环:当某个事件环境确定后循环开始

        (2)目标驱动的循环:当某个目标确定后循环才开始

(3)执行隔阂和评估隔阂(重点)

Norman 模型用于解释为什么有些界面会给用户使用带来问题。在理解交互方面清晰直观,但是不能描述人与系统通过界面进行的通信。

  • 执行隔阂:指用户为达到目标而制定的动作和系统允许的动作之间的差别。(就是有没有和我的目标动作相匹配的操作,如果本身就没有定义那个可以完成我目标的操作,就造成了偏差)
  • 评估隔阂:指系统状态的实际表现与用户预期之间的差别。用户评估系统表现越容易,则评分隔阂越小;反之,若用户解释系统表现时比较费力,则交互的效率也越低。(即不能出现千人千意)

2.扩展EEC框架

Abowd和Beale改进了Norman模型,并进行了扩展,添加了界面部分。

(1)交互式系统的四个人部分
  • 系统( S ):使用系统内核语言,关系到系统状态的计算属性。
  • 用户( U ):使用用户的任务语言,主要关系到用户状态的心理属性。
  • 输入( I ):输入语言。
  • 输出( O ):输出语言。

(二)交互形式

1.命令行交互

优点:

  • 专家用户使用命令行能更加快速地完成任务。
  • 较图形用户界面更加节约系统资源。
  • 对用户而言是开放的,不存在图形用户界面中不能动态配置用户可操作选项的问题。
  • 键盘操作方式较鼠标操作更加精确,对应用的掌控力更强。

缺点:

  • 命令语言的掌握对用户的长时记忆和短时记忆提出了较高要求。
  • 界面使用基于回忆的方式,没有图形用户界面基于识别的方式容易使用。
  • 要求使用者对键盘布局较为熟悉,出错频率较高。
  • 命令编写贴近计算机的执行方式,与可用性理论所强调的不应要求用户了解计算机底层的实现细节相违背。

2.菜单驱动的页面

优点:

  • 基于识别机制,对记忆的需求较低。
  • 具有解释性。
  • 容易纠错。相比较而言,命令行方式需要对用户输入的命令进行解析。
  • 适合新手用户。若提供了较好的快捷键功能,则对专家用户同样适用。

缺点:

  • 导航方式不够灵活。
  • 当菜单规模较大时,导航效率不高。
  • 占用屏幕空间,不适合小型显示设备。为节省空间,通常组织为下拉菜单或弹出式菜单。
  • 对专家用户而言使用效率不高。

3.基于表格的页面

优点:

  • 简化了数据输入。
  • 由于待填写区域已经预先定义,因而只需要识别而无需学习。
  • 通过预定义格式来指导用户完成数据输入。
  • 特别适合于日常文书处理等需要大量数据的工作。

缺点:

  • 会占用大量屏幕时间。
  • 可能导致业务流程较形式化的情况。

4.直接操纵

优点:

  • 将任务概念可视化,用户可以非常方便地辨别它们。
  • 容易学习,适合新手学习。
  • 操纵基于识别,对记忆要求不高,可有效避免错误发生。
  • 支持空间线索,鼓励用户对界面进行搜索。
  • 可实现对用户操作的快速反馈,具有较高的用户主观满意度。

缺点:

  • 实现起来比较困难。
  • 对专家用户而言效率不高。
  • 不适合小屏幕显示设备。
  • 对图形显示性能的需求较高。
  • 不具备自解释性,可能误导用户。

5.问答界面

优点:

  • 对记忆要求较低。
  • 每个界面具有自解释性。
  • 将任务流程以简单的线性表示。
  • 适合新手用户。

缺点:

  • 要求从用户端获得有效输入。
  • 要求用户熟悉界面控制。
  • 纠错过程可能比较乏味。

6.隐喻界面

优点:

  • 直观生动,无需学习。

缺点:

  • 不具有可扩展性。
  • 隐喻依赖于设计师和用户之间相似的联想方式。

7.自然语言交互

(三)理解用户

1.信息处理模型

2.认知心理学

格式塔心理学主要原则:

  • 相近性原则:空间上比较靠近的物体容易被视为整体。
  • 相似性原则:人们习惯将看上去相似的物体看成一个整体。
  • 连续性原则:人们会将共线或具有相同方向的物体组合在一起。
  • 完整性和闭合性原则:感知过程中人们倾向于忽视轮廓的间隙而将其视作一个完整的整体。
  • 对称性原则:人们习惯将互相对称且能够组合为有意义单元的物体组合在一起。

3.人的认知特性

二、交互设计目标与原则

(一)交互设计目标(重点)

1.可用性目标

  • 易学性:系统应当容易学习。

  • 使用效率:用户学会使用系统的效率。

  • 易记性:容易记忆。位置、分组、惯例、冗余。

  • 低出错率:降低系统的出错率,并且保证能够在错误发生后迅速恢复到正常状态。

  • 主管满意度:用户对系统的喜爱程度。

2.用户体验目标

(二)简易可用性工程

可用性工程是一种以提高产品的可用性为目标的先进的产品开发方法论。

1.可用性度量

(1)易学性度量
  • 度量方法:找一些从未使用过系统的用户,然后统计他们学习使用系统直至达到某种熟练程度的时间。通常特定熟练程度以用户能够完成某个特定任务的方式来进行描述,或者当用户能够在特定的时间内完成一组特定任务时,称他们达到了一定的熟练程度。
  • 通过把某个特定绩效水平定义为用户已经学会系统并能够达到某个熟练水平的标志,并以度量用户达到这个水平所用的时间作为易学性的度量标准。
(2)使用效率度量
  • 首先确定关于技能水平的某种定义,随后寻找一批符合该技能水平的有代表性的用户样本,最后度量这些用户执行某些典型测试任务所用的时间。
(3)易记性度量
(4)错误率度量
(5)主观满意度度良

(三)四种主要技术

1.完整的可用性工程过程

  • 了解用户
  • 竞争性分析
  • 设计可用性目标
  • 用户参与的设计
  • 迭代设计
  • 产品发布后的工作

2.简化和概括后的可用性工程过程

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

这篇关于人机交互软件工程视角笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/844479

相关文章

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

Git 的特点—— Git 学习笔记 02

文章目录 Git 简史Git 的特点直接记录快照,而非差异比较近乎所有操作都是本地执行保证完整性一般只添加数据 参考资料 Git 简史 众所周知,Linux 内核开源项目有着为数众多的参与者。这么多人在世界各地为 Linux 编写代码,那Linux 的代码是如何管理的呢?事实是在 2002 年以前,世界各地的开发者把源代码通过 diff 的方式发给 Linus,然后由 Linus