课程简介
本课程主要讲述UML工具,需求分析中建模技术(使用EA工具完成需求建模,重点讲解用例图、活动图与状态图的使用,包图如何组织用例图,以及用例图如何扩展完成质量与环境需求),概要设计中建模技术(即软件架构设计,重点讲解组件图、部署图、复合结构图在架构设计中使用,如何扩展UML模型完成大型系统的架构设计),详细设计中建模技术(使用EA工具中的类图、对象图、状态图、时序图或协作图完成详细设计,同时介绍细节算法图的设计)等要点。
目标收益
培训对象
课程大纲
UML模型图在设计中的选择(在软件开发的不同场景合理选择UML模型) |
- UML中13种图的应用范围 - 最小UML建模ICONIX - 特征驱动建模(FDD) - 最大UML建模RUP - 模型驱动开发(MDD)以及实现标准(MDA) - 敏捷模型驱动开发(AMDD) |
UML模型与软件文档关系 |
软件文档的UML模型的比例 - UML工具自动生成软件文档 - 在UML工具中定义软件文档模板 - 软件文档的版本与基线 - 发布UML模型到门户 |
扩展UML工具 |
- UML元模型 - 软件架构的元模型 - OCL的元模型 - 扩展UML展现外观 - 扩展UML构造原型 - 扩展UML编程 - UML profile的扩展 - UML add-in的介绍(TOGAF、DODAF等) |
EA工具团队成员管理 |
- 项目作者管理 - 团队角色管理 - 团队人力资源管理 - 成员客户端管理 - 团队权限管理 |
团队在线设计 |
- 部署服务器端,建立团队数据库 - 客户端建立团队设计项目 - 客户端连接到团队设计项目 - 团队设计的规则 - 保护自己设计成果 |
团队离线设计 |
- 设计项目的切割 - 分派设计任务 - 合并各个设计任务的成果 - 设计任务切割力度 |
与配置管理工具衔接工作 |
- 建立设计配置库 - 连接到配置管理工具 - 设计人员签出签入设计模型 - 设计模型对比分析 - 建立和维护设计基线 - 建立模型之间追踪关系 - 完成追踪多版本管理 - EA与其他工具交换模型 |
基于用例的基本分析 |
- 从组织结构和业务需求提炼执行者 - 分析执行者的用例 - 复合型用例分解成原子型用例 - 原子型用例描述(基本的管理单元) - 复合型用例描述 - 功能用例命名方式 |
- 讨论研究:业务功能用例的粒度如何控制? 基于用例的高级分析 |
- 分析用例路径重复性-包含用例 - 分析用例路径相似性-泛化用例 - 分析用例路径扩展性-扩展用例 - 用例的重构 |
- 案例分析:针对客户的实际样例进行高级分析 业务场景(路径)分析 |
- 业务基本场景(顺序化场景或路径) - 业务备选场景(分支化场景或路径) - 业务异常场景 - 使用活动图或时序图描述业务场景 |
业务实体分析 |
- 词汇表与业务实体的关系 - 功能用例与业务实体关系 - 业务实体引用标识(只需要在用例文档中引用业务实体标识) - 业务实体字段信息描述 |
业务规则分析 |
- 业务对象规则分析 - 业务规则描述方式(对象约束语言OCL、自然业务语言) - 业务规则构成(业务语言、数学语言与关键字) - 业务规则类别(推导、约束与存在) - 模糊的业务规则 - 业务规则引用标识(只需要在用例文档中引用业务规则标识) |
质量需求分析(非功能性需求-质量要求) |
- 用户关注的质量属性列表 - 用户视角的质量属性分解 - 说明性描述质量属性 - 定量描述质量属性 - 扩展UML工具建立质量效用树模型 |
环境需求分析(非功能性需求-环境要求) |
- 用户关注软件环境因素 - 软件环境需求分析 - 硬件与网络环境需求分析 - 集成环境需求分析 - 扩展UML工具完成环境效用树建模 |
撰写需求规格说明书 |
- 手工撰写需求规格说明书文法与句法 - 使用词汇表中业务词汇描述需求 - 撰写需求规格的误区 - 需求规格的图文比例 - 定制需求文档模板 - UML工具自动生成需求规格说明书 |
概要设计准备阶段(全局分析) |
- 分析软件项目或产品的范围(领域范围与功能范围) - 分析软件项目或产品的约束条件(质量约束与环境约束) - 分析软件 项目或产品的变化因素(关键因素与风险变化因素) - 分析企业现有资产是否可以在项目或产品复用 - 分析软件项目或产品所需的国际标准 - 对需求规格中的用例完成健壮性分析(对象分析) - 转述需求规格中的用例场景(行为分析) - 整理局部分析结果(分析类) |
概要设计之基础设计 |
- 提取软件架构的组成元素(以下简称架构元素) - 设计软件架构元素的接口 - 设计软件架构元素内部的可变因素(完成架构元素的可扩展性和可维护性设计) - 设计软件架构元素之间关联调用关系 - 整理软件架构元素的体系结构(分层组织、总线组织与云组织) |
概要设计之高阶设计 |
- 软件系统资源管理设计(资源规划10种架构模式) - 软件系统分布管理设计 - 软件系统并行设计(分布式计算、SAAS与云计算) - 软件架构元素管理设计(软件架构元素以插件方式放在框架中管理) - 使用UML工具表达高阶架构设计 |
概要设计之支撑设计 |
- 软件架构元素的数据结构设计(数据持久设计) - 软件架构元素通讯协议设计 - 软件架构元素的部署维护设计 - 软件系统代码结构规划 |
概要设计之关键质量设计 |
- 软件系统高可靠性设计 - 软件系统高性能设计 - 软件系统安全性设计 - 软件系统体验性设计 |
概要设计之文档撰写 |
- 使用EA工具定义软件概要文档模板 - 统一软件概要文档编写规范 - 软件概要文档中UML图形比例 - 使用UML工具自动生成概要设计文档 |
业务实体设计 |
- ORM设计模式(行为模式、结构模式与元数据模式) - 业务实体属性设计 - 业务实体关联与继承设计 - 业务实体变化分析,完成可扩展业务实体设计 - 业务实体对象缓存设计(内存数据库与业务实体存储关系) |
业务组件设计 |
- 业务组件中业务类接口设计 - 业务组件中业务类调用关系设计 - 业务组件中业务类变化设计(设计模式与配置文件) - 业务组件之间协作设计(接口设计规范约定) - 业务组件与其他应用接口集成设计(业务对外发布设计) - 业务组件实现方式(Java,.NET) |
业务流程编排设计 |
- 业务组件编排设计(EA工具中设计BPEL) - 业务组件中事务设计 - 基于数据工作流设计 - 基于活动工作流设计 - 基于状态工作流设计 - 基于消息的工作流设计 |
用户界面规划设计 |
- 以用户为中心的设计规范 - 使用EA工具完成UI原型设计 - 辅助EA工具的UI设计工具 - UI组件导航设计 - UI组件容器设计 - UI组件安全性、性能、可靠性设计 |
数据库详细设计 |
- 数据库基本设计原则(范式原则、OO原则) - 可扩展性数据表设计 - 数据库分区设计 - 数据库分库设计 - 数据库事务设计 - 数据库连接设计 |
代码结构设计 |
- 多人协作编程模型与UML模型 - UML模型产生文件与文件夹 - 详细设计自动转化为代码 - 详细设计与代码的同步方式 - 数据库设计与数据库同步方式 - 时序图与代码关系 |
详细设计文档 |
- 定义详细设计的文档模板 - EA工具自动生成详细设计文档 - 详细设计文档中算法细节 - 详细设计文档与项目计划 |
UML模型图在设计中的选择(在软件开发的不同场景合理选择UML模型) - UML中13种图的应用范围 - 最小UML建模ICONIX - 特征驱动建模(FDD) - 最大UML建模RUP - 模型驱动开发(MDD)以及实现标准(MDA) - 敏捷模型驱动开发(AMDD) |
UML模型与软件文档关系 软件文档的UML模型的比例 - UML工具自动生成软件文档 - 在UML工具中定义软件文档模板 - 软件文档的版本与基线 - 发布UML模型到门户 |
扩展UML工具 - UML元模型 - 软件架构的元模型 - OCL的元模型 - 扩展UML展现外观 - 扩展UML构造原型 - 扩展UML编程 - UML profile的扩展 - UML add-in的介绍(TOGAF、DODAF等) |
EA工具团队成员管理 - 项目作者管理 - 团队角色管理 - 团队人力资源管理 - 成员客户端管理 - 团队权限管理 |
团队在线设计 - 部署服务器端,建立团队数据库 - 客户端建立团队设计项目 - 客户端连接到团队设计项目 - 团队设计的规则 - 保护自己设计成果 |
团队离线设计 - 设计项目的切割 - 分派设计任务 - 合并各个设计任务的成果 - 设计任务切割力度 |
与配置管理工具衔接工作 - 建立设计配置库 - 连接到配置管理工具 - 设计人员签出签入设计模型 - 设计模型对比分析 - 建立和维护设计基线 - 建立模型之间追踪关系 - 完成追踪多版本管理 - EA与其他工具交换模型 |
基于用例的基本分析 - 从组织结构和业务需求提炼执行者 - 分析执行者的用例 - 复合型用例分解成原子型用例 - 原子型用例描述(基本的管理单元) - 复合型用例描述 - 功能用例命名方式 |
- 讨论研究:业务功能用例的粒度如何控制? 基于用例的高级分析 - 分析用例路径重复性-包含用例 - 分析用例路径相似性-泛化用例 - 分析用例路径扩展性-扩展用例 - 用例的重构 |
- 案例分析:针对客户的实际样例进行高级分析 业务场景(路径)分析 - 业务基本场景(顺序化场景或路径) - 业务备选场景(分支化场景或路径) - 业务异常场景 - 使用活动图或时序图描述业务场景 |
业务实体分析 - 词汇表与业务实体的关系 - 功能用例与业务实体关系 - 业务实体引用标识(只需要在用例文档中引用业务实体标识) - 业务实体字段信息描述 |
业务规则分析 - 业务对象规则分析 - 业务规则描述方式(对象约束语言OCL、自然业务语言) - 业务规则构成(业务语言、数学语言与关键字) - 业务规则类别(推导、约束与存在) - 模糊的业务规则 - 业务规则引用标识(只需要在用例文档中引用业务规则标识) |
质量需求分析(非功能性需求-质量要求) - 用户关注的质量属性列表 - 用户视角的质量属性分解 - 说明性描述质量属性 - 定量描述质量属性 - 扩展UML工具建立质量效用树模型 |
环境需求分析(非功能性需求-环境要求) - 用户关注软件环境因素 - 软件环境需求分析 - 硬件与网络环境需求分析 - 集成环境需求分析 - 扩展UML工具完成环境效用树建模 |
撰写需求规格说明书 - 手工撰写需求规格说明书文法与句法 - 使用词汇表中业务词汇描述需求 - 撰写需求规格的误区 - 需求规格的图文比例 - 定制需求文档模板 - UML工具自动生成需求规格说明书 |
概要设计准备阶段(全局分析) - 分析软件项目或产品的范围(领域范围与功能范围) - 分析软件项目或产品的约束条件(质量约束与环境约束) - 分析软件 项目或产品的变化因素(关键因素与风险变化因素) - 分析企业现有资产是否可以在项目或产品复用 - 分析软件项目或产品所需的国际标准 - 对需求规格中的用例完成健壮性分析(对象分析) - 转述需求规格中的用例场景(行为分析) - 整理局部分析结果(分析类) |
概要设计之基础设计 - 提取软件架构的组成元素(以下简称架构元素) - 设计软件架构元素的接口 - 设计软件架构元素内部的可变因素(完成架构元素的可扩展性和可维护性设计) - 设计软件架构元素之间关联调用关系 - 整理软件架构元素的体系结构(分层组织、总线组织与云组织) |
概要设计之高阶设计 - 软件系统资源管理设计(资源规划10种架构模式) - 软件系统分布管理设计 - 软件系统并行设计(分布式计算、SAAS与云计算) - 软件架构元素管理设计(软件架构元素以插件方式放在框架中管理) - 使用UML工具表达高阶架构设计 |
概要设计之支撑设计 - 软件架构元素的数据结构设计(数据持久设计) - 软件架构元素通讯协议设计 - 软件架构元素的部署维护设计 - 软件系统代码结构规划 |
概要设计之关键质量设计 - 软件系统高可靠性设计 - 软件系统高性能设计 - 软件系统安全性设计 - 软件系统体验性设计 |
概要设计之文档撰写 - 使用EA工具定义软件概要文档模板 - 统一软件概要文档编写规范 - 软件概要文档中UML图形比例 - 使用UML工具自动生成概要设计文档 |
业务实体设计 - ORM设计模式(行为模式、结构模式与元数据模式) - 业务实体属性设计 - 业务实体关联与继承设计 - 业务实体变化分析,完成可扩展业务实体设计 - 业务实体对象缓存设计(内存数据库与业务实体存储关系) |
业务组件设计 - 业务组件中业务类接口设计 - 业务组件中业务类调用关系设计 - 业务组件中业务类变化设计(设计模式与配置文件) - 业务组件之间协作设计(接口设计规范约定) - 业务组件与其他应用接口集成设计(业务对外发布设计) - 业务组件实现方式(Java,.NET) |
业务流程编排设计 - 业务组件编排设计(EA工具中设计BPEL) - 业务组件中事务设计 - 基于数据工作流设计 - 基于活动工作流设计 - 基于状态工作流设计 - 基于消息的工作流设计 |
用户界面规划设计 - 以用户为中心的设计规范 - 使用EA工具完成UI原型设计 - 辅助EA工具的UI设计工具 - UI组件导航设计 - UI组件容器设计 - UI组件安全性、性能、可靠性设计 |
数据库详细设计 - 数据库基本设计原则(范式原则、OO原则) - 可扩展性数据表设计 - 数据库分区设计 - 数据库分库设计 - 数据库事务设计 - 数据库连接设计 |
代码结构设计 - 多人协作编程模型与UML模型 - UML模型产生文件与文件夹 - 详细设计自动转化为代码 - 详细设计与代码的同步方式 - 数据库设计与数据库同步方式 - 时序图与代码关系 |
详细设计文档 - 定义详细设计的文档模板 - EA工具自动生成详细设计文档 - 详细设计文档中算法细节 - 详细设计文档与项目计划 |