传智播客--UML基础

今天学习的内容不太好说,学习起来非常的容易.就是那么几个图的使用.什么图干什么用,什么图表示什么意思记住就哦了.可要是真想用好 UML 那可就不是件容易的事情了. UML 只是个设计系统的辅助工具.不是说学习好了 UML 就能设计出好的系统来.呵呵,在学习前大家要明白这个道理哦.

1.UML的介绍
UML(United Modeling Language,统一建模语言),是一种基于面向对象的可视化建模语言.采用了一组形象化的图形(如类图)符号作为建模语言, 使用这些符号可以形象地描述系统的各个方面,通过建立图形之间的各种关系(如类与类之间的关系)来描述模型.

2.软件工程的基本概念
我们今天就来学习UML.到目前我们已经学习过的语言大概有,java/c++/c/html/xml/sql/hql/js/jpql.大概数数,还不 少呢.今天又多学了一种.
学习UML,就不能不从软件工程开始说起.
软件工程中有这么几个概念要知道.
软件生命周期: 软件的产生直到报废的生命周期
软件生命周期内有问题定义, 可行性分析, 总体描述, 系统设计,编码, 调试和测试, 验收与运行, 维护升级到废弃等阶段
软件危机:软件不可维护,没有办法往下开发了.
软件危机的出现,才出现了软件工程的理论.把建筑工程的理论拿到了软件开发的领域,出现了软件工程.来解决软件危机.

CMM 是印度人制定的.
可行性分析大体分为这么三种:时间可行性/技术可行性/经济可行性
软件公司的职位:项目经理/项目组长 /系统分析员
软件测试:黑盒测试/白盒测试/冒烟测试/压力测试

3.术语缩写
OO:面向对象的思想.学习软件开发,重点要学习其中的思想.C语言等是面向过程的思想,其中的struct就用点面向对象的思想.面向对象的思想使程序 员的门槛降低了.
OOA:面向对象分析
OOD:面向对象设计
OOP:面向对象编程

4.UML 中的关系主要包括 4 种
其实是对象间的关系
关联关系 (association)
依赖关系(dependency)
泛化关系(generalization)
实现关系 (realization)

5.UML常用图形

本来要上传 练习好的图像图片的,可是由于博客的限制不是很方便.真的有点遗憾了...

UML中一共有10中图,我们常用其中的4种.
类图,对象图,包图,组件图,部署图,用例图,时序图,协作图,状态图,活动图.

使用到的工具:ROSE是IBM的.

1)用例图(Use Case Diagram)
也称为用户模型图, 是从软件需求分析到最终实现的第一步, 它是从客户的角度来描述系统功能.
用例图包含 3 个基本组件: 参与者(Actor), 用例(Use Case), 关系
参与者(Actor): 与系统打交道的人或其他系统即使用该系统的人或事物. 在 UML 中参与者用人形图标表示
用例(Use Case): 代表系统的某项完整的功能. 在 UML 中使用一个椭圆来表示
关系: 定义用例之间的关系 ------ 泛化关系, 扩展关系, 包含关系

2)类图
是面向对象系统建模中最常用的图. 是定义其他图的基础.
类图主要是用来显示系统中的类, 接口以及它们之间的关系.
类图包含的主要元素有类, 接口和关系. 其中关系有关联关系, 泛化关系, 依赖关系和实现关系. 在类图中也可以包含注释和约束.
类是类图的主要组件, 由 3 部分组成: 类名, 属性和方法. 在 UML 中,类用矩形来表示,顶端部分存放类的名称,中间部分存放类的属性, 属性的类型及值, 底部部分存放类的方法, 方法的参数和返回类型.
在 UML 中可以根据实际情况有选择的隐藏属性部分或方法部分或两者都隐藏
在 UML 中, 公有类型有 + 表示, 私有类型用 – 表示, 保护类型用 # 表示.

接口中包含方法,但不包含属性.在UML中接口用一个带有名称的圆圈表示,并且通过一条实线与它的模型元素相连,有时候接口也使用普通类符号表示

3)时序图
用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序.
当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.
在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.
对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.
生命线:  生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内的存在. 每个对象底部中心的位置都带有生命线.
消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.

4)活动图
本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.

5)状态图
通过建立对象的生存周期模型来描述对象随时间变化的动态行为.
状态: 用圆角矩形表示. 状态名称表示状态的名字, 通常用字符串表示. 一个状态的名称在状态图所在的上下文中应该是唯一的.
转换: 用带箭头的直线表示. 一端连着源状态, 一端连着目标状态.
初始状态: 每个状态图都有一个初始状态. 此状态代表状态图的起始位置. 初始状态只能作为转换的源, 不能作为转换的目标, 并且在状态图中只能有一个. 初始状态用一个实心圆表示.
终止状态: 模型元素的最后状态, 是一个状态图的终止点. 终止状态在一个状态图中可以有多个.

6)协作图
也叫合作图,是一种交互图.
时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系。

7)对象图
是类图的一个实例, 用于显示系统执行时的一个可能的快照. 即在某一个时间上系统可能出现的样子. 对象图用带下划线的对象名称来表示对象.

8)包图
由包和包之间的关系组成. 包的图标就如同一个带标签的文件夹.
包提供了一种用于组织各种元素的分组机制. 在 UML 中, 包用来对元素进行分组, 并为这些元素提供命名空间. 包所拥有的或者引用的所有元素称为包的内容, 包没有实例.

9)组件图
用来建立系统中各组件之间的关系, 各组件通过功能组织在一起.
Javabean, ejb, jsp 都是组件。在UML中,组件使用在左侧有两个小矩形的大矩形来表示。
组件图可以用来设计系统的整体构架。

10)部署图
用来帮助开发者了解软件中的各个组件驻留在什么硬件位置, 以及这些硬件之间的交互关系。
节点: 用来表示一种硬件, 可以是打印机, 计算机等.节点的标记符号是一个三维框,在框的左上方包含了节点的名称。
通信关联: 节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值