(二)软件工程导学 —— 人机交互
南京大学软件工程导学课:《软件工程导学》
人家交互概述
人机交互的目的是,便利人与机器的交流。
发展至今分为下面几个阶段
-
批处理阶段
这个时期的交互,主要看一串
0/1
的字符串,非专业人士,一般人操作不来。 -
联机终端时代
典型的就是命令行,虽然不再需要使用一长串的
0/1
字符串,简化的命令方便操作,但是普通人还是不能接受的,那么多命令需要记录。这时候,命令都输入在光标之后,不能随便操作任何地方,这时候其实属于 一维 界面 。 -
图形用户界面
也就是现在的
Windows、Mac
界面,可以用鼠标点击操作,可以点击整个界面,并且有多个界面,感觉是个三维的,但是只有最前面的页面被激活,其实是属于 二维半 界面。
人机交互的瓶颈
随着发展,输出设备越来越丰富,多媒体连接机器,可以在需要其他地方进行输出,不再局限于显示器。但是输入设备,好长一段时间都只有键盘、鼠标。
输入与输出的极大不平衡,成为人机交互发展的一个瓶颈。
现在在慢慢的发展输入,比如:体感交互、语音交互、虚拟现实、脑机交互等。
启发式设计原则
一共有 10
条,是专家制定的,是他们的经验之谈,我们可以根据情景选择合适的,但是最好不要不遵循,毕竟不听老人言,吃亏在眼前。你说我当初要好好学习,用得着现在在这补软工本科课程啊。
-
系统状态可见度
当系统在执行某项任务的时候,要时刻向用户展示系统的状态,最常见的一种是进度条。
-
系统和现实世界的吻合
在和用户对话的时候,用用户可以理解的语言,而非一串代码的报错。
-
用户何时何地都要拥有控制权和自主权
无论何时,用户都应该可以紧急退出,前进、后退等操作。
-
一致性和标准化
在整个系统中,交互的语言,对同一个事物的描述,应该始终如一。
-
避免用户出错
避免用户出错,比如输入时间的时候,应该提供一个日历给用户选择时间,避免用户错误的输入
13
月这种日期。 -
依赖识别而非记忆
交互的时候,依赖提示和识别,不要依赖用户自己的记忆。
-
使用的灵敏性和高效性
系统对新手应该,灵敏性提供各种菜单,点点点完成操作,同时也要兼顾高效性,对于老手,应该提供更高效的操作,比如快捷键。
-
帮助用户识别、诊断错误
用户如果发生错误,应该尽可能的帮助用户找到问题发生的原因。
-
简洁的帮助文档
可以提供系统帮助文档,但是文档要简洁,并且放在用户很容易发现的地方,给出可能的解决方案。
-
审美感、最小化
要美观,同时要最小化,即不常用的功能,界面上不要展示除出来,比如遥控器,那么多的按键,基本从来不用。
人机交互的软件工程方法
启发性评估
启发性评估,是一种专家评估,对于早期设计的评估,很有效。
专家评估还有其他方法:角色互换、压力测试、穷尽测试等。
但是启发性评估是一个简单但行之有效的测试,一般经过下面几个步骤:
- 彻底的检查界面,根据启发性原则。
- 模拟用户
- 列举所有的可能问题
- 应用启发性原则,讨论、解释每一个列举出的问题,给出修改建议。
列出的问题一般分为五个等级,从0
-》 4
,数字越大,级别越严重。
0
辅助问题,虽然违反了启发性原则,但是不影响吸引系统的可用性1
次要问题,不经常发生的问题,用户也容易处理2
中等问题,较频繁发生的问题,用户较难处理3
重要问题,频繁发生的问题,用户难以解决4
灾难问题,用户无法继续使用系统,迫切在发布之前修复。
正确的评估
在使用启发性评估的时候,按照上述的步骤,还需要注意些问题:
- 分析问题的时候,一定要按照启发性原则
- 某个界面的元素有多个问题,则一定要列出多个问题,不可只列出一个
- 至少遍历界面
2
次 - 但是也不要局限于 启发性原则, 因地适宜,比如评估 体感交互 ,则启发性原则,有的就不适用了。
这里面的话,可能和启发性评估的步骤有点矛盾,但这也是问题的本身因素,因为不可能有一种万金油,解决所有问题的步骤一样。世界安得双全法。
启发性评估的优缺点
优点:
- 不涉及用户,由专家模拟用户进行评估,受限制的因素较少。
- 不需要特殊的设备,也称为经验评估法
缺点:
- 启发式评估不是谁都可以来评估的,评估人员需要长时间学习训练,成为评估专家。
- 虚假警报,根据研究统计,每评估出
1
个真实的问题,就有1.2
个假的问题,还会忽略0.6
个问题。
同时评估专家,虽然模拟用户测试,但是他们毕竟不是真实的用户,是评估专家,会带有自己的经验之谈(偏见)来评估。
因此,为了缓解这种情况,建议多个专家一起评估,研究表明一般 5-12
个位最好。