存档

‘UML学习’ 分类的存档

UML类图关系

2009年7月13日

1.关联

         表示方法为一条带箭头的直线。

2.聚合/组合

           当类之间有整体-部分关系的时候,我们就可以使用组合或者聚合。组合表示方法为一条带箭头的直线+实心菱形,聚合表示方法为一条带箭头的直线+空心菱形。

           聚合和组合都表示的是整体和部分的关系,但是在聚合中一个类可以离开另一个类而独立存在,(独立存在的意思是在某个应用的问题域中这个类的存在有意义。)。而组合却正好相反。

           同时,需要说明的是,这种独立性并不是绝对的,需要看具体的语境和问题领域。例如在关心汽车的领域里,轮胎与汽车类是组合关系,因为它离开了汽车就没有意义了。但是在卖轮胎的店铺业务里,就算轮胎离开了汽车,它也是有意义的,这就可以用聚合了。

3.依赖

         依赖是指一个类A可能要用到另一个类B的一些方法,即,要完成A类里面的所有功能,一定有类B中的方法协助才可以。一般来说,双向的依赖是不允许的。表示方法带箭头的虚直线。

        那依赖和聚合\组合、关联等有什么不同呢?

        关联是类之间的一种关系,例如老师教学生,水壶装水等就是一种关系。这种关系是非常明显的,在问题领域中通过分析直接就能得出。

        依赖是一种弱关联,只要一个类用到另一个类,但是和另一个类的关系不是太明显的时候(可以说是“uses”了那个类),就可以把这种关系看成是依赖,依赖也可说是一种偶然的关系,而不是必然的关系,就是“我在某个方法中偶然用到了它,但在现实中我和它并没多大关系”。例如我和锤子,我和锤子本来是没关系的,但在有一次要钉钉子的时候,我用到了它,这就是一种依赖,依赖锤子完成钉钉子这件事情。

        组合是一种整体-部分的关系,在问题域中这种关系很明显,直接分析就可以得出的。例如轮胎是车的一部分,树叶是树的一部分,非常明显的整体-部分关系。

4.泛化(继承)

             这种类与类之间的关系很好理解,即存在泛化关系,表示方法为一条直线+空心三角形。

5.实现

             这是类与接口之间的关系,很好理解。表示方法为虚直线+空心三角形。

UML学习 , ,

Rational Rose2003安装方法

2008年12月2日

利用Rose可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C++、java、VB等语言的代码。
安装方法,首先下载Rational Rose2003(http://www.qgzxol.com/Download/softdetail.aspx?ID=9083),然后点击安装,安装的时候选择Rational Rose Enterprise Edition类型,然后基本上一路回车下来即可。
破解Rational Rose,需要有三点注意:
1.用rational_perm.dat覆盖安装目录下的rational_perm.dat文件。这个文件默认安装在c:\Program Files\Rational\Common目录下.
2.解决rational rose后退出时报错–”MEM_BAD_POINTER”:安装包解压后有一个shw32.dll文件,用它替换安装目录下的同名文件
3.解决java.lang.ClassNotFoundException:运行regedit——HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Java VM——定位到项TrustedClasspath(若不存在自己创建)——其值赋值为:

"c:\windows\java\trustlib\rosedatamodeler.zip;
c:\windows\java\trustlib\comwrappers.zip;
c:\windows\java\trustlib\xerces.jar;"

注意:此为windows xp系统下的赋值,若为windows 2000,则对应的windows全部改写为winnt
重新运行Rose,在”Add-In Manager”选项卡中选中”Web Modeler add-in using”

UML学习