人机交互学习-4 交互设计过程
交互设计过程
- 交互设计过程
- 基本活动
- 关键特征
- 设计过程中的问题
- 如何选取用户?
- 如何明确需求?
- 如何提出候选方案?
- 如何在候选方案中选择?
- 交互设计生命周期模型
- 星型生命周期模型
- 可用性工程生命周期模型
- 交互设计过程管理
- 界面设计的4个支柱
- 用户界面需求
- 指南文档与过程
- 用户界面的软件工具
- 专家评审与可用性测试
- 开发方法学
- 成功的开发者要求
- 合理的以用户为中心的设计(LUCID)
- 快速背景设计方法
- 用户观察
- 参与式设计
- 场景开发
- 前期设计评审的社会影响报告
- 法律问题
交互设计过程
基本活动
- 标识用户需要并建立需求
- 开发满足需求的候选设计方案
- 构建设计的交互版本
- 评估设计

关键特征
- 以用户为中心
- 稳定的可用性标准
- 迭代

设计过程中的问题
如何选取用户?
用户:直接与产品交互,以期望完成某个任务的人。
用户分类:主要用户、二级用户、三级用户。
主要用户:经常使用系统的用户
二级用户:偶尔使用系统或者通过中间人使用系统的用户
三级用户:引入系统会影响到的人员以及影响系统购买的人员
如何明确需求?
理解用户的特征和能力
开发人员往往倾向于创建自己想要的产品或者是类似产品
如何提出候选方案?
候选方案来源于个别设计人员的才干和创造力
候选方案来自考虑其他相似的设计
候选设计方案是有限的
如何在候选方案中选择?
概括来说,决策可分为两类:第一类决策是关于外部特征的,它们是可见、可测量的;第二类是关于内部特征的,除非是剖析系统,否则它们是不可见、不可测量的。
第一种候选方案的选择是:让用户和涉众与各种方案相交互,并听取他们的体验、 偏好和改进建议。
选取候选方案的另一个出发点是“质量”,产品质量是期望产品达到某个层次的质量标准。
交互设计生命周期模型
注:important
星型生命周期模型

- 没有指定任何活动次序
- 以评估为中心
- 自下而上分析
- 自上而下合成
可用性工程生命周期模型

- 可用性工程生命周期模型包含三个基本任务:需求分析、设计/测试/开发、安装
- 中间阶段(即设计/测试/开发)最为复杂,涉及最多子任务。
- 可用性工程生命周期模型指明了以“风格指南”作为可用性目标的表示机制。
交互设计过程管理
界面设计的4个支柱

用户界面需求
软件项目的成败经常取决于所有用户和实现者之间理解的精确性和完整性。如果没有适当的需求定义,那就既不能确定正在解决什么问题,也不会知道何时能够完成。
在任何开发活动中,征求和清楚地指明用户需求是取得成功的一个主要和关键的因素。
系统需求(硬件、软件、系统性能及可靠性等)必须清楚地加以陈述,任何处理用户界面的需求(输入/输出设备、功能、界面及用户范围等)都必须指明并达成共识。
指南文档与过程
在设计过程的前期,用户界面架构师应该产生一套工作指南。
指南文档应考虑:
- 词、图标和图形
- 屏幕布局问题
- 输入与输出设备
- 动作序列
- 培训
用户界面的软件工具
设计交互系统的困难之一,是客户和用户可能对新系统并没有一个清晰的想法。由于在很多情况下交互系统都是新奇的,用户可能认识不到设计决策的用意。
原型常常使用简单的绘图或文字处理工具,使用PowerPoint幻灯片、Axure来演示开发。
专家评审与可用性测试
在将系统交付给客户使用之前,必须对组件进行很多小的和一些大的初步试验。除了各种专家评审方法外,与目标用户一起进行的测试、调查和自动化分析工具被证明是有价值的。
开发方法学
成功的开发者要求
- 了解业务要求
- 通过对话来减少对组织设计决策意义的混淆
- 关注以用户为中心的设计问题
能够大大减少开发的时间和成本
开发过程中较少错误
帮助组织按照业务要求和优先级来排列系统的功能
合理的以用户为中心的设计(LUCID)
合理的以用户为中心的设计(LUCID)包括以下阶段:
1)预想:将所有带有组织策略的涉众日程以及极端可用性需求加以调整,形成产品场景,使概念草案具体化。
2)发现:研究用户以决定高端的用户需求、术语和智力模型。
3)设计基础:发展概念设计,创造关键屏幕画面原型来传达视觉形式,以可用性来测试设计、修改和重现。
4)设计细节:将高端设计加以充实,形成完备的详细说明书。
5)构建:通过回顾和后期改变管理方式来支持生产过程。
6)发布:通过有力的推广来支持用户向新产品的过渡,进入最后的可用性测试。
快速背景设计方法
快速背景设计方法包括以下步骤:
1)背景调查。计划、准备,然后进行实地访谈,以观察和理解所执行的工作任务,评审业务实践。
2)研讨会和工作建模。举行团队讨论会以便基于背景调查得出结论,包括了解组织的工作流过程和对所完成工作的文化及政策影响,捕捉关键点。
3)模型合并与亲和图构建。将迄今为止从用户那里收集的数据,连同解释和工作模型提供给更大的目标人群,以获得见解和赞同。合并工作模型以阐明共同的工作模式和过程,并创建亲和图 (满足用户要求的问题的层次化表示)。
4)角色开发。开发角色(虚拟人物)来表示可能使用网站或产品的目标人群中的不同用户类型。这有助于团队交流用户的要求,并把这些用户的要求付诸实现。
5)愿景塑造。评审和“走查”合并的数据,共享所创建的角色。此项活动有助于确定系统将如何流线化和转换用户的工作。使用活动挂图或任何有利于表达修改后业务流程愿景的媒体来捕捉关键问题和想法。
6)故事板制作。愿景通过使用图片和图表来描述初始的用户界面概念、业务规则和自动化设想,从而指导用户任务的详细再设计。故事板定义和说明“将要构建”的设想。
7)用户环境设计。根据故事板构建对用户和将要执行的工作的单一、连贯的表示。
8)使用纸上原型与模型的访谈和评估。对实际用户进行访谈和测试时,从纸上原型开始,然后转移到较高精度原型上,获得访谈结果以确保该系统满足最终用户的需求。
用户观察
用于准备评估、进行实地研究、分析数据和报告调查结果的指南。
可能包括以下内容:
- 准备
理解工作环境的政策和在家里的家庭价值观
使自己熟悉现有的界面及其历史
设定初步目标和准备问题
获得调查或访谈的访问和许可权。 - 实地研究
与所有用户建立良好关系
在用户的环境中观察或采访他们,并收集主观的和客观的、定性的和定量的数据
调查访问中出现的所有人记录自己的访问 - 分析
在数值的、文本的和多媒体的数据库中编辑收集到的数据
量化数据和编辑统计
减少和解释数据
改进目标和所使用的过程 - 报告
考虑多个受众和目标
准备报告和提交调查结果
参与式设计
参与式设计是指人们直接参与到所开展的协同设计之中。用户参与会带来有关任务的更准确信,以及用户影响设计决策的机会。
- 用户参与感可能在增加用户对最终系统的接受度方面有最大的影响
- 用户的广泛参与可能是昂贵的,并可能延长实现周期
- 可能使未参与或其建议被拒绝的人产生敌意,潜在地迫使设计人员放弃他们的设计以使得不胜任的参与者满意
用户参与4级模型:
深色区域(消息提供者和设计合作者)代表参与式设计阶段
场景开发
在需求定义不十分明确的项目中,很多设计人员发现所描述的日常生活场景有助于表示用户执行典型任务时所发生事物的特征。
一种早期描述新系统的方式是编写使用场景。
当多个用户必须合作,或使用多个物理设备时,以戏剧的形式演示出来特别有效。
场景能够使用新用户和专家用户来表示普遍的或应急的情况,而角色也能够包含在场景生成中。
前期设计评审的社会影响报告
交互系统经常会对大量用户产生巨大影响。为了减少风险,考虑周到地陈述在利益相关者之间流传的预期影响,对于在开发的前期阶段就引出有益的建议,是一个有用的过程。
社会影响报告应在开发过程中尽早开发,以免影响项目进度计划、系统需求和预算。它能够由包括最终用户、管理人员、内部或外部的软件开发人员及可能的客户的系统设计团队开发。社会影响报告写完后,应由适当的评审小组以及管理人员、其他设计人员、最终用户和其他将被所提议系统影响的人加以评估。评审小组将接受书面报告、主持公开听证会和要求修改。社会团体也应该有机会提出他们的关注和提议备选方案。
报告可能包括以下部分:
- 描述新系统及其好处
- 讨论关注和潜在的障碍
- 模拟开发过程
法律问题
- 隐私问题
- 安全性和可靠性
- 软件的版权或专利保护
- 在线信息、图像或音乐的版权保护
- 电子环境中的言论自由
相关文章:
人机交互学习-4 交互设计过程
交互设计过程 交互设计过程基本活动关键特征 设计过程中的问题如何选取用户?如何明确需求?如何提出候选方案?如何在候选方案中选择? 交互设计生命周期模型星型生命周期模型可用性工程生命周期模型 交互设计过程管理界面设计的4个支…...
大话Stable-Diffusion-Webui之kohya-ss主题更改
文章目录 kohya-sskohya-ss主题更改添加背景图片更改组件样式自定义主题规范更改主题的另一种方式kohya-ss kohya-ss是一个专门用于训练Dreambooth、LoRA等小模型的项目,本身没有GUI界面,需要通过python命令去调用使用,这对于不懂python的同学来说门槛稍微有点高,于是有人…...
搜索在计算机中的地位十分重要
无论是在内部系统还是在外部的互联网站上,都少不了检索系统。数据是为了用户而服务。计算机在采集数据,处理数据,存储数据之后,各种客户端的操作pc机或者是移动嵌入式设备都可以很好的获取数据,得到 想要的数据服务。 …...
多模态深度学习:定义、示例、应用
人类使用五种感官来体验和解读周围的世界。我们的五种感官从五个不同的来源和五种不同的方式捕捉信息。模态是指某事发生、经历或捕捉的方式。 人脑由可以同时处理多种模式的神经网络组成。想象一下进行对话——您大脑的神经网络处理多模式输入(音频、视觉、文本、…...
基于ZCU106平台部署Vitis AI 1.2/2.5开发套件【Vivado+Vitis+Petalinux2020/2022】
Vitis AI是 Xilinx 的开发平台,适用于在 Xilinx 硬件平台(包括边缘设备和 Alveo 卡)上进行人工智能算法推理部署。它由优化的IP、工具、库、模型和示例设计组成。Vitis AI以高效易用为设计理念,可在 Xilinx FPGA 和 ACAP 上充分发…...
ChatGPT原理简介
承接上文GPT前2代版本简介 GPT3的基本思想 GPT2没有引起多大轰动,真正改变NLP格局的是第三代版本。 GPT3训练的数据包罗万象,上通天文下知地理,所以它会胡说八道,会说的贼离谱,比如让你穿越到唐代跟李白对诗,不在一…...
从0搭建Hyperledger Fabric2.5环境
Hyperledger Fabric 2.5环境搭建 一.Linux环境准备 # root登录 yum -y install git curl docker docker-compose tree yum -y install autoconf autotools-dev automake m4 perl yum -y install libtool autoreconf -ivf # 安装jq相关包 cd /opt git clone --recursive https…...
Rust每日一练(Leetday0026) 最小覆盖子串、组合、子集
目录 76. 最小覆盖子串 Minimum Window Substring 🌟🌟🌟 77. 组合 Combinations 🌟🌟 78. 子集 Subsets 🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Gola…...
c# 从零到精通-ArrayList-Hashtable的操作
c# 从零到精通-ArrayList-Hashtable的操作 1、ArrayList的操作 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace Test11 { class Program { static void Main(string[] args) { ArrayList list …...
pnpm带来了什么
首先 pnpm 和 npm yarn 一样是包管理工具,他解决了npm 和 yarn 存在的一些问题 npm3之前每个依赖都是一层嵌套一层的,每个依赖里都有node_modules 用来存放依赖所需的依赖包导致重复下载的依赖包很多,一层层嵌套,嵌套很深&#x…...
图像分类模型嵌入flask中开发PythonWeb项目
图像分类模型嵌入flask中开发PythonWeb项目 图像分类是一种常见的计算机视觉任务,它的目的是将输入的图像分配到预定义的类别中,如猫、狗、花等。图像分类模型是一种基于深度学习的模型,它可以利用大量的图像数据来学习图像的特征和类别之间…...
GIT安装教程(入门)
目录 前言 Git作者 官网 GIT优点 GIT缺点 为什么要使用 Git 下载以及安装步骤 一、官网下载 二、GIT安装步骤 1、安装get程序 2、许可声明 3、选择安装路径 4、选择git组件 5、创建菜单名称 6、 git文件默认编辑器 7、设置新存储库中初始分支的名称 8、调整Pa…...
全志V3S嵌入式驱动开发(触摸屏驱动)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 所谓的触摸屏,其实就是在普通的lcd屏幕之上,再加一层屏而已。这个屏是透明的,这样客户就可以看到下面lcd屏幕的…...
死信队列详解
什么是死信队列? 在消息队列中,执行异步任务时,通常是将消息生产者发布的消息存储在队列中,由消费者从队列中获取并处理这些消息。但是,在某些情况下,消息可能无法正常地被处理和消耗,例如&…...
我用ChatGPT写2023高考语文作文(五):北京卷I
2023年 北京卷 I 适用地区:北京 “续航”一词,原指连续航行,今天在使用中被赋予了新的含义,如为青春续航、科技为经济发展续航等。 请以“续航”为题目,写一篇议论文。 要求:论点明确,论据充实&…...
《微服务实战》 第二十八章 分布式锁框架-Redisson
前言 Redisson 在基于 NIO 的 Netty 框架上,充分的利⽤了 Redis 键值数据库提供的⼀系列优势,在Java 实⽤⼯具包中常⽤接⼝的基础上,为使⽤者提供了⼀系列具有分布式特性的常⽤⼯具类。使得原本作为协调单机多线程并发程序的⼯具包获得了协调…...
局部搜索,变邻域搜索算法
目录 局部搜索 02 变邻域搜索算法 局部搜索 1.1 局部搜索是什么玩意儿? 官方一点:局部搜索是解决优化问题的一种启发式算法。对于某些计算起来非常复杂的优化问题,比如各种NP-难问题,要找到最优解需要的时间随问题规模呈指数增长,因此诞生了各种启发式算法来退而求其次…...
软件工程实训——第一天
第一天 前后分离 前端:android 后端:springbootmbatis-plus 高心星 软件工程的思维来开发项目 问题定义 可行性研究 需求分析 概要设计 详细设计 编码 测试 维护 需求分析 1.用户的信息管理 2.新增支出 3.新增收入 4.支出统计 5.收入…...
嵌入式C语言中if/else如何优化详解
观点一(灵剑): 前期迭代懒得优化,来一个需求,加一个if,久而久之,就串成了一座金字塔。 当代码已经复杂到难以维护的程度之后,只能狠下心重构优化。那,有什么方案可以优雅…...
【LSTM】读取时间序列数据 | 时间序列数据的小批量划分方法
由于序列数据本质上是连续的,因此我们在处理数据时需要解决这个问题。当序列过长而不能被模型一次性全部处理时,我们希望能拆分这样的序列以便模型方便读取。 Q:怎样随机生成一个具有n个时间步的mini batch的特征和标签? A&…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...
