UML概览

1、 UML结构

(1)构造块:

                  建模元素

                              结构元素:类、接口、协作、用例、活动类、组件、节点

                              行业元素:交互、状态机

                              分组元素:包

                              注解元素

                  关系:关联关系、依赖关系、泛化关系、实现关系

                  图:

                              静态:类图、构件图、部署图

                              动态:对象图、用例图、协作图、状态图、活动图

(2)公共机制:

规格说明:元素语义的文本描述

修饰:表达更多的信息

公共分类:类元和实体、接口和实现

扩展机制:包括约束、构造模型、标记值

(3)构架:系统的组织结构,包括系统分解的组成部分、它们的关联性、交互、机制和指导原则等提供系统设计的信息。

逻辑视图

进程视图

实现视图

部署视图

用例视图

2、 UML应用

与UML结合最好的是用例驱动的、以体系结构为中心的、迭代的、增量的开发过程。

分析阶段:主要关心问题域中的主要概念和机制,以及这些概念之间的相互协作{交互图和顺序图}。

测试阶段:单元测试{类图和类的规格说明来指导测试},集成测试{使用合作图,活动图和部署图指导测试},系统测试和验收测试{使用顺序图和用例图来验证系统的外部行为}

3、 用例图:系统开发者和用户反复讨论的结果,确定了一个和用户参与者进行交互、并可由系统执行的动作序列。

寻找系统相关参与者{代表与系统接口有关的任何事物或人}:

(1)      谁是系统的主要用户

(2)      谁从系统获得信息

(3)      谁向系统提供信息

(4)      谁从系统删除信息

(5)      谁支付、维护系统

(6)      谁管理系统

(7)      系统需要与哪些其他系统交互

(8)      系统需要操纵哪些硬件

(9)      在预设的事件内,有事件自动发生吗

(10)  系统化从哪里获取信息

(11)  谁对系统的特定需求感兴趣

(12)  几个人在扮演同样的角色吗

(13)  系统使用的外部资源

(14)  系统用在什么地方

4、 用例:系统行为的动态描述

识别用例:

(1)      每个参与者的任务是什么

(2)      有参与者将要创建、存储、修改、删除或读取系统中的信息吗

(3)      什么用例会创建、存储、删除或读取系统中的信息

(4)      参与者需要通知系统外部的突然变化吗

(5)      需要通知参与者系统中正在发生的事情吗

(6)      什么用例将支持和维护系统

(7)      所有的功能需求都对应到用例中了吗

(8)      系统需要何种输入输出?输入从何处来?输出到哪里去?

(9)      当前运行系统的主要问题是什么?

5、 类图和对象图

(1)      类的属性

可见性{+-#} 属性名:类型= 缺省值 {约束特性}

(2)      类的操作

可见性:操作名(参数表):返回类型 {约束特性}

(3)      类之间的关系

                       i.             依赖关系:虚线实心箭头

                     ii.             泛化关系:实线空心箭头【子类指向父类】

                   iii.             关联关系:为类之间的通信提供了一种方式,聚合关系【整体和部分,用一个带空心菱形的实线表示】组合关系【用一个带实心菱形的实现表示】

(4)      实现关系:虚线空心箭头

(5)      类图:描述类与类之间的静态关系。

6、 交互图:表示各组对象如何依某种行为进行协作的模型。

强调对象交互行为顺序的顺序图:消息可以用消息名及参数来标识,消息也可以带有顺序号,消息还可以带有条件表达式,表示分支或决定是否发送消息。

强调对象协作的协作图:着重体现交互对象间的静态链接关系

7、 状态图:用来描述对象状态和事件之间的关系

(1)       状态:圆角矩形

(2)       初始状态:实心圆圈

(3)       结束状态:实现圆圈外套上一个空心圆圈

(4)       状态转移:箭头+文字

8、 活动图:用来表示系统中各种活动的次序,既可用来描述用例的工作流程,也可用来描述类中某个方法的操作的行为。活动图由状态图变化而来,依据对象状态的变化来捕获动作。

(1)       基本活动图:判定{菱形表示}、分叉与结合{并发流,粗线表示}

(2)      带泳道的活动图:泳道图将活动图的逻辑描述与顺序图、协作图的责任描述结合起来。

(3)      对象流:对象可以作为活动的输入和输出{虚线箭头表示},如果仅表示对象受到某一活动的影响,则可用不带箭头的虚线来连接对象和活动。

9、 构件图:用于物理建模,它可以有效地显示一组构件以及它们之间的关系。构件图通常包括构件、接口以及各种关系。

对源代码进行建模、对可执行体的发布建模、对物理数据库建模、对可调整的系统建模。

 

10、         部署图:用于物理建模,描述系统硬件的物理拓扑结构以及在此结构上执行的软件。部署图可以显示计算节点的拓扑结构和通信路径、节点上运行的软件构件,常常用于帮助理解分布式系统。

(1)      节点和连接

节点代表一个物理设备以及在该设备上运行的软件系统。在UML中,使用一个立方体表示一个节点,节点名放在左上角。通信类型则放在连接旁边的“《》”之间,表示所用的通信协议或网络类型。

 

(2)      构件和接口

构件代表可执行的物理代码模块,如一个可执行程序。逻辑上它可以与类图中的包或类对应。接口表示为一头有小圆圈的直线

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值