距离机房收费系统已经过去了近2个月之久,如今的UML图才出来,从软件开发设计的逻辑上来讲这是顺序有问题的,不过,对于我们而言,而且是初次用面向对象的思想去设计和建模,就当是UML的一个实战练手的项目吧。正儿八经的从文档到UML建模到代码实施,严格按照软件工程的这一套程序跑下来,估计得到个人机房重构了。
以下的UML图是从已经设计好的机房中来,由于我的机房的思路和大家不太一样,当初我是侧重机房管理工作的职能分工来设计的系统。详情请点击我的博客——《机房收费系统——用户权限和功能分析》。因此一些图例在设计思路也会有出入,希望大家踊跃拍砖!
1、用例图:详细介绍请点击UML系列博客《UML——用例图》。主要是在系统分析(描述)阶段:对用户需求(功能)的一个描述,产生于需求分析文档中。使用人群:用户、系统开发、设计、测试人员,项目负责人。
系统静态描述(静态图)
2、包图:(Packet Diagram)主要是对系统中的类、对象做的一个归类打包工作,从宏观的角度来描述整个系统的架构。包,就类似于我们日常在windows操作系统中所应用的文件夹。她产生于系统概要设计阶段,分布在概要设计文档中。使用人群:系统架构、开发、分析人员。PS:提前了解了一下三层,加了一点料,也不知道理解对不对,先这样吧!
3、类图:(Class Diagram)详细介绍请点击UML系列博客《UML——类图》。从静态的角度来描述一个系统中的所有类以及她们之间的相互关系。是UML所有图中最重要的图之一,不仅是系统分析、设计阶段的重要产物,同样也是我们在实现和确认阶段的重要依据。主要存在于系统概要、详细阶段,分布于概要、详细设计文档中。使用人群:系统分析、设计、开发、测试人员。
4、对象图:(Object Diagram)对象,可以看做是类的实例化。主要用来细化类图,明确类、对象之间的关系。分布于详细设计说明书中。使用人群:开发人员
5、实现图:(Realize Diagram)从静态的角度来对系统的实现进行描述,包含构件图和部署图,部署图侧重的是系统的物理实现布局,构件图侧重的是系统的构成组件之间组织依赖关系的描述。主要存在于概要设计说明书、系统测试说明书。使用人群:系统架构、开发、测试人员
5.1、构件图:详细介绍请点击UML系列博客《UML——构件图》
5.2、部署图:详细介绍请点击UML系列博客《UML——部署图》
系统动态描述(动态图)
6行为图:从动态的角度来对系统中类、对象之间的行为、动作以及他们的结构进行建模描述,包含活动图和状态图。。主要在系统详细设计阶段,存在于详细设计文档中。使用人群:系统开发人员。
6.1、活动图:(Active Diagram)详细介绍请点击UML系列博客《UML——活动图》。她在本质上是一种流程图。活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。
6.2、状态图:(Statechart Diagram)详细介绍请点击UML系列博客《UML——状态图》.她是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。重点在于描述对象的状态及其状态之间的转移。
7、交互图:详细介绍请点击UML系列博客《UML——交互图(协作图+时序图》。她从动态的角度去描述一个系统间对象、类之间的消息、动作、活动的交互,可以看做是对类图的一个补充。
7.1、协作图:
7.2、时序图:
小结:到此,UML的学习先告一个段落了。整个学习过程中,自己的学习习惯有了很大的改变。比如:及时总结,坚持用思维导图做笔记,每天学习一个整块儿的知识点儿并做好总结。在视频的学习上效率有了很大的提高,这一切都得益于一件事儿,那就是交流!
希望看到这篇博客的童鞋们,也走出自己的小圈子,去交流吧!
Ps:最关键的是,交流完马上去做!这是最重要的!