敏捷架构开发实战

 

Ì 课程周期:3

Ì 培训对象:

ü 程序员/资深程序员

ü 软件设计人员/软件架构师

ü 软件开发项目经理

ü 软件测试经理

ü 软件维护人员

ü 其他相关岗位的人员或有兴趣的个人 


Ì 培训目标: 

ü 敏捷开发概述 

ü 大型复杂项目的敏捷开发扩展 

ü 敏捷项目规划与度量 

ü 敏捷--极限编程实践

ü 敏捷--Scrum方法 

ü 敏捷项目管理

ü 敏捷建模 

ü 敏捷开发过程

ü 敏捷测试

ü 基于敏捷方法实践项目实战

ü 理解软件架构设计的关键原则和概念

ü 软件架构设计的有关工具

ü 掌握软件架构设计的主要方法

ü 掌握软件架构设计的主要模式


Ì 课程大纲:

l 软件开发面临的问题

ü 如何在资源和时间受限的条件下快速、连续的交付软件? 

ü 如何交付高质量的软件? 

ü 如何平衡成本、时间、质量和范围?

l 敏捷过程与其他过程

ü 常见的过程框架:CMMI,RUP,结构化过程 

ü 都有哪些敏捷过程:SCRUM,XP,OpenUP 

ü 敏捷过程宣言 

ü 敏捷开发原则 

l 大型复杂项目的敏捷开发扩展 

ü 大型项目多个敏捷团队的合作 

ü 多维度扩展处理方法的特点 

ü 敏捷过程与CMMI的融合 

l 敏捷项目规划与度量

ü 敏捷开发中需求的特点 

ü 规划的不同层次与思路 

ü 敏捷项目规模度量与估计 

ü 基于主题的优先级的度量 

ü 基于用分析矩阵确定优先级的度量 

ü 基于确定经济优先级的度量 

l 敏捷开发最佳实践 (XP方法实践)

ü 计划游戏 

ü 现场客户 

ü 小版本,持续集成 

ü 测试驱动开发 

ü 简单设计,重构,系统Metaphor 

ü 结对编程,集体代码所有权 

ü 代码标准

l 敏捷--Scrum方法

ü 什么是Scrum 

ü 自我管理团队 

ü Scrum的角色分配 

ü Scrum的流程 

ü Scrum的人工因素 

ü Sprint计划和Sprint backlog 

ü 每日Scrum 

ü 评审

l 基于敏捷软件开发的实践—工欲善其事,必先利其器 

ü 版本控制系统的搭建和最佳实践 

ü Bug管理系统的搭建和最佳实践 

ü Build系统的搭建和最佳实践 

ü 测试驱动开发—XUnit最佳实践 

ü 项目管理工具的最佳实践

l 敏捷项目管理

ü 编写项目开发计划 

ü 组建开发团队,定义团队成员角色 

ü 制定开发进度表并将其发布至项目进度网页中 

ü 将产生的文档和代码签入至版本控制系统中 

ü 文档与项目实际开发进度保持同步 

l 敏捷建模

ü 编写需求文档:定义系统范围和需求 

ü 利用UML用例图捕获需求,并编写用例文档 

ü 根据用例图和用例文档进行系统概要设计 

ü 进行UML类图设计 

ü 进行UML顺序图设计 

ü 构建软件的原型系统 

ü 根据需求的变化迭代以上过程 

l 敏捷开发过程

ü 编写详细设计书,定义开发标准文档 

ü 组织团队成对编程 

ü 重构产生的代码 

ü 将产生的文档和代码签入至版本控制系统中 

ü 使用Build系统生成软件可运行版本 

ü 根据设计的变化反复迭代以上过程 

l 敏捷测试

ü 对代码进行实施单元测试 

ü 进行可接受测试 

ü 将测试中发现的Bug发布到Bug管理系统

ü 根据开发的进度反复迭代以上过程

l 架构设计

ü 定义软件架构设计的视图及流程

ü 软件架构设计的工具以及管理方案

ü 软件架构设计方法综述

ü 软件体系结构模式综述

ü 特定领域软件架构体验

ü 管理调度分析设计

ü MDA与软件工厂

ü 软件架构相关的国际标准

ü 由需求相关文档完成架构元素提取(架构全局分析)

ü 软件架构师分配局部分析任务

ü 依据设计师局部分析结果完成对象聚合

ü 描述组件Component(或服务Service)关系

ü 设计组件Component(或服务Service)接口

ü 组件Component(或服务Service)管理容器设计

ü 软件架构技术选型与硬件体系结构设计