最近准备做毕业论文神马的,,,需要用到uml画图,,,,national raose2007挺好用的,,,建议用这个,,
网上有的下载,自己百度搜搜,,,下载下载 有个bin文件,,那个用虚拟光驱加载安装就好了.
这个工具不错,,可以生成java代码......还有反向工程之类的 ,,工具很强大.....
以下是听袁顺平的uml课自己做的笔记
他的课挺好 短少精炼,,比以前学校老师好多了
uml学习笔记
用例描述
============================
用例名称
ID
简单描述
主参与者
副参与者
前置条件
主要事件流
异常事件流
=============================
前置条件:发生这个用例的前提条件,满足什么条件才可以发生这个用例
后置条件:发生这个用例之后的结果,会产生哪些影响
---------------------
类图
类图间的关系
依赖
class Person{
PerosnDao perosnDao;
}
class PerosnDao{
}
uml:用虚箭头 从Person指向PerosnDao,,,称为Person依赖PerosnDao
泛化(继承)
class Person{
}
class Student extends Person{
}
uml:用实线带空心实线三角形的箭头,从子类指向父类,,称为Student泛化了Person
实现
Interface BaseDao{
public void save();
}
class PerosnDao implements BaseDao{
public PerosnDao(){}
public void save();
}
uml:用虚线带空心实线三角形的箭头,从实现类指向接口,成为PerosnDao实现了BaseDao...但是在rose中会自动变了实线无箭头的线
关联
依赖关系的特例
有单向和双向的区别
单向
class Person{
IdCard idCard;
}
class IdCard{
}
Person有IdCard,但IdCard没Person.
uml:用实线单向箭头,从Person指向IdCard.可以在图上两个类设置单对多,多对多之类的关系
双向
class Person{
IdCard idCard;
}
class IdCard{
Person person;
}
Person有IdCard,而且IdCard也有Person.
uml:用直线,把Person和IdCard连起来
聚合和组合
聚合关系强度小于组合关系
电脑聚合鼠标键盘.(鼠标和键盘不一定要有)
猫由猫头和猫身组合.(猫一定要有猫头和猫身,如果猫头或猫身不存在就不存在猫了)
聚合
class Computer{
Mouse mouse;
Keyboard keyboard;
}
class Mouse{
}
class Keyboard{
}
uml:用带空心菱形的实线箭头线,从Computer指向Mouse,从Computer指向Keyboard..菱形在Computer那边,箭头在Mouse和Keyboard这边
组合
class Cat{
CatHead catHead=new CatHead();//必须要有猫头才是猫
CatBody catBody=new CatBody();//必须要有猫身才是猫
}
class CatHead{
}
class CatBody{
}
uml:用带实心菱形的实线箭头线,从Cat指向CatHead,从Cat指向CatBody..菱形在Cat那边,箭头在CatHead和CatBody这边
(在rose中找不到实心菱形剪线,,这个需要在Cat端的菱形双击,Role B detail--containment of CatBody 选择 by Value)
另外推荐本书<rose从入门到精通>自己百度搜搜吧