(计算机应用技术专业论文)基于Iltgt和UML的面向Agent需求建模框架研究.pdf_第1页
(计算机应用技术专业论文)基于Iltgt和UML的面向Agent需求建模框架研究.pdf_第2页
(计算机应用技术专业论文)基于Iltgt和UML的面向Agent需求建模框架研究.pdf_第3页
(计算机应用技术专业论文)基于Iltgt和UML的面向Agent需求建模框架研究.pdf_第4页
(计算机应用技术专业论文)基于Iltgt和UML的面向Agent需求建模框架研究.pdf_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于i 和u m l 的面向a g e n t 需求建模框架研究 摘要 需求工程作为软件工程的子领域,是软件生命周期的一个重要阶段,同时 也贯穿于整个软件生命周期,随着软件使用领域和范围的不断深入和扩大,其 重要性越来越突出。需求工程方法学是研究用来实现需求工程过程的方法,需 求工程方法学发展很快,对需求工程方法学不同侧面的研究及其一些经典论述 为需求工程的发展奠定了基础。a g e n t 作为一种新的在更高抽象层次上建模软 件的技术,越来越受到人们的广泛关注,目前已经有一些针对面向a g e n t 应用 而设计的需求分析方法,如k a o s 、i 框架、g a i a 、t r o p o s 等。 当前对需求工程的研究提出了一个新的观点,即把需求工程的活动划分为 早期需求分析和后期需求分析两个阶段。基于此,本文将适合于早期需求建模 的i 框架与常用的后期需求建模工具u m l 相结合,提出了一种面向a g e n t 的需求 建模框架,该需求建模框架将需求工程划分为早期需求获取和后期需求规格说 明两个阶段:在早期需求获取阶段,采用i 。策略模型描述组织背景a g e n t 的意 图和a g e n t 之间的依赖关系;在后期需求规格说明阶段,采用扩展的u m l 在 a g e n t 抽象层次上建立统一的需求模型。为了在二者之间建立连接,保持模型的 一致性,还为早期需求获取平滑过渡到后期需求规格说明提供了统一的模型映 射规则。 最后通过对智能网上心理咨询系统实例的分析,演示了系统建模和分析的 主要过程。 关键词:需求工程:i 建模框架;u m l ;智能心理咨询系统 r e s e a r c ho na g e n t - o r i e n t e d f r a m e w o r kb a s e do n a b s t r a c t r e q u i r e m e n tm o d e l i n g r e qu 1 r e m e n tm o o e l i n t : i a n du m :l a sas u b - d o m a i no fs o f t w a r ee n g i n e e r i n g ,r e q u i r e m e n te n g i n e e r i n gi sa n i m p o r t a n ts t a g eo fs o f t w a r el i f ec y c l e ,a n dr u n st h r o u g h t h ew h o l es o f t w a r el i f e s p a n a ss o f t w a r ei sg e t t i n gw i d e l yu s e da n dd e e p e n e d ,i t si m p o r t a n c ei sm o r ea n dm o r e o u t s t a n d i n g t h er e q u i r e m e n te n g i n e e r i n gm e t h o d o l o g y s t u d i e sm e t h o d so f r e a l i z i n gt h er e q u i r e m e n te n g i n e e r i n gp r o c e s sa n dd e v e l o p sq u i c k l y t h es t u d yo n d i f f e r e n ta s p e c t st h er e q u i r e m e n te n g i n e e r i n gm e t h o d o l o g ya n ds o m eb r i l l i a n t e x p o s i t i o nl a yf o u n d a t i o n so ft h ed e v e l o p m e n to fr e q u i r e m e n te n g i n e e r i n g a sa n e wa n dm o r ea b s t r a c tm o d e l i n gt e c h n o l o g y ,a g e n ti si n c r e a s i n g l yn o t i c e db y p e o p l e t om e e tt h en e e d so fa g e n ta p p l i c a t i o na n dd e s i g n ,n o w a d a y ss o m e a n a l y s i sm e t h o d sh a v ea p p e a r e d ,s u c ha sk a o s 、i f r a m e 、g a i a 、t r o p e se t c a tp r e s e n t ,t h e r e a p p e a r san e wv i e w p o i n to nt h es t u d yo fr e q u i r e m e n t e n g i n e e r i n gt h a tr e q u i r e m e n te n g i n e e r i n ga c t i v i t yc o n s i s t so ft w os t a g e s :e a r l y r e q u i r e m e n ta n a l y s i sa n dl a t er e q u i r e m e n ta n a l y s i s b a s e do nt h i s ,t h i sp a p e r ,t o c o m b i n et h ei f r a m eo fe a r l yr e q u i r e m e n tm o d e l i n ga n dc o m m o n l y - u s e dl a t e r e q u i r e m e n tm o d e l i n gt o o l s u m ll a n g u a g e ,p u t sf o r w a r dam o d e l i n gf r a m eo n a g e n tr e q u i r e m e n t ,w h i c hd i v i d e sr e q u i r e m e n te n g i n e e r i n gi n t ot w os t a g e s :e a r l y r e q u i r e m e n ta v a i l a b i l i t ya n dl a t er e q u i r e m e n ts t a n d a r d s o nt h ef o r m e rs t a g e ,i s t r a t e g ym o d e li sa d a p t e dt od e s c r i b et h ei n t e r p l a yb e t w e e na g e n ti n t e n t i o ni n o r g a n i cb a c k g r o u n da n da g e n t ,w h i l eo nt h el a t e rs t a g e ,e x p a n d e du m l i sa d a p t e d t ob u i l dt h eu n i f i e dr e q u i r e m e n tm o d e l t oc o n n e c tt h e ma n dk e e pt h em o d e l u n i f i e d ,t h ep a p e ra l s op r o v i d e su n i f i e dm o d e lr e f l e c t i o nr u l e sf o rt h et r a n s m i s s i o n f r o mt h ee a r l yr e q u i r e m e n ta v a i l a b i l i t yt ot h el a t er e q u i r e m e n ts t a n d a r d s a tl a s tt h r o u g ht h ea n a l y s i so fi n t e l l i g e n tp s y c h o l o g i c a lc o n s u l t i n gs y s t e m c a s e s ,t h ep a p e rp r e s e n t st h em a i np r o c e s so fs y s t e mm o d e l i n ga n da n a l y s i s k e y w o r d s :r e q u i r e m e n te n g i n e e r i n g ) i m o d e l i n gf r a m e w o r k su m l ) i n t e l l i g e n t p s y c h o l o g i c a lc o n s u l t a t i o ns y s t e m 插图清单 图2 - 1 目标9 图2 - 2 i 壬务9 图2 - 3 资源9 图2 - 4 软目标9 图2 - 5 方式一目的关系1 0 图2 6 任务分解关系1 0 图2 - 7 依赖关系1 l 图2 - 8 类表示法示意图1 6 图3 - 1 需求建模框架示意图2 3 图4 一l 智能网上心理咨询系统一般结构图2 9 图4 - 2 智能网上心理咨询系统策略依赖模型图3 0 图4 - 3 智能网上心理咨询系统策略原理模型图3 l 图4 - 4 基于a g e n t 抽象层次的用例模型3 4 图4 - 5a g e n t 类模型3 5 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标志和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得金目巴工些太堂 或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签字:矽智孝面 签字日期: 7 庐寥年歹月罄日 学位论文版权使用授权书 本学位论文作者完全了解金月墨王些太堂有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被 查阅或借阅。本人授权佥胆王些太堂可以将学位论文的全部或部分论文内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇 编学位论文。 ( 保密的学位论文在解密后适用本授权书) 嚣瓣萼耆磬栖 学位论文作者毕业后去向: 主磊姚;为俐 霹t 膨使 通讯地址: 名:刀耖 签字日期必辞f 妇万日 电话: 邮编: 致谢 衷心感谢我的导师邵垫副教授,感谢导师在百忙之中抽出宝贵时间对我进 行悉心指导。在论文选题、资料收集等方面,邵老师给了我很大的支持和帮助, 提出了许多建设性的意见,使我最终完成论文写作。邵老师严谨的治学态度、 高尚的学者品德和敬业的工作精神,都使我受益匪浅,也必将成为我一生学习 的榜样! 感谢和我在一起学习的同窗学友陈淳辉等同学,与他们平日的交流中,使 我受到了很大的启发,他们给予了我真诚的帮助,使我受到很大的鼓舞。 感谢我的父母、丈夫等家人和同事们。感谢他们平时对我生活上的关心和 照顾,对我学习和工作的充分理解与支持,正是在他们的支持和鼓励下,我才 能安心地完成论文的撰写工作。 感谢合肥工业大学计算机与信息学院、研究生部的各位领导和老师们对我 的帮助和支持。 作者:王春梅 2 0 0 8 年3 月2 0 日 第一章绪论 1 1 需求工程概述 需求工程是随着计算机软件的发展而发展的。在计算机发展的初期,软件 规模不大,软件开发重点关注代码编写,需求分析很少受到重视。后来软件开 发引入了生命周期的概念,需求分析成为其一个非常重要的阶段。随着软件系 统规模的扩大,需求分析与定义在整个软件开发与维护过程中越来越重要,直 接关系到软件的成功与否。人们逐渐认识到需求分析活动不再仅限于软件开发 的最初阶段,它贯穿于系统开发的整个生命周期,8 0 年代中期,形成了软件工 程的子领域一一需求工程( r e q u i r e m e n te n g i n e e r i n g ,r e ) ,进入9 0 年代以来, 需求工程成为研究的热点之一n 3 。需求研究是当前软件工程中的关键问题,从 美国于1 9 9 5 年开始的一项调查结果就足以看出这一点。在这项调查中,他们对 全国范围内的8 0 0 0 个软件项目进行跟踪调查,结果表明,有i 3 的项目没能完 成,而在完成的2 3 的项目中,又有1 2 的项目没有成功实施。他们仔细分析 失败的原因后发现,与需求过程相关的原因占了4 5 ,而其中缺乏最终用户的 参与以及不完整的需求又是两大主要原因,各占1 3 和1 2 心1 。 需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求, 帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科;它通过合 适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文 档,并对用户不断变化的需求演进给予支持。1 。对于“需求的概念,i e e e 作 了如下定义: ( 1 ) 用户解决问题或达到系统目标所需要的条件; ( 2 ) 为满足一个协约、标准、规格或其他正式制定的文档,系统或系统构 件所需要满足和具有的条件或能力; ( 3 ) 对上述条件的文档化的描述。 因此,需求工程可以看作是一个不断反复的需求定义、文档记录、需求演 进的过程,并最终在验证的基础上冻结需求。 需求分析阶段的工作是要能通过和用户、使用者等进行交互以获取软件系 统的需求,对它们进行描述和分析,产生规范化的需求文档,并要确保所产生 的用户需求是完整的( 没有遗漏重要的用户需求) 、一致的( 没有相互矛盾和冲突 的需求) 和准确的( 没有模糊和歧义的需求) ,包括功能性内容( 系统的目标、任 务和行为等) 和非功能性内容( 对目标软件系统的质量、安全性、可靠性、运行 性能等方面的要求) 。 需求分析涉及的范围非常广泛,从人类社会的组织模式和行为法则到自然 世界中的基本规律、从高层的抽象对象到具体的组件描述、从一些模糊意念的 表达到严格的数学逻辑等都被包含在其中哺】【引。文献h 1 中从多个不同的角度进行 分析,从而建立一个系统的需求模型。通常一个需求分析过程分为三个阶段: ( 1 ) 信息获取阶段 主要负责将信息从不同的用户角度不加选择地收集到一起。信息的收集过 程通常采用采访和交谈的方式,对被需求系统所涉及到的客户对象进行采访。 这种采访是开放式的,从管理者到一般的普通操作人员都能够表示他们自己的 需求目标。在产生矛盾时,应该将意见不一致的用户和设计人员召集在一起进 行讨论,以尽可能地达成共识,并形成目标明确,需求完整的文档。 ( 2 ) 需求建模阶段 需求分析的目的是通过对待开发软件系统预期实现目标的分析,识别出所 有相关的概念和关系,建立需求模型。建立需求模型需要有一套完善的需求分 析理论的支持。如常用的有统一建模语言( u n i f i e dm o d e l i n g l a n g u a g e ,u m l ) 8 3 阳1 ,统一开发过程( r a t i o n a lu n i f i e dp r o g r a m m i n g ,r u p ) n 们, 模型驱动架构( m o d e ld r i v e na r c h i t e c t u r e ,m d a ) n 以及自动规约的知识获取 ( k n o w l e d g ea c q u i s i t i o ni na u t o m a t e ds p e c i f i c a t i o n ,k a o s ) 1 2 】【1 3 】 i 钔等等。 ( 3 ) 需求报告产生阶段 基于前两个阶段的工作,需求分析者最终将提交出待开发软件系统的需求 分析报告。其中重点包括分析系统的组件对象、领域约束和行为需求,以及从 模型中抽取出基本的领域概念字典和涉及的资源信息等。这样的需求模型必须 是一致的,明确的和完整的。这份报告将作为下一步开发的规范文件,并成为 衡量设计是否达到需求要求的唯一标准u 5 1 。 1 2 需求分析方法 为了对需求分析提供有力的方法与工具支持,人们提出了各种各样的需求 分析方法,从最早的六七十年代需求分析的出现一直到现在,需求分析经历了 若干的发展阶段,提出了若干的新思想和新方法,从最早的无结构分析方法, 到七十年代的结构化分析方法,到九十年代的面向对象分析方法,再到最近的 面向a g e n t 的分析方法,对需求分析的研究就一直没有停止过。 1 2 1 结构化分析方法 2 0 世纪7 0 年代,人们从早期的、非结构化的方法入手,首次尝试使用标 准化的方法,开发和推出了结构化的需求分析方法。结构化分析通常强调对原 有系统的建模,采用介于形式语言和自然语言之间的描述方式,通过一套分层 次的数据流图,辅以数据字典等工具描述需求。结构化分析方法认为,需求分 析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标 系统的“做什么的问题n 引。其通过获得当前系统的物理模型抽象出当前系统 的逻辑结构,并在此基础上建立目标系统的逻辑模型。 结构化分析分为两步:功能分解和数据详细分析。功能分解采用自上而下, 2 逐步精化的方法,把一个复杂的问题系统分解为尽可能独立的若干功能模块或 子系统,其最终结果为数据流图( d f d ) 集,而数据详细分析是对系统涉及的数 据进行详尽定义,从而得到一个称为数据字典( d d ) 的结果“利。 数据流图是结构化分析的主要模型。结构化分析方法( s a ) 大多使用自顶 向下、逐层分解的系统分析方法来定义系统的需求。分析人员先做出顶层数据 流图( i ) f o ) ,在此基础上反复细化,得到更详细的新的一层数据流图,直到得到 的数据流图中的加工均为基本加工为止n 引。 数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度, 以图形化的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向 下逐步求精的功能分解方法表示内容不断增加的数据流和功能细节。因此,数 据流图既提供功能建模的机制,也提供了信息流建模的机制,从而可以建立起 系统或软件的功能模型。 结构化分析方法作为迄今为止较为成功,应用比较广泛的一种分析方法, 它的优点表现在: 建立面向用户的观点,使用户参与并了解需求: 严格区分工作流阶段,使每一步工作都有条不紊; 结构化、自顶向下开发,使需求结构层次清晰便于系统开发和扩充修改; 工作文件的标准化和文献化,使需求过程都有较详细的文字资料记载; 使用d f d ,d d 等模型描述需求,使需求描述简便,直观。 同时,结构化分析方法也存在着一定的缺陷:首先,对于较为庞大的系统, 由于处理的不断分解,使得处理的数目增多,超出了人们的处理能力;其次, 分析与设计之间缺乏清晰的界限,从需求分析到内部设计,中间要经过流程图 到数据流图,再到系统设计图的不断转移,这将会导致不成熟的内部设计。 1 2 2 面向对象分析方法 面向对象( 0 0 ) 技术起源于六十年代的面向对象语言s i m u l a ,进入八十年 代后,面向对象程序设计( o o p ) 的概念日渐成熟,并开始走向实用;八十年代 中期,o o p 的基本概念被引入到设计阶段,面向对象设计( o o d ) 方法逐步形成; 八十年代后期,o o p 和o o d 的基本概念又被引入到分析阶段,从而开始形成面 向对象分析方法( o o a ) 。和结构化方法类似,面向对象方法首先从编码阶段产 生,进而发展到软件生命期的前期阶段一一分析阶段。 面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发 活动的系统方法,它是建立在对象概念( 对象、类和继承) 基础上的方法n 引。面 向对象思想的基本出发点是尽可能的按照人类认识世界的方法和思维方式来划 分和解决问题。客观世界是由许多具体事物、抽象概念和规则等组成。我们将 要研究的事物和概念都称为对象。面向对象的方法是以对象作为基本的元素, 它是分析问题和解决问题的核心。对象可以是具体的客观世界存在的事物,也 3 可以是抽象的事物。对象具有状态( 属性) 和操作,并将两者封装在对象的统 一体中,具有良好的模块化的特点。因此面向对象方法具有了封装性、继承性、 多态性等优异的特性训。 面向对象分析所要达到的目的就是对所要解决的问题进行分析,确定待建 的系统要做什么,并建立系统的模型,所以必须做到在客户和软件工程师之间 沟通基本的用户需求。 面向对象分析的基本方法是: ( 1 ) 标识出问题域中的对象类 为了发现问题域中的对象和类,分析人员需要在需求获取文档中查找名词 和名词短语,包括可感知的事物、角色、事件、相互作用、人员、场所、组织、 设备和地点等等。通过浏览使用系统的脚本发现重要的对象及其职责,是面向 对象分析过程初期阶段的重要技术。 ( 2 ) 定义这些类的属性和方法 通过对以上标识出来的对象进行进一步的分析,确定这些对象的属性和方 法。属性是对象的静态特征,描述了类的对象所共有的特性。一个属性是对类 的一个对象可能包含的一种数据或状态的抽象。方法是对象的动态特征,是对 对象具有的行为的一种抽象。 ( 3 ) 对这些类问的关系分析 当类及其属性和方法被确定后,接下来就将通过一组相互关联的模型详细 分析类之间的关系。关系是事物之间的联系。类之间的关系包括静态的联系和 动态的交互关系。因此这些模型将从以下两个不同的侧面对这些关系进行建模: 静态逻辑和动态逻辑。其中静态逻辑刻画了问题域的结构方面的特性,而动态 逻辑刻画了问题域动态行为方面的特性。 静态逻辑模型描述类之间的静态关系。在面向对象的建模中,最重要的三 种静态关系是依赖、泛化和关联。依赖是一种使用关系,它说明一个事物的变 化可能影响到使用它的另一个事物。泛化关系也称为继承关系,是一般事物( 称 为父类或超类) 和该事物的较为特殊的种类( 称为子类) 之间的关系。泛化意 味着子类继承父类的特征,特别是父类的属性和方法,但子类除了具有父类的 属性和方法外,还具有别的属性和方法。关联是一种结构关系,它指明一个事 物的对象与另一个事物的对象间的联系。给定一个连接两个类的关联,可以从 一个类的对象导航到另一个类的对象。对类、类的属性、方法和类之间的静态 关系的描述可以用类图来统一的描述。在面向对象的需求分析中,类图刻画了 问题域的结构方面的特性。 动态逻辑模型主要描述对象之间的相互作用。相互作用通过一组协同的对 象,对象之间的消息的有序的序列,参与对象的可见性定义,来定义各类的交 互行为。问题域的动态特性可以通过用例图、交互图、活动图、状态图等几个 4 模型图来刻圃。 面向对象的分析与设计方法的发展在8 0 年代末到9 0 年代中期出现了一个 高潮,由美国r a t i o n a l 公司开发的一种用于描述、视化和构架软件系统的建模 语言u m l 就是这个高潮的产物。它不仅统一了b o o e h 、o m t 和o o s e 等方法中的 基本概念,而且吸取了面向对象技术领域中其它流派的长处,其中也包括非0 0 方法的影响,从而更具综合性,并最终统一为大众所接受的标准建模语言。1 9 9 7 的o m g 采纳u m l l 1 作为基于面向对象技术的标准建模语言乜,表明u m l 代表 了面向对象方法的软件开发技术的发展方向。 u m l 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它的 主要内容可以归纳为静态建模机制和动态建模机制两大类,分别由五类图( 十 种图形) 来定义。此外,u m l 适用于系统开发的不同阶段,从需求规格描述直 至系统完成最后的测试和维护。 面向对象的软件分析能克服结构化分析方法的缺点。以对象模拟现实实体, 因而能使用户和分析员之间很好地沟通,更容易理解需求。由于对象的封装等 特点,变化容易隔离并能较快实现。从o o a 阶段到o o d 阶段,使用同一的对象 概念,开发过程中阶段的改变,不需要方法的转换,最重要的是面向对象技术 中的继承机制能更好地适应重用,提高了软件质量的可靠性和效率。 但其自身也面临一些问题。多数面向对象分析方法未能有效地描述系统的 外部行为和特性,未能提供建立完整的需求规约的手段,从而未能全面实现需 求分析的目标。面向对象的需求分析方法是从面向对象的设计方法延续而来的, 但设计针对的是解系统,而分析的对象是问题域,用解系统的模型与方法在对 题域分析方面的适用性上存在一定问题,与需求分析的本质存在一定的偏差。 1 2 3 面向a g e n t 分析方法 a g e n t 乜羽乜钉的研究起源于6 0 年代分布式人工智能。当时它只是该领域中 的一个基本术语,人们用它作为信息载体,来研究信息和知识描述的所具有的 特性和用于物理符号系统假设思想( p h y s i c a ls y m b o ls y s t e mh y p o t h e s i s ) 的推 理过程的实现闷题。当时普遍认为智能任务可以通过对符号的内部表示进行操 作而实现推理过程。推理过程及内部表示构成了a g e n t 的雏形。由于受当时条件 的限制,a g e n t 的最初设计者们对之并未抱太高的奢望。但是随着硬件水平的提 高和计算机科学理论的进一步完善,a g e n t 能力不断加强,能模拟人类越来越多 的思维和行为。7 0 年代,a i 研究者又开始了对合作的、分布的多a g e n t 系统的研 究工作。到了8 0 年代末,a g e n t 理论、技术的研究从d a i 领域拓展开来,与许多 其它领域相互借鉴和融合,在许多最初非d a i 应用的领域得到了更广泛的应用。 面向a g e n t 技术作为一门设计和开发软件系统的新方法已经得到了学术界和企 业界的广泛关注。特别是多a g e n t 的理论、技术为分布式开发软件系统的分析、 设计和实现提供了一个崭新的途径,被誉为“软件开发的又一重大突破 瞻引。 随着a g e n t 技术的发展,并逐步成为指导软件开发的主流方法,面向a g e n t 软件工程已经成为a g e n t 技术研究中的一个非常活跃的领域。这一领域涉及软件 工程问题的所有内容,如需求、设计、构造、确认和认证、发布、重用等。需 求分析作为软件工程的一个重要阶段也不可避免地引入了这一概念。抛开a g e n t 的具体类型和实现,单从概念来看( 由于a g e n t 的使用非常广泛,已经渗透到工 业的各个领域了,不同的用户对其有不同的定义,所以a g e n t 的概念只能采用特 定属性的描述来限定) ,它不同于传统的对象或组件概念,更符合人们对事物的 分类习惯以及事物相互交互关系的描述习惯心们乜 。a g e n t 是个比对象和类更加 抽象的概念,适合作为需求分析的描述对象:即在一个相对抽象的概念层次上对 系统进行描述,而不涉及系统实现的具体设计细节。 面向a g e n t 的分析不同于传统分析的方法,它是从行为主体入手,通过理解 问题域的结构,建立一个抽象的具有信息处理和推理能力的模型。它既不是对 现实世界的简单映射,也不是对目标软件系统的具体描述,而是从信息处理的 角度,尽可能地映射现实问题的结构特征,并以此为基础建立解决问题的多种 规划方案,以供a g e n t 在处理实际问题时做出最佳选择。这些规划方案的产生、 聚集、消亡是一个动态的变化过程,它可以由a g e n t 在运行时通过学习、总结而 自发的产生。可以看出面向a g e n t 的分析方法不受现有软件实现方法的影响,是 一种独立于计算域的分析建模方法,它的目的并不像传统需求分析那样,为了 获得一定的、完全的软件规范,而是为了获得某一类问题的求解模式。因此, 这种需求分析的结果,具有更大的稳定性和可复用性。面向a g e n t 分析建模尤其 适合于复杂系统和人机混合系统的分析与建模。 所以,当采用面向a g e n t 方法来开发系统软件时,需求分析工作需要更加充 分,应该彻底详细地了解用户的需求,从而能够抽象出系统的元模型以及其组 织结构。同样,虽然在一个更加抽象的层次上分析和描述系统组件和组织形式, 但自然语言的描述语义还不足以胜任,必须采用严格的形式化描述语言作为建 立需求模型的基础。所以可以看出,用自然语言来描述系统的需求是完全不够, 必须要形成一套规范的需求分析语言以及元模型结构。从一般语义描述的需求 到分解出满足该需求的每一个相互交互的抽象a g e n t 及其相关协同模型,仍然需 要进行许多复杂的理解分析工作,必须采用工程的概念,使用工程语言进行精 确地描述用户需求。需求工程的最终工作目标就是能够形成一套规范的需求说 明文档,以备后期的设计人员进行开发。面向a g e n t 的需求工程也是如此。 1 3 本文的研究内容 传统的软件需求工程只强调了系统的“是什么”和“如何做 两个方面, 而没有考虑系统的“为什么一方面,即软件系统仅仅建模了需求工程的静态本 体和动态本体,而没有考虑意愿本体,这是一个重要缺陷。当前对需求工程的 研究提出了一个新的观点,即把需求工程的活动划分为早期需求分析和后期需 6 求分析两个阶段。早期需求分析阶段的主要特点是非形式化的和对组织性和非 功能性需求的描述,侧重于描述系统所作用的领域背景信息以及理解系统的动 机和基本原理:后期需求分析通常是对系统功能进行较精确的形式化描述,形 成需求规格,并且对需求规格进行文档化以及完整性、一致性检查。目前大多 数的需求建模技术都是针对后期需求分析阶段,这些方法往往忽略了早期需求 分析。为此,本文提出了一个面向a g e n t 的需求建模框架,在这个框架中把i 框架与u m l 建模语言相结合,早期需求分析阶段,采用i 策略模型描述组织背 景中a g e n t 的意图和a g e n t 之间的依赖关系,后期需求规格说明阶段,在a g e n t 抽象层次上采用扩展的u m l 来建立统一的需求模型,包括基于扩展u m l 的用例 模型和a g e n t 类模型。本文首先分析了i 框架和u m l 建模语言,在两个需求分 析阶段之间建立了相应的模型映射规则,从而实现了从早期需求获取到后期需 求规格说明的平滑过渡。最后通过一个智能网上心理咨询系统实例来阐述方法 的实践过程。 1 4 论文的组织 论文共分五章: 第一章首先讨论了主要的需求分析方法,介绍了论文的主要研究内容及论 文的组织。 第二章详细介绍了早期需求建模框架i 框架和统一建模语言u m l 。 第三章提出了一种需求建模方法,这种方法结合使用了i 框架和u m l 统一 建模语言。 第四章结合智能网上心理咨询系统实例详细介绍了本文提出的需求建模方 法的建模和分析过程。 第五章结束语对本文进行了总结,并对将来的工作进行了展望。 7 第二章i 框架和硼l 2 1i 框架 i 。框架心们b d u 瞪钉是专门用于描述和分析系统的组织结构、可支持系统早期 需求分析的建模语言,它包括面向目标和面向a g e n t 的本体论。它假设在早期 需求分析阶段,将整个系统看成是一个社会环境,在这个社会组织中有许多元 素,其中包括执行者因实现目标、执行任务以及共享资源而相互依赖。目前已 经被成功地应用于需求工程、商业过程再工程和软件过程建模等领域之中。 利用i + 框架对系统组织环境的构成关系进行建模,不但可以了解系统环境 的构成,而且能理解系统“为什么 要这样构成,是否还有其它更好的构成方 式来满足组织环境目标等问题。在系统的组织环境之中,每个a g e n t 都具有一定 的目标,并利用特定的方法和资源来实现目标。i 框架提供了一种比其它面向 目标需求建模框架更开放、更具有策略性的a g e n t 概念,它将a g e n t 看作为具有 自主性的社会行为者,可以根据自己的意愿来采取相应的操作,这样就能更好 地理解a g e n t 之间的策略关系及其暗含的意义。 i 框架中的行为者是一个主要概念。行为者可以是a g e n t 、职位( p o s i t i o n ) 和角色( r o l e ) 。a g e n t 是一个具体的、具有物理表现的行为者,如一个具体的 人。角色是社会行为者在特定环境和领域中的一种抽象行为特征。职位处于角 色和a g e n t 之间,是一个a g e n t 所能充当的角色的集合。职位包括多个角色,而 a g e n t 既能占据职位,同时也能直接担当角色。i 框架中的行为者有目标并利用 特定方法和资源来达到目标。这些目标也许不一致而且相互冲突,i 模型可以 表示这些冲突的目标。需要注意的是,模型通常是不完整的,只包括具有策略 影响的项目。 i 框架由策略依赖模型( s d ) 和策略原理模型( s r ) 两个模型构成。在策略依 赖模型中,行为者被建模为通过彼此依赖关系来实现目标、执行任务和获得资 源。在策略原理模型中,描述了对行为者彼此之间关系的推理,描述了每个行 为者内部关于其目标以及与其它行为者关系的推理。支持通过推理来发现能够 满足目标的其它可选择的方法,并能对这些方法进行评价。 2 1 1 意愿元素 i 模型中的意愿元素即图形中的结点有目标、任务、资源和软目标四种。 ( 1 ) 目标是指行为者所要达到客观世界中的事物所处的状态或条件。在需 求建模中,对于目标并不需要详细描述实现过程,而是要考虑不同实现方法之 间的差异。目标可以是业务目标也可以是系统目标,业务目标是指个人或组织 所要达到的与业务相关的目标或状态。系统目标指待开发系统所要实现的目标, 通常用于描述目标系统的功能需求。目标的图形描述如图2 1 所示。 8 弓 图2 - 1 目标 ( 2 ) 任务代表了一种行为,即为了达到最终目的,行为者按照某种特定方 式或过程来做某项工作。它与目标的不同之处在于,目标描述了现实世界的某 种状态而并未指定实现这种状态的方法,而任务强调的重点是指定了实现某一 目标的具体方式。可以将一个任务指定为其它更高层任务的子任务,这样也就 限定了这个高层任务必须按子任务规定的方式来执行。任务可以被看作是目标 系统的实现方案,它确定了系统实现和满足目标、软目标的方法、过程、系统 的数据表达、系统的结构以及其它各种约束。任务的图形描述如图2 - 2 所示。 图2 - 2 任务 ( 3 ) 资源是一个物理或信息实体,主要关注的问题是资源的可利用性,即 资源是否可以被获得。资源的图形描述如图2 3 所示。 图2 3 资源 ( 4 ) 软目标类似于目标,同样也描述了客观世界中行为者所要达到的事物 所处状态或条件。与目标不同的是对于软目标所描述的状态或条件不存在一个 明确的判定标准来判定其是否被满足和实现,而是由需求人员和用户来主观判 定和解释其是否被满足和实现。软目标主要用来描述非功能需求,使非功能需 求成为功能需求的选择标准。软目标的图形描述如图2 4 所示。 图2 - 4 软目标 2 1 2 意愿关系 意愿关系描述了模型元素之间具有的意愿性关系,它将所有的元素连接起 来从而构成完整的模型。意愿关系有方式一目的连接、任务分解连接、作用关系、 相关关系和依赖关系等五类关系。 ( 1 ) 方式一目的关系 方式一目的关系用来描述目标如何被实现,任务如何被执行,以及资源如何 被获得。一般来说,每个任务元素都代表一种实现目标、执行任务和获得资源 9 的可选择方法,方式一目的关系可以分为以下几种类型: 任务一目标 任务( 方式) 说明如何满足目标。 任务一资源 任务被用来确保资源的可利用性。 任务一任务 当细节被增加到一个任务的说明中,但任务说明还没被完成,从而一些细 节还需要解决并要考虑到细节中的可选项时,它们被使用。 目标一目标 它可以用来表示一个目标缩减为子目标的合取,当分解被认为是局部的时 候,这种关系被使用以替代任务分解,即子目标对父目标的满足有贡献但对于 目标的满足它并不是充分条件。 任务一软目标 这种关系指出任务对软目标的贡献,即它对软目标的评价。这种贡献可以 是肯定的或否定的。 软目标一软目标 这种关系使得能够将软目标分解为层次,直到最后它们被附加给一个任务, 而且能用否定链表示软目标问的冲突。 方式一目的关系是一根带箭头符号的直线,上端连接目的接点,下端连接方 式结点,图形描述如图2 5 所示。 图2 - 5 方式一目的关系 ( 2 ) 任务分解关系 任务是为了完成目标所做动作的特定过程。一个任务可以分解为目标、任 务、资源和软目标,因此任务分解关系可以分为4 种类型:即目标一任务、任务一 任务、资源一任务和软目标一任务。在图形描述中,任务分解关系是一个中间带 有短横线的直线,上端连接被分解元素,下端连接被分解元素的子元素。其图 形描述如图2 - 6 所示。 图2 - 6 任务分解关系 目标一任务 如果一个目标是一个任务的构成成份,这意味着目标代表的条件在任务代 l o 表的动作过程中是一个必不可少的部分,但是不考虑这个条件如何被达到,即 它可将在以后确定或可能考虑若干个可选项。 任务一任务 如果一个任务是另一个任务的子任务,这意味着高层任务必须按子任务规 定的方式来执行。 资源一任务 如果一个资源是一个任务的构成成份,这意味着此任务的执行需要这个资 源。 软目标一任务 如果一个软目标是一个任务的构成成份,则对于任务来说,它是一个质量 目标,因此通过提供对可能分解的评价标准,它约束或指导任务的分解。 任务分解关系具有描述任务元素影响任务目标满足方式的特征,从而任务 分解关系可以是开放的( o p e n ) 或承诺的( c o m m i t t e d ) 。开放关系表示,如果任务 元素没有被完成,任务将受到影响但不一定会失败。也就是说,行为者认为没 有使用此元素,任务仍能被执行但也许不容易。承诺关系表示,行为者认为如 果任务元素没有被完成,任务将失败。 ( 3 ) 依赖关系 依赖关系是一条连接两个行为者的关系链,描述了两个行为者之间的意愿 依赖关系。存在依赖关系的两个意图角色分别称作依赖者和被依赖者,二者之 间的依赖关系称作依赖体。依赖关系有任务依赖、资源依赖、目标依赖和软目 标依赖四种。在目标依赖中,依赖者依靠被依赖者来实现现实世界的某个状态 或条件。因为依赖者只关心最终的状态或结果,所以被依赖者可以自由地选择 如何实现目标。在任务依赖中,依赖者依靠被依赖者来执行某个行为,其中并 没有给出依赖者希望通过执行行为所要达到的目标,而行为的描述则指定了一 个特定的执行过程。在资源依赖中,依赖者依靠被依赖者来获得某种实体。软 目标依赖类似于目标依赖,不同的是软目标没有被清晰地预先定义,而且不存 在一种明确的判定标准对软目标满足与否进行判定。依赖关系的图形描述如图 2 7 所示。 _ b 卜一 图2 - 7 依赖关系 ( 4 ) 作用关系 作用关系描述意愿元素在另一个意愿元素被满足的过程中所起到的作用以 及作用程度。 ( 5 ) 相关关系 相关关系描述了不同类别软目标元素之间的相关关系。它与作用关系类似, 不同的是相关关系不是建模过程中应主要考虑的关系,而是一种次要关系。 2 1 3i 框架中模型及推理机制 i + 体系主要包括两个模型。策略依赖( s d ) 模型被用于描述组织环境中不同 行为者之间的依赖关系。策略原理( s r ) 模型被用于描述行为者的利益和事务, 以及它们怎样被系统和环境中的不同配置所满足。 策略依赖模型提供一个目的层中行为者之间关系的特征,模型人不需要知 道过多的行为者内部的配置,而集中于行为者依赖关系的组织结构。策略依赖 模型对描述组织环境和组织环境中的信息系统提供了一个抽象层。它显示了行 为者中的外部的关系,而在每一个行为者中隐藏了具有意图的模型。策略依赖 模型在帮助理解组织和系统配置时是有用的。 策略依赖模型提供了一个描述组织背景的抽象层次,展现了组织角色之间 的外部关系。策略原理模型可以用于更详细地描述角色内部的意图关系。策略 原理模型详细说明了行为者执行的任务并指出这些任务如何被联系到功能或非 功能目标,它也展示了满足目标的可选结构以及行为者使用的选择可选结构的 标准。策略原理模型还描述了行为者如何和为什么执行过程、获得资源以及在 一个特定结构中为什么安排依赖等。策略原理模型主要是由四种类型的意图元 素和两种主要类型的连接关系构成的图,这四种类型的意图元素是目标、任务、 资源和软目标,这四种意图元素通过两种主要的连接关系在角色外部以及内部 进行连接,这两种主要的连接关系分别是:方式一目的关系和任务分解关系。 i 框架使用策略依赖模型和策略原理模型两种图形对业务领域组织的行为 和目标展开描述。两种图形在两个不同的程度上给出了开发人员关于业务领域 问题的两种视图。s d 侧重于行为者之间的各种依赖关系,而s r 侧重于行为者内 部的任务、目标、软目标的细化和分解。 2 1 4 和i 模型相对应的形式语言描述 g r l 建模语言和i 是一一对应的,结合g r l 语法框架对i 建模框架中的元素 形式语言描述。 ( 1 ) 行为者表示一个有策略目标以及系统或组织的内部意图的模型实体。 行为者可以决策目标和意图特性,它包含属性、创建条件和声明周期内所维持 的性质。行为者的形式表示方法如下: a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论