




已阅读5页,还剩53页未读, 继续免费阅读
(计算机软件与理论专业论文)基于感知控制的代理体系结构设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着普适计算的发展,计算机软件用户已由专业办公人员拓展到普通大众,软件所 涉及的功能亦从办公自动化拓展到日常生活的各种自业务,如网络购物,网上报名等。 然而,诸多软件仍旧是按照传统专业软件的思路开发,典型表征为用户界面是底层业务 流程的直接映射,这样的用户界面虽然满足了“观与感”的正确性,即传统可用性需求, 但是对那些不具备相关领域知识的用户而言是难以理解与操作的。 今天的用户希望界面所展现的内容是其意图的直接表示。这样的用户界面使得用户 能够轻松地将其意图转换为软件所支持的操作,并且在特定情况下与系统进行共享控 制。本文将这种新的可用性需求称之为普适可用性,普适可用性并非对传统可用性的否 定,而是在高级功能层次上对传统可用性进行了扩充。普适可用性的原则就是让用户界 面的设计贴近于用户的任务模型,拉近了系统与用户的距离,降低用户使用系统时的认 知负担。 为了开发支持普适可用性的系统,本文给出了基于感知控制的代理体系结构模型的 设计及相关实现。该模型在用户界面与底层功能核心之间加入了感知控制代理层,该层 利用了心理学中的感知控制理论,实现了用户任务领域到底层业务领域的转化并且能够 感知外部环境,处理来自环境的干扰。为了降低用户界面层,感知控制代理层以及功能 核心层之间的耦合度,该模型还在它们之间分别加入了用户任务数据总线与应用领域数 据总线。在设计基础上,本文研究了用于实现该模型的软件开发环境,开发了面向用户 任务图形工具箱用于实现该模型的用户界面层,感知控制代理层工具箱为开发者实现感 知控制代理提供支持,以及一种带有通知机制的数据池为开发者实现数据总线提供了参 考。 为了验证本文所述理论与实现的有效性与实用性,开发了一个原型系统飞行管 家,并给出了设计与实现。 本文的研究受到中科院计算机科学国家重点实验室开放课题基金项目( 编号: s y s k f 0 7 0 4 ) 、西北大学研究生科研实验类项目( 编号:0 9 y s y 3 0 ) 的资助。 关键词:普适可用性、软件体系结构、感知控制代理 d e s i g na n di m p l e m e n t a t i o no fp e r c e p t u a l - c o n t r o l - b a s e da g e n t a r c h i t e c t u r e a b s t r a c t w i t ht h ed e v e l o p m e n to fp e r v a s i v ec o m p u t i n g ,s o f t w a r eu s e r sh a v ea l r e a d ye x p a n d e d f r o mt h es p e c i a l i s t st og e n e r a lp u b l i c t h ef u n c t i o no fs o f t w a r eh a se x t e n d e df r o mo f f i c e a u t o m a t i o nt od a i l ys e l f - s e r v i c e s ,s u c ha so n l i n es h o p p i n g , o n l i n er e g i s t r a t i o n ,e t c h o w e v e r , a l o to fs o f r w a r es t i l lf o l l o w st h et r a d i t i o n a ld e v e l o p m e n tm e t h o d t h e t y p i c a l l yc h a r a c t e ri st h e u n d e r l y i n gb u s i n e s sp r o c e s s e sd i r e c tm a p p i n gt ot h eu s e ri n t e r f a c e a l t h o u g hs u c hu s e r i n t e r f a c ec o u l dm e e tt h en e e do f l o o ka n df e e l ”c o r r e c t n e s s ( t h et r a d i t i o n a lu s a b i l i t y ) ,t h eu s e r w h od o e sn o th a v et h er e l e v a n td o m a i nk n o w l e d g ei sd i f f i c u l tt ou n d e r s t a n da n do p e r a t e n o w a d a y s ,u s e r sh o p et h a tt h ei n t e r f a c ec a nr e f l e c tt l l e i ri n t e n t i o nd i r e c t l y t h e r e f o r e ,t h e i n t e r f a c ec a nh e l pu s e r st oc o n v e r tt h e i ri n t e n t i o ni n t oo p e r a t i o ne a s i l y , a n da l l o wu s e r ss h a r e c o n t r o lw i t ht h es y s t e mi np a r t i c u l a rc a s e s t h en e wt y p eo fu s a b i l i t yr e q u i r e m e n ti sc a l l e d p e r v a s i v eu s a b i l i t yi nt h i sp a p e r t h ep e r v a s i v eu s a b i l i t yh e r ei sa ne x t e n s i o no ft h et r a d i t i o n a l o n ef r o mh i g h e rl e v e lr a t h e rt h a nd e n y i n gi ts i m p l y t h eu s e ri n t e r f a c eb a s e do np e r v a s i v e u s a b i l i t yi sc l o s e rt ot h eu s e r st a s km o d e l ,a n dc a nr e d u c em e i rc o g n i t i v eb u r d e nw h e n o p e r a t i n gt h es y s t e m i no r d e rt o d e v e l o pas y s t e mw h i c hc a ns u p p o r tt h ep e r v a s i v eu s a b i l i t y , t h i sp a p e r p r e s e n t st h ed e s i g na n di m p l e m e n t a t i o no fp e r c e p t u a l c o n t r o l - b a s e da g e n ta r c h i t e c t u r em o d e l t h em o d e la d d sap e r c e p t u a lc o n t r o la g e n tl a y e rb e 似e e nu s e ri n t e r f a c el a y e ra n df u n c t i o n c o r e t h ep e r c e p t u a lc o n t r o la g e n ti sb a s e do nt h ep e r c e p t u a lc o n t r o lt h e o r y i th a sa na b i l i t yt o c o n v e r tt h eu s e rt a s km o d e lt od o m a i nm o d e la n dp e r c e p t u a lt h eo u t s i d ee n v i r o n m e n tw h e n p r o c e s s i n gt h ei n t e r f e r e n c e i na d d i t i o n ,t h em o d e lu s i n gt h eu s e rt a s kd a t eb u sa n da p p l i c a t i o n d o m a i nd a t eb u st or e d u c et h ec o u p l i n gb e t w e e nt h eu s e ri n t e r f a c ea n df u n c t i o nc o r e a c c o r d i n gt ot h ed e s i g n ,w eh a v ed e v e l o p e dau s e rt a s ko r i e n t e dg r a p h i ct o o l k i ta n d p e r c e p t u a lc o n t r o la g e n tt o o l k i t t oh e l pd e v e l o p e r si m p l e m e n tt h eu s e ri n t e r f a c ea n d p e r c e p t u a lc o n t r o la g e n tl a y e r , a n di m p l e m e n t e dad a t ap o o lw i mn o t i f i c a t i o nm e c h a n i s mf o r t h er e f e r e n c eo fd a t ab u si m p l e m e n t a t i o na sw e l l i i i i no r d e rt ov e r i f yt h ee f f e c t i v e n e s sa n dp r a c t i c a l i t yo ft h et h e o r ya n di m p l e m e n t a t i o n i s s u e sd i s c u s s e da b o v e ,as i m u l a t i o na i rt i c k e t ss y s t e m - f l i g h ts t e w a r di sd e v e l o p e d t h er e s e a r c ho ft h i sp a p e rw a ss u p p o r t e db yt h eo p e nf o u n d a t i o no fs t a t ek e y l a b o r a t o r yo fc o m p u t e rs c i e n c e ,t h ec h i n e s ea c a d e m y o fs c i e n c e s ( n o s y s k f 0 7 0 4 ) ,a n d t h es c i e n c er e s e a r c hl a b o r a t o r yf o u n d a t i o no fg r a d u a t es t u d e n t ,n o r t h w e s tu n i v e r s i t y ( n o 0 9 y s y 3 0 ) k e y w o r d s :p e r v a s i v eu s a b i l i t y , s o f t w a r ea r c h i t e c t u r e ,p e r c e p t u a lc o n t r o la g e n t 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版。本人允许 论文被查阅和借阅。本人授权西北大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。同时授权中国科学技术信息研究所等机构将本学位论 文收录到中国学位论文全文数据库或其它相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名:叠煎指导教师签名:篁鏖二 。知年莎月纠日劢如年6 月叫e t 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及 取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,本 论文不包含其他人已经发表或撰写过的研究成果,也不包含为获得西北大 学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对 本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:气独气 印l 。年月纠日 西北大学硕士学位论文 1 1 研究背景与意义 第一章绪论 传统软件设计首先强调的是建模和实现系统的功能属性,其次才是可用性属性,如 有效性、可靠性、安全性等。虽然不能在功能性方面满足用户需求的软件产品是几乎没 有使用价值的,但是这并不意味着满足了功能性需求的软件产品就能够有效,方便地被 用户所使用。概念上,功能性和可用性属于软件设计的两个不同方面:功能性指一个软 件系统必须提供的服务,而可用性指如何将这些服务提供给用户,使得用户易于使用。 近些年来人们已经逐渐认识到提高软件可用性对软件设计的重要性。大量的研究表 明【l 捌可用性高的软件系统可以提高用户的生产率和积极性、减少培训用户和客户服务的 成本、减少用户出错的几率和提高电子商务的潜能等等。总体来说传统的软件可用性研 究主要是为了给用户提供正确的“观与感 。所谓“观,即用户界面的表现形式,包括 界面元素的布局,信息的反馈方式等;而“感”指交互技术方面,包括鼠标、键盘等物 理输入设备与系统的映射等。通过正确的“观与感”来支持用户有效、高效的完成任务。 传统的软件可用性研究主要是基于软件是满足办公自动化需求这一前提,用户界面仍旧 是领域模型【3 】的直接映射,面向的用户群体主要还是有一定专业领域知识的用户。 近年来随着普适计算的快速发展,计算机用户已由专业用户拓展到普通大众,网络 应用的大规模普及更是让普通大众有了更多的机会去自己完成原先必须由专业人员代 理才能完成的任务,比如航空订票业务、个人网上银行业务、网络购物等等。但是诸多 这样的应用仍旧被设计为专业软件的工作方式,这对于那些不具备专业领域知识的用户 来说显然是难以接受的。用户的这种抵触并不意味着这些软件缺乏有效性、效率低下、 安全性能缺失,关键问题在于这样的软件虽然达到了传统可用性的需求,但是却忽略了 用户界面是否容易被用户所理解与控制,以及用户是否容易将他们的意图转换为系统所 支持的操作,即用户任务模型【3 j 到领域模型的转换对用户来说是困难的。比如,我们在 评价一个购物网站的可用性时,效率、容错性、安全性仅仅是可用性的一个方面,更重 要的是网页内容是否为用户所感兴趣,用户是否能够在其任务层次上查看产品。 经过我们的研究【4 】发现,当前大众用户希望用户界面是他们意图的直接表示,使他 们能够在意图层次上与系统交互,并且在特殊情况下能够与系统共享控制。本文将上述 新的可用性需求称之为普适可用性。这便引出了本文研究的背景,即如何在软件设计中 提供普适可用性。其研究意义在于为软件设计者提供技术与工具,使得他们能够在软件 第一章绪论 设计过程中实现所需的可用性。 在软件开发过程中同时考虑功能性和可用性并非易事。功能性和可用性之间是相互 独立的:前者属于软件系统本身的质量,而后者指用户与系统交互的质量【l 】。在软件架 构方面的研究与实践也发现可用性需求的实现不仅涉及到用户界面,而且涉及到整个系 统的架构层次上【5 1 。例如,为了便于用户理解系统的状态改变,并做出控制决策,系统 需对用户的操作提供相关的信息反馈,但这同时涉及到界面和功能核心的通信和控制问 题。这些问题按照传统的设计思路,需要对功能核心进行重新设计。2 0 0 4 年的一项研究 表明尚不存在一种设计技术可以在软件架构层次上考虑可用性的设计【6 】。就我们的知识 而言,今天这种局面并未得到本质上的改善。并且我们发现造成这种局面的主要原因正 是上文说述:可用性的性质已经发生改变,但是软件架构设计技术仍旧停留在对传统意 义的可用性假定上。 从实现的角度,为了实现用户意图层次上的可用性,首先,用户界面需要呈现与意 图一致的表示,而不是功能属性的线性输出;其次,用户应能够直接操作于该表示;最 后,系统能够接收来自外部环境的干扰,并且处理这些干扰使得系统始终能够满足用户 意图。为此,我们需要将可用性需求的实现与界面和功能构件相分离,这需要在软件体 系结构模型中引入独立的构件处理系统状态的变换,以及意图层次到功能层次的操作变 化。这种变化,使得过去的刺激反应机制不再能有效实现这种控制关系。 本文给出了基于感知控制的代理体系结构模型的设计,解决了上述的用户界面到功 能核心之间的非线性关系,并且能够实时的侦测外部环境干扰,平衡系统内部状态,使 其始终满足用户意图。该模型将心理学中的感知控制理论引入到软件体系结构当中,用 户界面与功能核心之间加入了新的构件层次( 即感知控制代理层) 用于它们之间的动态 通信和控制。因此,该软件体系结构是有关用户界面、功能核心、以及它们之间的控制 构件的一个规约。为了帮助设计者开发基于此软件体系结构,我们开发了各个层次的工 具箱,利用这些工具箱设计者能够快速的开发基于普适可用性的应用程序。 本文的研究受到中科院计算机科学国家重点实验室开放课题基金项目以及西北大 学研究生科研实验类项目的资助。 1 2 国内外研究现状分析 本文是通过提出新的软件体系结构来支持当前新的软件可用性需求。故,本文主要 涉及了两个方面的研究:软件可用性与软件体系结构。 来自m m 的诸多软件可用性专家深刻的指出“可用性方面的投入是一本万利的, 2 西北大学硕士学位论文 可见在国外软件可用性早已引起研究人员的关注。他们的主要研究方向在于可用性经验 准则的介绍、可用性测试、可用性评估方法等。如j a k o bn i e l s e n 的 u s a b i l i t ye n g i n e e r i n g ) ) 一书中便对上述内容作了详细介绍,它本人又创立了“简化可用性功能方法,试图用 一系列简化了的经验准则,评估等手段来快速低廉地改进系统的可用性 7 1 。又如,另一 位可用性专家w h i t n e yq u e s e n b e r y ,通过对软件可用性的重新定义给出了5 e 平衡法则, 她认为可用性的五个方面在不同的系统中比重是不同的,设计时要根据具体用户调节各 个元素之间的平衡来达到高可用性瞵】。d o ng e n t n e r 以苹果机用户界面为例,从另一个角 度前瞻性的指出传统图形用户界面中诸多的可用性问题,如用户控制与直接操作,并针 对每一处不足给出了作者认为理想的用户界面( 文中称之为反苹果机) 所应具备的特征, 如与用户控制相对的共享控制,以及与直接操作相对应的任务分派等【9 】。d o ng e n t n e r 虽然指出了问题,但是仅在理论层次上进行了探讨,未涉及到软件设计的层次,也没有 给出一套整合的方案及技术上的指导意见。在国内,软件可用性的研究也已经成为热点, 如中科院软件所的笔式用户界面 1 0 , 1 1 , 1 2 , 1 3 】,虚拟多通道交互等,试图从扩充用户交互手 段等方式来提高系统可用性。另外,大连海事大学也对软件可用性做了大量的研究工作, 他们主要是针对特定用户上下文的研究,比如老年人使用网络,农民工使用智能手机【1 4 , 1 5 等。总体来说上述的软件可用性研究还是主要集中在传统可用性上,即基于计算机软件 是为了满足办公自动化的需求,给用户提供正确的“观与感便等同于高可用性。 在软件体系结构方面,当前研究目的已经不仅仅停留在为了提高软件生产率,降低 开发成本,或解决软件维护等问题上,而更多的是为可用性设计的软件实现提供支持, 如s m a l l t a l k 的m v c 1 6 1 、p a c t l 7 1 、a l v 1 引等。这些软件体系结构都具有两个共同的特征。 第一个特点就是将软件系统划分成若干个相互具有一定关系的模块,这样能有效地支持 系统构件的迭代式设计。在今天的信息社会中,用户的可用性需求,系统的使用上下文, 以及所处理的业务处于快速变化当中,迭代设计可以根据每次变化快速开发系统原型来 适用这种改变。但是,这些软件体系结构假定软件可用性主要与系统的用户界面相关, 换而言之,软件可用性主要影响了用户界面( 包括菜单、按钮、信息提示等。) 而不是 系统功能核心。另个共同点是将软件系统的结构分解为两个相对独立的部分,即用户 界面和功能核心,实现了对话独立性。用户界面与功能核心之间的分离,降低了系统内 部模块之间的耦合度,使得每一个模块修改不会对其它模块造成很大影响。这两个特点 使得遵照上述软件体系结构开发的设计者可以将可用性问题推迟到系统开发的评估阶 段来处理,因为早期的开发者认为可用性的迭代改变不会对功能核心造成太大影响。但 是,近期的研究成功表明,软件可用性的实现不仅涉及到用户界面,而且涉及到整个系 3 第一章绪论 统的设计【1 9 1 。卡内基梅隆大学软件工程实验室的l e nb a s s 与b o n n i ee j o h n 等人提出了 改变软件体系结构来支持软件可用性【卯。他们提出了一个高可用性系统所应该具备的2 7 种可用性,并为每一种可用性提供了相应的设计模式。但是这些设计模式仅仅是在实现 层次做出修补。我们认为为了改进软件的可用性,必须在更高的抽象层次,即软件体系 结构上做出改变,本文所提出的基于感知控制的代理体系结构应运而生。在国内,关于 软件体系结构的研究一直集中在如何实施和跟踪系统的功能方面。就我们的认知而言, 国内鲜有关于通过软件体系结构来支持可用性的研究。 1 3 本文主要工作 本文通过对传统软件可用性的研究,发现当前的软件可用性已经悄然变化,这种变 化并不意味着传统可用性的错误,而是需要扩充。这此背景下,本文提出了普适可用性, 在高级任务层次对传统可用性进行了补充。并且,为了帮助开发者提供普适可用性,我 们给出了基于感知控制的代理体系结构模型,很好的解决了普适可用性所带来的基于用 户意图的用户界面与底层功能核心之间的非线性问题。在理论讨论的同时,本文给出了 用于支持开发此软件体系结构各个层次的工具箱。本文的主要研究内容包括以下几方 面: ( 1 ) 对传统软件可用性以及软件体系结构进行分析与总结。 ( 2 ) 结合当前普适计算环境下,用户对软件可用性需求的改变,提出普适可用性。 即用户界面应当是用户任务的直接表示,系统应当允许用户与系统进行共享控 制。 ( 3 ) 对感知控制理论进行研究,分析感知控制过程,证明感知控制理论应用到软件 代理中的可行性。在此基础上,提出基于感知控制的代理体系结构模型。该模 型在用户界面与功能核心之间加入感知控制代理层,该代理层利用负反馈原理 ( 即感知控制原理) 能够解决用户界面与功能核心之间的非线性关系,以及外 部干扰问题。并且在用户界面与感知控制代理之间,感知控制代理与领域核心 之间分别加入了用户界面数据总线与应用领域数据总线用于各个功能单元之间 通信。 ( 4 ) 针对基于感知控制的代理体系结构的各个层次,设计和开发了用户界面层工具 箱基于用户任务的交互式图形工具箱( u t o g t ) 、感知控制代理层工具箱、 数据总线工具箱。u t o g t 基于j f c ,能够帮助程序员快速开发用户主工作区内 具有交互能力的图形元素;感知控制代理层工具箱实质上是一个通用的开发框 4 西北大学硕士学位论文 架,它由执行单元、感知控制单元、 序员开发感知控制代理层提供支持: 通知机制的数据池总线的实现。 期望值历史和反馈单元组成。此框架为程 数据总线工具箱为开发者提供了一种带有 ( 5 ) 为了验证本文理论与实现的实用性与正确性,开发了一款模拟航空订票系统一 一飞行管家,并给出了设计与实现。 1 4 论文组织结构 本文主要包括四大部分。第一部分为第二章,第二部分为第三章,第三部分为第四 章,第四部分为第五章。 第一部分:相关理论的研究。首先,介绍了传统软件可用性的定义以及研究成果。 其次,介绍了传统的软件体系结构研究,并详细介绍了三种软件体系结构:c 2 、m v c 、 p a c ,并逐个分析了它们的优缺点。最后,论述了软件体系结构与软件可用性的关系, 介绍了相关的研究工作,并指出其不足之处。 第二部分:首先,分析了当前用户需求的改变,提出了一种新的可用性需求普 适可用性,并指出当前实用的软件体系结构无法建模这种可用性需求。然后,比较与分 析心理学在人机交互领域中的三大模型:认知模型、刺激反应模型、感知控制模型,并 着重介绍感知控制模型与感知控制过程,继而将感知控制理论应用到软件代理当中。最 后,介绍了基于感知控制的代理体系结构,并给出总体设计。 第三部分:针对基于感知控制的代理体系结构模型的各个层次给出了户界面层工具 箱u t o g t ,感知控制代理层工具箱以及数据总线工具箱的设计与实现。 第四部分:根据前文所述工作开发了一个模拟航空订票系统飞行管家,并给出 了其设计与实现过程。从而验证了,本文理论与实践工作的实用性与正确性。 5 西北大学硕士学位论文 2 1 引言 第二章相关理论研究 软件作为一种产品,与其它产品样不但能帮助用户完成任务还应该让用户感到易 用,好用。能够完成特定任务体现了软件的功能性,而让用户感到易用,好用则是软件 产品中独立于功能性之外的另一个属性可用性。当前用户对软件这两方面的需求都 在不断增长:一方面,要求软件能够实现的功能越来越复杂;另外一方面,除了效率高, 可学习性强等传统需求外甚至要求软件有趣,个性化等等。这两面的需求使得软件开 发变得困难,软件开发不再是设计几个算法加些数据结构就能完成,系统的总体设计已 经成为关键,这便引出了学者对软件体系结构的研究。简单的讲,软件体系结构是从宏 观抽象的角度来设计软件,不考虑软件的具体编码,主要工作是将软件划分模块,以及 确定这些模块之间的关系。 - 本章是与本文工作相关的一些基本理论研究。主要分为软件可用性、软件体系结构、 软件可用性与软件体系结构关系三大部分。 2 2 软件可用性 软件可用性研究的主要目的是指导软件设计人员开发出更好用的软件产品,而非考 虑软件本身的功能,软件可用性的高低能够直接影响到一个软件的成败。 软件可用性专家j o k o bn i e l s e n 早在1 9 9 3 年所著的( ( u s a b i l i t ye n g i n e e r i n g ) ) 一书开 篇便给出了m y e r s 和r o s s o n 于1 9 9 2 年关于软件开发代码组成的调查数据,这些数据表 明:9 0 年代初的软件产品,其代码中有4 8 是与用户交互相关的,并且这个数字还有 递增的趋势【_ 丌。一项研究表明在可用性上每投入1 美金将得到3 0 2 5 美金的回报,对另外 一家电子商务网站的研究表明可用性的每5 提升将带来1 0 3 5 的成本收益【2 0 1 。由这些 量化的数据我们可以看出,无论是代码角度还是产品角度,交互质量( 即软件可用性) 是如此的重要。如何提高软件可用性已经成为设计者需要慎重考虑的问题,甚至与功能 需求同等重要。 软件可用性作为软件质量的一部分可以将其细分到软件本身的一些属性中去。为了 清晰定义软件可用性,要给它定义几个维度。诸多学者对此做出了研究,比如j o k o b n i e l s e n 给出了软件可用性的定义,它包括:可学习性( l e a r n a b i l i t y ) 、效率( e f f i c i e n c y ) 、 可记忆性( m e m o r a b i l i t y ) 、低错性( e n - 0 r 8 ) 与满意度( s a t i s f a 嘶o n ) 【7 1 。具体意义如下: ( 1 ) 可学习性:包含界面易于理解,交互操作易于学习两个方面,使得用户在使用 7 第二章相关理论研究 系统时能够通过快速学习并熟练使用系统。 ( 2 ) 效率:系统必须能够快速的响应用户操作,并且高效的完成用户任务。这样使 得用户一旦学会使用系统,这个系统能够支持用户高效的工作。 ( 3 ) 可记忆性:系统必须是可记忆的。用户每次在使用系统时,系统的界面呈现, 回馈形式都必须与上一次保持一致。这样使得用户使用系统一段时间后,再次 使用时不需要重新学习。 ( 4 ) 低错性:系统必须保持低错误率。这包含了两个方面:第一,系统本身应该低 错,即尽量避免用户在使用过程中系统发生错误,即使发生错误也能很快的从 错误中恢复过来,但是不能发生毁灭性的错误;第二,系统能让用户使用时尽 量少犯错误,给用户提供适当的文字提示,颜色警告等方式帮助用户避免出错。 ( 5 ) 满意度:满意度是一个较为抽象的要求,很难达到统一的标准,但是总体来说 用户在使用完系统后应当感到轻松且满意,用户乐意再一次在此系统上工作。 j o k o bn i e l s e n 还给出了系统可接受性模型来全面的介绍可用性,如图2 1 所示。 图2 - 1j o k o bn i e l s e n 系统可接受性模型m j o k o bn i e l s e n 的上述研究,是在因特网尚未普及的情况下得出的。w h i t n e y q u c s c n b c r y 结合当前用户使用上下文,将上述可用性划分加以改进得出5 e ,即:有效 性( e f f e c t i v e ) 、效率( e f f i c i e n t ) 、吸引( e n g a g i n g ) 、容错性( e r r o rt o l e r a n t ) 以及易学 习性( e a s yt ol e a r n ) 【s 】。如图2 2 所示:w h i t n e yq u c s e n b c r y 理论的创新性之处在于她 提出了上述五要素之间的平衡问题,她认为每一个上述的要素并非同等重要,即使是同 一产品面向于不同类别的用户来说也是如此。比如,一个购物网站对新手来说容易学习, 容错性高且有足够的吸引力最为重要的,但是对于一个有丰富使用经验的用户来说效率 是最为重要的问题。 8 a 北大学碰士学位论文 国际标准化组织对软件可用性也有相关的规定。i s 0 9 2 4 1 1 1 中的定义是:一个产品 可以被特定的用户在特定的上下文中,有效、高效并且满意得达到特定目标的程度叫。 圈2 - 2 5 1 9 ( 平衡状鑫) 刚 其中有效是指用户完成特定任务或达到特定目标时是否具有正确性,以及完备程度如 何;高效是指用户完成任务的有效程度与所耗费的资源之间的比率:满意是指用户在使 用产品过程中所感受到对产品的认可程度。 虽然软件可用性的发展定会体现在用户界面上,但是在用户界面层次的修补只完成 了交互式系统设计的一个方面,并且有些时候界面层次的改变会引起底层功能核心的改 变,使得系统开发成本激增。因此,需要有一种技术从更加宏观的角度来设计软件产品, 既能保证给用户提供完善的功能,还能达到高可用性。另外支持系统的迭代开发,使得 功能与可用性两方面都能满足用户不断改变的需求。软件体系结构的研究正是为了应对 上述需求,下面- - d 节将介绍软件体系结构方面的研究。 2 3 软件体系结构研究 早期软件开发人员把软件系统的开发重点放在算法和数据结构上,但是随着用户需 求的复杂化使得软件规模不断扩大,软件也越来越复杂,软件开发过程中面临诸多困境, 诸如软件成本日益增长、开发进度难、软件质量低下、维护成本增加等。这时候仅仅把 目光集中在算法与数据结构上已经无法适应开发大型软件的需求。在此背景下,人们发 现系统的全局设计与规划更为重要,软件体系结构的研究由此而生。 第二章相关理论研究 2 3 1 软件体系结构的定义 虽然软件体系结构的研究已经成为当前软件工程界的热点,但是关于软件体系结构 的定义仍旧没有得到统一。许多软件工程界的研究者从不同侧面为软件体系结构下了定 义。比较典型的有以下几种: k r u c h e t e n 认为软件体系结构是从四个角度对系统进行全面,完整的阐述。这四个 角度分别是:第一,逻辑角度( t h el o - g i c a lv i e w ) , 描述系统的主要构件划分,以及各个 构件之间的关系;第二,过程角度( t h ep r o c e s sv i e w ) ;描述了系统运行时的同步,异 步过程,即动态结构;第三,物理角度( t h ep h y s i c a lv i e w ) :描述了系统由软件到硬件 的映射;第四,开发角度( t h e d e v e l o p m e n t v i e w ) 描述软件在开发环境中的静态组织2 2 1 。 卡内基梅隆大学的m a r ys h a w 和d a v i dg a r l a n 作为早期的软件体系结构研究者, 于19 9 6 年出版的( ( s o l , r a r ea r c h i t e c t u r ep e r s p e c t i v eo na l le m e r 西n gd i s c i p l i n e ) ) 一书认为, 软件体系结构将系统划分为若干个计算构件,这些构件按照一定的逻辑结构相互作用形 成系统。简单的讲软件体系结构指定了系统的结构与拓扑关系。除此之外,软件体系结 构定义了系统需求和已构建系统的元素之间的对应关系2 3 1 。1 9 9 7 年l e nb a s s 、p a u l c l e m e n t s 及鼬c kk a z m a n 在( ( s o f t w a r ea r c h i t e c t u r ei np r a c t i c e ) ) 一文中指出软件体系结 构包括软件构件、这些构件的外部的可见特性( 即此构件提供的服务、性能、特性等) 及其相互关系 2 4 1 。 总之,虽然关于软件体系结构的定义到目前为止也没有得到统一,但是本质上都是 从高级抽象层次上对系统设计,定义了构成系统的各种元素,以及这些元素之间的相互 关系。 2 3 2 软件体系结构风格 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式【2 3 1 。体系结 构风格反映了众多系统所共有的结构和语义特性,这种特性能够得到抽象,并用于指导 如何将各个模块和子系统有效地组织成一个完成的系统。常见的软件体系结构风格有: 管道和过滤器( p i p e sa n df i l t e r s ) 这个风格规定每一个构件都具有输入和输出的能 力。一个构件读入数据然后通过内部特定机制进行处理,产生新的数据输出。由于是一 边输入一边处理,在数据未被完全输入之前,已经有数据输出,故称之为过滤器。整体 运行模式像根管子,故称之为管道和过滤器风格。这种风格的最大优点在于它有很强的 重用性并且支持并行执行;缺点在于不支持交互型应用。 数据抽象和面向对象组织结构( d a t a a b s t r a c t i o na n do b j e c t o r i e n t e do r g a n i z a t i o n ) : 这种风格中数据与数据的操作都被封装在抽象数据类型当中,它的构件就是抽象数据类 1 0 西北大学硕士学位论文 型的实例( 即对象) 。对象需要自我维护其完整性,并且对其他对象来说它是透明的。 这种风格的优点在于客户无需知道实验细节,对象本身在不影响客户的情况下亦能改 变;而缺点是不同对象通信时需要知道对方的标识。 事件驱动,隐式调用( e v e n t - b a s e d ,i m p l i c i ti n v o c a t i o n ) :这种风格中一个模块与另 外一个模块通信时,并非显示的调用,而是将其注册到某一个事件的通知列表当中,当 这个事件被触发时,它会遍历这个列表通知其它模块。此风格的优点在于它有很强的扩 展性。 分层系统( l a y e r e ds y s t e m s ) :这种风格是按照层次结构组织,这种结构中内层只 对相邻的外层可见,每一层为上一层服务,并作为下一层的客户。这个风格最典型的案 例就分层通信协议。他的优点在于设计可以按照复杂程度高低来逐次设计系统;缺点在 于解决以何种标准划分各层。 知识库( r e p o s i t o r i e s ) :这种风格中有两种不同的系统构件:一种是中央数据结构, 它保存着系统的状态;另外一种是外部独立构件,它们可以对中央数据结构进行操作。 这种风格又被划分成两种子类,若是外部独立构件触发事件引发中系统内执行则称之为 数据库式知识库;若是中央数据结构触发系统执行则为黑板知识库。 上述的这些软件体系结构风格多为“原子”层次的体系结构风格,它们实质上有一 定的共同点,即都由构件、连接器、控制结构与整体系统模型四要素组成。不同的体系 结构风格具有自己的优点的同时也具有缺点,所以现实中一个系统的软件体系结构往往 会用到以上的多种体系结构风格。 c 2 便是一种比较典型的混合型体系结构风格 2 5 2 6 , 2 7 1 ,如图2 3 所示。这种风格 由组件与连接器组成,是一种分层、数据抽象和面向对象组织结构风格。一个组件的顶 部可能与一个链接器的底部相连接。而一个组件的底部可能与一个连接器的顶部相连 接。可以有多个组件或连接器与某个连接器连接。对c 2 来说一个非常重要的原则就是 限制可见性或者称作基板独立性。即一个组件在一个层次总只能理解它上层的组建,对 在它下层的组建则是一无所知。实质上基板独立性是为了可替换性与重用性。为了清除 对上层组件的依赖性,c 2 风格提出了事件转化器的概念,组件在接收通知或者发送请 求时都要将其转化成被接收方能够理解的方式。每个组件都有自己独立的线程。这些属 性简化了多组件、多用户、同步应用的建模与程序设计。c 2 风格参考了面向对象语言 中的强类型检测机制,一个概念上的组件可以被视为面向对象语言中的类,但是它们又 不是完全等价的。一个组件包含了三个模块( 如图2 - 4 所示) :对话与约束控制器、内 部对象、领域翻译器。领域翻译器可以修改顶层的接口,对话与约束控制和内部对象可 第二章相关理论研究 能非常大,包含了抽象数据类型与相当多的功能。c 2 与面向对象最大的区别在于请求 组件 cc if c 图2 - 3c 2 软件体系结构风格 与通知机制。总体上来说该体系结构是面向对象方法在软件体系结构上的应用,展示了 强类型检测机制在软件体系结构中的应用。 这种风格的优点在于各个组件之间的依赖性很小,构件之间通信是通过连接器作为 图2 4c 2 软件体系结构风格 中介的异步通信方式,另外这种风格有很强的扩展性,非常适合与当前的分布式应用当 中。 1 2 西北大学硕士学位论文 2 3 3 基于代理的软件体系结构基础理论研究 软件代理( s o f t w a r e a g e n t ) 始于上世纪七十年代,最早出现在人工智能领域中,如 今已经被大量的研究者引入到软件工程等领域。虽然,软件代理应具有智能性已成为大 家的共识,但是对于代理的定义仍旧没有得到统一,目前比较典型的定义有: ( 1 ) 代理是一个自包含的程序体。这个程序体具有一个或者多个目标( 或者称之为 目标状态) ,并且它能够感知当前环境状态,基于这个感知到的状态,它能够自 动执行来达到目标。 ( 2 ) 代理是一个软件或者硬件,能够根据用户指定的任务,执行必要的操作。 虽然目前不存在一个被广泛接受的定义,但是j e r m i n g s 和w o o l d r i d g e 在( ( a r o a d m a p o f a g e n tr e s e a r c ha n dd e v e l o p m e n t ) ) 一文中关于代理所应具备特性的论述被许多学者所 接受。他们认为代理应当具备以下特性【2 8 】: 自治性( a u t o n o m y ) :代理可以不需要外部环境( 此处的环境是指外部物理世界、 其他代理、图形用户界面中来自用户的交互事件、或者其它刺激) 的参与下,能够自行 决策与执行。 社会性( s o c i a la b i l i t y ) :代理能与其他代理通过代理通信语言进行交互,如代理通 信语言a c l 。 先验性( p r o a c t i v e n e s s ) 代理不仅仅简单的对外部环境刺激做出反应,它们能够 主动采取以目标为导向的行为。 反应性( r e s p o n s i v e ) :代理必须实时的感应它所处的环境,并且根据这个环境改变 迅速做出反应。 虽然代理最初始于人工智能,本意是希望系统具有广义上的智能性,但是在一般的 具体应用中对智能的需求确是狭义的,往往只需要能够对刺激做出正确的反应。从上述 特性我们还能看出并非所有代理都具有学习性,实质上是否具有学习性,应当与应用领 域相关。代理按照其在系统中的实际作用可以分为以下几种常用代理 2 9 】: ( 1 ) 协作代理( c o l l a b o r a t i v ea g e n t s ) :这种代理强调与其它代理自动或者协作执行 来达到目标状态。它们具有一定的学习能力,但是在它们操作过程中这点并不 是重点。为了达成目标,它们往往会与其它代理协商,共同完成目标。 ( 2 ) 界面代理( i n t e r f a c ea g e n t s ) :这种代理能够自动或者通过学习来完成任务。它 好比一个“个人助手”协助用户完成相同环境中的任务。界面代理与协作代理 之间有非常微妙的区别,界面代理与用户协作时不需要采用精确的代理通信语 ,l o 口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 碳交易机制影响-第2篇-洞察与解读
- 班组春节前安全培训课件
- 班组成员安全培训计划课件
- 2025年南京市公安局第一批面向社会公开招聘警务辅助人员715人模拟试卷及答案详解(夺冠系列)
- 班组安全活动培训六必有课件
- 2025广西贵港市覃塘区黄练镇储备村“两委”后备干部人选130人模拟试卷及一套参考答案详解
- 2025年陕西国网三批招聘已发布(59人)考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025昆明市滇池管理局引进高层次人才(1人)考前自测高频考点模拟试题(含答案详解)
- 2025河南郑州师范学院诚聘高层次人才考前自测高频考点模拟试题及答案详解(网校专用)
- 班组安全培训评语课件
- 输血科岗前培训课件
- 间质性肺炎护理查房内容课件
- 交通事故原因分析
- 深圳市企业职工养老保险养老金申请表
- IDC云数据中心机房运维服务解决方案
- 婴幼儿发展的一般规律及养育要点
- 大一统视阈下的边疆治理
- 2020ESPEN专家建议:围手术期营养管理
- 《教育心理学》课程教学大纲
- 学校健康食堂学生营养餐带量食谱
- 中西医结合导论第一章中西医结合导论
评论
0/150
提交评论