面向对象方法与UML建模语言
一、面向对象方法概述
1、面向对象=对象+类+继承+消息
2、面向对象分析方法主要建立三种模型:
(1)功能模型;(2)对象模型;(3)动态模型
二、UML概述
前导知识
UML:Unified Modeling Language 统一建模语言,一种面向对象的建模语言
构成: 视图、图、模型元素、公共机制
p.s. 下面展示的图很重要,理不清的所属关系时看一眼
【补充】
1、公共机制➡扩展机制,包括:
①构造型《》
②标记值{=}
③约束{<约束语句>}
2、模型元素➡关系➡关联关系,包括:
①聚合(部分与整体)
②组合(强类型的聚合)
p.s.在画图中,关系对应的箭头在后面会进行详细说明
1、UML视图
由一个或多个图组成的对系统某个角度的抽象
系统模型由多个视图来共同描述
包括:
用例视图(核心视图)
逻辑视图(设计视图)
过程视图(并发视图)
实现视图(组件视图)
配置试图(部署视图)
(1)用例视图
描述系统的外部特性及系统应具备的功能
(2)逻辑视图
描述用例视图中提出的系统功能的实现,关注系统内部结构
(3)过程视图
显示系统内部控制机制,并发工作状态(非功能性质方面)
(4)实现视图
系统的实现特征,由独立的组件(文件)构成
(5)配置视图
显示系统的物理框架(服务器、交换机、网线等)
2、UML图
用来描述一个视图的内容,是构成视图的成分
UML中有九种图:用例图(∈用例视图)
类图、对象图(∈逻辑视图)
序列图、协作图、状态图、活动图(∈过程视图)
构件图(∈实现视图)
部署图(∈配置视图)
如果加上一个”非正式“的包图,十个图还可以进行另一种分类
用例图
静态图(类图、对象图、包图)
行为图(状态图 、活动图)
交互图(顺序图、协作图)
实现图(组件图、配置图)
3、UML模型元素
构成图的最基本元素,每一个模型元素都有与之对应的元素符号
包括:事物、UML中的关系
(1)事物
(模型中的静态部分)
分为:结构事物、行为事物、分组事物、注释事物
结构事物:名词,描述概念或物理元素
行为事物:动词,一种行为描述
分组事物:容器,用于组织模型
注释事物:解释,相当于代码中的注释语句
①结构事物
包括7种类型:
类、接口、协作、用例、活动类、组件、结点
②行为事物
代表时间和空间上的动作,包括:
交互
状态机(一个对象或交互在生命周期内响应事件所经历的状态序列)
③分组事物
也就是包(将彼此相关的元素进行分组的机制)
④注释事物
也就是解释
p.s. 左边连接的是类;注释可以包含图形和文本
(2)关系
(模型元素包括事物和关系)
关系中分为4(细分5种)种关系:
关联关系(聚合关系和组合关系)、依赖关系、泛化关系、实现关系
(在网上找了一些帮助理解的图)
各种关系的强弱顺序:
泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
(下面进行详细的介绍)
①关联关系
类之间的连接,用一条实线表示
可分为:聚合关系和组合关系
<1>聚合关系: 表示类与整体之间的关系是整体与部分的关系
用一条带空心菱形箭头的实线表示
S
【注意】箭头方向从部分指向整体
<2>组成关系
强类型的聚合,聚合中的每一个部分只能属于一个整体
用实心的菱形箭头表示
【补充】聚合和组成的区别
聚合:部分与整体可有不同的生存期
组成:部分只能属于一个唯一的整体,与其同生同灭
②依赖关系
两个事物之间,一个事物的改变会影响另一个事物
表示:带箭头的虚线(依赖方指向被依赖方)
③泛化关系
一般事物(父类)与该事物的特殊事物(子类)
表示:带空心箭头的实线
【注意】继承关系具有传递性
④实现关系
一个类和它的接口之间的关系,规定接口和实现接口的类或组件之间的关系
表示:带空心箭头的虚线
【继承和实现的区别】
1、继承:继承属性(结构)和行为
实现:只继承行为
4、UML公共机制
公共机制包括:修饰、规格说明、通用划分(这三个属于通用机制)与扩展机制(包括构造型、标记型、约束)
规格说明:描述和展示系统的各个部分;
修饰:一些元素具有的访问限制符;
通用划分:简单来说就是两种分类方法,一种按类和对象划分,一种按接口和实现划分;
扩展机制:UML图示符号的扩展
(下面对扩展机制进行详细说明)
(1)构造型
用双尖括号括起来的字符串,如《include》、《create》、《destroy》、《signal》,用于扩展UML元素
(2)标记值
用大括弧括起的字符串,即{标记名=标记值},用于为事物添加新特性
(3)约束
用大括弧括起的字符串,即{约束内容},用来增加新的语义或改变已存在的规则
三、建立用例模型
第二部分只是一个概述,接下来要具体介绍怎么使用UML语言来建立模型
1、定义
用例模型:用于描述一个系统的所有用例图和用例描述
2、用例图
用例图中的关系
3、用例描述
4、用例图建模技术