UML
一、软件设计和软件工程
软件设计:把软件开发向清楚的过程
软件工程 对软件开发全过程进行建模和管理。
模型:是对现实的简化
建模 对现实系统进行适当的过滤,用适当的表现规则描述出简介额模型
建模是一种深入解决问题的方法
建模的原则
使用者的身份和使用的原因是评判模型额坏块的关键
保证简化过程不会掩盖任何重要的细节
孤立的模型是不完整的
软件建模的实现过程
软件建模的作用 源于现实的问题转化为计算机可以理解和实现的问题
软件建模的实现过程是从需求入手,用模型表达分析设计过程,最终将模型
二、UML
一种基于面向对象的可视化建模语言
UML采用了一组形象化的图形符号作为建模语言,使用这些符号可以形象地描述系统的各个方面
UML通过图形之间的各种关系来描述模型
UML中共有13中图
静态模型图:类图、对象图、包图、组建图、部署图
动态模型图:用例图、时序图、写作图、状态图、活动图
UML中的关系
关联关系、依赖关系、泛化关系、实现关系
用例图
成为用户模型图,是从软件需求分析到最终实现的第一步,它是从各户的角度来描述系统功能
包括三个组件 参与者,用例,关系。
参与者 与系统打交道的人或其他系统即使用该系统的人或事物,在UML中参与者用人形图表示
用例:代表系统的某项完整的功能,在UML中使用一个椭圆来表示
关系 定义用例之间的关系-----泛化关系,扩展关系,包含关系
类图
现实系统中的类,接口,与关系。
根据实际情况有选择的隐藏属性或方法部分或两者都隐藏
在UML中。公有类型 + 私有类型 - 保护类型 #
泛化关系
表示类与类,接口与借口之间的继承关系。 在UML用一条实心箭头由子类指向父类
实现关系
类与接口之间的实现关系
用一条虚线实心箭头又实现类指向接口
依赖关系
对于两个相对独立的系统,当一个系统负责构造另一个系统的实例,或者依赖另一个系统的服务时,这两个系统之间体现为依赖关系. 虚线箭头。 选择expand属性
关联关系
对于两个相对独立的系统,当一个系统的实例与另一个系统的一些特定实例存在固定的对应关系时,这两个系统之间为关联关系
l 当一个类处于关联的某一端时, 该类就在这个关系中扮演一个特定的角色. 具体来说, 角色就是关联关系中一个类对另一个类所表现的职责. 角色名称是名词或名称短语.
l 关联关系的多重性是指有多少对象可以参与该关联, 多重性可以用来表达一个取值范围, 特定值, 无限定的范围.
聚合关系
l 聚合关系描述了 “has a” 的关系, 即整体对象拥有部分对象
l 整体和部分之间用空心菱形箭头的连线连接, 箭头指向部分
组成关系
l 组成关系是更强形式的聚合.
l 组成关系中, 整件拥有部件的生命周期, 所以整件删除时, 部件一定会跟着删除. 而且, 多个整件不可以同时共享同一个部件。
l 聚合关系中, 整件不会拥有部件的生命周期, 所以整件删除时, 部件不会被删除. 再者, 多个整件可以共享同一个部件.
l UML 中组成关系用实心的菱形实线表示
时序图
l 时序图用于描述对象之间的传递消息的时间顺序, 即用例中的行为顺序.
l 当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.
l 在 UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列.
活动图
l 在 UML 中, 活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.
l 动作状态: 原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变. 在 UML 中动作状态用圆角矩形 表示, 动作状态所表示的动作写在圆角矩形内部.
l 分支与合并: 分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向. 条件行为用分支和合并表达.在活动图中, 分支用空心小菱形 表示. 分支包括一个入转换和两个带条件的出转换, 出转换的条件应该是互斥的, 须保证只有一条出转换能够被触发. 合并包含两个带条件的入转换和一个出转换.
状态图
l 状态: 用圆角矩形表示. 状态名称表示状态的名字, 通常用字符串表示. 一个状态的名称在状态图所在的上下文中应该是唯一的.
l 转换: 用带箭头的直线表示. 一端连着源状态, 一端连着目标状态.
l 初始状态: 每个状态图都有一个初始状态. 此状态代表状态图的起始位置. 初始状态只能作为转换的源, 不能作为转换的目标, 并且在状态图中只能有一个. 初始状态用一个实心圆表示.
l 终止状态: 模型元素的最后状态, 是一个状态图的终止点. 终止状态在一个状态图中可以有多个.
包图
l 包图: 由包和包之间的关系组成. 包的图标就如同一个带标签的文件夹.
l 包提供了一种用于组织各种元素的分组机制. 在 UML 中, 包用来对元素进行分组, 并为这些元素提供命名空间. 包所拥有的或者引用的所有元素称为包的内容, 包没有实例.
组件图
l 组件图用来建立系统中各组件之间的关系, 各组件通过功能组织在一起.
l Javabean, ejb,jsp 都是组件。在UML中,组件使用在左侧有两个小矩形的大矩形来表示。
l 组件图可以用来设计系统的整体构架。
部署图
l 部署图用来帮助开发者了解软件中的各个组件驻留在什么硬件位置, 以及这些硬件之间的交互关系。
l 节点: 用来表示一种硬件, 可以是打印机, 计算机等.节点的标记符号是一个三维框,在框的左上方包含了节点的名称。
l 通信关联: 节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。
1829

被折叠的 条评论
为什么被折叠?



