软件工程:实践者的研究方法(第七版)_讲义_第十章 用户界面设计
软件工程研究方法

软件工程研究方法软件工程是指运用系统化、规范化和可量化的方法,对软件的开发、运行和维护进行管理的一门学科。
而软件工程的研究方法就是指进行软件工程研究时所采用的方法论和技术。
本文将介绍几种常用的软件工程研究方法,并探讨其在实际应用中的优势和局限性。
一、实证研究方法实证研究方法是一种以实证数据为基础的研究方法。
在软件工程研究中,实证研究方法被广泛应用于需求分析、软件测试、性能评估等领域。
研究人员通过收集、统计和分析实际数据,得出客观的结论和推断。
实证研究方法的优势在于其结果具有较高的可靠性和可重复性,能够提供实际应用的指导意见。
然而,实证研究方法也存在一些局限性,例如需要大量的数据样本和较长的研究周期,以及可能存在的样本偏差等问题。
二、实验研究方法实验研究方法是通过在实验环境中对软件系统进行设定和控制,来确定因果关系的一种研究方法。
在软件工程研究中,实验研究方法常用于软件开发过程中的效果对比、缺陷定位和性能评估等方面的研究。
研究人员通过设计和实施实验,收集相应的数据来验证假设并得出结论。
实验研究方法的优势在于可以精确控制变量,减少其他干扰因素对结果的影响。
然而,实验研究方法也存在一些限制,例如实验环境与实际应用场景的差异、实验结果的可推广性等问题。
三、案例研究方法案例研究方法是以实际案例为基础,进行深入分析和综合评估的一种研究方法。
在软件工程研究中,案例研究方法常用于软件架构设计、项目管理和软件质量评估等方面的研究。
研究人员通过详细调查研究对象,收集相关资料和数据,分析问题背景和解决方案,并从中提取出一般性的规律和原则。
案例研究方法的优势在于可以获取丰富的经验和实用知识,以及对复杂问题进行深入的探索。
然而,案例研究方法也存在一些挑战,例如案例选择的主观性、个别案例的特殊性等问题。
四、问卷调查方法问卷调查方法是通过设计和分发问卷,收集和分析受访者的意见和看法的一种研究方法。
在软件工程研究中,问卷调查方法常用于用户需求分析、用户体验评估和团队协作研究等方面。
软件工程实践者教材--概述

品相似的精神作品。与体力劳动相比,精神活动过程的特点是 “不可见性”,这大大增加了组织管理上的困难。
软件工程实践者教材--概述
社会对软件的要求
o 用户的需求更高、涉及的领域更广 o 软件运行环境更加庞大 o 软件更新换代更加频繁
n 实现预期的软件功能,达到较好的软件性能,满足用户 的需求。
n 增强软件过程可见性和可控性,保证软件的质量。 n 提高软件的可维护性,降低维护费用。 n 提高软件开发生产率,及时交付使用。 n 合理预算开发成本,付出较低的开发费用。
软件工程实践者教材--概述
1.3 软件工程发展简史
o 1968年在德国格密斯(Garmish)举行的 学术会议上,北大西洋公约组织(NATO) 正式提出了“软件工程”这一术语。软件工 程作为工程学科家族中的新成员,对软件产 业的形成和发展起了决定性作用,它指导人 们科学地开发软件,有效地管理软件项目, 对提高软件质量具有重要作用。
软件工程实践者教材--概述
•别墅的设计—设计图纸、施工图纸
软件工程实践者教材--概述
•设计和施工说明
软件工程实践者教材--概述
其他管理性文件
o 项目计划书 o 施工质量计划书 o 建设标准和规范 o 施工手册 o ……
软件工程实践者教材--概述
典型helloworld程序—太简单! 不要设计
o 90年代后期,软件工程的一个重要进展就是基于组件的开发方 法。为了提高软件生产力,尽可能地利用可复用组件来组装成 新的应用软件系统。到目前为止,组件技术的研究和发展形成 了新一代软件工程,即第三代软件工程,也有不少人称之为组 件工程。
软件工程实践教程

软件工程实践教程1. 引言软件工程是一门研究如何有效地开发和维护软件系统的学科。
它涉及到多种技术和方法,以确保软件项目能够按时、按需求、按质量要求完成。
本教程将介绍软件工程的实践方法和技巧,帮助读者更好地理解和应用软件工程的相关知识。
2. 软件工程概述2.1 软件工程定义软件工程是一种应用工程原理、方法和技术开发和维护高质量软件的学科。
它涉及软件开发的全过程,包括需求分析、设计、编码、测试和维护等环节。
2.2 软件工程的意义软件工程的出现是为了解决日益复杂的软件开发问题。
它帮助我们更好地组织软件开发过程,提高开发效率,降低开发成本。
软件工程还可以帮助我们管理软件项目,并确保软件产品的质量。
3. 软件开发流程软件开发流程是软件工程中最核心的内容之一。
它指导开发团队如何进行软件开发工作,包括需求分析、设计、编码、测试和维护等环节。
一个好的开发流程可以提高开发效率、降低错误率,并最终产生高质量的软件产品。
3.1 瀑布模型瀑布模型是最经典的软件开发流程模型之一。
它将软件开发过程划分为多个阶段,每个阶段都需要按照顺序完成。
它适用于那些需求比较稳定的项目,并且要求开发过程严格按照计划进行。
3.2 敏捷开发敏捷开发是一种迭代式开发方法。
它强调团队合作和以人为中心的开发方式,注重迭代开发和持续反馈。
敏捷开发适用于需求变化频繁的项目,能够快速响应需求变化,并及时发布高质量的软件。
4. 软件需求分析软件需求分析是软件工程中非常重要的环节。
它通过收集用户需求,明确软件系统的功能和性能要求,并将之转化为需求规格说明。
一个好的需求分析过程可以帮助开发团队充分理解用户需求,避免开发过程中的误解和偏差。
4.1 需求收集需求收集是软件需求分析的第一步。
它包括面对面访谈、问卷调查、原型设计等方式,以确保开发团队能够充分了解用户需求。
4.2 需求分析和规格说明需求分析阶段将用户需求转化为需求规格说明。
这一阶段需要定义软件系统的功能和性能要求,并确保规格说明的准确性和完整性。
软件工程实践者的研究方法

Data Abstraction
door
manufacturer model number type swing direction inserts lights weight opening mechanism
implemented as a data structure
8
Procedural Abstraction
data flow diagrams control-flow diagrams processing narratives
Co m p o n e n t L e v e l D e sig n
In t e rf a c e D e sig n
Analysis Model
A rc h it e c t u ra l D e sig n
D a t a / Cla ss D e sig n
Design Model
3
3 Characters of Design Quality
the design must implement all of the explicit(明确的) requirements contained in the analysis model, and it must accommodate all of the implicit(隐含的) requirements desired by the customer. the design must be a readable, understandable guide for those who generate code and for those who test and subsequently support the software. the design should provide a complete picture(全貌) of the software, addressing the data, functional, and behavioral domains from an implementation perspective.
《软件工程-实践者的研究方法》chapter_07.ppt

the design should provide a complete picture of the software, addressing the data, functional, and behavioral domains from an implementation perspective.
be ha v i or a l element s
state diagrams sequence diagrams
Com pone nt Le v e l De sign
Int e rfa c e De sign Arc hit e c t ura l De sign
D a t a / Cla ss D e sig n
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.
Design Model
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman.
软件工程-实践者的研究方法-精选文档

Co m p o n e n t L e v e l D e sig n
use-cases - text use-case diagrams activity diagrams swim lane diagrams
data flow diagrams control-flow diagrams processing narratives
2
Analysis Model => Design Model
Evaluation only. ted with Aspose.Slides for .NET 3.5 Client Profile 5.2 Copyright 2019-2019 Aspose Pty Ltd.
sc e n a r i o - b a se d e le me nt s f low- or ie nt e d e le me nt s
4
Quality Guidelines
Evaluation only. ted with Aspose.Slides for .NET 3.5 Client Profile 5.2 Copyright 2019-2019 Aspose Pty Ltd.
A design should exhibit an architecture that (1) has been created using recognizable architectural styles or patterns, (2) is composed of components that exhibit good design characteristics and (3) can be implemented in an evolutionary fashion A design should be modular; that is, the software should be logically partitioned into elements or subsystems A design should contain representations of data, architecture, interfaces, and components. A design should lead to data structures that are appropriate for the classes to be implemented. A design should lead to components that exhibit independent functional characteristics. A design should lead to interfaces that reduce the complexity of connections between components and with the external environment. A design should be derived using a repeatable method that is driven by information obtained during software requirements analysis. A design should be represented using a notation that effectively communicates its meaning.
软件工程实践者的研究方法第七版教学设计
软件工程实践者的研究方法第七版教学设计简介软件工程是一门实践性很强的学科,因此对于软件工程实践者来说,研究方法是非常重要的。
本教学设计旨在介绍软件工程实践者的研究方法第七版,其中包括教学目标、教学内容、教学方法和评估方法。
教学目标本教学设计的主要目标是:•了解软件工程实践者的研究方法第七版的基础知识;•掌握软件工程实践者的研究方法第七版的研究过程;•能够运用软件工程实践者的研究方法第七版进行研究工作;•能够分析和评价软件工程实践者的研究方法第七版的贡献和不足之处。
教学内容第一章概述•软件工程研究的概念、意义和发展历程;•软件工程实践者的研究方法概述;•第七版研究方法的特点和改进。
第二章研究过程•研究问题的确定;•研究设计的选择;•数据的收集和处理;•研究结果的分析和解释。
第三章研究设计•实验设计;•调查问卷设计;•个案研究设计;•非实验研究设计。
第四章数据收集和处理•数据收集的方法与技术;•数据处理的方法与技术。
第五章研究结果的分析和解释•数量分析方法;•质性分析方法;•综合分析方法。
第六章研究的报告•研究报告的特点;•研究报告的组织结构;•研究报告的写作技术。
教学方法为实现教学目标,采用下列教学方法:1.课堂讲授;2.案例分析;3.小组讨论;4.实践操作;5.作业完成;6.个人学习。
评估方法为全面评价学生的学习情况,本教学设计采用下列评估方法:1.课堂表现(20%):听课态度、积极参与、提问、回答问题等;2.作业报告(30%):独立完成作业,报告符合格式、技术含量、思路清晰、逻辑性强等;3.期末考试(50%):反映学生对所进行教学内容的理解和掌握情况。
结语软件工程实践者的研究方法是软件工程领域的一个研究热点,本教学设计致力于帮助学生了解和掌握该领域的最新研究方法和技术,以提高学生在软件工程研究实践中的能力和水平。
用户研究与界面设计方法实践培训ppt与应用 (2)
VS
详细描述
数据分析是一种基于数据的用户研究方法 ,通过收集和分析用户行为数据,如点击 流、浏览路径、搜索查询等,了解用户的 需求和行为模式。数据分析可以帮助我们 发现用户的潜在需求和行为特征,为产品 或服务的优化提供有力的数据支持。
02
CATALOGUE
行业交流与合作
本次培训为参与者提供了一个交流和合作的平台,大家可以互相学习、分享经验,共同推动用户研究和 界面设计领域的发展。未来可以继续加强行业交流与合作,共同推动行业的进步和发展。
THANKS
感谢观看
操作或数据泄露的界面。
满足用户需求
通过用户研究和测试,了解用 户的需求和期望,设计出符合
用户需求的界面。
美观性
总结词
美观性是指设计的界面 具有吸引力和美感,能 够给用户带来愉悦的视
觉体验。
色彩搭配
合理运用色彩搭配,使 界面更加和谐、美观。
排版设计
注重文字和图片的排版 设计,提高界面的可读
性和视觉效果。
合理规划界面的信息架构,使用户能够快速 找到所需内容,提高信息获取效率。
03
CATALOGUE
设计实践与案例
设计实践一:用户访谈与界面设计
总结词
通过与用户进行面对 面的交流,深入了解 用户需求和行为习惯 ,为界面设计提供有 力依据。
确定访谈对象
根据目标用户群体特 征,选择具有代表性 的访谈对象。
交互方式一致性
在用户与界面的交互过程中, 保持操作方式的一致性,如点 击、滑动等,降低用户的学习
成本。
可用性
01
02
03
04
总结词
可用性是指设计的界面能够被 用户高效、安全地使用,满足
2023年软件工程实践者的研究方法背诵知识点
软件旳定义:软件是:1)指令旳集合,通过执行这些指令可以满足预期旳特性、功能和性能需求;2)数据构造,使得程序可以充足运用信息;3)软件描述信息,以硬拷贝和虚拟形式存在,描述程序操作和使用。
软件与硬件旳区别:软件是设计开发旳;软件不会磨损;大多数软件是按需求定制旳。
IEEE定义:(1)将系统化、规范化、可量化旳措施应用于软件旳开发、运行和维护,即将工程化措施应用于软件;(2) 在(1)中所述措施旳研究。
软件工程旳层次:软件工程旳根基在于质量关注点。
软件工程旳基础是过程层。
过程将各个技术层次结合在一起,使得合理地、及时地开发计算机软件成为也许。
措施为构建软件提供技术上旳处理措施("怎样做")。
工具为过程和措施提供自动化或半自动化旳支持。
通用过程模型旳5种框架活动:沟通、筹划、建模、构建、布署8个经典旳普适性活动:软件项目跟踪与控制;风险管理;软件质量保证;技术评审;测量;软件配置管理;可复用管理;工作产品旳准备和生产软件神化:有关软件及其开发过程被人们盲目相信旳某些说法,它实际上误导了人们对软件开发旳态度。
螺旋模型:一种风险驱动型旳过程模型,一种演进式软件过程模型。
它结合了原型旳迭代性质和瀑布模型旳系统性和可控性特点。
具有迅速开发越来越完善软件版本旳潜力。
统一过程(UP):以用例为驱动、以系统架构为关键,迭代式增量式开发过程。
RUP包括起始、细化、构建、转换和生产5个阶段。
五个UP阶段并不是次序地进行,而是阶段性地并发进行。
成熟度级别:第0级:不完全级、1已执行级、2已管理级、3已定义级、4已定量管理级、5优化级软件生命周期:软件计划与可行性研究、需求分析、软件设计、编码、软件测试、运行与维护瀑布模型:一种系统旳、次序旳软件开发措施。
缺陷:实际项目开发中很少遵守瀑布模型提出旳次序;客户难以清晰旳描述所有旳需求;客户要等到开发周期旳晚期才能得到可执行旳程序;在线性过程旳开始和结束,轻易发生“阻塞状态”。
软件工程研究方法
软件工程研究方法软件工程研究方法是一种系统、科学的方法论,旨在指导科研人员在软件工程领域进行研究和开发。
它包含了一系列研究和开发过程中的规划、设计、实施和评估方法,以及技术工具和实践经验,为软件工程领域的研究人员提供了一种系统的和科学的方法来解决实际的问题。
软件工程研究方法可以分为三个主要的阶段:问题定义阶段、方法选择阶段和结果评估阶段。
在问题定义阶段,研究人员需要明确研究的目标和问题,并准确地描述研究的范围和约束条件。
在这个阶段,研究人员需要进行背景调研,了解已有的相关研究和解决方案,以及可能存在的问题和挑战。
然后,研究人员可以通过问题定义和目标设定的方式,明确研究的方向和目标。
在方法选择阶段,研究人员需要通过分析和评估不同的研究方法,选择合适的方法来解决研究问题。
在这个阶段,研究人员需要结合实际情况和研究目标,综合考虑不同的方法的适用性、可行性和效果,并选择最合适的方法。
选择方法时,研究人员可以参考已有的研究经验和相关文献,也可以参考领域专家的意见和建议。
在结果评估阶段,研究人员需要对研究方法的实施和结果进行评估和验证。
评估可以包括性能评估、功能测试、用户反馈等。
通过评估结果,研究人员可以判断所选择的方法是否有效,并对方法进行进一步的优化和改进。
在软件工程研究方法中,科学性和实用性是两个重要的原则。
科学性要求研究人员在研究过程中遵循科学的研究方法和原则,确保研究结果的可靠性和可验证性。
实用性要求研究人员的研究成果能够解决实际的问题和需求,对现实世界产生有用的影响和效果。
此外,软件工程研究方法还需要与实际的软件工程实践相结合。
软件工程实践是对软件开发过程的规范和指导,它包括软件需求分析、设计、编码、测试和维护等环节。
研究人员应该结合实际的软件开发项目,根据实际需求进行研究,不仅解决理论问题,也解决实际的需求。
总之,软件工程研究方法是一种系统、科学的方法论,旨在指导科研人员在软件工程领域进行研究和开发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户界面设计
用户界面设计首先要识别用户、任务和环境需 求。一旦用户任务被确定,则通过创建和分析用 户场景来定义一组用户界面对象和动作。这是创 建屏幕布局的基础。屏幕布局描述了图形设计和 图标位臵,描述性屏幕文本的定义,窗口的规格 说明和命名,以及主要的和次要的菜单项规格说 明。使用工具来开发原型并最终实现设计模型, 另外为了保证质量需要对结果进行评估。 创建用户场景,构建产品屏幕布局,以迭代的 方式开发和修改界面原型。 原型的开发是通过用户测试驱动的,测试驱动 的反馈将用于原型的下一次迭代修改。
任务分析和建模
任务分析的目标就是给出下列问题的答案:
在指定环境下用户将完成什么工作? 当用户工作时将完成什么任务和子任务? 在工作中用户将处理什么特殊的问题域对象? 工作任务的顺序如何——工作流程? 任务的层次关系如何?
任务分析和建模
用例:作为任务分析的一部分,设计用例用来显示最终 用户如何完成指定的相关工作任务。在大多数情况下, 用例采用第一人称以非正式形式来书写。 任务细化:任务分析可以采用两种方法来实现。为了理 解实现活动目标而必须完成的任务,工程师必须明白人 们当前所执行的任务,并且将这些任务映射到一组类似 的、在用户界面的环境中完成的任务集合上。另一种方 法是,工程师研究已有的基于计算机的解决方案的规格 说明,并且得到一个适应于用户模型、设计模型和系统 感觉的用户任务集合。 不管任务分析的整体方法如何,工程师必须首先定义和 划分任务。已经知道的一种方法就是逐步细化方法。
任务分析和建模
图10-2 处方再填写功能泳道图
任务分析和建模
层次表示。在界面分析时,会产生相应的 细化过程。一旦建立了工作流,为每个用 户类型都能定义一个任务层次。该任务层 次来自于为用户定义的每项任务的逐步细 化。
显示内容分析
对于现代应用问题,界面显示内容包括文 字报告、图形化显示,或者特殊形式的信 息。分析模型技术标识出由应用产生的输 出数据对象。这些数据对象可能:(1)由应 用系统其他部分构件生成;(2)由应用系统 所访问数据库中存储的数据获得;(3)从系 统外部传递到正在讨论的应用系统。
允许用户将当前任务放入有意义的环境中。很 多界面使用数十个屏幕图像来实现复杂的交互层 次。提供指示器帮助用户知道当前工作环境是十 分重要的。另外,用户应该能够确定他来自何处 以及存在什么途径转换到新任务。 在应用系统家族内保持一致性。一组应用系统 (或一套产品)都应实现相同的设计规则,以保 持所有交互的一致性。 如果过去的交互模型已经建立起了用户期望, 除非有不得已的理由,否则不要改变它。
用户界面分析和设计模型
整个系统的设计模型包括对软件的数据、体系结构、 界面和程序上的表示,需求规格说明可以建立一定 的约束来帮助定义系统的用户,但是界面的设计往 往是设计模型的附带结果。 用户的心理模型(系统感觉)是最终用户在脑海里对 系统产生的印象。 实现模型组合了计算机系统的外在表现(界面的感 觉),结合了所有用来描述系统语法和语义的支撑 信息。当系统实现模型和用户心理模型相一致的时 候,用户通常就会对软件感到很舒服,使用起来就 很有效。为了将这些模型融合起来,开发的设计模 型必须包含用户模型中的一些信息,实现模型必须 准确地反映界面的语法和语义信息。
软件工程
第10章 用户界面设计
主要内容
黄金规则 用户界面的分析与设计 界面分析 界面设计步骤 设计评估 小结
用户界面设计
用户界面(UI)设计在人与计算机之间搭 建了一个有效的交流媒介。遵循一系列的 界面设计原则,定义界面对象和界面动作, 然后创建构成用户界面原型基础的屏幕布 局。
任务分析和建模
对象细化:软件工程师这时不是着眼于用户必 须完成的任务,而是需要检查用例和来自用户的 其他信息,并且提取需要使用的物理对象。这些 对象可以被分为不同的类。每个类的属性都要被 定义下来,并且通过对每个对象上面动作的评估 为设计师提供了一个操作列表。用户界面分析模 型不能对任何一种操作都提供文字实现。然而, 随着设计的不断细化,每个操作的细节都将被定 义出来。
界面分析
所有软件工程过程模型的一个重要原则是: 在试图设计一个解决方案之前最好对问题 有更好的理解。在用户界面的设计中,理 解问题就意味着了解:(1)通过界面和系 统交互的人(最终用户);(2)最终用户为 完成工作要执行的任务;(3)作为界面的 一部分而显示的内容;(4)任务处理的环 境。
用户分析
每个用户对于软件都存在心理想像或者系 统感觉,而这可能与其他用户开发的心理 想像存在着差别。另外,用户的心理想像 可能与软件工程师的设计模型相距甚远。 设计师能够将得到的心理想像和设计模型 聚合在一起的唯一办法就是努力了解用户, 同时了解这些用户是如何使用系统的。为 了完成这个任务,可以利用从各种途径获 得的信息。
用户界面分析和设计过程
作为分析活动的一部分而收集的信息被用于创建界面的 分析模型。使用该模型作为基础,开始设计活动。 界面设计的目标是定义一组界面对象和动作,它们使得 用户能够以满足系统所定义的每个使用目标的方式完成 所有定义的任务。 正常情况下,构造活动始于创建可评估使用场景的原型。 随着迭代设计过程的继续,用户界面开发工具可用来完 成界面的构造。 确认着重于:(1)界面正确地实现每个用户任务的能力, 适应所有任务变更的能力以及达到所有一般用户需求的 能力;(2)界面容易使用和学习的程度;(3)用户把界面 作为其工作中有用工具的接受程度。 不需要在第一轮就试图刻画所有细节。后续的过程将细 化界面的任务细节、设计信息和运行特征。
用户分析
用户访谈:最直接的办法,访谈时要有软件团队的代表, 他们与最终用户的会面可以更好地让他们了解用户的需 求、动机、企业文化和其他的问题。可以是一对一的会 议方式,也可以是群体讨论的形式。 销售输入:销售人员与客户和用户定期见面,能够收集 到有助于软件团队对用户进行分类和更好理解用户需求 的信息。 市场输入:在市场部分的定义中,市场分析是非常重要 的,它提供了对市场每个部分使用软件的细微差别理解。 支持输入:技术支持人员与用户交谈,这使他们很容易 获得“应该做什么,不应该做什么,用户喜欢什么,不 喜欢什么,哪些特征会产生问题,哪些特征易于使用” 等问题的信息。
保持界面一致
用户应该以一致的方式展示和获取信息, 这意味着:(1)按照贯穿所有屏幕显示的 设计标准来组织可视信息;(2)将输入机 制约束到有限的集合,在整个应用中得到 一致地使用;(3)从任务到任务的导航机 制要一致地定义和实现。[MAN97]定义 了一组帮助保持界面一致性的设计原则。
保持界面一致
分析和设计用户界面时要考虑四种模型:
工程师建立用户模型; 软件工程师创建设计模型; 最终用户在脑海里对界面产生的映像,称为 用户的心理模型或系统感觉; 系统的实现者创建实现模型。
这4种模型可能会相差甚远,界面设 计人员的任务就是消解这些差距,导 出一致的界面表示。
用户界面分析和设计模型
用户界面的分析与设计
用户界面的分析和设计全过程始于创建不 同的系统功能模型(从外部看对系统的感 觉)。用以完成系统功能的任务被分为面 向人的和面向计算机的;考虑那些应用到 界面设计中的各种设计问题;各种工具被 用于建造原型并最终实现设计模型;最后 由最终用户从质量的角度对结果进行评估。
用户界面分析和设计模型
显示内容分析
在界面分析步骤中,要考虑内容的格式和美感。 要问和回答的问题包括:
不同类型的数据是否要放臵到屏幕上固定的位臵? 用户能否定制内容的屏幕位臵? 是否对所有内容赋予适当的屏幕标识? 为了便于理解,应如何划分长篇报告? 对于大集合的数据,是否存在直接移动到摘要信息的机制? 输出图形的大小是否需要适合所使用显示设备的限制? 如何使用颜色来增强理解? 出错信息和警告应如何呈现给用户?
用户模型确立了系统最终用户的轮廓。为了建 立有效的用户界面,“开始设计之前,必须对预 期用户加以了解,包括年龄、性别、身体状况、 教育、文化和种族背景、动机、目标以及性格“。 此外,用户可以分类为:
新手。对系统没有任何语法知识的了解,并且对应 用或计算机的一般用法几乎没有掌握什么语义知识。 对系统有部分了解的间歇用户。掌握适度的应用语 义知识,但对使用界面所必需的语法信息的了解还 比较少。 对系统有了解的经常用户。对应用有很好的语义知 识和语法了解,这些用户经常寻找捷径和简短的交 互模式。
任务分析和建模
工作流分析。当大量扮演着不同角色的用户使 用某一个用户界面时,有时候除了任务分析和对 象细化之外,还有必要进行工作流分析。该技术 使得软件工程师可以很好地理解在包含多个成员 (角色)时,一个工作过程是如何完成的。假如 某一个公司打算把处方药的开方和给药过程全部 自动化。全部过程将围绕着一个基于Web的应 用进行循环,医生、药剂师和病人等都可以访问 这个应用系统。用UML泳道图能够有效地表示工 作流。
用户界面设计
接口设计主要包括三个方面:(1)软件构件间 的接口设计;(2)软件与除人以外的其他非人类 信息生产者和消费者(比如其他外部实体)的接口 设计;(3)人与计算机间的界面设计。 如果对界面机制进行了良好的设计,用户可以 流畅、顺利地进行交互,使工作变得不费吹灰之 力。但如果界面设计得很糟糕,用户使用时断时 续、不流畅,最终的结果是,用户会感到很沮丧, 且工作效率很差。
减轻用户的记忆负担
用户必须记住的东西越多,和系统交互时 出错的可能性也就越大。只要可能,系统 应该“记住”有关的信息,并通过能够帮 助回忆的交互场景来帮助用户。[MAN97] 定义了一组设计原则,使得界面能够减少 用户的记忆负担。
减轻用户的记忆负担
减少对短期记忆的要求。当用户陷于复杂的 任务时,短期记忆的要求将会很大。界面的 设计应该尽量不要求记住过去的动作、输入 和结果。 建立有意义的缺省。初始的缺省集合应该对 一般的用户有意义。“reset”选项应该是可 用的,使得可以重新定义初始缺省值。 定义直观的快捷方式。当使用助记符来完成 系统功能时,助记符应该以容易记忆的方式 联系到相关动作。 界面的视觉布局应该基于真实世界的象征。 以不断进展的方式揭示信息。界面应该以层 次化方式进行组织。