1. 能够实现UML图的建模工具有哪些?
IBM: Rational Rose(要破解,一般都是用它)
StarUML
MS: Visio(比较在行的是流程图)
我用的是processOn画的UML
2.UML图常见的包括哪些图?
类图:描述类的信息(包括属性和方法),以及类和类之间的关系信息
用例图:站在系统用户(系统角色)的角度分析系统存在哪些功能
时序图:描述程序的执行过程,方法的调用过程,方法的返回值等信息(程序是一步一步怎么执行的,怎么调用的)很重要!
非常正规的公司可能会在系统设计的时候把这些东西给画出来
3.类图中类和类之间的6种关系
1.泛化关系 is a:cat is a Animal 类和类,接口和接口之间的继承
2.实现关系 like a:cooker like a FoodMenu(厨师像一个菜单,不是长的像的像)
3.关联关系 has a:I have a computer
4.聚合关系(是一个特殊的关联关系): 整体和部分的关系,教室和学生,教室没了,学生可以存在,学生没了,教室也可以存在
5.组合关系(是一个特殊的聚合关系): 整体和部分的关系, 人和心脏,无论哪方没有了,另一方也不会存活!
6.依赖关系:是所有关系中最弱的一种,通常体现在类和局部变量之间的关系
一:泛化关系:
class Animal{
}
class Dog extends Animal{
}
二:实现关系
interface FoodMenu{
}
class Cooker implements FoodMenu{
}
三:关联关系
3.1
//实线箭头表示通过Programmer可以找到Computer,Programmer中有一个computer的属性
class Programmer{
Computer coder;
}
class Computer{
}
3.2: 自关联
class Human{
Human husband;
Human wife;
String name;
boolean sex;
}
四:聚合关系
a.空心菱形指向整体的那个部分
b.1 和 0...n 表示1个教室对应多个学生
c. +student: 表示角色的名称
class ClassRoom{
List<Student> students;
}
class Student{
}
5.组合关系
class Person{
Heart heart;
}
class Heart{
}
6.依赖关系:最弱的一种关系
class Hello{
public void test(){
World world = new World();
}
}
class World{
}
UML类图口诀:
三十几,三叙事
零食族,凌空举
监视官,见徐艺
(三十几:三角实线继承)空三角实线指向被继承,
(三叙事:三角虚线实现)空三角虚线指向被实现,
(零食族:棱形实心组合)实棱形实线(棱形)指向组合整体。部分作为成员变量。
(凌空举:棱形空心聚合)空棱形实线(棱形)指向聚合整体。部分作为成员变量。
(监视官:箭头实线关联)实线箭头指向被关联。被关联者作为成员变量。
(见徐艺:箭头虚线依赖)虚线箭头指向被调用(依赖)的类。 使用被依赖类的局部变量、方法的参数或者对静态方法的调用
不用死记 ,都是一些操作些的东西,基本上多画画就掌握了
参考博文:http://c.biancheng.net/view/1319.html