软件工程与计算总结(十一)人机交互设计

目录

​编辑

一.引例

二.目标

三.人类因素

1.精神模型

2.差异性

四.计算机因素

1.可视化设计

2.常见界面类型

五.人机交互设计的交互性

1.导航

2.反馈

3.设计原则

六.设计过程

1.基本过程

2.界面原型化


一.引例

无论软件功能多么出色,亦或内部的构造有多么高的质量,没有好的用户界面,用户就无法充分体会软件产品的价值~

  • 好的用户界面不仅要求美观,更要重视使用软件的动态多次,即让用户使用软件产品的感觉更愉快,过程也更顺利~
  • 好的人机交互应该是透明的,它符合用户的习惯特点,尤其是要适应用户的技能和经验——即用户只感受到完成任务的过程,不需要特意为了使用软件而花费精力~
  • 好的人机交互因为透明度高而常常被人忽视,而坏的人机交互反而令人印象深刻

二.目标

透明是人机交互设计追求的目标,但是透明的含义过于抽象,人们需要定义更加具体、可衡量和可操作的目标,这就是易用性——(不仅关注人使用系统的过程,还关注系统对使用它的人所产生的作用~)

不同维度的定义:

  • 易学性:新手用户容易学习,能够很快使用系统。
  • 易记性:以前使用过系统的用户,能够有效记忆或者快速地重新学会使用系统
  • 效率:熟练用户使用系统完成任务的速度。
  • 出错率:使用系统时,会犯多少错,错误有多严重,以及是否能从错误中很容易地恢复~
  • 主观满意度:用户自身有良好的体验

三.人类因素

人是人机交互设计中最大的决定性因素~

1.精神模型

用户进行人机交互时头脑中的人物模型,需要分局精神模型进行隐喻设计(隐喻即为视觉隐喻,是视觉上的图像,但会被用户映射为业务事务)不同群体之间的任务模型是有差别的

进行人机交互设计时,要调查用户的目标和任务,分析用户的任务模型,并据此设计界面隐喻。

2.差异性

本质上是在说,不同群体之间的任务模型是有差别的:

  • 新手:当用户以新手居多时,整个系统的人机交互设计都要侧重于易学性~
  • 专家:当用户一专家居多时,设计要侧重于效率

四.计算机因素

诸多因素之中,显示屏设计是重点~

1.可视化设计

主要工作是可视化构件的布局,包括窗口、菜单、标签页、表单、按钮等常见组件

按照人模模型设计界面隐喻,同时不要把软件内部的构造机制暴露给用户~

2.常见界面类型

软件系统通常同时使用多种界面类型,以适应差异性的用户和任务~

五.人机交互设计的交互性

交互是双向的:

一方面,用户主动向软件提出请求,软件系统给予用户响应;另一方面,软件系统也应该主动告知用户相应的信息,并等待用户的响应——即,良好的人机交互应该有一定的智能型

1.导航

好的人机交互设计就像一个服务周到的服务员,能够主动将自己的产品和服务简明扼要地告诉用户,这个就是导航~

  • 全局按照任务模型将软件产品的功能组织起来,并区分不同重要性和主题性提供给不同的用户。
  • 局部结构通过安排界面布局细节,制造视觉上的线索来给用户提供导航。

2.反馈

  • 好的人机交换设计需要对用户行为进行反馈,让用户能够意识到行为的结果,形式是多样的,声音和视觉上的反应都可以~
  • 反馈的目的是提示用户交互行为的结果,但不能打断用户工作适的意识流~
  • 对时间的控制也是反馈设计的一个要点,它既要考虑计算时间,又要考虑用户的思考和反应时间~

3.设计原则

  • 简洁设计:菜单不要太大、不要在一个窗口中表现过多的信息类别,不要在一个表单中用过多的颜色
  • 一致性设计:相似任务不能具有完全不一致的交互机制~

  • 低出错率设计:帮助人们避免犯错,尽可能设计不让用户犯严重错误的系统~
  • 易记性设计:减少用户的记忆负担

六.设计过程

1.基本过程

2.界面原型化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/105126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LENOVO联想笔记本小新 Pro-14 2021AMD处理器ACH版(82MS)原厂Win10系统

下载链接:https://pan.baidu.com/s/1-KZ8Y9NmkS7nDXcMbhZLHw?pwdyrkx 系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、lenovo联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文件格式:ISO 文件大小&#xff1…

Spring中的任务调度:探索@Scheduled和@Schedules注解的威力

Spring中的任务调度:探索Scheduled和Schedules注解的威力 前言第一部分:什么是定时任务第二部分:Scheduled和Schedules注解详解Scheduled注解常用的Scheduled注解属性: Schedules注解cron表达式详解 第三部分:高级用法…

深入篇【C++】总结智能指针的使用与应用意义(auto_ptr/unique_ptr/shared_ptr/weak_ptr)底层原理剖析+模拟实现

深入篇【C】总结智能指针的使用与应用意义&&(auto_ptr/unique_ptr/shared_ptr/weak_ptr)底层原理剖析模拟实现 智能指针的出现智能指针的使用应用意义/存在问题智能指针原理剖析模拟实现auto_ptrunique_ptrshared_ptrweak_ptr 智能指针的出现 首先我们要理…

【个人记录】Ceph添加OSD

目标 1.已存在Ceph集群2.添加node1盘 /dev/nvme1n1 /dev/nvme2n1进入ceph集群 步骤 1.格式化磁盘 ceph-deploy disk zap node1 /dev/nvme1n1 /dev/nvme2n12.添加磁盘到osd ceph-deploy osd create --data /dev/nvme1n1 node1 ceph-deploy osd create --data /dev/nvme2n1 …

vscode ssh linux C++ 程序调试

vscode调试c++程序相比vs2022要复杂很多,vs2022可以"一键运行调试",vscode则需要自己配置。 ​vscode调试程序时,会在当前工作目录产生.vscode 目录, 该目录有两个重要文件launch.json和tasks.json, 下面介绍两种调试方法: 手动调试和自动调试。 手动调试 不管…

VUE树结构实现

实现效果: 数据库表结构如下: 要求:需要有parentId,id。parentId就是父记录的id 表数据要求:一定不要让一条记录的parentid和id相同 前端代码: 注意:el-table标签里面需要加上属性,才可以有下拉箭头的样式 <el-table v-loading="listLoading" :data

MySQL中死锁

数据库的死锁是指不同的事务在获取资源时相互等待&#xff0c;导致无法继续执行的一种情况。当发生死锁时&#xff0c;数据库会自动中断其中一个事务&#xff0c;以解除死锁。在数据库中&#xff0c;事务可以分为读事务和写事务。读事务只需要获取读锁&#xff0c;而写事务需要…

Spring Boot中的异步编程:解决的问题与应用场景

Spring Boot中的异步编程&#xff1a;解决的问题与应用场景 在现代Web应用程序中&#xff0c;高并发和性能是至关重要的。为了处理大量的请求和任务&#xff0c;异步编程成为了不可或缺的一部分。Spring Boot提供了强大的异步编程支持&#xff0c;可以显著提高应用程序的吞吐量…

java集合常用方法汇总

集合排序链接 集合排序链接 1.新建集合 List<String> result Lists.newArrayList();2.集合赋值 List<String> orderStatusList Lists.newArrayList("60", "70", "90");3.遍历集合 list.stream().map(CspTransferOrderInfo::ge…

【Java 进阶篇】JavaScript Math对象详解

在JavaScript编程中&#xff0c;Math对象是一个非常有用的工具&#xff0c;用于执行各种数学运算。它提供了许多数学函数和常数&#xff0c;可以用于处理数字、执行几何运算、生成随机数等。在本篇博客中&#xff0c;我们将深入探讨JavaScript中Math对象的各种功能和用法。 什…

LiveMedia视频中间件视频隐私打码直播解决方案

一、方案背景 随着科技的发展&#xff0c;视频监控系统已经成为了我们生活中不可或缺的一部分。无论是在公共区域&#xff0c;还是在私人场所&#xff0c;我们都可以看到各种各样的监控设备。这些设备的出现&#xff0c;无疑提高了我们的生活安全&#xff0c;使得我们可以更好地…

Gin,Gorm实现Web计算器

目录 仓库链接0.PSP表格1. 成品展示1.基础运算2. 清零回退3.错误提示4.历史记录拓展功能1.前端可修改的利率计算器2.科学计算器3. 按钮切换不同计算器模式4.用户在一次运算后不清零继续输入操作符&#xff0c;替换表达式为上次答案 2.设计实现过程3.代码说明4.心路历程和收获 仓…

【JavaSE API 】生成随机数的2种方法:Random类和Math类的Random方法

生成随机数的两种方法 Random类和Math类的random方法都可以用来生成随机数 而Math类的random方法则是基于系统时间的伪随机数生成器&#xff0c;大于等于0.0小于1.0的随机double值范围[0,1)。例如&#xff1a; double num1 Math.random() * 5 4;//范围[4,9) Random类是基于种…

企业级CI/CD 持续集成/交付/发布

jenkins 安装与使用 nmcli g hostname jenkins 加载缓存 yum makecache fast 上传jdk11、jdk8 获取、上传war包 1、jenkins.io/download 2.4.27 2、老师发的 上传 maven 上传tomcat软件包 &#xff08;apache.org-tomcat8-下载&#xff09; 注意8009端口 /usr... vi /etc/pro…

react中ant.design框架配置动态路由

目录 什么是动态路由&#xff1f; 应用场景&#xff1a; ant.design动态路由如何配置&#xff1a; 首先&#xff1a;找到app.tsx文件 然后&#xff1a;找到menuHeaderRender 其次&#xff1a;修改menuHeaderRender为menuDataRender​编辑 最后&#xff1a;在箭头函数里re…

linux内存、cpu、进程、端口、硬盘管理

这里讲解一下linux内存、cpu、进程、端口、硬盘管理命令操作,更多linux常用命令见:一些经常使用的linux命令 一、内存、cup 管理 top 命令 1、top 命令的第一行 top - 10:11:23 up 12:10, 2 users, load average: 0.00, 0.02, 0.05 依次对应&#xff1a; 系统当前时间 10:11:…

Vite与Webpack谁更胜一筹,谁将引领下一代前端工具的发展

你知道Vite和Webpack吗&#xff1f;也许有不少“程序猿”对它们十分熟悉。 Webpack Webpack是一个JavaScript应用程序的静态模块打包工具&#xff0c;它会对整个应用程序进行依赖关系图构建。而这也会导致一个不可避免的情况&#xff0c;使用Webpack启动应用程序的服务器&…

C++指针解读(5)-- 指针和数组(多维数组)

相比一维数组&#xff0c;二维数组的概念和相关运算要复杂得多。 1、二维数组的存储及访问 假设有这么一个二维数组&#xff1a; int arr[3][4] {{ 10, 11, 12, 13 },{ 20, 21, 22, 23 },{ 30, 31, 32, 33 } }; 我们可以把二维数组看成数组的数组&#xff1a; &#xff…

136.只出现一次的数字

136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且…

Arduino驱动BNO055 10轴绝对定向传感器(惯性测量传感器篇)

目录 1、传感器特性 2、控制器和传感器连线图 3、驱动程序 BNO055是实现智能9轴绝对定向的新型传感器IC,它将整个传感器系统级封装在一起,集成了三轴14位加速度计,三轴16位陀螺仪,三轴地磁传感器和一个自带算法处理的32位微控制器。