描述一个系统需要从系统的需求开始,找出系统的需求及需实现的功能,即用例、角色和相互之间的关系,这就需要绘制用例图;接着是一个系统的静态架构,用抽象的手段抽象出类,概括类的属性和方法,描述系统的静态架构,需要绘制类图和对象图;然后是系统的动态行为即协作图和序列图,以及系统的活动状态,明确了系统的状态还需要明确系统状态是如何变迁的,即活动图和状态图;最后设计好了一个系统,发布部署 络架构和软件的体系图,即构件图和部署图。这就是uml的9种图。
这次接着介绍类图和对象图以及包图。类图是软件系统静态部分的呈现,描述的是所有可能的情况,而对象图是系统在某一时刻的静态结构。包图则是对一个软件系统进行模块的划分,使得源码结构更加清晰。
(一)类图
类图描述的是系统的静态部分,类图包含的元素有类、接口、协作和类的四种关系。一个类就是许多的相同属性或者是相同动作的一些对象抽象抽来的。类的部分如图1、1所示。类除了这些基本的元素之外,还有相应的可见性和属性范围。可见性即类的成员的可见度。每个实例都拥有自己的属性和方法,对于一个类的所有成员都可以共享这个成员,这个成员就成为是静态成员,下成员的下面加上下划线加以区分。一个类可以通过一个接口来实现一个功能,那么这个接口有可能是为了完成某种操作而抽象出来的一个类,这样的类叫做抽象类,抽象类的区分是名称是斜体的表示。抽象类是不可以被实例化的,为了方便我们的造作而存在,有抽象出来的属性和方法。
(二)包图
包图是把一个复杂的图模块化,相似功能的类放在一个包中,使得程序结构上比较清晰,源码比较易读,最终目的是组织源代码,一个包就相当于一个子系统。包中的元素可以包括类、接口、构件、用例和其他包等。包与包之间常有的关系是泛化和依赖,主要取决于包内部的成员之间的关系。机房收费系统的包图(貌似是有些简单,但目前就是这么理解的)如下:
了解类这三种图,对uml的理解就更深刻了一些,这些都是用来描述一个软件系统的静态结构的。一个系统的动态行为是怎样描述的呢续学习ing…… 期待ing……
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!