UML手册.docx
《UML手册.docx》由会员分享,可在线阅读,更多相关《UML手册.docx(17页珍藏版)》请在冰豆网上搜索。
UML手册
引言
作为一个项目使用UML,
第一步:
用例图
是根据业务描述绘制用例图,通过用例图可以知道业务是否合理,是否全面。
可以尽早发现不足规避风险
第二步:
类图
经第一步确定好业务后,接下来设计业务实现所需的类、接口。
绘制出类图。
通过类图开发人员可以尽早发现设计是否:
重用性好、扩展性强等。
第三步:
时序图与基本流程图
当类与接口确定,接下来就是具体功能开发实现。
在开发前绘制时序图或基本流程图可以引导开发人员不走歪路,有依据的直击目标。
开发更快更安全。
用例图
UseCase图用来描述案例(即系统功能)与角色间的交互关系。
如
用例图绘制
1、包含现有用例include
上图表示在下载证书功能中包含Licence校验功能
2、扩展现有用例extend
上图表示发布证书是可扩展的;可以不发布,如果发布的话就要扩展引用下载证书用例
注意:
用例之间不能出现实线连接,这样是错误的,只有角色才能用实线连接用例
UML类图
UML类图描述各个类、接口之间的关系,通过类图开发人员可以大致了解系统结构。
使用工具可以将工程转为UML类图,也可以使用工具将UML类图转化为代码
类图表示单元
类
包
接口
类依赖
设计时应尽量减小依赖性:
即耦合性最小化。
A类中调用B类的方法或属性,说明A依赖于B
类关联
在Java中,关联表现为A类要引用B类,那么A类中定义了B类对象,B类对象成为了A类的一个属性。
这种关系存在一对一、一对多、多对多、多对一。
如Test类中申明二个Hahstable对象,这就是一对多的关联.
类聚合
是关联的一种形式。
A类中定义一个集合来存放B类对象
类合成
是聚合的一种特殊形式,暗示“局部”在“整体”内部的生存期职责。
合成也是非共享的。
所以,虽然局部不一定要随整体的销毁而被销毁,但整体要么负责保持局部的存活状态,要么负责将其销毁。
局部不可与其他整体共享。
但是,整体可将所有权转交给另一个对象,后者随即将承担生存期职责。
Employee和TimeCard的关系或许更适合表示成“合成”,而不是表示成“关联”。
类泛化
表示一个更泛化的元素和一个更具体的元素之间的关系。
泛化是用于对继承进行建模的UML元素。
在Java中,用extends关键字来直接表示这种关系。
接口实现
关系指定两个实体之间的一个合同。
换言之,一个实体定义一个合同,而另一个实体保证履行该合同。
对Java应用程序进行建模时,实现关系可直接用implements关键字来表示。
、
类图绘制
类图绘制可以通过一些UML工具完成,如ROSE、PowerDesigner等。
关于ROSE如何绘制类图请参看\Library\软件指南\Rose\Rose手册.doc
以下介绍将项目工程源码转化绘制成UML类图
准备
1.安装PowerDesigner12.5.
2.启动PowerDesigner12.5.
操作
通过详细的截图描述PowerDesinger如何实现源化到类图的转化
第一步
打开该程序点击File--ReverseEngineer--ObjectLanguage菜单
第二步
弹出NewObject-OrientedModel对话框,点击ObjectLanguage下拉框
第三步
在下拉框列表中选择"Java5.0"选项
第四步
选择后,点击确定,弹出ReverseEngineerJava对话框
第五步
点击ReverseEngineer下拉框,选择"Javadirectories"
第六步
选择后,点击add按钮,弹出"浏览文件"对话框,选择项目源文件所在目录
第七步
选择后,点击确定.可以看到所选项目源文件src目录被添加
第八步
最后,点击确定,开始转换
第九步
模型转换完成后,展开该模型目录.每个目录下,都有一个叫ClassDiagram_1的文件.双击它可以看到该包下的子包和当前包的类图及关系
第十步
在模型图中某个包上点右键,在弹出的菜单上点击"OpenDiagram".;可进入该包的子包
第十一步
某个包中类图及其关系,点击
图标可以返回上一级类图
Sequence图
Sequence时序图用于显示案例(某个功能类)的功能流程。
通过这个框图:
用户可以看到业务过程细节、
分析人员看到处理流程、
开发人员看到需要开发的对象及对象的操作。
Sequence图绘制
关于ROSE如何绘制类图请参看\Library\软件指南\Rose\Rose手册.doc
示例图:
UML工具
1、MicrosoftVisio
2、RationalRose
3、MagicDraw
4、Together:
与C/C++和Java联系密切,支持UML建模。
5、ObjecteeringUML:
一个免费的个人UML产品。
6、SystemArchitect:
一个很受欢迎的高端UML建模工具,支持双向工程(Round-trip
Engineering)。