形式化与UML结合的建模方法及其应用
- 格式:pdf
- 大小:267.67 KB
- 文档页数:3
Web应用的UML协作图建模与形式化规格说明
汪斌;袁捷;缪淮扣;毕德闯;朱洪宝
【期刊名称】《计算机工程与设计》
【年(卷),期】2008(29)19
【摘要】针对Web应用的特点,从整体功能层面和交互行为层面用UML协作图构建了Web应用模型,以便精确、有效地描述参与协作对象间的结构关系和交互行为,保证在利用UML形式的规格说明推导测试用例时所需的语义信息.研究了运用Object-Z语言来形式化描述Web应用模型,提出了相应的转换规则.设计了形式化规格说明自动化生成的工具(UMLTOZ)中的主要相关类库.
【总页数】5页(P4898-4902)
【作者】汪斌;袁捷;缪淮扣;毕德闯;朱洪宝
【作者单位】上海大学,计算机工程与科学学院,上海,200072;上海大学,计算机工程与科学学院,上海,200072;上海大学,计算机工程与科学学院,上海,200072;上海大学,计算机工程与科学学院,上海,200072;上海大学,计算机工程与科学学院,上
海,200072
【正文语种】中文
【中图分类】TP311
【相关文献】
1.Web应用的UML建模与.NET框架开发 [J], 宋君峰
2.基于UML的Web应用建模与测试方法 [J], 李丽萍;缪淮扣;钱忠胜
3.运用UML对基于J2EE的Web应用系统建模研究 [J], 周世兵;刘渊
4.基于形式化规格说明的UML状态图提取 [J], 曾一;周欣;周吉
5.基于UML的Web应用程序建模的具体实现 [J], 李志玲;童小念
因版权原因,仅展示原文概要,查看原文内容请购买。
第26卷第1期 青岛大学学报(工程技术版) Vol.26No.1 2011年3月JOURNAL OF QING DAO UNIVERSIT Y(E&T)Mar.2011文章编号:10069798(2011)01003305基于CPN的UML2.0形式化建模孔莹莹1,蒲海涛1,隋瑞升2(1.山东科技大学(济南校区)电气信息系,济南250031;2.山东省邮政公司,济南250011)摘要:UML作为一种半形式化建模语言,很难对系统进行动态的仿真与性能评价。
基于着色Pet ri网(CPN)拥有严格的数学理论基础,能够对系统进行图形化的模拟与分析,提出了一种UML的形式化建模方法。
对UML210顺序图中opt等操作符给出了对应CPN图形的转化规则,实现了用CPN模型描述UML2.0的用例图与顺序图的目的。
以一个简单的UML2.0顺序图进行验证,结果表明所提方法是有效的。
关键词:UML210;CPN;形式化;建模中图分类号:TP302.7文献标识码:A 统一建模语言UML(unified modeling language)是一种对软件密集系统进行可视化建模的语言,自出现起即得到了工业界的广泛应用。
UML是一种半形式化语言,语法结构虽然采用了形式化的规约,但其语义部分是用自然语言描述的,缺乏准确的语义,这使得它只能对系统作静态的建模,不能进行动态的仿真,因而对模型难以进行定量定性的分析和验证。
但复杂系统的建模往往需要进行严格的形式化分析和验证,以期早期发现系统的缺陷,提出改进的措施,避免巨大人力和财力的损失。
形式化方法是使用具有精确数学语义基础的形式化规范语言对系统的需求分析及设计进行描述,它具有精确定义的语义模型和自动化验证工具的支持,可以对软件规范进行严格的分析和验证。
为使UML更适用于复杂系统的建模,对UML形式化方法的研究已经成为热点。
2000年Cortellessa等[1]提出利用UML图的不同信息定义一种新的系统性能评价模型的方法,称为PRIMA2UML。
软件设计开发本栏目责任编辑:谢媛媛Computer Knowledge and Technology 电脑知识与技术第5卷第19期(2009年7月)形式化与UML 结合的建模方法及其应用舒良春,肖美华(南昌大学计算中心,江西南昌330031)摘要:首先阐述了形式化方法与可视化方法的优缺点,并在此基础上提出软件体系结构形式化与可视化UML 互补的建模方法,主要探讨UML 和Z 结合的建模过程,并用一个系统开发实例进行展示。
关键词:UML ;Z ;形式化方法;软件体系结构建模中图分类号:TP311文献标识码:A 文章编号:1009-3044(2009)19-5167-03Combination of Formalization and UML Modeling Method and its ApplicationSHU Liang-chun,XIAO Mei-hua(Computing Center,Nanchang University,Nanchang 330031,China)Abstract:First of all,express the advantages and disadvantages of the formalization and visualization methods,then based on this,bring for -word the software architecture method ,focused on the modeling process of the combination of UML and Z ,and finally use an example to display.Key words:UML;Z;formalization methods;software architecture modeling在目前通用的软件开发方法中,其描述通常还是非形式化的方法和工具。
UML实时活动图的形式化分析本文的主题为“UML实时活动图的形式化分析”,主要探讨UML实时活动图的结构、功能、优点及不足,并通过形式化方法进行深入解析。
总结与建议UML实时活动图是一种用于描述并发和异步系统的图形表示法。
它侧重于系统的动态行为,展示了系统中各个组件如何交互以及数据如何流动。
实时活动图的核心是活动和它们之间的关系,这些关系可以描述系统中组件之间的交互。
UML实时活动图由活动节点和转换节点组成。
活动节点表示系统中进行的操作,如计算、等待和通信等,而转换节点则表示这些操作之间的依赖关系和执行顺序。
UML实时活动图还支持并发和同步机制,这使得它能够有效地描述现实世界中的复杂系统。
(1)能够清晰地表示系统的动态行为和并发性,使系统模型更加完整和准确。
(2)支持将复杂的系统分解为更小的活动和转换,使分析更加简单和直观。
(3)适用于描述异步和分布式系统,提供了一种有效的建模工具。
(4)可以与UML的其他模型进行集成,如类图、顺序图和状态图等,提高了模型的完整性和可理解性。
尽管UML实时活动图具有许多优点,但仍存在一些不足:(1)对于复杂系统的描述可能过于繁琐,使得模型难以理解和维护。
(2)实时活动图中的并发和同步机制可能引入额外的复杂性,使得模型变得难以处理。
(3)实时活动图中的细节可能会掩盖系统的重要结构和行为特征,从而影响模型的精度。
本文对UML实时活动图进行了全面的形式化分析,总结了其优点和不足。
针对实时活动图的不足之处,本文提出以下建议:在使用实时活动图进行系统建模时,应注意适度抽象,避免过于详细或繁琐的描述,以提高模型的可理解性和可维护性。
当遇到复杂系统的描述时,可以考虑使用其他UML模型进行补充描述,如类图、顺序图和状态图等,以提高模型的精度和完整性。
对于并发和同步机制的使用,应进行谨慎设计,确保模型中各个活动之间的依赖关系和执行顺序得到准确的描述。
UML实时活动图作为一种强大的系统建模工具,在分析和设计复杂系统时具有重要作用。
基于Petri网的UML形式化建模应用分析李龙澍;胡正梁【摘要】UML是功能强大的图形化建模语言,但存在缺乏精确的语义描述的特点,因此UML形式化研究一直是一个热点.Petri网既有直观的图形表示,又有坚实的数学基础,拥有许多成熟的分析方法可以直接用于分析模型的性能.结合一个图录编纂应用系统,使用基于Petri网的建模方法,对该系统的UML状态图和序列图进行了形式化分析.排除UML模型中的缺陷,在软件设计阶段发现错误,降低软件开发的花销,最终达到提高了软件的质量的目的.【期刊名称】《计算机技术与发展》【年(卷),期】2010(020)004【总页数】5页(P76-79,83)【关键词】眦形式化;状态图;序列图;Petri网【作者】李龙澍;胡正梁【作者单位】安徽大学,计算机科学与技术学院,安徽,合肥,230039;安徽大学,计算智能与信号处理教育部重点实验室,安徽,合肥,230039;安徽大学,计算机科学与技术学院,安徽,合肥,230039;安徽大学,计算智能与信号处理教育部重点实验室,安徽,合肥,230039【正文语种】中文【中图分类】TP310 引言面向对象的方法已经成为当前软件开发过程中的主流方法。
UML(Unified Modeling Language)即统一建模语言以其标准的图形化,易于表达等优点在软件分析、设计和测试阶段得到广泛的运用,并已经成为事实上的工业标准。
但UML是半形式化的建模语言,它缺乏精确的语义描述,因此UML的形式化研究一直是UML 研究中的一个热点[1,2]。
UML状态图是描述特定对象在其生命周期内的所有可能的发生状态以及引起状态转移的事件,同样存在难以对其复杂模型进行语义分析和验证的问题。
Petri网作为一种系统模型,它不仅可以刻画系统的结构,而且可以描述系统的动态行为。
Petri网既有直观的图形表示,又有坚实的数学基础,拥有许多成熟的分析方法[3]可以直接用于分析模型的性能。
软件设计开发本栏目责任编辑:谢媛媛Computer Knowledge and Technology 电脑知识与技术第5卷第19期(2009年7月)形式化与UML 结合的建模方法及其应用舒良春,肖美华(南昌大学计算中心,江西南昌330031)摘要:首先阐述了形式化方法与可视化方法的优缺点,并在此基础上提出软件体系结构形式化与可视化UML 互补的建模方法,主要探讨UML 和Z 结合的建模过程,并用一个系统开发实例进行展示。
关键词:UML ;Z ;形式化方法;软件体系结构建模中图分类号:TP311文献标识码:A 文章编号:1009-3044(2009)19-5167-03Combination of Formalization and UML Modeling Method and its ApplicationSHU Liang-chun,XIAO Mei-hua(Computing Center,Nanchang University,Nanchang 330031,China)Abstract:First of all,express the advantages and disadvantages of the formalization and visualization methods,then based on this,bring for -word the software architecture method ,focused on the modeling process of the combination of UML and Z ,and finally use an example to display.Key words:UML;Z;formalization methods;software architecture modeling在目前通用的软件开发方法中,其描述通常还是非形式化的方法和工具。
然而这种非形式化的方法并不能很好地描述不同组成系统之间的一些特性,已经难以适应软件体系结构研究的进一步发展。
因此,在软件体系结构的研究过程中必须要有能显示描述、有独立性的形式化研究工具。
形式化方法作为一种严格以数学为基础的方法,能够清晰、精确、抽象、简明地规范和验证软件系统及其性质,帮助发现其它方法不容易发现的系统描述的不一致,不明确或不完整,有助于增加软件开发人员对系统的理解,因而形式化方法能够极大地提高软件的安全性和可靠性。
UML 作为一种通用的对象建模语言,经过了十几年的不断使用、修改、发展和完善,现在逐渐趋于成熟,已成为在软件工业中占支配地位的建模语言,并在许多领域的软件开发中得到应用。
但UML 对软件体系结构建模时,缺少分析体系结构所需的准确语义,多视角建模视图之间也存在不一致性,这使得对模型难以进行一致性检查和正确性分析,进而限制了它的有效性。
并且。
这些非形式化特征使开发者无法从中看出设计的优劣,不利于对系统优劣的度量,不能帮助开发人员评估和改进。
因此,UML 结合形式化的建模方法是解决UML 非形式化缺陷的重要途径之一,并将对软件系统的开发具有重大的研究价值。
本文将在对前人关于软件体系结构的形式化方法分析研究的基础上,结合可视化的UML 技术,构造一种新的软件体系结构建模方法。
1软件体系结构建模方法概述形式化描述和可视化描述是目前主要的两类软件体系结构描述方法。
其中,形式化描述以体系结构描述语言ADL 为代表,可视化描述以统一建模语言UML 为代表。
[1]1)形式化描述软件体系结构软件工程中的形式化方法就是依靠数学模型和计算来描述和验证一个目标软件系统的行为和特性,包括需求规格、设计和实现等,其最根本的一点就是建立在严格的数学基础上。
使用形式化方法可以帮助开发者获得对其所描述的系统的深刻而正确的理解,发现并及时更正设计中的错误和缺陷。
软件开发中的形式化方法主要是形式化规范说明语言,目前广泛应用的一些形式语言,如Z 、VDM ,B 、CSP 、Temporal Logic 、ITL 、Petri 图等,这些形式化方法在功能上各有侧重,可以互补。
z 语言是由英国Oxford 大学程序研究组PRG 的Jean Raymond Abrial 、Bernard Sufrin 等人设计的一种基于一阶谓词逻辑和集合论的形式规格说明语言,它采用了严格的数学理论,可以产生简明、精确、无歧义且可证明的规格说明[2]。
z 语言是一种功能很强的形式规格说明语言,可以保证其书写的规格说明文档的正确性,同时还能保证有很好的可读性和可理解性。
Z 语言是迄今为止应用最为广泛的形式化语言之一,软件企业在软件开发,特别是大型软件的开发中经常采用z 语言进行需求分析,以产生形式化、精确的需求规格说明。
本论文实例分析中的××省电力公司EHR 人力资源系统是一个大型的人力资源管理系统,因而将采用Z 语言这样一个最为适宜的形式化方法。
2)可视化描述软件体系结构UML 是一种将软件开发过程中出现的各种模型用可视化图形来描述的语言,它融合了多种面向对象开发方法的优点,采用统一的图形和符号从多个视角描述软件系统的各种抽象模型,获得了国际标准化组织的认可,并被国际软件界广泛接纳。
但是随着软件规模和复杂性不断增大,UML 的不足就逐渐暴露出来了。
这是由于复杂系统的建模往往需要严格的语义分析,而UML 却缺乏准确的语义,这使得对软件体系结构的可构造性建模能力较弱,缺乏形式化语义,对体系结构的描述只能到达非形式化的层次,不利于系统的求精和验证。
收稿日期:2009-04-09基金项目:2008年江西省研究生创新专项资金省教育厅资助项目-网络协议安全性分析及支撑工具研究(YC08A032)ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.5,No.19,July 2009,pp.5167-5169E-mail:xsjl@ Tel:+86-551-569096356909645167Computer Knowledge and Technology电脑知识与技术第5卷第19期(2009年7月)3)形式化与可视化语言结合的软件体系结构建模方法形式化z方法能产生精确、无二义性的形式规约,为软件开发提供了严格的数学基础,但不够直观。
UML是一种可视化的图形建模语言,采用直观的图形表示法为系统进行建模,但缺乏精确的语义。
形式化Z方法和UML存在很大的互补性,二者的结合研究对提高软件的可靠性有着非常重要的意义[2]。
本文在最后部分将用一个实例演示UML和Z方法结合的应用。
2基于UML和Z的软件体系结构建模过程由于形式化方法的加入,UML和Z结合的建模的目标与开发模式与传统的建模过程有着明显的不同,主要体现在UML和Z结合建模的需求分析和设计阶段,需要投入比传统开发模式大得多的工作量,UML和Z结合的建模方法既保证了软件体系结构设计的一致性和可靠性,也使得后期的编码和测试工作相对简单。
图1为UML与形式化模型检测相结合的软件体系结构建模过程[3]。
3应用实例下面将采用笔者主持开发的××省电力公司人力资源系统(EHR)作为实例来介绍UML和Z结合的软件体系结构开发过程,这个过程中所使用的工具见图2。
3.1系统需求××省电力公司人力资源系统(EHR)是集人才招聘、合同管理、工资社保管理、人事变动、档案管理等功能为一体的人事系统。
该系统主要用于人事部对人才的管理和财务部对员工工资发放的管理。
具体需求如下:1)员工通过登陆系统进行注册,人事部管理人员通过系统来审核员工的注册信息,这样就建立了企业与员工之间的合同关系;2)人事部管理人员根据员工的日常工作表现、职称、工种及学历等情况提出员工的基本工资、奖金、职位升迁、人事调动等方案,方案由公司领导确认后执行。
3)财务部根据公司确定的工资、奖金方案,对员工工资进行管理,包括员工薪金的升降、员工账户的修改、员工账户的删除、生成财务各类报表、提出薪金改革方案等。
3.2UML用例图和类图根据系统功能说明可知,本系统的角色主要有:员工、财务部、人事部、公司领导;主要的业务有:人事管理、财务管理等。
图3和4分别为此人力资源系统的Use Case图和类图。
3.3形式化说明、验证Use Case模式中的类、关系、函数都可以通过Z语言进行形式化的描述,如:利用Z语言,可以将Use Case形式化为如图5所示格式:图5基于Z的Use Case图的形式化其中Declarations是角色、Use Case和系统的说明,Predicates部分用于表示角色和Use Case之间的关系,也就是说用来表示某个角色与Use Case之间有关系,即使用了Use Case的功能[4]。
根据以上对形式化方法的说明,下面我们将给出本人力资源系统的部分求精过程://每个员工(Worker)都有自己的ID和个人信息,ID和个人信息之间是一个全双射关系;员工之间的ID不能重复;员工的ID和登录密码之间也不能相同并且密码必须小于8个字节。
图1UML与Z相结合的软件体系结构建模过程图2系统开发工具图3人力资源系统的Use Case图5168本栏目责任编辑:谢媛媛软件设计开发软件设计开发本栏目责任编辑:谢媛媛Computer Knowledge and Technology 电脑知识与技术第5卷第19期(2009年7月)(上接第5158页)2)组件模型建立编辑default.vm 主界面页面放到Layout 模块中,而default.vm 主要又由defaultTop.vm 、menu.vm 、defaultBottom.vm 三个页面组成,放到模块Navigation 中。
负责物料数据视图展示的displayItem.vm 文件放到Screen 模块中。
所有业务逻辑都在\tdk\webapps\ims\WEB-INF\classes\org\mycompany\ims\modules 类文件中处理,负责处理物料添加、修改、删除操作的类文件ItemSQLclass 放到Action 模块中,而负责读取物料记录的类文件displayItem.class 放到Screen 模块中。
3)组件的协同用户登录后先进入default.vm ,发出请求进入物料管理页面displayItem.vm,其调用displayItem.class 类负责与数据层Torque 中的物料数据对象打交道,从数据库中读取出所有的物料数据记录。
用户请求添加新物料信息,调用addItem.vm 页面,在添加提交后返回到displayItem.vm ,但在返回之前定义了Action 事件,则调用ItemSQL.class 插入新记录后再执行displayItem.class ,把新的数据返回到dis -playItem.vm 视图文件。