




已阅读5页,还剩55页未读, 继续免费阅读
(计算机软件与理论专业论文)基于用例的用户界面原型设计研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于用例的用户界面原型设计研究 摘要 随着现代软件开发技术的发展,需求工程越来越多的受到人们的重视。需求捕 获作为需求工程中的重要部分也得到了很大的发展。用例和界面原型技术是需求工 程中比较流行的技术。然而从用例到界面原型的生成过程依然不是很清晰,也是很 耗时的工作,并且在应用需求工程的过程中,这两项技术也缺少有效的集成。 本文在对用户界面需求描述方法和用例结构深入分析的基础上,在基本用例的 基础上引入交互块的概念,使基本用例中包含有详述用户与系统间交互的结构化机 制,为界面设计人员能够开发满足用户要求的界面提供支持。分析用例中交互过程 的内在逻辑,使用m v c 模式和扩展的u m l 交互图建立了交互过程设计模型,构造 了基于交互块的用户界面原型层次结构。最后将交互模型设计元素与j a v ag u i 界面 元素建立联系,并应用实例详细说明界面原型的具体生成过程。重点研究了如何更 加快速有效的从用例生成用户界面原型的方法以及交互过程的分析和设计。 文章的目标是从早期的系统模型自动或半自动的产生可执行的用户界面原型, 来帮助需求的获取和验证。实现了界面原型生成的部分自动化,所建立的交互过程 模型为基于用例的界面原型自动生成提供了更为有效的支持。 硕士研究生任兴来( 计算机软件与理论) 指导教师魏长江教授 关键词:用例;需求工程;交互过程;用户界面原型 r e s e a r c ho fu s e ri n t e r f a c ep r o t o t y p eg e n e r a t i o nb a s e do nu s ec a s e a b s t r a c t a l o n gw i t ht h ed e v e l o p m e n to fm o d e r ns o f t w a r et e c h n o l o g y ,r e q u i r e m e n te n g i n e e r i n gh a s a t t r a c t e dm o r ea n dm o r ea t t e n t i o no fp e o p l ea n dr e q u i r e m e n tc a p t u r i n ga st h em o s ti m p o r t a n tp a r to f r e q u i r e m e n te n g i n e e r i n gw a sa l s od e v e l o p e dr a p i d l yd u r i n gt h et i m e u s ec a s ea n du s e ri n t e r f a c e p r o t o t y p i n ga r er e l a t i v e l yp o p u l a rt e c h n i q u e si nr e q u i r e m e n te n g i n e e r i n g y e t ,t h et r a n s i t i o nf r o mu s e c a s et ot h eg e n e r a t i o no fu ip r o t o t y p ei ss t i l li l l - d e f i n e da n de s s e n t i a l l yam a n u a la n dt i m e - c o n s u m i n g t a s k i na d d i t i o n ,t h e s et w o t e c h n i q u e sl a c k e f f e c t i v ei n t e g r a t i o ni nt h eo v e r a l lr e q u i r e m e n t e n g i n e e r i n g t h eb a s i cw o r ko ft h i sp a p e ri st h ed e e p l ya n a l y s i so fu s e ri n t e r f a c er e q u i r e m e n td e s c r i p t i o na n d u s ec a s es t r u c t u r e i no r d e rt op r o v i d es u p p o r tt ot h eu s e ri n t e r f a c ed e s i g n e rf o rd e v e l o p i n gu s e r i n t e r f a c et h a tm e e t su s e r s r e q u i r e m e n t s ,w ei n t r o d u c et h ec o n c e p to fi n t e r a c t i o nb l o c k st h a ti n c l u d e s m e c h a n i s m sf o r s t r u c t u r i n gt h eb a s i c u s e - c a s e sw i t hr e g a r dt o u s e r - s y s t e mi n t e r a c t i o n a f t e r a n a l y z i n gt h ei n t e r n a ll o g i co fi n t e r a c t i o nb l o c k s ,w eb u i l dt h ei n t e r a c t i o np r o c e s sd e s i g nm o d e lb y u s i n gm v cp a t t e r na n de x t e n d e du m lc o m m u n i c a t i o nd i a g r a m sa n dc o n s t r u c tu s e ri n t e r f a c e h i e r a r c h i c a lm o d e lb a s e do nt h e m l a s t l y , w es e tu pt h ec o r r e s p o n d i n gr e l a t i o n s h i pb e t w e e nt h e e l e m e n t so fd e s i g nm o d e la n dj a v ag u i ,a n de l a b o r a t eo nt h ep r o c e s so fu s e ri n t e r f a c ep r o t o t y p e g e n e r a t i o nt h r o u g ha ne x a m p l e w em a i n l yf o c u so nt h ea n a l y s i sa n dd e s i g no fi n t e r a c t i v ep r o c e s sa n d t h em e t h o dt og e n e r a t eu s e ri n t e r f a c ep r o t o t y p em o r ee f f e c t i v e t h em a i ng o a lo fo u rw o r ki st og e n e r a t eu s e ri n t e r f a c ep r o t o t y p ef r o mu s ec a s em o d e li na n a u t o m a t e do rs e m i a u t o m a t i cw a y , a n db ye x e c u t i n gt h eu s e ri n t e r f a c ep r o t o t y p e s ,w ec a nv a l i d a t ea n d d e r i v eu s e rr e q u i r e m e n t s w ea c h i e v et h eg e n e r a t i o no fu s e ri n t e r f a c ep r o t o t y p ei nas e m i a u t o m a t i c w a yf o l l o w i n gt h em e t h o dp r e s e n t e di nt h ep a p e r t h ei n t e r a c t i o np r o c e s sm o d e lb u i l ti nt h i sp a p e rc a n p r o v i d e am o r ee f f e c t i v ew a yt og e n e r a t eu if r o mu s ec a s ea u t o m a t i c a l l y p o s t g r a d u a t es t u d e n t :x i n g - l a ir e n ( c o m p u t e rs o f t w a r e & t h e o r y ) d i r e c t e db yp r o f e s s o r :c h a n g - j i a n gw e i k e yw o r d s :u s ec a s e ;r e q u i r e m e n te n g i n e e r i n g ;i n t e r a c t i o np r o c e s s ;u ip r o t o t y p e 学位论文独创性声明、学位论文知识产权权属声明 学位论文独创性声明 本人声明,所呈交的学位论文系本人在导师指导下独立完成的研究成果。文中 依法引用他人的成果,均已做出明确标注或得到许可。论文内容未包含法律意义上 已属于他人的任何形式的研究成果,也不包含本人已用于其他学位申请的论文或成 果。 本人如违反上述声明,愿意承担由此引发的一切责任和后果。 论文作者签名:1 罗、袭 日期:z n ,年r 月f 3 日 学位论文知识产权权属声明 本人在导师指导下所完成的学位论文及相关的职务作品,知识产权归属学校。 学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权利。本人离校 后发表或使用学位论文或与该论文直接相关的学术论文或成果时,署名单位仍然为 青岛大学。 本学位论文属于: 保密口,在年解密后适用于本声明。 不保密嘶 ( 请在以上方框内打“4 ”) 论文作者签名: 侈罗、粜 日期:p 吁年r 月i 。日 导师签名: 瑚渺l v日期:切衫年岁月i o 日 ( 本声明的版权归青岛大学所有,未经许可,任何单位及任何个人不得擅自使用) 5 8 第一章引言 1 1 研究背景和意义 第一章引言 计算机发展历史,不仅是计算机本身处理速度、存储容量飞速提高的历史,而 且也是不断改善计算机用户界面的历史。由于用户界面直接关系到人们的使用效果, 因此在软件系统的开发中占有非常重要的地位【。从用户使用系统的角度看,界面 就是整个软件系统的主要构成。用户对于软件系统的使用以及软件系统为用户提供 的各种服务功能,大多通过界面来体现。 目前软件的趋势是朝着更庞大、更复杂的系统发展,软件的需求也就变得越来 越复杂1 2 l 。在软件开发的早期阶段,开发人员往往很难得到一个正确的、可以满足 顾客需要的软件需求。此外,在现代的各种软件工程方法中,软件开发过程往往是 迭代和增量的1 3 j ,那种试图一次性全面了解用户对于软件系统需求的做法也显然己 经不能满足软件开发的要求。很多情况下,这是由于缺乏用户的参与或由用户与开 发团队之间交流的鸿沟造成的。因此在软件分析设计过程中,需要有一种直观有效 的手段与用户交互,让用户尽早的参与到项目中来,从而可以从需求的角度对软件 的分析设计做出验证,可以在将太多时间与资源投入开发活动之前,确保所构建的 系统是正确的,避免出现大的偏差。 用户界面原型方法很好的解决了上面的问题。开发人员根据用户需求把用户界 面快速开发制作为用户界面模拟图,以可视化的形式展现给用户,及时征求用户意 见,从而明确无误地确定用户需求。此外,开发出来的原型本身可以作为下一步开 发的基础,增量式地完成系统的用户界面设计1 4 】。构建一个界面原型,通常不去考 虑它的运行效率,也不考虑软件系统的健壮性以及出错处理等等,它的目的只是为 了实际描述概念中的结构,使用户能够检测与其概念的一致性和概念的可用性。它 是一种非常高效的方法,一方面,通过软件快速原型,使得顾客对待开发的软件系 统有较直观的认识,这样可以填补软件设计者与用户之间对需求理解的差异;另一 方面,使得在需求分析和设计阶段,就可能把一些潜在的错误暴露出来,使得软件 设计者可以更正原先存在错误的软件需求,正如前面提到的,早期错误检测对于项 目来说可减少大量的成本。 用例技术的出现为软件需求的获取和描述提供了有效的方法。自1 9 9 2 年用例被 j a c o b s o n 5 j 提出且又被吸收到u m l 中以来,凭借简单的图形符号和接近自然语言的 规格描述来获取系统与不同用户进行交互的情况,用例得到了业界广泛的接受和大 规模的应用。它不仅普遍用于捕获软件系统的需求,还能够驱动整个软件开发过程, 缩小了用户、需求分析人员和开发人员之间的差距,使得软件的生产效率得到了大 青岛大学硕士学位论文 幅度的提高 6 1 。由于用例描述了系统用户与系统之间的交互,因此用例和用户界面 之间存在很自然的相互关系【7 1 。对于用户界面设计者来说,用例已成为理解用户需 求和引导界面设计的有力工具嗍。统一软件开发过程( r u p ) 6 9 l 彳艮好的将用例和用户 界面原型结合在一起。在r u p 中,用户界面的设计主要包括两个阶段:用户界面建 模和构造用户界面原型。用例模型是这两个活动的主要输入。在整个设计的过程中, 包含了大量重复的界面开发工作,并且这些工作都是有手工来完成,无疑增加了开 发人员的工作量。最近虽然用户界面原型工具如i n t e r f a c eb u i l d e r 和u i 管理系统都 有了很大的改进,但用户界面的开发仍然是一个费时的工作,因为必须手动的建立 每一个u i 对象,并准确的安置它们,而且每一个对话规格说明还需要通过编程或专 门的语言来进行添加,并且连接u i 原型和应用领域仍然是一件费时的工作,因为它 完全是手工的。 由此可见,在需求分析阶段提供对用户界面需求进行描述并能够快速、直观和 完整的构造出用户界面原型的自动化工具仍然是软件设计中亟待解决的问题之一。 开展对从用例中生成用户界面原型的研究具有重要的应用前景和理论价值,所开发 出的原型不仅有助于系统需求的抽取和验证,还为后续的用户界面开发提供基础。 此外,快速有效的生成界面也能够大大的减轻开发人员的工作量,缩短其开发时间。 因此,深入研究从用例生成界面的方法和过程,对提高开发人员的工作效率和提高 软件的质量都具有十分重要的意义。 1 2 国内外研究现状 在软件工程的研究中,体系结构和软件自动化受到了广泛关注,并在应用技术 上获得了很大发展。例如,数据库工具可以根据可视的e r 模型或面向对象模型自 动生成数据表和基本的操作。许多设计环境都提供了依据数据结构生成报表或用户 界面的支持。比较有代表性的基于数据结构来自动生成用户界面的方法有:j o h na k o n g l a t i o n b o j 提出的从应用程序代码中的数据结构入手,选择用户界面的要素来生成 用户界面。v a d i me n g e l s o n 提出的基于数据结构的交互式界面生成方法【l l l 。还有提 出从内部视图来生成用户界面的【1 2 1 。 基于形式化语法和规范语言的界面生成方法应用也较广泛,如1 9 8 8 年m l s c o t 和s ky a p 就己经在研究以基于语法【1 3 j 的方法来自动生成用户界面。r j k j a c o b 提出过用b n f 定义用户界面【1 4 l ;朱军等f 1 5 l 提出过采用形式语言 l o t o s ( l a n g u a g eo ft e m p o r a lo r d e r i n gs p e c i f i c a t i o n ) 和a c t l ( a c t i o nb a s e dt e m p o r a l l o g i c a l ) 描述,建立了基于u i o ( u s e ri n t e r f a c eo b j e c t ) 的界面模型。 近几年来,随着模型驱动体系结构( m d a ) 1 1 6 】在软件工程领域研究和应用的逐渐 升温,越来越多的有关人机交互和用户界面的研究者开始逐渐把目光投向m d a ,探 2 第一章引言 索将模型驱动的思想引入到用户界面的自动生成的相关研究中,取得了不少有益的 成果。各种各样有关基于模型的用户界面自动生成的概念和理论不断涌现,有些还 设计开发实现了相关的工具和原型系统。 在基于模型的界面开发方法中,用户界面依据陈述模型自动生成。陈述模型描 述了用户需要执行的任务,界面显示的内容、结构和布局,界面显示元素在用户任 务执行中所起的作用。基于模型的工具以其强大的功能成为最有前途的交互界面开 发工具,成为交互界面构造研究的最新热点。比较有代表性的如v e s u f i r 7 1 ,整合了不 同抽象层次的陈述性模型如任务模型、域模型,采用了对模型的解释结构,在高抽 象层次上使用基于u m l 的标准描述方法和u i m l 标准符号,隔离了对底层运行平 台的描述,并提供了相应的开发方法和支持技术。f a b i op a t e m o 等人提出了基于图 形符号的c o n c l l r t a s k t r e e s ( a m 任务模型表示法1 1 8 】,一些基于c o n c u r t a s k t r e e s 任 务模型的用户界面生成方法和原型系统也相继出现,其中包括g i u l i om o r i ,f a b i o p a t e r n o ,c a r m e ns a n t o r o 等人设计实现的c t r e i e r e s a 系统i l 引,t i mc l e r c k x 等人提 出的d y g i m e s l 2 0 j 原型系统等等。国内目前基于模型的工具典型的有基于蹦p 的界面 模型技术f 2 1 l 。 现在用于界面生成的大多数方法都需要有界面模型的详述规约,比如p i n h e i r o d as i l v a 所采用的方法【勿。尽管一些研究者使用u m l 图来对交互式系统进行建模【2 3 1 , 然而他们仍然需要用户界面的完整详述规约。m a r t i n e ze ta 1 介绍了一种从业务过程 模型来生成用户界面的方法【川。他们的方法是首先从业务过程模型中抽取出用例和 参与者,然后对于每个用例的正常和异常场景使用m s c ( m e s s a g es e q u e n c ec h a r t s ) 进行描述,并且在m s c 中加入丰富的与u i 相关的信息。这些m s c 之后被用来自 动生成应用程序窗体和边界类及实体类对象的状态转换图。e l k o u t b ie ta 1 z s i 通过用 例的场景来产生u i 。他们的方法从加有o c l 约束的系统领域模型和用例模型开始, 之后使用u m l 的协作图来形式化场景。然后,为了对应于一个协作图和一个场景 得到一个状态图,需要进行状态图的集成。之后e l k o u t b i 的方法使用在类图中定义 的每一个边界类来获得u i 原型。一些研究者预想了一种从领域模型和用例模型来自 动生成用户界面的方法【2 6 1 。为了提高模型的准确度和允许后续的自动化处理,他们 使用o c l 来形式化用例和领域模型,对系统的状态和行为进行了约束。在文献【2 7 1 中作者使用约束语言( 如o c l ) 来形式化用例。他们提出一种新的形式化语言h c l ( h i g h 1 e v e lc o n s t r a i n tl a n g u a g e ) 来对用例的前置和后置条件进行约束( 规范化) 。 规范化后的用例是自包含的,用例的输入和输出参数都被定义,与系统状态相关的 前置和后置条件也在用例内部被定义,这样的用例与系统的其他用例之间没有什么 联系。还有n u n e s 使用活动图来表示一个用例的所有场景【硼。 此外对于交互过程的研究也很广泛。交互过程是用户与系统之间所发生的通信 3 青岛大学硕士学位论文 活动【矧。通过描述用户与系统间的交互,可以有效的定义系统将要操作的数据信息 和系统对外所提供的功能行为。由此看来,交互过程对于用户界面设计是至关重要 的,是用户界面设计的核心组成部分。 在u m l 中,交互被看作是对象之间传递消息的活动【3 0 川。u m l 建议使用用例来 捕获系统的功能性需求,用例详细描述了用户与系统间的交互。在现在的软件开发 方法中,用例的应用非常广泛,它也被看作是系统开发周期中其他活动的基础,如 分析、设计、实现和测试活动【6 l 。由于用例描述了用户与系统间的交互过程,因此 很多学者也对用例中的交互过程也进行了不同程度的研究。在文献 3 2 中,作者使 用结构化用例来描述参与者一系统之间的交互。他们在系统的需求模型中加入了模型 的检查,这些检查探究了参与者与系统间的所有可能的交互。 i s a b e l 等人提出使用简单句来编写用例。每个简单句所描述的是由一个参与者或 实体所执行的单一活动或动作。此外,由简单句所描述的活动或动作仅能引用到参 与者实体间的交互或是由实体自身内部执行的动作【3 3 】。为了能够更好的诠释如何使 用简单句来通信、传递和报告参与者和实体所知道的、所做的和所拥有的,他们使 用元素通信模型来分析这两种情况。 虽然界面原型的自动化技术已经取得了巨大发展,但上述方法中还是存有很多 不足。比如使用形式化方法来生成u i 原型,该方法大多是针对界面宏观描述的,表 达的是界面对象间的结构关系,缺乏深入的对结构和属性的描述。还有形式化语言 对设计者的要求比较高,直观性差、用户不容易理解和接受,使用形式化语言在一 定程度上不利于设计者与用户之间的交流,同时,由于形式化语言难于学习和应用, 这无疑又增加了开发人员的负担。再如e l k o u t b i 等人瞄】所应用的u i 生成方法,他们 使用u m l 中的交互图对场景进行建模。使用交互图来描述规约意味着对于用例中 的每个场景都各自使用一个交互图来描述。这就会导致如下一些不足: 1 ) 对于每个场景都需要一个交互图,尽管它们内部包含的内容很相似。开发人 员做的大多是重复的工作,因为成功场景和异常场景间有重复的部分。 劲用例规约的改变需要修改很多的交互图。这种重复的工作不仅耗费成本,还 会衍生错误。 另外,用例的事件流中通常包含各种不同的步骤,但从交互设计人员的视角来 看,这些步骤并没有拥有一个共同的主题。由此看来,如何更有效的把用例和用户 界面设计联系在一起仍有待进一步的研究与探索。 1 3 课题的研究内容 如何更加快速有效的从用例生成用户界面原型是本文研究的重点。因此,本文 的主要研究内容是:对用例模型进行深入分析,在用例的结构模型中引入交互过程 4 第一章引言 以支持用户界面原型的构造;对u m l 交互图中的消息进行扩展以此来支持用户界 面的设计;对用例中的交互过程进行分类并使用扩展后的交互图对交互过程进行建 模;最后介绍交互模型的设计与实现,重点在模型元素的详细设计与界面元素的联 系上,并应用实例来详细说明界面原型的具体生成过程。 本文的主要创新点如下: 1 ) 在基本用例的基础上引入交互过程的概念,使基本用例中包含有详述用户与 系统间交互的结构化机制,为界面设计人员能够开发满足用户要求的界面提供支持。 2 ) 利用统一建模语言u m l 对用例中的交互过程进行建模、分析和设计,分别 建立了交互过程的静态模型和动态模型,为系统的最终实现提供了参考依据; 3 ) 进一步扩展了u m l 的消息机制,对交互过程中交互消息进行了更为详细的 分类和具体化,为从用例到界面原型的自动生成提供了更为有效的支持,给开发人 员带来了极大的便利。 4 1 详细介绍了界面原型的生成过程,为界面原型的自动化打下基础。 1 4 本文的组织结构 本文的组织结构如下: 第一章,引言部分,首先介绍本课题的研究背景及意义,其次阐述了国内外对 界面原型自动化和交互过程的研究现状,并说明了本课题的研究内容及主要创新点; 第二章,是对用户界面需求和用例结构的分析研究,包括用户界面需求及六种 描述用户界面需求方法的分析和比较;然后对用例模型进行了详细介绍,并应用 m v c 模式和u m l 的分析方法对用例结构进行了建模,为后面章节研究用例中的交 互过程奠定基础; 第三章,是讨论用例中的交互过程,首先讨论了参与者与系统之间交互的原因, 并对用例中的交互进行分类,引入交互块的概念;然后对交互图中的消息进行扩展 以此来支持用户界面的设计;使用扩展后的交互图对交互过程进行建模; 第四章,是交互过程模型的详细设计与实现,首先建立了模型元素与界面元素 的对应关系;然后从用例整体上得到使用边界类组织的界面层次结构;最后详细介 绍界面的生成过程,并应用到订单管理系统中的下定单用例实例,来验证界面生成 方法。 第五章,总结与展望,对本论文的工作进行了回顾与总结,并对进一步的研究 进行了展望。 5 青岛大学硕士学位论文 第二章用户界面需求和用例结构分析 本章首先针对用户界面需求及六种描述用户界面需求的方法进行了分析和研 究,并对各种方法的优缺点进行了比较;然后介绍了m v c 模式和r u p 中的分析方法, 并应用它们对用例的结构进行分析,建立了用例的结构模型和分析模型,为后面章 节的工作奠定基础。 2 1 用户界面需求 用户界面需求是对用户界面特性或特征的定义1 3 4 j 。其描述一般较为粗略、不具 体,与系统的功能性需求相比,用户界面需求遗漏了许多需要分析的信息。形成用 户界面需要较为详细的用户界面描述。在用户界面需求中,主要包括三个方面的内 容:用户对界面的需求、界面内容描述和可用性需求描述。 2 1 1 用户的界面需求 用户对晃面的需求主要取决于用户的认知水平,不同的用户对界面的需求往往 是不同的。此外,大部分用户能够对产品功能提出相对较为明确的要求,但是对于 用户界面来说,他们提出的要求却只是对界面的期望,是相对模糊的抽象。 在描述用户的界面需求时,首先要弄清楚系统的用户是谁、用户有什么样的特 征以及用户需要系统做些什么的问题。与此同时,对于用户的任务要有具体、清晰 的描述,并进行任务分析,使解决任务的策略、处理方式和用户特性相一致。其次, 为了保持用户和计算机之间良好的匹配和工作协调,应该按照用户的具体情况来相 应的调整人机界面的交互方式,也就是保证系统对用户的适应性。 2 1 2 界面内容描述 对于现代应用问题,界面显示内容包括文字信息、图形化显示和特殊形式信息 ( 如语音和视频) 。可以从如下几个方面来收集界面内容方面的需求:( 1 ) 用户界面 大体风格描述:用户对界面大体风格的描述是整个用户界面需求分析的基线,其他 方面的需求内容都必须围绕它来展开。( 2 ) 界面的布局,要考虑布局对用户心理的影 响。基本要求界面上同类或相关的信息聚集在一起,并保持相应的关联和行为的连 动控制关系,还要求不同种类和重要性的信息应该占据相应的位置,这解决的是界 面的心理效应问题。( 3 ) 被展示对象的各个可视控件在界面上的布局方式、顺序和展 示属性,这解决的也是界面的布局问题。( 4 ) 同一类对象可用不同的内容和形式进行 界面展示,不同展示服务于不同的操作要求,这解决的是界面的多样性。( 5 ) 应用程 序平台:考虑到用户可能要求在不同的操作系统之间转换,在分析的时候有必要弄 6 第二章用例结构分析 清楚这一点,以便在设计过程中适当的处理,使系统能够与不同的操作系统兼容。 ( 6 ) 窗1 :1 位置及规格。( 7 ) 系统的反馈时间:这个问题要结合用户的硬件情况和所开发 的软件产品的性能来确定。( 8 ) 无信息显示状态的设计。( 9 ) 枞i j q 、性能支持和 帮助。 2 1 3 可用性需求 d o n a h u e 和他的同事对可用性给出如下的定义:“可用性是一种衡量计算机系统 好坏的度量便于学习,帮助初学者记住他们已经学到的东西,降低犯错的可能, 使得用户更加有效率,并且使得他们对系统感到满意”【3 5 1 。这类需求是最难描述和衡 量的,没有一个准确定位,大多是通过用户参与反馈的。比如安装不要超过1 5 分钟、 生产率比当前系统要好等等。要根据软件自身的特性来定义可用性需求,可以从以 下几个方面来考虑m l :( 1 ) 支持任务中断,以及中断后用户界面的处理;( 2 ) 遵循一致 性的标准。一致性不仅应用于概念、术语、图形和屏幕的外观,还要应用于相互影 响的活动和用户界面控件的使用;( 3 ) 可以与其他软件顺利集成。本文对可用性需求 不做具体讨论。 2 2 界面需求描述方法和比较 2 2 1 界面需求表示能力的比较 到目前为止,用于描述界面需求的方法有很多。主要有使用界面概念模型的方 法、基于u m l 的方法、扩展u m l 的方法、基于模型的方法( 使用陈述模型) 、形 式化规范描述方法和使用用户界面描述语言。表1 给出了在用户界面设计中所采用 的界面需求描述方法及相应的代表性的方法。 表1 界面需求描述方法及相应的具体方法 界面需求描述方法具体方法 使用界面概念模型 基于u m l 的方法 扩展u m l 的方法 基于模型的界面设计 形式化描述方法 用户界面描述语言 m v c 模型1 3 6 1 ,p a c 3 a 情节串联板i 鹞1 w 砌o m i 冽、基于场景嘲 陈述模型1 4 0 i 姗s l l 5 l 、z 语言1 4 l l i j l m l l 4 2 1 、u s i x m l 4 3 1 、t e r e s ax m l l 4 4 1 1 ) 使用界面概念模型的方法 系统的、正确的开发用户界面就必须对用户界面的构成有清楚地认识,而界面 概念模型正体现了这一点。它从抽象层次上给出用户界面的构成,能够直接或者间 接指导实际用户界面的开发并保证其正确性、可用性。这方面的研究者们曾经提出 了多种界面模型,比较有代表性的有:m v c 模型和p a c 模型等。 7 青岛大学硕士学位论文 诸如m v c ,p a c 等模型所解决的主要是界面本身的构成问题。例如m v c 模型 提出界面由m o d e l ,v i e w 和c o n t r o l 构成,是一种用户界面结构的高层抽象。它们为 界面的生成提供了体系结构方面的指导。 2 ) 基于u m l 的方法 统一建模语言( u m l ) 是对应用程序进行面向对象建模的标准标记语言,用户界 面作为大多数应用程序的一个重要部分,也能够采用u m l 来进行建模。在利用u m l 对用户界面原型进行建模时,主要利用的资源包括用例图、类图、状态图、交互图 和活动图。 在u m l 的基础上,r a t i o n a l 公司结合以往的开发经验,提出了统一软件开发过 程。在r u p 中,用户界面的设计主要包括两个阶段:用户界面建模和构造用户界面 原型。其主要输入是用例模型。在用户界面建模阶段,使用用例的情节串联板来理 解和分析包括可用性需求在内的用户界面需求【6 9 ,3 8 1 。它包括如下部分:( 1 ) 事件流示 意板:是对参与者与系统间交互的高层文本描述。( 2 ) 边界类类图:阐明参与用例示 意板的边界类以及它们的关系。( 3 ) 边界对象交互图:阐明参与用例示意板的边界对 象以及它们与用户的交互,提供了详细的图形化描述。( 4 ) 可用性需求:是对系统在 可用性和质量方面的需求描述。 3 ) 扩展u m l 的方法 对于用户界面设计,u m l 支持程度并不高,尤其在建模过程中很难直接用它准 确地进行描述,因此,为了更好地支持用户界面以及交互行为设计,对u m l 进一 步扩展是有必要的。这种方法的特点就是充分利用了u m l 自身的特性并适度进行 扩展,用来表达用户界面需求,以进行用户界面开发。比较有代表性的如:w i s d o m 方法和基于场景的方法。 4 ) 基于模型的设计 基于模型的用户界面开发环境( m b u i d e ) 的设计意图是提供一种系统的、专业 的设计用户界面的环境。为了使这种环境更加实用,采用了一系列陈述模型 ( d e c l a r a t i v em o d e l ) 来表达用户界面。陈述模型描述了用户需要执行的任务,界面显 示的内容、结构和布局,界面显示元素在用户任务执行中所起的作用。模型支持一 致性和重用性,同时也支持迭代式开发过程。 5 ) 形式化描述方法 形式化方法能对系统进行精确的并且无二义性的描述,并能在此基础上进行推 理,从而可以对系统应具有的关键性质进行验证,以保证它的正确性。目前,在用 户界面领域中采用的形式化技术主要有时序描述语言l o t o s ( 1 a n g u a g eo ft e m p o r a l o r d e r i n gs p e c i f i c a t i o n ) 和z 语言等。 研用户界面描述语言 8 第二章用例结构分析 用户界面描述语言( u s e ri n t e r f a c ed e s c r i p t i o nl a n g u a g e u i d l ) 1 4 5 j 并不是一个全 新的概念,它在用户界面管理系统和基于模型的方法中就使用过。为了支持多平台 和多样性的用户界面,用户界面语言又从新得到了人们的重视,被认为是一种非常 有前途的方法1 4 5 1 。界面描述语言允许设计人员在较高一级的抽象上对界面进行描述 而抛开具体的实现细节。此外,u i d l 规约可用来自动的或者半自动的转换成具体的 用户界面或用户界面实现。 现在已经出现了很多用户界面描述语言,它们大多基于x m l 。比如u i m l , u s i x m l 和t e r e s ax m l 。使用这些语言主要为了达到如下几个目树4 5 j :( 1 ) 以抽 象定义的方式来捕获用户界面需求,以便于在不同的应用平台上仍旧比较稳定。( 2 ) 为了改善用户界面的可用性。( 3 ) 有助于提高用户界面的可扩展性和适应性。( 4 ) 为了 能够自动化产生用户界面。 综合以上的描述,表2 给出了各种方法在界面需求的能力支持方面的比较图示, 不难看出,扩展u m l 和使用用户界面描述语言的方法对用户界面需求描述能力方 面有明显的优势,捕获的界面需求比较全面。 表2 对表示界面需求的能力支持方面的比较( v :支持;一:不支持) 2 2 2 各种方法的优缺点比较 使用界面概念模型的方法对界面的描述过于抽象。它只是表达了最终界面系统 的构成问题,而无法用来指导整个的用户界面开发,因此很难将这些模型与软件工 程相结合。另外,在牵扯到界面的具体问题时,这些模型的表达又过于粗略。例如 在涉及界面的具体外在形式问题上,仅仅存在p r e s e n t a t i o n 部分作为表达。但实际应 用当中,界面形式往往是复杂多样的,并且与系统的功能、系统所加工的数据都有 着紧密地联系。各种抽象界面模型中都没有处理这些具体问题。 扩展u m l 的方法更多的是关注界面的设计过程及表达,侧重于分析概念的表 达,而缺乏对界面自身构成的深入描述。 使用陈述模型的优点在于,与直接的界面工具相比,提供了用户界面的抽象, 并且陈述模型支持的界面抽象可以是多层次的、增量细化的,从而使界面开发更加 系统化,更接近软件工程的原则方法。陈述模型的缺点在于模型本身的复杂性以及 9 青岛大学硕士学位论文 学习模型所带来的开销。同时,有关哪种模型最适合u i 设计以及u i 的哪些方面需 要建模并没有形成统一的意见。最早的m b u i d e 是为了从用户界面的陈述模型生 成具体的用户界面,因此其模型并不支持高层的界面抽象,而新的m b u i d e 提供 了这种机制。 形式化描述方法大多是针对界面宏观描述的,表达的是界面对象间的结构关系, 缺乏深入的对结构和属性的描述。还有形式化语言对设计者的要求比较高,直观性 差、用户不容易理解和接受,使用形式化语言在一定程度上不利于设计者与用户之 间的交流。 用户界面描述语言在近些年来越来越受到人们的关注。其主要优点是支持跨平 台和多样性的用户界面,对于自动生成用户界面也提供了很好的支持。另外,它将 表示和信息隔离,能够帮助非专业人员创建用户界面,而且这种表示是面向w e b 的。 缺点是该方法应用的范围需要进一步的推广。 利用u m l 建立的用户界面模型非常完善,但所建立起的模型对界面原型的反 映基于各种结构图,对u m l 了解不深的用户界面开发人员而言不够直观,对模型 的理解有一定的困难。在具体项目的实施过程中,这套过程并不能得到完整或有效 的实施。本文结合了u m l 描述方法和m v c 模式,构建了支持界面生成的交互过程 模型( 第三章中会详细介绍) ,在本文中并不深入探究界面的可用性需求。 2 3m v c 模式 用户界面承担着向用户显示数据模型和与用户进行交互的作用。用户不仅希望 所交互的界面保持相对稳定,更希望能够根据需要来改变和调整显示的内容和形式。 也就是说,在不改变软件的功能和模型的情况下,方便的完成对软件界面构造的调 整。然而,与软件处理问题的内在模型相比较,用户界面却是经常要发生变化的。 m v c 的提出,正好将软件界面的构成独立于它的业务模型。因为m v c 是对软件界面在 体系结构方面的一种抽象,所以在面向对象的软件设计和体系结构的架构中也有着 重要的指导作用。 m v c 作为一种先进的设计框架,将输入、处理和输出分开。使用m v c 开发的应用 程序分为了以下三个核心部件:m 代表模型m o d e l ,v 代表视图v i e w ,c 代表控制器 c o n t r o l l e r ,三大部件在应用程序中各自完成自己的任务又互相协作,这增加了代 码的重用率,减少了数据表达,数据描述和应用操作的耦合度,加快了应用程序的 开发1 4 6 , 4 7 l 。下面将分别描述该三大部件的功能及特点: 1 ) 模型( m o d e l ) :是业务流程状态的处理以及业务规则的制定。m o d e l 代表了 事物逻辑模块,是整个模型的核心。它采用面向对象的方法将问题领域中的对象抽 象为应用程序对象。在这些抽象的对象中封装了对象的属性和这些对象所隐含的逻 1 0 第二章用例结构分析 辑。模型的作用如下:抽象应用程序的功能,封装程序数据的结构及其操作;向 c o n t r o l l e r 提供对程序功能的访问;接受v i e w 的数据查询请求;当数据有变化时, 通知对此数据感兴趣的v i e w 。对于一个开发人员来说,他就可以专注于业务模型的 设计。 2 ) 视图( v i e w ) :这是用户界面部分。它是应用程序与人之间的接口:一方面, 它为用户提供了输入手段,并触发应用逻辑运行;另一方面,它又将逻辑运行的结 果以某种形式显示给用户。视图代表了用户交互界面,对于w e b 应用来说,可以概 括为h t m l 界面,但也有可能为x h t m l 、x m l 和a p p l e t 。随着应用的复杂性和规模性, 界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,m v c 设计模式对 于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图 上的业务流程的处理。业务流程的处理则交由模型( m o d e l ) 来处理。比如一个订单的 视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递 给控制和模型。 3 ) 控制器( c o n t r o l l e r ) :流程控制模块。该部分是用户界面与m o d e l 的接口, 负责把用户的动作转换成对于m o d e l 的操作,然后将产生下一步用户界面的责任委 派给一个适当的视图组件。一方面它解释来自于v i e w 的输入,将其解释成系统能够 理解的对象,同时它也识别用户动作,并将其解释为对m o d e l 特定方法的调用;另 一方面,它也处理来自于m o d e l 的事件和m o d e l 逻辑执行的结果,调用适当的v i e w 为用户提供反馈。三者的关系如图2 1 所示: 图2 1 m v c 各模块关系图 用户输入来激活用户与用户界面之间的交互过程,通过控制器,把用户输入与 用户界面连接起来。视图通过控制器来响应用户输入。视图与模型之间是相互协作 青岛大学硕士学位论文 的关系,即一个视图得到用户输入,以此来改变模型状态。同时,模型又将自己的 改变状态通知给它的所有视图,而视图在得知这些变化后,自己作相应的改变,将 模型的改变及时的展现给不同的用户。这样做的好处是将用户输入、用户界面的显 示与模型分离开来,减小了它们之间的耦合度。m v c 将模型与视图的分离,不仅提 高了系统的灵活性和复用性,而且为用户软件界面体系结构的研究奠定了基础。 2 4u m l 分析方法 2 4 1 分析和分析模型 r u p 将软件开发过程分为需求、分析、设计、实现和测试五个工作流。在分析 工作流中,分析人员通过精化和组织需求捕获阶段所描述的需求来对其进行分析。 这样做的目的是为了更精确地理解需求,也是为了得到一个易于维护且有助于确定 系统结构( 包括构架) 的需求描述【5 ,6 1 。 具 嫠 图2 2 软件开发过程中的分析模型嘲 分析最终得到的制品是一种称为分析模型的概念层对象模型。分析模型使用开 发人员的建模语言( 如统一建模语言( u m l ) ) 来描述,提供了更强的表达能力和形式化 方法,有利于精化需求,探究系统的内部,包括其内部的共享资源。分析模型还有 助于组织需求,并能提供一种侧重于可维护的结构,例如对需求变化的柔性及可用 性。这种结构不仅有益于需求的维护,而且还可作为设计和实现工作流中构造系统 时的基本输入。应该注意的是,创建分析模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国家公务员考试时事政治题(含答案)
- 2025年造价工程师土建计量路面施工考试题(附答案)
- 2025年临床执业医师考试考前提醒试题及答案
- 水利工程施工质量考核方案
- 企业成本会计岗位职责说明书
- 人才培养与职业发展规划
- K2型转向架结构及应用分析报告
- 2025年国家《食品安全法》知识竞赛考核试题附答案
- 基础财务会计实务操作笔记
- 临床医学招工考试题及答案2025年版
- 医院死亡报卡培训课件
- catia考试图纸题目及答案
- pos机风险管理办法
- 2025年京东集团招聘笔试指南与面试技巧
- 起重机械定期检查与维护方案
- 2025年行业机器人边缘计算技术应用与场景分析
- 国际物流运输合同(标准版)
- 动物样品采集培训课件
- (2025年)医疗机构工作人员廉洁从业九项准则考核试题(+答案)
- 手机桌面市场深度解析
- 山河已无恙+吾辈当自强+课件-2025-2026学年高二上学期用《南京照相馆》和731上一节思政课
评论
0/150
提交评论