UML说是九种图吧!其实是众说纷纭,不管有几种图,我们只要能够很好的运用这几张图就好,主要有用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图和部署图,至于包图是否属于这九种图,我也理不清楚,不过包图在大型项目中,却是必不可少的一项。下面一个一个来介绍这几种图:
【静态图】
类图:显示了模型的静态结构,我们能够根据类图来设计整个系统的结构。类有自己的名称、属性和方法。类图的构成有类、接口、各种关系,通过关系使类和接口之间联系起来。
对象图:对象是类的实例化,对象图描述是一组对象和他们之间的关系。由于对象存在有生命周期,因此对象图描述在系统中某个时刻的静态结构。
组件图:用来显示一组组件之间的组织和依赖关系,其组成为组件、接口和关系。构件与接口之间为实现关系,构件之间为依赖关系。
部署图:用来描述系统的硬件和软件的物理结构。包含有节点和关系。
【动态图】
用例图:用来描述用户的需求,通过这和图与用户进行交互。用例图由用例、角色和关系组成。用例是一个功能的描述,比如人可以工作,工作就是一个用例;角色(不一定局限于人)是指在这个关系中所担当的职务;关系表示执行者和用例之间的关系,主要有依赖、泛化、关联等关系。(图中只是用例图的一部分)
状态图:重点强调在经过操作之后所处的状态,比如我进教室灯是黑着的,我去把灯打开,灯现在的状态就是亮了。强调灯由黑这种状态到亮这种状态,不关注你是怎么去操作的。学生刷卡上机也是如此。
序列图:描述事件按照先后顺序执行的过程,主要强调执行顺序。其构成有对象、消息和生命线。
协作图:强调对象之间的交互关系,序列图和协作图可以相互转化。
不能把包图给忘了,包图用来描述包及其之间的关系的图,包图常用来描述系统、子系统的宏观组成和结构,相当于我们学习时泛读宏观把控的阶段,看来包图应该是在具体画类图之前建立(我自己这么认为的)。
当然对于这几种图的学习还需要后期自己再多加熟悉、总结,只有实践的多了,才能有更好的进步。(以上这些图仅是我自己的个人观点,欢迎大家提出自己意见或建议)。