1、UML是Unified
Modeling Language(统一建模语言)的缩写,是使用面向对象概念进行系统分析设计的工具,它主要是用一些规范、形象的图形来描述业务或系统—也就是称之为建立业务模型或系统模型,用UML建模,既是用UML建立业务模型和系统模型。
2、业务模型是指用UML描述业务,即画出业务(business)用例图,当然,这里说画用例图,不应仅仅理解为画出图形,用例图应附有详细的业务说明。
2.1、业务用例如下所示(注意:在Rational Rose中业务人员和业务用例和系统用例在图形上有所不同,业务用例用一个椭圆加一斜杠表示。)。
2.2、一般说来,业务建模只需要画出业务用例图即可。在判断一项业务的复杂程度和大小规模时,常常可根据业务用例数量来判断,因此,在业务建模时,每个业务用例应合理分解,得到的业务用例应在业务复杂程度,规模大小方面相差不多,以便于对业务的评估和进行系统开发。
3、系统模型是指用UML描述系统,系统模型是在分析业务模型后得到的,通常,系统模型用用例图、类图、时序图三种图来描述即可,如果功能较为复杂,也可以用活动图和状态图来对某一部分功能进行特别描述。
3.1、系统用例图是从软件功能的角度去描述软件系统,因此和业务用例是不同的,表示如下:
3.2、系统用例图不是必须的,但它能帮助我们理解系统模型。
4、类图是系统模型中最重要的图形,是UML中唯一能产生程序代码的图形,类图描述了对象的属性和方法,如下入所示:
4.1、类图示系统建模必不可少的图形,如果做得好,可由类图生成程序的结构,然后由程序员按照类图生成的程序结构去细化程序,实现功能。
5、时序图是对类图的补充,它描述了对象的方法的调用情况,时序图和类图的联系最为紧密,在时序图中添加一个消息(我一直不明白为什么要称之为消息),如下图中的inputStudents() ,则会在消息所指向的对象类图中的类—Register 自动生成一个方法inputStudents()(但在时序图中删除一个消息,则不会自动删除类图中对应的方法)。
5.1、时序图虽不能生成程序,但它对系统功能的操作能较为清楚地描述,相对类图(类图称为静态模型)而言,它是一种动态的描述,因此称为动态模型。
5.2、有一种和时序图相同功能的图叫做协作图,在Rational Rose 可以用F5键自动转换这两个图。
总结,建模分为业务建模和系统建模,其中:
1、业务建模即建立业务模型—业务用例图;
2、系统建模即建立系统模型—用例模型(用例图)、静态模型(类图)、动态模型(时序图)。
UML图形中英文对照(Rational Rose软件):
1、 用例图—Use Case Diagram
2、 类 图—Class Diagram
3、 时序图—Sequence Diagram
4、 协作图—Collaboration Diagram
5、 状态图—Statechart Diagram
6、 活动图—Activity Diagram
7、 组件图—Component Diagram
8、 配置图—Deployment Diagram
一些相关的定义:
抽象:只定义你想要的属性和操作,不相关的可以省去不写.
继承:类之间的特性传承
多态性:类的名字不同,但有相同的操作名
封装:非公开的属性和操作,这样可以降低类之间的耦合
消息传递:类之间协作的方式
关联:类之间发生关系时的术语.两个类之间可以有多种关联.
多重性:一个类和多个类之间有关联.
聚集:1个类包含N个类,那么主和子之间就有聚集关系.
组成:聚集的加强版,即组成的每个成员都必须存在,缺一不可.
类的可视化例子:
类名:WashingMachine
包名:有包的情况下,可能要把包名写在类名前面,比如:PackageName::WashingMachine
属性: brandName , 更全的例子是 + brandName:String =
"TNND"
对象名:myWasher:WashingMachine
操作: +addClothes(C:String)void
职责:写在类图的最下面,记述这个类它要做什么
约束:用{}的格式写在类国的边上,指定个别属性的取值范围.
关系:
关联:类A要在类B中发挥什么作用时,就用带方向的关联来表示,关联相关的概念:关联名,角色名,关联上的约束,多重性.
关联类:类A和类B之间的关联,是通过类C来体现的,那么类C就是关联类.
链:相对于类,对象之间的关系叫链.
多重性: 可能1个类A对应N个类B. 例子有 1 1・・* 0,1
限定关联:在多重关联时,类A可能要通过一个指定的属性来识别类B.此时那个属性,就叫做限定符
自身关联:一个类可能同时代表多种角色,那在类图中就可能表现为自已和自己关联
继承:子类继承父类, 用实线空三角形指向父类.用――――――――△(这个三角要右转90度)来表示
相关概念:基类,根类,叶类,单继承,多继承.
依赖:当类A的操作里用到类B时,就说类A依赖类B 用------->来表示
聚集:上面讲过了.图示为: 部分类 ―――――◇
总的类
组成:同上.图示为: 部分类 ―――――◆
总的类
接口:听说有两种:1)在类图的类名上面写<<interface>>,
2)把类名写成IClassName的格式.
实现:是说类和接口之间的关系,用-------△(这个三角要右转90度)来表示。另外,接口可以简化成一个圆圈.
可见性: + 公有 # 保护 - 私有
有点搞的地方:
1,关联和依赖:简单的说,关联是指把类B定义成类A的属性. 依赖是指,类A的一个方法,用到了类B.
2,聚集和组成:聚集,少几个没问题. 组成,少一个不成. // 其实还是不知道两者有什么实际意义,感觉还是一回事.
UML类图的画法:
关联 (association):直线
依赖 (dependency):带箭头的虚线
继承/泛化 (generalization):带三角箭头的实线
实现 (realization):带三角箭头的虚线
聚合 (aggregation):带空心菱形的虚线
组合 (composition):带实心菱形的虚线
其中聚合和组合的区别,别人的说法是:聚合——如果整个单元消失了,被聚合的类仍然作为它本身存在下去;组合——如果整个单元消失了,被组合的类也一同消失。
有人举例说明:聚合,就是一台电脑和它各部件的关系。组合,就是一个人和这个人的各个器官的关系。
不过觉得有些偏差。人死了,器官仍然可以移植给别人用吧?虽然会有排斥反应,器官的DNA也是死去那个人唯一的。
从实际编程考虑的话,个人觉得,聚合用于这样的场合——有一个类,它引用了一个其他的类作为它的属性;组合——有一个类,它里面写了内部类。
这么理解可能片面了。没理解到根上。不过应该还算说得通吧。
- 大小: 6.4 KB
- 大小: 3.9 KB
- 大小: 15.2 KB
- 大小: 20.2 KB
分享到:
相关推荐
JDK UML 类图大全 JDK UML 类图大全 JDK UML 类图大全
UML类图说明,如何画UML类图
计算器 uml 类图 c++ 附源代码
UML类图符号 UML类图符号 UML类图符号 UML类图符号 UML类图符号 UML类图符号
spring2.6框架源码全部uml类图,请用Enterprise Architect打开查看,是学习spring框架不可多得的资料
uml 类图实例 oom powerdesigner 绘制
这是一个简单的酒店管理信息系统的UML类图,用VISIO进行绘制,具有概要类图和详细类图,文档仅供大家参考
干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法干货3分钟掌握:简单好用的UML类图绘画方法v干货3分钟掌握:简单好用的UML类图绘画...
适合软件测试过程师使用,软件评测师考试习题练习
UML类图的jar包
java设计模式 简单工厂模式uml类图,一张图就让你秒懂简单工厂模式
进销存管理系统UML类图设计 包括: 财务部分、采购部分、仓库部分、系统管理部分、销售部分
UML类图样例.pdf
数据流图UML类图资料
UML类图 png
UML类图几种关系的总结
本文向大家简单介绍一下UML类图关系,UML定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合。希望本文的介绍对你的学习有所帮助。
UML
java设计模式 工厂方法模式uml类图,一张图就让你秒懂工厂方法模式
UML类图关系大全,里面把之间的关系描述的较清楚,尤其是图像