基于UML需求模型的自动生成可执行原型系统的方法研究

来源 :中山大学 | 被引量 : 0次 | 上传用户:hl03031121
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
原型系统在软件开发中占据着非常重要的地位,在软件开发的分析阶段开发原型系统是一个用来消除客户和软件开发者之间的理解误差和验证客户需求的有效方法。如果能够根据系统需求模型自动生成可执行的原型系统,那么就可以大大节约软件工程师的精力并达到正确验证客户需求和进行早期的测试。 联合国大学国际软件技术研究所提出了一个从形式化的UML需求模型自动生成可执行原型系统的方法,并开发了基于该方法的工具(AutoPA2.0)。该UML系统需求模型包括概念模型和用例模型两部分。该方法能够对用前置条件和后置条件规约的简单用例自动生成一系列改变系统状态的原子操作,这些原子操作包括创建和删除一个对象、更新对象、建立和删除两个对象之间的链接。 但是该方法对复杂的用例不能直接从前置条件和后置条件生成可执行的代码,同时该方法在实现过程中用FOUR SETS(pro-objects,pre-links,post-objects,post-links)来规约前置条件和后置条件,这并不是一个形式化的方法,并且FOUR SETS规约系统限制的能力有限。 本论文在该方法的基础上,提出用OCL(对象约束语言)来规约系统限制、用例的前置条件和后置条件,并引进了两个原子操作:FindObjects,FindLinks。用OCL代替FOUR SETS比较好地解决了FOUR SETS存在的问题。同时本文也扩充了UML的系统需求模型,引进了活动图和形式化的系统顺序图来描述复杂的用例行为,并且提出和实现了从活动图和顺序图自动生成可执行代码的算法。基于这些改进,本文的方法能够对用前置条件和后置条件规约的简单的用例自动生成一系列的改变系统状态的原子操作,同时对复杂的用活动图或系统顺序图描述的用例,也可以自动生成可执行的代码。 基于本文的方法,我们在AutoPA2.0的基础上也开发了相应的工具(AutoPA3.0),用户只需要在UML工具(MagicDraw)中画出系统需求模型,该工具就能够自动生成可执行的原型系统供用户使用。 本文扩充了系统需求模型的用例模型,采用形式化的系统顺序图或活动图来描述复杂的用例行为,但是引进的活动图并没有在系统需求模型中被形式化,这就使得该方法并不是完全基于形式化的模型。一个简单的解决方法是只使用形式化的系统顺序图来描述复杂的用例行为,这样该方法和工具就是完全基于形式化的模型。更好的解决方法是采用形式化用例模型中所定义的转移系统将活动图形式化进系统需求模型中,此部分还需要进一步的研究讨论。
其他文献
随着现代软件工程的发展,基于软件构件复用的系统开发方法成为当前研究热点之一,而构件库管理系统作为对该软件开发过程提供支持的重要设施也被广大研究人员所关注。随着领域开
游戏引擎是一个处理游戏底层技术的平台,使用游戏引擎,游戏开发人员可以不用花过多精力去处理系统架构、图形处理等一些底层的技术,可以直接使用引擎提供的API来进行游戏开发。2
网格计算作为下一代Internet的一种计算模式,其核心任务是管理分布在Internet广域环境中的各种类型的软硬件资源,为基于Internet的分布式应用提供一个统一的、虚拟的共享资源
计算机流程管理技术已广泛应用于多个领域,随着Internet技术的发展及面向服务思想的兴起,流程的使用人群更加广泛,其个性化服务需求迅猛增长,传统的流程模式遇到了新的挑战。
近年来,随着Internet的大规模普及和企业信息化程度的不断提高,各种文本资源以惊人的速度增长,导致信息搜寻困难和信息利用率低下。快速高质量的文本聚类技术可以将大量文本信息
随着多媒体和Interact的迅速发展,对数字产品的保护和信息安全的迫切需要使得数字水印技术成为多媒体信息安全研究领域的一个热点问题。基于小波的多媒体水印算法近年来受到人
三维点云数据在影视游戏、逆向工程及文物保护与展示等各个行业的应用越来越广泛。囿于外界不可控变量、设备物理误差等因素,由测量设备得到的原始点云数据不可避免的带有许
在永恒发展的现实世界中,时间是信息的一个重要属性,大量数据都要在一定的时间背景下解释才有意义。随着计算机应用技术的深入和发展,人们对时态信息处理的需求也越来越迫切,时态
隐私保护数据挖掘近年来已成为数据挖掘领域一个活跃的研究方向,其研究主要有两方面的目标:一方面是为防止隐私信息的泄露提供有利的技术保障,消除信息拥有者在信息共享时的顾虑
随着网络技术和多媒体技术的飞速发展,网络视频监控已广泛应用于军事、交通、公安、银行、小区、仓库、远程支援和远程教学等领域。近年来,控制技术、通信技术以及微处理器性能