形式化与UML结合的建模方法及其应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件设计开发本栏目责任编辑:谢媛媛Computer Knowledge and Technology 电脑知识与技术第5卷第19期(2009年7月)形式化与UML 结合的建模方法及其应用
舒良春,肖美华
(南昌大学计算中心,江西南昌330031)
摘要:首先阐述了形式化方法与可视化方法的优缺点,并在此基础上提出软件体系结构形式化与可视化UML 互补的建模方法,主要探讨UML 和Z 结合的建模过程,并用一个系统开发实例进行展示。
关键词:UML ;Z ;形式化方法;软件体系结构建模
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2009)19-5167-03
Combination of Formalization and UML Modeling Method and its Application
SHU 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-569096356909645167