软件工程——第八章 用户界面设计(一)

来源:互联网 发布:软件新技术有哪些 编辑:程序博客网 时间:2024/05/01 20:11

第八章 用户界面设计

主要内容:

用户界面应具备的特性

用户界面设计的任务分析

用户界面任务和工作设计

界面设计的基本类型

数据输入界面设计

数据显示界面设计

控制界面的设计

用户界面应具备的特征

可使用性

灵活性

复杂性和可靠性

用户界面设计的任务分析

这一部分工作应与软件系统的需求分析同步进行。它主要包括:

用户特征分析

用户工作分析

记录有关系统的概念和术语

确定界面类型

用户特性分析

用户界面是适应人的需要而建立的,因此,首先要弄清将要使用这个界面的用户类型。

用户特性分析的目的是要详细了解所有用户的技能和经验,以便能够预测用户对不同界面设计会做出什么反应,这样在更改界面时,就能做出正确的判断。

用户类型

外行型、初学型、熟练型、专家型

用户特性度量

用户特性的度量与用户使用模式及观测到的用户群体能力有关。

1、 用户使用的频度

2、 用户是否能够自由选用界面

3、 用户对计算机的熟悉程度

4、 用户知识

5、 用户思维能力

6、 用户的生理能力和技能

用户工作分析

用户工作分析,也称为任务分析。它是系统内部活动的分解。

用户工作分析与需求分析中结构化分析的方法类似,采用自顶向下,逐步进行功能分解。

与常规的功能分解不同的是,所有的系统任务,包括与人相关的活动,都要考虑在内。

系统的功能分解,可以用数据流图和数据词典描述。

任务可以由一组动作构成,它们规定了为实现这个任务所必须的一系列活动。

任务的细节可以使用结构化语言来表达。它描述了动作完成的序列及在完成动作时的所有例外情况。

用户模型和观点

建立用户的思维模型,是为了帮助建立设计者界面模型。

理论认知模型

用户知识模型

用户特征模型

用户任务模型

用户观点

1、 理论认知模型

2、 用户知识模型

这种模型描述了一定范畴内的知识以及类型之间的联系。

模型借助各个用户的知识来建立,用遍历知识网络的方法来评价用户如何学习。

3、 用户特性模型

这些模型主要依据在用户特性分析所描述的技能和能力对用户进行分类,它们也被称为用户外观。

4、 用户任务模型

这种模型根据用户要求中提出的任务的功能和操作次序,构想该任务的概念。

通过它,可以了解用户知道多少有关系统操作的知识,用户期望系统应当如何工作等等。

5、用户观点

指系统结构的用户模型。是用户描述和设想现行系统结构的方法。

它可以用图形化的方式表示,也可以用语言方式表示。

任务模型

任务模型包括静态的和动态的两种。

系统的静态模型就是对象—关系模型,用于展现界面的结构设计;

系统的动态模型是对系统操作或与会话设计有关的对象的动态行为的描述。

用户界面任务和工作设计

任务和工作设计的目的在于创造用户的工作环境。

通常,任务应组织得多样化一些,要与人的能力相适应。

任务分配

在每个任务中,动作要分配给计算机、用户或者二者。

一般的,用户承担需要创造、判断和探索的任务,而计算机承担重复检查、计算和数据处理的任务。

任务分配产生两个网络。一个是人的任务网络,一个是计算机的任务网络。

人的任务网络说明如何安装、操作和使用系统,它最后将形成操作过程和用户手册的基础。

计算机的任务网络则描述计算机应当担负的工作。

任务分配步骤

检查数据流图,标出哪些是单独由计算机完成的任务、哪些是单独由人完成的任务、哪些是由两者共同完成的任务。

对于共同完成的任务,将任务的每一个动作非配给计算机或人。

构成新的计算机的任务网络和人的任务网络。

再进一步细化计算机与人的协同动作,以确定人和计算机如何交互。

工作方式和工作设计

工作设计的目的是使任务需求与操作员的能力相匹配。

在界面设计中关于人的因素特性的简单的度量如下:复杂性、专心程度、责任心、变化性。

工作方式

1、 由一个人单独完成一个系统的目标

2、 任务进展跟踪。

界面设计的基本类型

界面设计类型

在选用界面形式的时候,应当考虑每种类型的优点和限制,从以下几个方面来考虑,进行抉择:使用的难易程度、学习的难易程度、操作速度、复杂程度、控制和开发的难易程度。

通常,一个界面的设计使用了一种以上的设计类型,每种类型与一个或一组任务相匹配。

菜单(Menu)界面的设计

菜单是由系统预先设置好的,显示于屏幕上的一组或几组可供用户选用的命令。按照显示的形象或样式来分类。

正文菜单

正文菜单实质上是系统命令本身或者是其简写形式。

简单的正文菜单的设置与选取方式:

1、 首字符匹配方式

2、 序号匹配方式

3、 亮条匹配方式

图标菜单

图标菜单,简称图标,是安置在一个小方框之中的衣服象形的或表意的图画。

正文和图标混合的菜单

这种菜单基本上还是正文式的。从屏幕上看,它还是由字符串构成。

1层—子系统层,这一层菜单在水平方向排成一行,安放于品目的上沿或下沿。

2层—当用户挑选了某一个操作类时,屏幕上将按垂直方向显示这组操作类的名称。

对话

有三种对话形式:

必须回答式:必须回答式的对话在屏幕上出现时,用户必须给予回答,否则系统不再做任何其他工作。

无需回答式:这类对话在屏幕上的出现,仅仅是为了告诉用户一些参考信息,不需要用户回答。

警告式:这类对话主要用于系统报错或者警告。

问题描述语言POLProblem Oriented Language

任务层、语义层、语法层、交互层。

任务层:

一个任务可以自顶向下分解成由子任务构成的树形结构,每个任务和它们的动作用带有注释和约束的结构化格式来描述。

各个任务涉及的对象叫做实体,而动作即是施加于其上的。

语义层:

POL描述概念实体和实现任务所需的运算。概念实体可以是抽象的概念,例如某种联系,也可以是具体的对象,例如某个消息。系统本身由实体的集合组成,而操作知识于某个对象相联系。

语法层:

将操作和方法定义成命令。这些命令是由用户来使用的。命令由语义操作建立,并具有上下文关系。通过上下文关系,利用显示、命令或状态变量,就可以描述整个系统、

交互层

POL的文法有终极符(自定义的不能再分的)和由终极符组成的非中极富。终极符为

W-When(时态规格说明原语)

P-Prompt(原始系统动作:提示)

R-Respose(原始系统动作:响应)

A-Action(原始用户动作:击键)

这些终极符可组成非终极符结构。

窗口(window

窗口是指屏幕上的一个矩形区域,在图形学中叫做视图区(viewport

用户可以通过窗口显示、观察其工作领域内的内部或一部分内容,并可以对所显示的内容进行各种系统预先规定好的正文和图形操作。

在用户界面,为了能够通过窗口看到整个用户空间的全貌,一个简单的办法就是让窗口在用户空间滚动,即所谓屏幕滚动。

事实上,窗口本身并不属于用户空间,它仅仅是用于观察、组织用户空间的内容,并对其进行操作的用户接口工具。

数据输入界面设计

数据输入是指所有供计算机处理的数据的输入。数据输入界面是系统的一个重要著称部分,它常占用户的极大部分使用时间。

数据输入的规则

数据输入界面的目标是尽量简化用户的工作,并尽可能的减少输入的出错率。

在软件设计的范围,可以通过以下方法来减少用户的工作量。

对共同的输入内容设置默认值(缺省值)

使用代码和缩写。

填入已输入过的内容或需要重复输入的内容。

如果输入内容是来自一个有限的备选集,可以采用列表选择或指点方式。

数据输入屏幕应当设计成尽量与输入格式相匹配。

数据内容应当根据它们的使用频率,或它们的重要性,或它们的输入次序进行组织。数据输入对话设计的一般规则。

明确的输入、明确的动作、明确的取消、确认删除、提供反馈、允许编辑、提供复原(Undo)、自动格式化。

输入表格设计

数据表格设计是对较复杂的数据录入时是用的最广泛的一种对话类型。

这种方法是在屏幕上显示一张表格,类似于用户熟悉的填表格式,以供用户向计算机内输入数据。

数据表格设计的规格

数据验证

数据验证是要检查是否所有必须的项目都已填充,数据输入是否正确,是否合理。

出错验证可能得到以下三种结果:

致命错误:引起处理混乱的错误。此时,用户要么重新输入一个正确的数据,要么退出输入,不允许是它做法。

警告:由很不可信的数据引起的错误。

建立:由不大可信的数据引起的错误。

屏幕设计

通常把屏幕划分为数据输入、命令与出错处理三个区域。

在屏幕设计时,应注意以下几点:

应用不同的底色来区别各个区域。

报信:

在报信时所用的行文应当报告错误出在何处,是什么错误,为什么错了,以及要修改错误应当采取什么措施。

其它数据输入的方法:

它们分为两类,一类是用菜单或关键词进行软件设计,另一类使用硬件来自动完成全部或部分数据输入任务。

菜单选择输入

如果数据从一个确定的可供选择的清单选取输入,则可用菜单方式。

关键词数据输入

关键词数据输入比菜单选择数据输入更快速、更有效。并可以以不同的顺序输入,允许更复杂的文件输入。

光学标记/识别(OMR

光学字符识别(OCR

磁性墨水字符识别(MICR

条形码(Bar Code

声音数据输入

数据显示界面设计

数据显示界面包括屏幕查询、文件浏览、图形显示和报告。

数据显示的规则

进行数据输出显示设计,应当了解数据显示的要求,解决应该显示哪些数据,屏幕上一次显示多少信息的问题。

选择显示内容,应当考虑以下准则。(只显示必需的数据、在一起使用的数据应显示在一起、显示出的数据应与用户执行的任务有关、每一凭数据的数量,包括标题,栏题等等,不应超过整个屏幕面积的30%。)

显示设计要使得相关的数据承租的出现,并由用户与系统的会话来控制。

可根据屏幕的大小,是每帧屏幕包含若干个子区域,让每个子区域显示不同的信息。

进行屏幕布局时,还需要考虑其它一些规则。

应尽量少使用代码和缩写,不应让读者去翻译或猜测这些代码或缩写。

如果安排了若干个显示画面,最好建立一个统一的格式。

提供明了的标题。栏题以及其它提示信息。

遵循用户的习惯。

采用颜色、字符大小、下划线或不同的字体等方式来强化重要数据。

字符数据的显示

字符数据的画面显示主要是屏幕布置和数据内容安排格式,以便于用户查找和阅读的问题。

纯正文的显示

英文正文中应避免连续使用大写字母,大写字母应使用印刷体,且一般为强调而使用。

列表和表格

数据列表应当竖排而不应横排,因为这样有助于计算总和。栏题应当安排在数据列之上。

控制显示

用户应当拥有一种获得不同显示画面的灵活的手段。

图形显示

由于图形从数据集合中概括出某些特性并且具有“直观”的优点。因此对于识别和分析处理结果更有效。为了做好图形显示,必须仔细地选择图形类型和进行布局设计。

图形类型与数据集分类

在一定程度上,图形类型的选择是有限的,因为它是根据类型来决定的。

报告

报告是输出字符的一个子集,它的功能可以是从一个系统向另一个系统传递信息;也可以是某一系统的总结;还可以是一个历史文献、简单的列表等等。报告可以归为四类:文宗报告、信息报告、历史和档案报告、浏览报告。

布局设计

报告有三种布局设计

1、 列表适用于记录信息的简单罗列,浏览报告和档案报告即属于这一类;

2、 块结构是用行、列和总计等形式来组织数据,信息报告就属于这一类。

3、 分组结构则在快内进一步做更复杂的成组的信息布局,文宗报告一般属于此类。

列表报告

1、 数据通常以尽量格式给出,数据按记录规定格式成行打印。

2、 各页应加页号。

3、 如果列表中的数据以某种顺序排列或分类,在各分类的组间应加空行,使结构更清楚。

4、 数据域应分列安排并加上栏题。

块结构报告

在报告中信息分块,各块按设计要求顺序排列。

可变项应安排在报告右边的列中,以免显得凌乱。

信息块应当用空格分开。

在信息块顶部的左侧应加上题头。

若有总计数字,必须紧跟在于其有关的数据后面安排。

组结构报告

可以利用通常的报告设计的规则来设计组的内容和数据的布局顺序。

信息组应以空格分隔开,或者是用方框或背景来分隔,应避免使用过多的分隔符。

报告的标题应句中安排。特别对于文宗报告,在报告的右上角应使用清晰而唯一的代码对报告进行标识或索引。

具体布局

1、 应检查数据内容的类型和格式,以确定它所需的打印字符的数目。

2、 字符左侧对齐,数字右侧对齐,有小数点则对齐小数点。(标题应安排在列的正中。可用粗体字、不同的字体、下划线或不同的色彩等来强调重要的部分。给每页加页码和名称。每次要给报告加上日期和时间。当一切细节设计好之后,不能忘记征求用户的意见。)

控制界面的设计

设计控制界面的主要目的是让用户能够主动的控制计算机上软件系统的工作,使得用户能够很容易的访问计算机的各种设备。

用控制对话选择操作命令

控制对话可以是简单的问答形式,系统提出是否需要某个操作,然后用户以Y/N的方式回答。

软件的质量保证

主要内容:

质量保证的概念

软件质量保证的主要任务

质量保证与检验

软件质量保证体系

质量保证的实施

软件的质量设计

质量保证的概念

什么事质量保证,它是为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动。

质量保证是面向消费者的活动,是为了使产品实现用户要求的功能,站在用户立场上来掌握产品质量的。

软件的质量保证就是向用户及社会提供满意的高质量的产品。

软件质量保证的主要任务

为了提高软件的质量和软件的生产率,软件质量保证的主要任务大致可归结为8点。

1、 用户要求定义

2、 力争不重复劳动

3、 掌握开发新软件的方法

4、 组织外部力量协作的方法

5、 排除无效劳动

6、 发挥每个开发者的能力

7、 提高软件开发的工程能力

8、 提高计划和管理质量能力

质量检验的原则

用户要求的是产品所具有的功能,这是“真质量”。靠质量检验,一般检查的是“真质量”的质量特性。

能靠质量检验的质量特性,即使全检验,也只是代表产品的部分质量特性。

软件质量保证体系

软件的质量保证活动,是设计各个部门的部门间的活动。

软件质量保证规程和技术准则

规定在项目的哪个阶段进行评审及如何评审;

规定在项目的哪个阶段应当产生哪些报告和计划;

规定产品各方面测试应达到的水平。

在每次评审和测试中发现的错误如何修正。

质量保证的实施

软件质量保证的实施需要从纵向和横向两个方面展开。(要求所有与软件生存期有关的人员都要参加。要求对产品形成的全过程进行质量管理)

质量目标与度量

为了开发高质量的软件,需要明确软件的功能,明确软件应达到什么样的质量标准,及质量目标。

为了达到这个目标,在开发过程中的各个阶段进行检查和评价。

在做质量评价时,需要有对质量进行度量的准则和方法。

320

软件质量度量和保证的条件

适应性、易学性、可靠性、针对性、客观性,质量经济性。

保证活动的实施步骤:

Target:以用户要求和开发方针为依据,对质量需求准则、质量设计准则的各质量特性特性设定质量目标。

Plan:设定适合于被开发软件的评测检查项目(质量评价准则)。研讨实现质量目标的方法或手段。

Do:制作高质量的规格说明和程序。在接受质量检测前先做自我检查。

Check:以Plan阶段设定的质量评价准则进行评价。计算结果用质量图的形式表示出来。

Action:对评价发现的问题进行改进活动,如果实现并达到了质量目标就转入下一个工程阶段。这样重复“Plan”到“Action”的过程,直到整个开发项目完成。

软件可靠性

软件生存期与软件寿命的关系

在软件工程中常用的定义

软件可靠性定义

测试中的可靠性分析

测试精确度和测试覆盖度的评价

软件生存期与软件寿命的关系

一切有生命的东西都有一个“寿命”,从软件工程的角度来说,软件产品的寿命是指软件的整个生存期。

从软件用户的角度来看,更关心的是软件在交付使用后的情况如何。

希望用一个指标平均失效间隔时间MTBFMeanTime Between Failure)来说明,在规定的要求和条件下,能在多大的程度上依赖这个软件来完成任务。

在软件工程中常用的定义

故障(fault)、错误(error)、失效(failure

软件故障产生原因

支持软件工作的基本条件(除硬件外的操作系统、数据库管理系统、编译程序、微代码等)的缺陷。

软件设计不当

加入了允许范围之外的输入

软件可靠性的定义

软件可靠性是软件在给定的时间间隔及给定的环境条件下,按设计要求,成功的运行程序的概率。

测试中的可靠性分析

在软件开发的过程中,利用测试的统计数据,估计软件的可靠性,以控制软件的质量是至关重要的。

推测错误的产生频度,即推测错误产生的时间间隔

推测残留在程序中的错误数

评价测试的精确度和覆盖率

推测错误的产生频率

估计错误产生频度的一种方法是估计平均失效等待时间MTTFMean Time To Failure

MTTF故居公式(Shooman模型)

E(t)=ET(1-e-K*t)

估计软件中故障总数ET的方法

利用Shooman模型估算程序中原来错误总量ET瞬间估计