导图社区 UML统一建模语言思维导图
UML统一建模语言思维导图!下图清晰地梳理了软件过程、需求规格说明、从分析到设计等内容的脉络。本图适用于软件工程专业的学生或对这方面感兴趣的人员学习使用!
编辑于2018-11-30 10:35:15UML统一建模语言
软件过程
软件开发本质
软件定义
软件固有特性
复杂性
一致性
可变性
不可见性
软件开发本质
应对软件开发挑战的技术
结构化程序技术
面向对象技术
软件构件技术
软件服务技术
影响软件开发成败的关键因素
利益相关者
软件过程
软件模型技术
E-R模型技术——数据建模
BPMN模型技术——业务建模
UML模型——软件建模
软件过程质量保证
能力成熟度模型CMM
初始级
已管理级
已定义级
量化管理级
优化级
能力成熟度模型集成CMMI(比CMM覆盖更多软件领域)
初始级
已管理级
严格定义级
定量管理级
优化级
ISO9000系列质量标准
ISO 9001 设计~售后服务的质量保证模式(作为软件的指南)
9002 制造安装的质量保证模式
9003 最终检验和测试的质量保证模式
9004 建立质量保证体系的指南
ISO9000与CMMI的关系
两者都共同着眼于质量和过程管理
CMMI是专门针对软件产品开发和服务,而IOS900涉及的领域相当宽
ITIL框架 (IT基础架构库)
COBIT框架 (控制目标信息和相关技术)
规划与组织
获取与实现
交付与支持
监控
软件开发策略
定制开发
集成开发
面向信息集成
面向门户集成
面向接口集成
面向过程集成
系统规划
为什么需要进行信息系统规划
信息系统规划是组织机构在信息化过程中必须首先考虑解决的关键问题
信息系统规划是组织机构信息化建设的基本纲领和总体方向
也是信息系统设计和实施的前提与依据
若规划存在失误,其带来的损失远大于系统设计错误带来的损失
信息系统规划内容
系统规划步骤
SWOT规划方法
VCM规划方法(价值链模型)
BPR规划方法论(业务流程重组)
ISA规划方法论 (信息系统体系结构)
三级管理系统
组织机构管理层次
策略级 决策者
战术级 管理部门
操作级 业务部门
事务处理系统
分析处理系统
知识处理系统
软件开发生命周期
软件开发生命周期
系统规划
明确问题
制定进度表
可行性分析
启动项目
系统分析
信息采集
定义需求
原型验证
划分优先级
需求规格方案
系统设计
组件设计
系统架构设计
程序结构设计
数据库设计
安全机制设计
网络环境设计
用户界面与系统接口设计
系统实施
构造系统
集成与测试
数据转换
安装系统
培训人员提供文档
运行与支持
支持用户
维护系统
进化系统
子主题
软件开发生命周期各阶段主要活动
开发过程模型与方法
软件开发过程模型
螺旋模型
RUP模型
MDA模型
敏捷软件模型
面向方面模型
软件开发方法
结构化方法
典型技术
数据流图
数据字典
层次结构图设计
E-R关系图
程序流程图
伪代码设计
结构化编程
面向对象软件开发方法
需求确定
业务分析建模
业务分析目的
业务分析的主要工作
组织现状调查
组织目标分析
组织机构分析
组织职能分析
业务过程分析
实体分析
管理模型分析
业务建模
业务建模内容
业务组织、职责结构描述
业务过程建模
业务信息内容和处理权限描述
业务模型图之间的关系
组织机构图
业务过程图
业务协作过程图
业务信息关系图
业务过程建模
过程层次建模
业务过程建模
业务过程建模语言BPMN
BPMN模型符号
流对象
连接对象
泳道
人工制品
业务建模工具
Visio
Power Designer
Rational Rose
Enterprise Architecture
BPMN业务过程建模案例
需求引导
需求类型
用户需求是反映用户对系统或产品使用中的具体处理要求
系统需求是反映开发人员必须实现的系统功能,并满足系统业务目标要求和用户需求
系统需求组成
功能性需求 系统应该提供什么样的服务、如何对输入做出反应以及系统在特定条件下的行为等描述
非功能性需求
产品需求
可用性需求
效率需求
性能需求
响应时间
吞吐量
并发用户数
资源使用率
空间需求
可靠性需求
可移植性需求
机构需求
交付需求
实现需求
标准需求
外部需求
互操作需求
道德需求
立法需求
隐私需求
安全性需求
需求开发过程
需求导出传统方法
与用户或领域专家面谈
观察业务过程
问卷调查表
用户表格和文档研究
需求导出现代方法
原型法
分类
进化式原型
抛弃式原型
实现技术
第四代开发编程技术
可复用软件构件技术
形式化规约和原型实现环境
开发过程
确定用户基本需求
开发初始化原型系统
对原型进行评价
修正和改进原型系统
头脑风暴法
联合应用开发(JAD)
快速应用开发(RAD)
需求协商与确认
超出范围的需求界定
需求依赖矩阵
需求风险和优先级
需求管理
需求分类与标识
需求层次定义
需求变更管理
需求可追踪管理
需求业务模型
用途
分类整理
绘制对应的业务系统描述图
检测不一致性、模糊性、错误和遗漏的需求
需求建模分析
生命周期中的基本模型
业务用例模型
系统用例模型
业务类模型
系统类模型
系统设计模型
系统实施模型
系统范围模型
数据流图 DFD建模方法
业务用例模型
UML业务用例图建模方法
业务类模型
组成元素
业务参与者
业务类
关联
需求文档
可视化建模基础
UML统一建模语言
是一种用于描述系统模型的面向对象建模语言
组成
用例视图(用例图)
结构视图(类图、对象图、包图)
行为视图(活动图、状态图)
交互视图(序列图、通信图)
实现视图(部署图、组件图)
UML用例视图
描述系统功能性需求的方法
组成
角色
系统边界
用例
关联
建立用例图模型
找出系统中的角色和用例
从系统中识别出角色
从系统中识别出用例
细化用例规约
建立系统用例模型图
UML活动图
描述系统行为的模型视图,用来描述过程(业务过程、工作流、时间流等)中的活动及其迁移。也叫“OO流程图”
主要应用
描述用例行为
理解工作流程
描述复杂过程的算法
基本元素
流程图元素
泳道
UML结构视图
用来描述类之间联系及其类结构关系,给出系统的静态视图结构,通常使用类图、包图描述系统逻辑结构模型
类图
组成
类
接口
依赖关系
泛化关系
关联关系
实现关系
符号
类
属性
格式
可视性 属性名 [多重性]:类型 = 初始值
可视性标记
+公共
#保护
-私有
操作
格式
可视性 操作名(参数列表):返回列表{性质}
类之间的关系
关联关系
两个类之间存在必要的联系
双向关联
单向关联
自关联
依赖关系
一个类使用另一个类
A------->B
B是类A中(某方法中)的局部变量
B是A方法中的一个参数
B向A发送消息,从而影响A类发生变化
聚合关系
类之间存在整体和部分的关系,部分成员对象可以独立于整体对象而存在
组合关系
类之间存在整体与部分的关系,部分成员对象与整体对象需同时存在
泛化关系
类之间存在继承关系
多态性:子类继承父类操作又不同的方法实现
抽象类:父类含有抽象的操作,不能实例化对象,只有子类才可以实例化对象
实现关系
对象图
包图
UML交互视图
类图仅仅给出了实现用例的组成结构。为实现其功能还需要描述类实例对象之间是如何交互的动态行为
交互图
顺序图
标记符
活动对象
消息
消息通信
同步消息
异步消息
简单消息
其他技术
创建对象
create创建临时对象
destorys删除对象
分支和从属流
分支允许控制流走向不同的对象
从属流只允许控制流改变为相同对象的另一条生命线分支
通信图
消息序列化,执行顺序排序
控制条件
创建实例
迭代:重复消息过程
UML状态机图
状态机图定义
状态定义了对象行为在某一个时刻的快照
状态机图用来建模对象是如何改变其状态以响应事件和展示对象从创建到删除的生命周期
标记符
状态
转移
决策点
同步
同步条
转移的事件、条件和动作
事件[条件]/动作
组合状态
一个复杂的状态可以细化为多个子状态的合成
UML实现视图
构件图
部署图
需求规格说明
是一种采用形式化建模语言定义描述系统需求的规格化说明,即以各种模型方式定义明确的系统需求。需求规格说涉及系统需求的系统结构规格说明、行为规格说明和状态变化规格说明
系统结构规格说明
静态结构类图建模
运行时态对象图建模
系统行为规格说明
系统用例图建模
功能逻辑的活动图建模
对象交互行为的顺序图和通信图建模
系统状态变化规格说明
系统状态图建模
从分析到设计
高级类建模
UML扩展机制
构造型
约束
标签值
UML可见性与封装
保护可见性
包可见性
java包可见性
C++友元可见性
UML导出信息 /
导出属性
导出关联
限定关联
关联类和具体化类
关联类
两个类之间存在多对多关联,并且每个关联实例都有自己的属性值
具体化类
高级泛化与继承建模
泛化和可替换性
泛化引入新的类,将它们分为一般类和特殊类,在模型中建立父类-子类关系
泛化可以减少模型中关联关系和聚合关系的数量
泛化的作用源于可替换性原则:代码中任何访问父类对象的地方,都可以用子类对象来访问
继承与封装
要求:只能通过对象接口中的操作才能访问对象的属性
实际情况
继承允许子类访问保护属性,削弱了封装
包可见性和友元也破坏了封装
封装是针对类的,不是对象
接口继承
扩展继承
限制继承
方便继承
高级聚合建模
ExclusiveOwns聚合
Owns聚合
Has聚合
Member聚合
高级交互建模
生命线和消息
相互片段:一段交互
组合片段
alt 可选片段
opt 选择片段
loop 循环片段
break 中断片段
parallel 并行片段
交互使用:一个外围交互对另一个交互的引用