UML以Use Case为基础做分析,共九张图表,构成完整UML对象导向分析与设计(OOAD)建模技术。
一、定义
1、用例图
用来描述用户的需求,从用户的角度描述系统的功能,并指出个功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。
2、静态图
2、1类图:
用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的静态结构。在系统的整个生命周期都是有效的。
依赖(虚线表示);泛化(空心三角,实线表示);实现(空心三角,虚线表示);聚合(空心菱形,实线表示);组合(实心菱形,实线表示)。
2、2对象图:
是类图的一个实例,描述了系统在具体时间点上所包含的对象以及各个对象之间的关系。对象图是类图的实例。只能在系统某一时间段存在。其是类图中所建事物实例的静态快照,其于类图的主要区别是一个是抽象的,而对象图是具体的。
两者之间的区别:
3、行为图:用来描述系统的动态模型和对象之间的交互关系。
3、1状态图
用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。状态图是对类图的补充。展示了一个状态机,由状态、转换、事件和活动组成。强调事件行为的顺序。
3、2活动图
是一种特使的的状态图,实现一个活动到另一个活动的流程。用来描述满足用例要求所要进行的活动以及活动间的约束关系,使用活动图有利于识别系统的并行活动。
3、3交互图:用来描述对象之间的交互关系。
3、3、1序列图(顺序图)
描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。
以团购系统的取消订单为例
3、3、2协同图
描述对象之间的合作关系,更侧重于说明哪些对象之间有消息的传递。
序列图和协作图可以相互转化。
打印机操作的协作图:
如果强调时间和顺序,则使用时序图;如果强调上下级关系,则选择协作图。
4、实现图
4、1构件图(组件图)
构件图用来描述代码构件的物理结构以及各构件之间的依赖关系,并以全局的模型展示出来。一个构件可以使一个资源文件、一个二进制文件或者一个可执行文件。构件图有助于分析和理解部件之间的相互影响程度。
4、2部署图(配置图)
部署图定义了系统中硬件的物理体系结构,用来描述实际的物理设备以及它们之间的连接关系。
二、区别
①这九种模型图各有侧重,
1:用例图侧重描述用户需求,
2:类图侧重描述系统具体实现;
②描述的方面都不相同,
1:类图描述的是系统的结构,
2:序列图描述的是系统的行为;
③抽象的层次也不同,
1:构件图描述系统的模块结构,抽象层次较高,
2:类图是描述具体模块的结构,抽象层次一般,
3:对象图描述了具体的模块实现,抽象层次较低。
三、应用