UML由视图(views)、图(diagrams)、模型元素(model elements)、通用机制(general mechanism) 构成。
一、视图
视图分为用例视图、设计视图、过程视图、实现视图、配置视图。
二、图
图包括:用例图、静态图(类图、对象图、包图)、行为图(状态图、活动图)、交互图(顺序图、协作图)、实现图(构件图、配置图)。
三、模型
模型是UML中的"细胞",是构成UML的元素一样。模型元素包括:类、对象、关系、消息等。
四、通用机制
UML的其他信息。比如注释和一些扩展机制;比如基于UML的一些标记、约束等。
看到第一和第二个了吗?是不是有点蒙,他们说的不是一回事吗。不都是图吗?我们平时说的都是第二个,所以忽略了第一个。其实视图是一个总体的概念。视图是由多个图构成的,就像是亚洲和国家的关系,亚洲包括很多国家,但是国家不一定全部属于亚洲
把视图分拆为图一定程度上更好的反映了系统的形成过程。
这个过程如下:
1、用例图
在系统的形成过程中,首先产生的就是用例图。这个是系统分析人员对客户需求的一个总结。产生在需求分析阶段,有了用例图,才会有下面的各种视图。
2、包图
用例图完了接下来要产生那个图呢?我自己的理解就是包图。有了用例以后,你就进入了概要设计阶段。这个阶段解决系统的基本架构,也就是系统的分层(这个在OOD中流行),每个层基本上就是你的包。每个层分在一个包中,比如典型的MVC模式中,UI BLL DAL Entity是典型的包。这样接下来的工作就是对每个层进行分析了。
3、类图
包图做完了以后,系统的整体架构就出来了。接下来出来的就是类图,也就是系统比较关键的部分。类图一般是由数据库对应的实体层映射来的。然后在每一层找到他的映射。最后再分别在每一层利用相关的模式去调整自己的类图。使系统的可维护性,可扩展性达到更好的要求。比如经典的工厂模式,外观模式等。
4、实现视图和配置试图
类图做完以后,这个时候产生什么图呢?最为合适的应该是系统的实现视图和配置试图。其实在包做做完以后。系统的构件图就应该出来了。每一个包应该就是一个层。再.net平台上。每一个包就是一个独立的dll文件,供其他程序调用,这个也就是我们构件图中的组件。再加上数据库和一些用户要求的设备,基本上构件图就出来了。配置图只是比构件图多了系统的物理架构。其实物理结构在需求分析的阶段就已经确定了。
5、系统的基本结构和模块
类确定以后接下来就是比较具体的每一个用例的实现过程。这个就是时序图。时序图在UML中也是比较重要的一个。时序图、用例图、类图被认为是UML的核心视图。时序图已经和代码比较接近了。时序图和协作图可以很容易的转换。只要轻轻的点一下就ok了。时序图做完以后,系统就基本出来了。
一些其他的视图,如活动图、状态图,个人认为功能不大。如果是大型的系统。在画时序图前用他们分析一下系统的流程还是比较好的。但是它们给人的感觉就是面向过程的。当然在画图的过程中总是要用到UML的其他元素。比如画图时我们要添加注释,时序图中传递的消息等。
一、视图
视图分为用例视图、设计视图、过程视图、实现视图、配置视图。
二、图
图包括:用例图、静态图(类图、对象图、包图)、行为图(状态图、活动图)、交互图(顺序图、协作图)、实现图(构件图、配置图)。
三、模型
模型是UML中的"细胞",是构成UML的元素一样。模型元素包括:类、对象、关系、消息等。
四、通用机制
UML的其他信息。比如注释和一些扩展机制;比如基于UML的一些标记、约束等。
看到第一和第二个了吗?是不是有点蒙,他们说的不是一回事吗。不都是图吗?我们平时说的都是第二个,所以忽略了第一个。其实视图是一个总体的概念。视图是由多个图构成的,就像是亚洲和国家的关系,亚洲包括很多国家,但是国家不一定全部属于亚洲
把视图分拆为图一定程度上更好的反映了系统的形成过程。
这个过程如下:
1、用例图
在系统的形成过程中,首先产生的就是用例图。这个是系统分析人员对客户需求的一个总结。产生在需求分析阶段,有了用例图,才会有下面的各种视图。
2、包图
用例图完了接下来要产生那个图呢?我自己的理解就是包图。有了用例以后,你就进入了概要设计阶段。这个阶段解决系统的基本架构,也就是系统的分层(这个在OOD中流行),每个层基本上就是你的包。每个层分在一个包中,比如典型的MVC模式中,UI BLL DAL Entity是典型的包。这样接下来的工作就是对每个层进行分析了。
3、类图
包图做完了以后,系统的整体架构就出来了。接下来出来的就是类图,也就是系统比较关键的部分。类图一般是由数据库对应的实体层映射来的。然后在每一层找到他的映射。最后再分别在每一层利用相关的模式去调整自己的类图。使系统的可维护性,可扩展性达到更好的要求。比如经典的工厂模式,外观模式等。
4、实现视图和配置试图
类图做完以后,这个时候产生什么图呢?最为合适的应该是系统的实现视图和配置试图。其实在包做做完以后。系统的构件图就应该出来了。每一个包应该就是一个层。再.net平台上。每一个包就是一个独立的dll文件,供其他程序调用,这个也就是我们构件图中的组件。再加上数据库和一些用户要求的设备,基本上构件图就出来了。配置图只是比构件图多了系统的物理架构。其实物理结构在需求分析的阶段就已经确定了。
5、系统的基本结构和模块
类确定以后接下来就是比较具体的每一个用例的实现过程。这个就是时序图。时序图在UML中也是比较重要的一个。时序图、用例图、类图被认为是UML的核心视图。时序图已经和代码比较接近了。时序图和协作图可以很容易的转换。只要轻轻的点一下就ok了。时序图做完以后,系统就基本出来了。
一些其他的视图,如活动图、状态图,个人认为功能不大。如果是大型的系统。在画时序图前用他们分析一下系统的流程还是比较好的。但是它们给人的感觉就是面向过程的。当然在画图的过程中总是要用到UML的其他元素。比如画图时我们要添加注释,时序图中传递的消息等。