软件系统普遍相当复杂,同传统的一次性构建整个系统的方法相比,通过把系统拆分成若干部分,采用迭代增量的开发来逐步构建的方式能取得更好的效果。这将大大降低开发风险和项目失败所带来的代价,同时还能帮助项目干系人和项目开发团队对软件系统以及系统实际的复杂取得更好的共识,并获得可靠的工作量估计。但是迭代开发的实际运用者往往在项目迭代周期的划分上遇到困难,这恰恰是用例驱动方法的关键获益之一。本课程的迭代开发部分将向学员介绍用例驱动开发的哲学和提供用例技术的实用经验用于驱动系统分析、设计、开发、测试以及项目管理的活动。 软件开发的目标是抓住项目干系人(stakeholder)的关注点,设计系统以满足这些关注点的要求,并通过测试验证该系统确实真正满足了这些关注点的要求。用例(Use Case)建模技术是国际流行的对关注点进行建模的标准方法论。尽管许多软件从业人员知道用例技术,但对实践中对用例技术的错误使用却给项目的进度带来了负面的影响,甚至导致了项目失败。在这个课程中,我们将对用例技术给出清晰、认可度较高的解释,以达到在项目组中对用例技术的一致理解。更重要的是,我们将带领学员进行足够的练习,以获得识别、描述用例的经验。本课程的用例建模部分向学员演示了用例如何与用户接口设计、业务建模、项目管理、设计和测试活动关联。描述在不同的软件开发情况中裁剪用例技术的策略。
完成此课程的学习后,学员将理解如下内容: 部分:迭代开发和软件开发生命周期:重点讨论如何依据软件开发生命周期的基本原则,创建并管理迭代式的软件开发项目。主要包括: 1 软件开发生命周期的基本概念和原则 2 迭代的基本概念和原则 3 估算软件开发项目 4 规划并管理发布和迭代 5 规划,创建并管理迭代开发项目 6 项目集(programme)监控迭代开发项目:原则和实践 7 甲方管理迭代开发项目 第二部分:用例建模和需求工程 1 项目中如何灵活应用用例 2 理解用例的“真相”,纠正对用例的错误理解 3 用例建模中的典型错误,如何纠正这些错误 4 用例如何与其他建模元素关联 5 在软件项目中如何裁剪用例驱动的开发方法 6 需求工程的基本过程(需求采集/需求分析/需求决策)以及与项目管理和变更管理等流程的接口。
课程一、用例基础
1、为什么使用用例?
2、什么是用例?
3、从愿景到用例
4、如何识别用例和角色
课程二、用例进阶
1、用例模型的生命周期
2、高质量的用例描述(一)
3、高质量的用例描述(二)
4、基础设施用例和非功能性需求
课程三、软件开发生命周期和迭代开发
1、软件开发生命周期
2、迭代开发的原则和基本概念(一)
3、迭代开发的原则和基本概念(二)
4、估算迭代开发项目
课程四、在项目中使用用例
1、用例驱动开发(一)
2、用例驱动开发(二)
3、需求工程流程概览(从采集到决策)
4、需求与变更
课程五、发布和迭代
1、何为发布和迭代
2、如何规划发布和迭代
3、规划,创建迭代开发项目
4、管理迭代开发项目
课程六、项目和项目集,甲方管理
1、项目和项目集的关系
2、从项目集监控迭代开发项目
3、甲方管理的原则和实践(一)
4、甲方管理的原则和实践(二)