通过看书和看视频对UML的一些基本知识有了一个简单的认识,尤其是那9幅图和他们内部之间的关系,只有实际操作过后才会印象更加深刻。
下面是我对uml中一些重点的总结:
uml图在软工各个阶段的使用:
1、在需求分析阶段:主要采用用例图来描述需求(角色、功能、外部交互等);
不需要进入系统内部,通过外部就可以知道这个系统可以实现的功能
2、在分析阶段:明确解决问题的细节,主要采用类图来描述静态结构,
采用顺序图,协作图,活动图,状态图来描述系统动态行为;
3、在设计阶段:给出解决方案,主要采用类图、包,对类的接口进行设计;
4、在实现阶段:将类用一种面向对象语言实现;
5、测试阶段:单元测试使用类图和类的规格说明书。集成测试使用类图,包,构件图和协作图。系统测试使用用例图来测试系统的功能;
6、集成和交付阶段:主要采用构件图、包、部署图;
图与图之间的区别:
1、序列图VS协作图
序列图和协作图都是交互图。二者在语义上等价,可以相互转化。但是侧重点不同:
序列图侧重时间顺序,协作图侧重对象间的关系。
2、状态图VS活动图
状态图和活动图都是行为图。
状态图侧重从行为的结果来描述,活动图侧重从行为的动作来描述。
状态图描述了一个具体对象的可能状态以及他们之间的转换
3、活动图VS交互图
二者都涉及到对象和他们之间传递的关系。区别在于交互图观察的是传送消息的对象,而活动图观察的是对象之间传递的消息。看似语义相同,但是他们是从不同的角度来观察整个系统的。
四大关系:
实现:
表示类和接口之间的一种关系,类是接口所有特征和行为的实现
泛化:
实际上是一种继承关系,子类继承父类的特征和行为
用空心箭头指向父类
依赖:指的是一种使用关系,尽量避免使用双向依赖
用带箭头的虚线表示,箭头指向被使用者
关联:
关联是一种拥有关系,它使得一个类知道另一个类的属性和方法