基于UML规范的建模工具研究与设计
软件建模与设计UML、用例、模式和软件体系结构
“软件质量是衡量软件开发成功与否的关键因素之一。通过运用各种设计模 式和UML图表,我们可以提高软件的质量和可靠性。” (p. 160)
“团队间的沟通是软件开发的关键因素之一。通过统一语言和可视化模型, 我们可以提高团队成员间的沟通和协作效率。” (p. 177)
这些摘录不仅展现了本书的丰富内容和独特见解,也传达了软件开发的核心 原则和方法。无论大家是初学者还是资深开发者,相信大家都能从这本书中获得 启示和收获。
这一章深入探讨了用例图和用例描述。读者将了解到如何识别和定义用例, 以及如何创建用例图来表示这些用例之间的关系。还讨论了如何编写有效的用例 描述,包括前置条件、主要步骤和后置条件。
这一章引入了一些常用的设计模式,如单例模式、工厂模式和观察者模式等。 读者将了解到这些模式的用途、实现方法和适用场景。还讨论了重构的概念和方 法,以及如何通过重构来改进代码的质量和可维护性。
《软件建模与设计UML、用例、模式和软件体系结构》是一本极具价值的书 籍,它为我们提供了深入了解软件开发艺术的途径。通过学习本书的内容,我们 不仅可以掌握软件建模与设计的精髓,还可以提升我们的技能和知识水平。无论 大家是学生、教师还是开发者,这本书都将成为大家成长道路上的宝贵财富。
阅读感受
在我阅读《软件建模与设计UML、用例、模式和软件体系结构》这本书的过 程中,我深深地被书中深入浅出的讲解和丰富的案例所吸引。这本书不仅扩展了 我的软件设计视野,也让我对软件建模有了更深入的理解。
内容摘要
软件设计模式是解决常见设计问题的可重用解决方案,而软件体系结构则描述了软件系统的组织 结构和关系。本书提供了许多实用的例子和解释,帮助读者更好地理解和应用这些关键概念和技 术。 本书通过一个综合实例演示了如何将UML、用例、模式和软件体系结构应用于实际的软件开发项 目中。这个实例涵盖了从需求分析到系统设计的整个过程,帮助读者更好地理解和应用所学知识。 《软件建模与设计UML、用例、模式和软件体系结构》是一本全面、实用且易于理解的软件建模 与设计著作。无论大家是初学者还是经验丰富的开发人员,本书都将为大家提供深入浅出的指导 和实用的例子,帮助大家更好地理解和应用软件建模与设计的关键概念和技术。
基于UML的软件设计和建模(2)
用例图的组成元素
• 四种元素: - 参与者 Actors: 使用系统的人或事物 - 用例 Use case: 一组系统行为 - 关系 Relationships: 参与者与用例之间的 关联、泛化和实现关系 - 系统边界System boundary: 区分系统内 部和外部
2018/9/25 10
什么是参与者 actors
- 外部实体与系统交互时扮演的角色 - 可以是用户,也可以是与这个系统交互的另外一 个系统 - 注意:参与者总是在系统之外的
students
2018/9/25 11
如何找到参与者 actors
• 考虑谁或者什么使用这个系统,并且他们在交互 过程中扮演一个什么样的角色 • 可以问自己这样一些问题: – 谁或者什么使用这个系统? – 他们在交互过程中扮演什么角色? – 谁安装这个系统? – 谁启动或者关闭这个系统? – 谁维护这个系统? – 有其他系统与这个系统交互么? – 谁或什么从这个系统取得或者提供信息? – 这些事情是不是在某个确定时间发生的? 12 2018/9/25 – ……
2018/9/25
17
用例的组织和用例图
• 在UML里, 用例图是表达用例和系统作用者及其 之间关系的的载体 • 用例图可包含
– 用例 – 系统作用者 – 它们之间的关系
• 这些关系可以是
– – – – 关联关系(某种联系,e.g. 参与,影响,使用) 依赖关系(include, extend) 实现关系(一般--特殊) 泛化关系(参与者泛化、用例泛化)
2018/9/25 31
• 注意:
• UML把包含关系和扩展关系表示为依赖关 系的变体 • 在任何一种图形表示中,箭头所指的模型 元素分别代表被包含的用例或被扩展用例 (基用例), 而包含关系和扩展关系的变体标 记分别是<<include>>和<<extend>>(下页 图 )。
uml软件建模报告
课程设计报告题 目 学生宿舍管理系统课 程 名 称 软件系统分析与建模课程设计 院 部 名 称 龙蟠学院 专 业 计算机科学与技术 班 级 M10计算机科学与技术 学 生 姓 名 卢礼刚 学 号 ********** 课程设计地点 A201 课程设计学时 20 指 导 教 师 李 慧金陵科技学院教务处制成绩学生宿舍管理系统1.案例分析目标本案例采用UML的方式对学生宿舍管理系统进行分析和设计,通过对学生宿舍的建模来对UML进行更加详细的了解和熟悉。
基于以上我们对学生宿舍的了解和对学校宿舍楼管理老师的咨询,我们小组成员:包云卢礼刚2.背景分析2.1宿舍楼的基本情况学生住在宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常管理。
一、学生的基本信息:入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,也会有一个宿舍号,其入校时间就是他的入住时间。
另外,为了管理上的方便,同一院系的学生的宿舍一般在一起,相应地会有其所在的院系名称。
宿舍的基本信息:每间宿舍都有唯一的宿舍号2.2用户对系统的要求一、宿舍楼管理员:a.信息要求:宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,夜归的详细信息和学生离返校的信息。
以利于对整个宿舍楼的全面管理。
b.处理要求:当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。
比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。
c.安全性与完整性要求:安全性要求:1.系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2.系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;3.系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(学生),管理员。
二、本宿舍楼的学生:信息要求:本宿舍楼的学生能查询其所在的宿舍的所有信息。
基于UML保险公估系统的建模与分析设计
U ML采 用易 于理解 的 图来描述 系 统 的视 图 , 建立 起 能够 表 达 出设 计 者 想象 力 的 系统 蓝 图 , 有 利 于 这 不 同知 识背景 的 客户 、 户 、 域专 家及 系统 分析 、 用 领 开发 、 设计 人员 之间 的交流 , 进他们 的互 相理 解 , 促 更易 确 定 系统 的需 求 和 明确 目标 系统 的功 能和实 现方式 .1 J
结 构 和动 态行 为 . 静态 结构 定 义 了系统 中重要 对 象 的属性 和操 作 以及 这些对 象之 间 的相互 关系 ; 动态 行 为
定 义 了对 象 的时 间特性 和对 象 为完成 任 务而 相互 进行 通 信 的机 制 , 不 同但 相 互联 系 的角 度对 系 统建 立 从
的模 型 可用 于不 同的 目的 .4 _
估 人 ( 勘员 ) 随后 , 查 . 查勘 员 可 以通 过 系统 对查 勘情 况进 行 登记 , 确定 损失 情况 , 并形 成定 损清 单 . ( ) 于 已经 上报 登记 和定 损 的案 件可 以安 排 审核人 员 . 3对 这个 人员 可 以是业 务员 ( 勘员 ) 查 自己本人 ,
第 3期
张平华 , : 于 U 等 基 ML保 险 公 估 系 统 的建 模 与分 析 设 计
5 1
可视 化 的标 准蓝 图或 者 以图表 的方 式 对 所 研 究 的 系统 进 行 可视 化 描 述 的工 具 . 是 , ML不 是 一 个独 立 但 U
图书馆管理系统uml建模
基于UML的图书馆管理系统建模设计一、摘要面向对象的软件工程,同传统的面向过程的软件工程相比,在需求的获取、系统分析、设计和实现方面都有着很大的区别.UML是OOA和OOD的常用工具。
使用UML来构建软件的面向对象的软件工程的过程,就是一个对系统进行不断精化的建模的过程。
这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。
当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的质量.使用面向对象的工具来构建系统,就应该使用面向对象的软件工程方法。
然而,我们经常会发现,在实际的开发过程中,很多开发人员虽然能够理解UML的所有图形,却仍然不能得心应手的使用UML来构建整个项目,其很大的原因,是仍然在使用原有的软件工程方法,而不清楚如何使用UML来建立系统的这些模型,不清楚分析和设计的区别,以及他们之间的转化.应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。
应用软件的制造过程,按照UML的方法,就是建立这一系列模型的过程。
关于这个图书馆系统,基本的需求比较简单,就是允许学生可以在图书馆借阅和归还图书,另外,也可以通过网络或者图书馆的终端来查阅和预订书。
当然,图书馆管理员也可以对图书进行管理.为了简化系统,我们没有把图书馆中的人员作细分。
本文只是对使用UML的过程做一个探讨,着眼于使用UML进行建模的过程,说明各个层次的模型之间的区别和联系,展示系统演进的过程,而不会深入UML的细节方面.对于更加复杂的系统,其分析和设计的方法是相通的,可以举一反三。
二、图书馆管理系统可行性分析随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求.图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案.在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2000数据库,使得本系统可以方便的和其他子系统进行数据交换。
第三篇 第10章 UML及其建模工具的使用
15
UML的基本概念[11]- UML概念范围
各种图之间的关系
静态视图(类图,对象图),物理视图(实现视 图,部署视图)是描述系统的静态结构。 用例图是描述系统的外部视图。 活动图描述系统的外部/内部视图。 交互视图(顺序图,协作图)描述系统的内部视 图。 状态图描述单个类的动态行为。
16
UML的基本概念[12]- UML概念范围
UML的基本概念[13]- UML概念范围
扩展机制
扩展机制(Extension Mechanisms),UML能 满足绝大部分系统建模的需要,但任何语言都不 是万能的,它必须考虑一定的扩展机制,UML 的扩展机制包括约束、标签值和原型。这些扩展 机制可以用来为特定领域剪裁UML的配置,这 样带来一些好处:根据自身需要来使用建模语言。
7
Rational三剑客
Jim Rumbaugh
Ivar Jacobson
Grady Booch
8
UML语言包含三方面内容:
1.UML基本图素:它是构成UML模型图的基本元 素。 2.UML模型图:它由UML基本图素按照UML建模 2 UML UML UML 规则构成。 3.UML建模规则:UML模型图必须按特定的规则 有机地组合而成,从而构成一个有机的、完整的 UML模型图(well-formed UML diagram)。
18
基本图素
一个模型必须首先定义各种事物的内部特征和相互 之间的关系,下面介绍一些基本的模型元素:
分类:共12个 类(Class) 接口(Interface) 包(Package) 角色(Actor) 用例(Use Cases) 组件(Component) 结点(Node) 状态(state)…… 关系: 关联(Association) 泛化(Generalization) 依赖(Dependency) 实现(Realization) 约束(Constraint)
基于UML的任务规划系统建模与设计
态模型——交互 图( 顺序 图和协作 图) 和活动 图能够较好地来 描述作战系统的动态行为。
因素 , 考虑将“ 军事概念模型” 作为从“ 任务 的数学建模” 作 到“
图 2 地形 类 建模实 例
战仿真可视化” 的一条中间途 径。军事概念模 型 ( o cpul C n eta Mo e o la f i , MMA)是“ 了支持建模仿真资 d l f i r Af r C Mit y as 为 源 的重用 、仿真系统互操作和 V V&A 在技术人员及开发工 具 的支持下 , 军事人员提取独立 于应用实现 的真实世界 的结
的功能,用类图描述系统的结构,用状态图、活动 图、顺序
图和合 作图等 4个 图形描述系统的 内部行为。组件 图表示代 码 部件 的物理结构及各部件之 间的依赖关系,配置图定义系
统中软硬件 的物理体系结构 。
了 自然环境 以及武器装备等的图形表现 形式 ; 兵员类是对任
务参与单位的抽象 , 其对象主要描述各个机构 的协作关系和
… J r wI Nes d.ML和 统一 过程 [ . 贵宾 , 侃 , 罡 译. 1 i l ,a ut t mA o l a U M] 方 李 张
北京 :机 械工 业 出版 社 .04 2 0. [】 n y o g , cal o g. ML与 R t nl oe 02从入 门到精 2 Wed B g s Mi eB g sU h ai a R s 2 0 o 通 [ . 中潘译 . 京 :电子 工业 出版社 ,2 0. M] 邱 北 02
基于UML面向对象的系统分析设计方法研究
基于UML面向对象的系统分析设计方法研究1、引言UML是一种编制系统蓝图的标准化语言,可以实现大型复杂系统各种成分描述的可视化、说明并构造系统模型,以及建立各种所需的文档,它是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
UML的发展对软件工程的发展做出了杰出的贡献。
UML支持从需求分析开始的软件开发的全过程。
UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。
URM的发展经历了以下几个阶段。
最初的阶段是专家的联合行动,由三位OO(面向对象)方法学家[8]将他们各自的方法结合在一起,形成UML 0.9。
第二阶段是公司的联合行动,由十几家公司组成的“UML 伙伴组织”将各自的意见加入UML,形成UML 1.0和1.1,并作为向OMG申请成为建模语言规范的提案。
第三阶段是在OMG控制下的修订与改进,OMG于11月正式采纳UML 1.1作为建模语言规范,然后成立任务组进行不断的修订,并产生了UML 1.2、1.3和1.4版本,其中UML 1.3是较为重要的修订版。
目前正处于UML的重大修订阶段,目标是推出UML 2.0,作为向ISO提交的标准提案。
1.1 UML的特点UML具有以下特点[1]:(1)面向对象。
UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念。
(2)可视化,表示能力强。
通过UML的模型图能清晰地表示系统的逻辑模型和实现模型。
可用于各种复杂系统的建模。
(3)独立于过程。
UML是系统建模语言,独立于开发过程。
(4)独立于程序设计语言。
用UML建立的软件系统模型可以用Java、VC++、SmalltaIk等任何一种面向对象的程序设计来实现。
(5)易于掌握使用。
UML图形结构清晰,建模简洁明了,容易掌握使用。
基于 UML 的动力传动系统软件建模方法研究
基于 UML 的动力传动系统软件建模方法研究动力传动系统是汽车的核心部件之一,保证汽车在行驶过程中能够稳定、高效地运行。
近年来,随着车辆智能化的不断提升,动力传动系统的软件化程度也越来越高。
为了满足日益增长的汽车市场需求,提高动力传动系统软件的开发效率和质量,基于 UML 的动力传动系统软件建模方法得到了广泛关注。
UML 是一种用于软件开发的标准建模语言,广泛应用于面向对象系统分析和设计。
在动力传动系统软件建模中,UML 可以帮助开发人员清晰地描述系统结构和行为,并将其转化为可执行代码。
基于 UML 的动力传动系统软件建模方法包括以下几个步骤:一、需求分析动力传动系统软件的需求分析是整个建模过程的基础。
在这一阶段,开发人员需要通过与客户沟通和理解,明确系统功能、性能、安全等方面的需求。
针对需求中的每个角度,开发人员可以使用不同的 UML 模型进行建模,比如用用例图描述系统功能,活动图描述系统流程等等。
二、系统架构设计在需求分析的基础上,开发人员需要进行系统架构设计。
系统架构设计是抽象的、概念性的,主要用来描述系统的组成部分和它们之间的关系。
UML 中的类图和组件图可以有效地帮助开发人员建立动力传动系统软件的系统架构。
三、系统行为建模系统行为建模是描述系统各个对象之间交互行为的过程。
在动力传动系统软件中,通常会采用状态图、序列图等 UML 模型来描述系统行为。
例如,状态图可以用于描述变速器的各种状态转移,序列图可以用于描述汽车的启动过程。
四、详细设计与实现详细设计与实现是建立在系统架构和行为模型之上的阶段,它主要包括各个组件或对象的具体设计和实现。
在这一阶段,开发人员需要使用 UML 类图和时序图对系统进行详细描述,明确各个类之间的关系和对象的状态转移等。
基于UML 的动力传动系统软件建模方法具有多个优点。
首先,可以将系统的各个方面进行清晰、精确的描述,方便开发人员、测试人员和其他相关人员的沟通和理解。
UML及其建模工具的使用
为什么对面向对象方法感兴趣?
面向对象方法的主要优点: 自然性
追求软件系统对现实系统的直接模拟,尽量 实现将现实世界中的事物直接映射到软件系统的 解空间中。
软件复用
可复用性(可重用性) reusebility
可扩展性 可管理性
12
可复用性(可重用性)
面向对象技术允许复用的不仅仅是 代码, 通过面向对象技术, 我们可以复 用需求、分析、设计、测试计划、用户 界面以及体系结构等等, 事实上, 软件 工程生存期中的每个部分都可以复用。
20
类(class)
类
具有共同属性和行为的对
象的抽象
类与对象的关系
对象
类是对象的抽象 对象是类的实例
21
对象、实体与类
计算机世界 现实世界 影射
对象
实 例 化
抽 象
实体
抽 象
类
计算机逻 辑的实现
概念世界
抽象数据类
22
封装
封装是软件开发方法的重要原则,有 两个涵义: •把对象的全部属性和全部服务结合在 一起,形成一个不可分割的独立单位 (对象)。
38
二、统一的建模语言方法
由Rumbaugh 、 Booch 、 Jacobson 提出的统一建模语言 (Unify Modeing Language简称 UML) UML是一种定义良好,易于表达, 功能强大且普遍实用的建模语言。
39
UML的产生
1988年到1992年是面向对象方法学蓬勃发展的 时期,人们从各自的经历和软件开发的经验提出 了各种面向对象的开发方法,代表的有:
消息
对象之间相互请求或相互协作 的途径,是要求某个对象执行某个功能 操作的规格说明 通常包含接收方及请求接 收方完成的功能信息 发出消息,请求接收方响应 收到消息后,经过解释,激 活方法,予以响应
基于UML的面向对象建模方法
基于UML的面向对象建模方法姓名: 赵付轩学号: 10041156专业: 信号与信息处理学院: 信息科学与技术学院基于UML的面向对象建模方法摘要:本文介绍了一种基于UML(统一建模语言)的网上报名系统。
首先对UML语言进行了简单说明,其次根据UML建模过程对网上报名系统进行了需求分析,构建了用例图、类图两个模型,最后根据该模型开发了大学英语四六级考试报名系统,该系统具有可操作性强、扩展性好、效率高的优点。
关键词:UML;网上报名;面向对象目录1 引言 (1)1.1 UML概述 (1)2 面向对象原理 (1)2.1 基本概念 (1)2.2 基本特征 (2)3 运用UML进行系统建模 (2)3.1 UML建模机制、步骤 (2)4 网上报名系统的UML建模 (3)4.1 需求分析 (3)4.2 分析与设计 (4)4.2.l 静态建模 (4)4.2.2 动态建模 (5)5 结语 (6)参考文献 (6)1 引言面向对象方法已经成为软件开发的主要方法,面向对象的分析方法以对象作为分析问题,解决问题的核心,并对问题空间进行直接映射,使计算机实现的对象与真实世界具有一一对应关系,符合人类认识规律,有效地解决了需求分析模型和软件设计模型的不匹配现象。
由于采用了数据抽象和封装技术,面向对象的程序设计降低了各模块间的耦合,可实现较高的代码利用率。
基于UML建模技术可以进行面向对象的分析、设计、编程、测试以及面向对象的软件过程,它以统一建模语言作为分析工具,利用面向对象的思想对问题域进行建模。
本文针对建模的方法和技术进行了讨论,并结合实例加以说明。
1.1 UML概述统一建模语言是用来对软件密集系统进行可视化建模的一种语言。
它是面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
UML具有庞大的体系结构和丰富的内容。
不仅融合了Booch、OMT、OOSE方法的核心内容,同时也吸取了其他面向对象方法中的优势。
《UML面向对象分析、建模与设计》教学大纲
UML面向对象分析、建模与设计课程教学大纲01课程说明课程代码:课程名称:UML面向对象分析、建模与设计/UML object-oriented analysis, modeling and design开课学期:4学分/学时:3/32+16课程类型:必修02课程的性质、目的与任务《UML面向对象分析、建模与设计》是软件工程专业中一门综合性很强的基础课程,主要内容包括软件工程与面向对象方法、UML的定义和背景、UML基础(UML构造块、UML通用机制、UML“4+1”架构、UML建模工具)、UML系统动态建模(用例图、活动图、状态机图、顺序图、通信图)、类图、对象图、包图、组件图、部署图、统一软件开发过程、UML具体实例等。
本课程的目的与任务是使学生通过本课程的学习,从UML的基本概念入手,由浅入深地认识和学习软件工程核心要素,以体系化、工程化的方法思考软件工程过程。
本课程除要求学生掌握UML的图示语法和语义,重点要求学生掌握设计软件的逻辑能力以及对软件内部各种组织结构的表达能力,掌握对事物的抽象能力和建模的基本思想,为更深入地学习和今后的实践打下良好的基础。
03教学内容及教学基本要求1.软件工程与面向对象方法(2学时)了解软件工程的概念和历史,了解软件工程的目标和原则;了解面向对象方法的概念和历史,了解面向对象方法的优点。
2.统一建模语言UML(2学时)了解UML的定义和历史背景;了解UML的目标和应用范围。
3.初识UML(2学时)掌握UML构造块,分别是事物、关系、图;掌握UML的通用机制;了解“4+1”架构;了解常用的UML建模工具。
4.用例图(2学时)了解用例的概念、设计方法和注意事项理解用例图的组成元素,分别为参与者、用例、用例图中的关系;理解并掌握用例图中的关系,分别为参与者间的泛化关系、参与者与用例的关联关系、用例间的泛化关系、用例间的依赖关系;理解用例描述的概念;掌握用例说明文档的书写;掌握用例图建模,分别为对系统的语境建模和对系统的需求建模;了解用例图的使用环境。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作者简介:李俊(1983-),男,湖南湘潭人,中南大学信息科学与工程学院硕士研究生,研究方向为智能信息处理;王加阳(1963-),男,湖南长沙人,
中南大学信息科学与工程学院教授,研究方向为智能计算与信息融合。
基于UML 规范的建模工具研究与设计
李
俊,王加阳
(中南大学信息科学与工程学院,湖南长沙410083)
摘
要:集中研究了基于UML 规范的建模工具,提出了建模工具的整体架构,详细分析了架构的具体组成和各部分
的主要功能以及各部分之间的通信过程,并且介绍了建模工具包含的主要功能特点及技术实现,最后展望了未来研究的发展方向。
关键词:UML ;建模工具;模型中图分类号:TP311.13
文献标识码:A
文章编号:1672-7800(2009)04-0044-03
0引言
统一建模语言定义良好、易于表达、功能强大,不仅支持面
向对象的分析与设计,而且支持从需求分析开始的软件开发的全过程。
但如何恰当地将这种可视化图形建模技术用于解决软件开发所面临的问题,如何研制开发支持UML 的建模及其支持环境,是目前该领域的热点问题。
本文从UML 基本规范出发,深入研究了UML 建模工具的整体结构和具体的实现过程中的关键技术。
借鉴现有的主流建模工具的特点,学习它们的优点,改进它们的不足,堤出新的建模工具的设计方案,以此方案设计实现的建模工具的优点主要集中在:更好的用户接口、更少的系统资源占有率、更快的运行速度、更适合我国软件设计人员的实用功能。
1UML 建模工具的整体结构设计
UML 建模工具的结构主要分为两层,分别是模型层和表
示层。
模型层主要负责项目的底层表示,建模项目的各部分以及部分之间关系可以精确地映射到模型层。
表示层主要负
责将模型层表示的项目细节以可视化的形式呈现给用户,并且随时根据用户的输入对底层模型数据作出相应的修改。
表示层支持用户对模型元素的增删和修改等,提供各种便利的操作方式。
图1展示了UML 建模工具的内部结构。
从图中可以看出,模型层是整个系统的核心,任何对项目的更改最后都要反映到模型层。
动作管理模负责将用户对模型图表的任何改动转化为预定义好的动作,同时将动作作用于模型层,并将动作的结果反馈给表示层。
它是表示层和模型层之间的桥梁,以及两者之间的翻译。
图形呈现管理即表示层,它包括一系列子模块,每个子模块完成
一方面的功能。
文档管理器负责管理和每个图形元素相关的用户文档,此文档是用户添加的用来对相应模型元素做文字上的解释说明。
缩放管理器负责管理对图形元素的缩小与放大,当项目图表很庞大的时候,这个功能为用户提供了很大的方便。
1.1UML 建模工具的底层模型系统
模型是关于系统的一个简化的、抽象(或具体)的表示。
从不同的角度观察一个系统可以得到不同的模型。
模型被广泛用于不同的领域中,软件工程是其中一个领域。
严格地讲,UML 规范定义了软件系统的元模型(metamodel ),元模型是这样一种模型,它可以被用来定义其它的模型,它是整个系统中最基础的最具有决定性的模型。
UML 可以用于多种领域的建模,包括建筑领域,但它的主要目标是服务于软件系统和商业逻辑建模领域。
UML 元模型包括一组元类(metaclasses ),元类是这样一种
类,它的实例还是类。
不同的类可以按包(package )进行划分,每个包的成员是按逻辑上的相似性来划分的,这样有利于降低
UML 元素的管理难度。
所有的包中有一个最基础的包,它指定
了整个UML 模型的静态结构,包含了一组元类,这组元类的实
第8卷%第4期
2009年4月
Vol.8No.4Apr.2009
第4期
操作中涉及的算法和过程等影响操作结果的特征。
2009年软件导刊
定的GUI框架上,若模型工具以Java为平台,则Swing、SWT和GWT都可以选择作为图表层的载体,这些框架都提供了用户事件截取功能。
在建模工具的实现过程中,我们只需要为每个事件编写相应的事件处理程序即可。
每个事件处理程序都和模型层密切相关,因为它们的任务很可能涉及到对模型层作出某种修改。
2UML建模工具中的关键技术
UML工具架构的主要部分是模型层和表示层以及两者之间的交互。
除了这两部分之外,还有一些对整个工具的实现具有重要意义的技术,是对整个架构的有益完善及补充。
2.1模型和XMI的相互转化
XMI使用扩展标记语言(XML),为程序员和其它用户提供元数据信息交换的标准方法。
XMI的目的在于帮助使用统一建模语言以及不同语言和开发工具的程序员彼此交换数据模型。
由于XMI在不同建模工具之间的可交换性以及XMI可以精确地表示模型中的对象,因此,本设计方案也选择XMI作为模型数据的存储格式。
将模型数据保存为本地的XMI格式的文件需要进行模型对象的序列化(Serialization)过程。
将存储在XMI 文件中的模型数据读出的过程叫做反序列化(Deserialization)过程。
这两个过程分别由XMI Writer和XMI Reader两个组件负责完成。
2.2缓存的设置
当用户创建的模型文件较大的时候,操作系统可能不会允许整个模型文件同时装载在内存中,因此设置合适的缓存机制十分必要。
此方案设计了一个简单的缓存,当模型层请求一个对象的时候,先到此缓存中寻找,若命中,则直接使用此对象,若没有找到,则从文件系统中取得此对象,同时加入缓存中。
缓存中的每个对象都设置一个定时器,当某个对象的时间耗尽时,此对象就从缓存中清除掉。
当缓存全满时,通过LRU规则清除旧的对象。
缓存的引入大大提升了整个工具的性能,加快了运行速度,较大地改善了用户体验。
2.3桩代码生成
对于软件开发者来说,从UML图表直接生成代码骨架能够节省开发者的时间,加速软件开发过程,桩代码生成器负责完成此项功能。
它根据用户的要求,能够将UML模型转化为指定的语言代码。
在支持当前广泛使用的编程语言的基础上,此组件具有可扩展性,通过插件的形式,能够将代码生成功能覆盖到几乎所有的面向对象编程语言上。
2.4图表缩放
对于比较大的软件项目来说,涉及到的图表一般都十分庞大,单个的显示屏无法将其全部呈现给用户,因此,将图表按比例缩小呈现给用户的功能非常有用。
图表缩放器能通过放大将UML图形的细节展示给用户,也能缩小整个图表,使用户能同时看到全部图表,从而对其有宏观上的认识。
图表缩放还能为用户提供图表的鸟瞰图,方便用户在着重图表设计的细节时还顾及到图表的宏观布局。
2.5图片输出
很多时候,用户只需要简单参考一下项目图表,在这种情况下,打开建模工具,载入项目数据就显得复杂耗时。
UML建模工具将项目图表以图片的形式输出,这样用户只需要查看图片就能获得项目图表的大部分信息。
图片输入器支持将图表输出为多种格式、不同质量的图片,适合不同场合的应用。
3结束语
本文从宏观方面分析了UML建模工具的整体架构,细致分析架构中各层的组成元素及关系,同时提出了建模工具涉及的主要功能及技术。
在今后的研究中,将更加深入地探究模型细节,提高工具的运行效率,站在用户的角度研究建模工具的特征,为用户提供更加实用的功能。
参考文献:
[1]BOOCH G,RUMBAUGH J,JACOBSON I.The Unified Modeling Language User Guide.MA:Addison-Wesley,1999.
[2]邵维忠,梅宏.统一建模语言UML述评[J].计算机研究与发展,1999(4).
[3]EGYED A.Heterogeneous View Integration and its Automation.PhD Dissertation,Center for Software Engineering,University of Southern California,Los Angeles,CA,USA,2000.
[4]MCUMBER W1E1,CHEGN B.H.C.,A General Framework for For-malizing UML With Formal Languages.Proceedings of the23rd In-ternational Conference on Software Engineering,2001.
[5]SMITH J.,UML Formalization and Transformation.Ph.D.Thesis,Nor-theastern University,College of Engineering,Dec.1999.
(责任编辑:周晓辉)
46··。