UML功能:可视化、说明、建造和建文档功能。
可视化:促进对系统对理解,便于项目人员交流和沟通;
说明功能:一种通用对、精确的、无歧义的说明系统;
建造功能:有自己的建造语法,使用建模工具对系统加以解释,同时可映射到程序语言;
文档功能:产生系统设计文档;
UML图包括:结构型图(类图、构建图、部署图),行为型图(案例图、时序图、状态图、活动图、合作图);
类图:描述类的静态结构及其之间的静态关系;
构建图:描述可以部署的软件构建(jar等)的静态关系;
部署图:描述系统的拓扑结构;
案例图:描述系统角色与使用案例及其之间的关系,可以对系统的基本行为进行建模;
活动图:描述不同过程间的动态接触,使案例图描述的行为具体化;
状态图:描述一系列对象的内部状态和状态的转移,一个类不能有两个不同的状态图;
时序图:描述不同对象消息传递的时序;
合作图:描述发出信息、接收信息的一系列对象的组织结构;
一个UML的设计是从案例图开始的,同时一个设计也应该是由使用案例图驱动的。
类图:类名(不可省略)、属性、方法、性质;
类图中的关系:一般关系(继承、实现)、关联关系(聚合、合成)、依赖关系。
一般关系:由子指向父,用一个空心箭头符号表示,在java中表示继承或实现。
关联关系:表示类之间的链接,在java中用实例变量表示,由一个箭头符号表示,箭头的两个端点上可以用基数表示实例的个数,如:
0..1:0个或一个实例;
0..*:实例个数不受限制;
1:只有一个实例;
1..*:至少一个实例;
聚合关系:比较强的关联关系,是整体和部分之间的关系,整体一侧用一个空心菱形符号和一个箭头指向部分一侧;
合成关系:比聚合关系更强的关联关系,整体甚至需要负责部分的生命周期,合成关系实例不能共享,整体一侧用一个实心菱形符号和一个箭头指向部分一侧;
依赖关系:用虚线箭头表示,在java中体现为局部变量、方法参量,以及对静态方法的调用;
网友评论