一、面向对象与UML
1、面向对象方法
一种运用面向对象的软件构造概念和原则(类、对象、抽象、封装、继承、多态、消息)来构造软件系统的开发方法
2、面向对象特征
抽象、封装、继承、多态
3、UML定义
一种标准的图形化建模语言,是面向对象分析与设计的一种标准表示
4、UML组成
基本构造块(建模元素、关系、图)、UML规则、通用(公共)机制
5、UML构造块
(1)4个事物:结构、行为、分组、注释
(2)4个关系:依赖、关联、泛化、实现
(3)9种图:静态图(用例图、类图、对象图、组件图、部署图);动态图(序列图、协作图、状态图、活动图)
6、UML规则
包括命名、范围、可见性、完整性、执行
7、UML公共机制
包括规格说明、修饰、通用划分、扩展机制(构造型、标记值、约束)
(1)构造型:预定义的<< include >>、<< extend >>;用户自定义以大写字母开头
(2)标记值:形式为”名称=值”
(3)约束:形式为{约束的内容}
8、UML视图(4+1)
(1)逻辑视图(Logical View):表示系统的概念设计与子集系统等
(2)实现视图(Implementation View):说明代码的结构
(3)进程视图(Process View):说明系统中并发执行和同步情况
(4)部署视图(Logical View):定义硬件结点的物理结构
(5)用例视图(Use Case View):从外部用户角度表示系统功能性需求
9、UML进行面向对象系统分析步骤
(1)识别系统用例和角色
(2)进行系统分析并抽象出类
(3)设计系统并设计其中的类及其行为,包括结构设计和详细设计
二、用例图
1、用例图定义
表示一个系统中用例与参与者关系之间的图,描述系统中相关用户和系统对不同用户提供的功能和服务(从用户视角描述,分析系统功能与行为)
2、用例图构成
(1)参与者(Actor)
(2)系统边界(System scope)
(3)用例(Use case)
(4)关联(Association)
3、参与者定义
处于用例的外部,可以是人或其他外界系统,图例为
4、参与者确定方法
- 使用系统主要功能的人(主要角色)
- 借助系统完成日常工作的人
- 维护、管理系统的人(次要角色)
- 硬件设备、其他系统交互、对系统结果感兴趣的人或事
5、参与者间关系
主要是泛化关系,即将某些参与者共同行为提取出来表示通用行为(空心三角箭头实线,箭头指向超类
7、用例
(1)概念:站在用户角度上描述系统的功能
(2)识别方法(查找事件):主语(参与者)+动词(使用系统)+宾语(达到目标)
(3)要点分析
用例是系统产生的结果值(实现的目标)
用例必须由目标系统实现
用例的提出和定义都从参与者角度考虑
(4)关系
参与者与参与者:泛化
用例和参与者:关联(一对一通信,一条实线,箭头可有可无)
用例和用例:包含、泛化、扩展
三、类图
1、类图定义
若干类关联在一起,反映系统或者子系统组成结构的静态图
2、类图作用
描述软件系统中各个类的结构和类之间的关系
3、类图组成元素
一个矩形,内含类名(Name)、属性(Attribute)、操作(Operation)。
(1)类名:首字母大写;由多个字母组成时需要合并,第二个单词首字母大写
(2)属性:语法为[可见性] 属性名称 [:属性类型] [=初始值] [{特征}],其中可见性包括公有类型(+)(public)、受保护类型(#)(protected)、私有类型(-)(private),单字属性名小写;多个单词,除第一个单词外其余单词首字母要大写
(3)操作:语法为[可见性] 操作名称 [(参数表)] [:返回类型] [{特征}]
四、对象图
1、对象图定义
描述参与交互的各个对象在交互过程中某一时刻的状态
2、对象图表示
由对象(Object)和链(Link)组成。
(1)对象:使用带有下划线的实例名将它作为个体区分开来。语法为:对象名:类名
(2)链:一个或多个相连的线或圆弧,图例为
六、顺序(序列)图
1、动态分析
(1)任务:对对象群体行为建模,表达对象间动作协作关系,描述用例行为实现,显示用例实现/类操作涉及的对象和对象间的消息传递情况
(2)概述:动态分析模型描述系统的动态行为,主要建立系统的交互图(序列图、协作图)和行为图(状态图、活动图)
2、顺序图定义
描述以时间顺序组织的对象之间的交互活动
3、顺序图组成元素
七、协作图
1、协作图定义
强调收发消息的对象的组织结构
2、协作图组成元素
(1)对象:形式为对象名:类名
(2)消息:由发送者、接收者、活动组成
八、状态图
1、状态图定义
描述一个特定对象的全部能够存在的状态,还可以描述引起状态转移的事件
2、状态图组成元素
(1)初始状态
(2)终止状态
(3)状态:由一个带圆角的矩形表示,包含名称、入口和出口动作、内部转换,图例为
九、活动图
1、活动图定义
描述活动的顺序,展现一个活动到另一个活动的控制流
2、活动图组成元素
(1)动作
(2)活动
(3)动作流
(4)分支与合并
(5)分叉与汇合
(6)泳道
(7)对象流
十、构件图
1、构件图定义
表示系统中构件与构件之间,以及定义的类或接口与构件之间的关系的图
2、构件图组成元素
(1)构件
(2)接口
(3)依赖关系