人机交互学习-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&…...
K8s in Action 阅读笔记——【12】Securing the Kubernetes API server
K8s in Action 阅读笔记——【12】Securing the Kubernetes API server 12.1 Understanding authentication 在上一章中,我们提到API服务器可以配置一个或多个认证插件(授权插件也是同样的情况)。当API服务器接收到一个请求时,它…...
爆肝整理,3个月从功能进阶自动化测试,一跃成测试卷王...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 首先先了解自动化…...
人生这场概率游戏,怎么玩
只会标准答案,是不可救药的愚蠢 那么为了便于理解,我用一些典型的案例来讲解,什么是概率游戏,以及这个游戏,应该怎么玩。 比如典型的相亲,婚恋。人生大事,用标准答案来说,你的意中人…...
Redis笔记
缓存过期时间很重要!redis是单线程的 对于内存过多的3中方案: 惰性删除: 在定时删除的基础上,对于已经过期了的数据,redis的随机选择算法一直没有选中这个数据,所以导致它就一直没被删除,但是…...
centos 安装supervisor并运行网站
前言 之前一直用宝塔的**进程守护管理器【Supervisor】**来启动一些项目,如ThinkPHP、Hyperf的项目,或laravel的一些命令。如果不用宝塔怎么办呢? 一、简介[supervisor] [Supervisor] 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支…...
Hadoop面试题十道
问题 1:Hadoop是什么? 答案:Hadoop是一个开源的分布式计算框架,用于处理大规模数据集的存储和处理。它基于Google的MapReduce和Google文件系统(GFS)的思想,旨在解决大数据量的处理和分析问题。…...
使用Docker-Compose对Docker容器集群快速编排
目录 一、Docker-Compose1、Docker-Compose使用场景2、Docker-Compose简介3、Docker-Compose安装部署4、YAML 文件格式及编写注意事项5、Docker Compose配置常用字段6、Docker Compose 常用命令7、Docker Compose 文件结构8、docker Compose撰写nginx 镜像9、docker Compose撰写…...
React-Redux 对Todolist修改
在单独使用redux的时候 需要手动订阅store里面 感觉特别麻烦 不错的是react有一个组件可以帮我们解决这个问题, 那就是react-redux。 react-redux提供了Provider 和 connent给我们使用。 先说一下几个重点知道的知识 Provider 就是用来提供store里面的状态 自动getState()co…...
初识微信小程序
新建小程序 创建一个新的微信小程序项目: 打开微信开发者工具,点击“新建项目”。 在弹出的窗口中,填写小程序的 AppID、项目名称和项目目录等信息。 点击“确定”按钮,等待微信开发者工具自动下载并安装所需的依赖库和框架。 …...
我们该如何入门编程呢
提醒:以下内容仅做参考,可自行发散。在发布作品前,请把不需要的内容删掉。 随着信息技术的快速发展,编程已经成为一个越来越重要的技能。那么,我们该如何入门编程呢?选择编程语言:选择一种编程…...
做网站有没有前途/怎么去推广自己的网站
加 Golang学习 QQ群共同学习进步成家立业工作 ^-^ 群号:96933959 文件读取 os.File 封装了文件相关操作 os.File Pkg Doc 读写参数 文件打开模式: const (O_RDONLY int syscall.O_RDONLY // 只读模式打开文件O_WRONLY int syscall.O_WRONLY // 只写模式…...
政府网站wap门户建设方案/bt种子万能搜索神器
cmd命令 1.system 导出全部表结构和数据 注意 :1.导出服务器的地址 192.168.1.252:1521/orcl 2. 登录名 ownerorcl (当前用户的登录名) 3. 导出文件的位置 fileD:\oracle\zkgs 4. 导出日志文件的位置 logD:\oracle\zkgs exp system/format192.168.1.252:1521/…...
.net做网站实例 贴吧/东莞寮步最新通知
1.js的数据类型 js的数据类型分为基本数据类型(String,Number, Boolean,Null,Undefined,Symbol)和引用数据类型(Array, Object)。 特点: 基本数据类型:直接存储在栈(stack)中引用数据类型:存储的是该对象在栈中引用&…...
设计小程序多少钱/seo推广小分享
Activity之间传数据时,为了避免麻烦,往往会将一些值封装成对象,然后将整个对象传递过去。传对象的时候有两种情况,一种是实现Parcelable接口,一种是实现Serializable接口。0、解释两种接口:1)实…...
双语 网站 数据怎么做/vue seo 优化方案
写成宏,方便移植#define setbit(x,y) x|(1<//将X的第Y位置1#define clrbit(x,y) x&~(1<方法二:C语言位运算除了可以提高运算效率外,在嵌入式系统的编程中,它的另一个最典型的应用,而且十分广泛地正在被使用着的是位间的…...
教人做美食视频网站/班级优化大师app下载
在web项目中,XML作为一种重要的数据存储和传输介质,被广泛使用。XML文件,XML字符串和XML Document对象是XML存在的三种形式,XML文件无需多言,和普通的文本并无二致;倒是在做一般的XML数据交换过程中&#x…...