教学优势
曙海教育的课程培养了大批受企业欢迎的工程师。大批企业和曙海
建立了良好的合作关系。曙海教育的课程在业内有着响亮的知名度。
本课程,秉承19年积累的教学品质,以项目实现为导向,老师将会与您分享设计的全流程以及工具的综合使用经验、技巧。
在经济蓬勃发展的今天,客户的信息化需求变化非常快,这对软件企业提出了严峻的挑战,对需求的快速反应能力体现了一个软件企业的核心竞争能力,目前国内软件企业软件开发过程远未成熟,却还要常常面临国外同行的竞争。如何在这样一个激烈的市场竞争环境中既积累产品技术、又能够迅速把握市场机会,软件需求开发和管理能力成为了关键。
课程围绕如何获得高质量的需求,全面介绍软件需求开发和需求管理过程,还利用讲师实际的经验,与学员共同分析本企业需求工作中的问题,并特别针对目前需求工作中的常见难点进行分析,包括如何在需求工作中与客户进行主动合作、如何保证需求的完整性和准确性、如何编写高质量的需求文档、如何在不断满足客户需求的同时积累企业的核心产品能力。课程不仅仅给学员在需求工程上一个完整的整体认识、还培训了学员在需求开发和需求管理的实际操作能力。
课程结合行业环境和软件企业具体发展状态来讲述软件需求开发与需求管理,对不同态势下的软件企业的需求工作具有实际的参考价值。
掌握需求的本质和需求工程的相关概念,建立正确的需求观。
掌握需求分层与结构分解,并理解其如何与企业不同层次的管理工作相结合,建立需求管理“神经系统”,破除联系凌乱、颗粒度大小不一的“需求碎片”。
掌握如何与客户(包括内部和外部)在需求工作中建立合作关系,让客户的参与成为软件质量改进的积极因素。
掌握迭代的需求开发过程,并具体掌握如何进行需求获取、需求分析、需求编写、需求确认,最终得到高质量的需求。
掌握业务需求、用户需求、功能与非功能需求的具体编写和使用方法,让需求易写易懂易查。
掌握需求分配的版本化安排,理解其与产品版本化演进之间的关系,和如何进行产品组件的
公司总工/技术总监、研发项目经理/产品经理、系统工程师SE、研发骨干、测试、QA等。
1. 案例及概述 | 本章节学习目标:讨论需求问题的现状及问题的严重性 1.1. 案例分析 1.2. 需求的重要性解读 1.3. 什么是需求工程? 1.4. 什么是需求开发? 1.5. 什么是需求管理? 1.6. 需求开发与需求管理的关系 1.7. 需求工程的推荐方法 1.8. 迭代的需求开发过程(敏捷方法,适应变更) |
2. 认识需求 | 本章节学习目标:掌握软件需求的基本概念、理清思路 2.1. 什么是需求?为什么不同的人理解差异那么大? 2.1.1. 问题探讨 2.1.2. 需求的定义 2.1.3. 需求的影响因素 目标是不是需求,对需求有什么影响 需求范围应该从那里开始 干系人应包括那些,如何影响需求 目标、范围、干系人如何互相影响 2.2. 需求的层次划分与分类 2.2.1. 业务需求 2.2.2. 用户需求、业务规则、质量属性 2.2.3. 功能需求、系统需求、外部接口与约束 2.3. 何为优秀的需求 2.4. 案例分析与演练1 |
3. 业务需求 | 本章学习目标:理解业务需求的重要性和其对用户需求、功能需求的指导作用,以及如何获取和分析编写业务需求,掌握软件项目“方向盘”。 3.1. 业务需求的组成 3.2. 业务需求的来源 3.3. 产品的业务目标 3.4. 产品的前景与范围 3.5. 干系人及特征 3.6. 业务需求如何编写、模板范例及说明 3.7. 不明确的业务需求带来的常见问题 3.8. 业务需求如何决定用户需求与功能需求 3.9. 业务需求应该由谁来负责 3.10. 业务需求的输出:产品包需求 3.11. 产品包需求的特点 3.12. 产品包需求的转化 3.12.1. 需求分解分配 3.12.2. 设计需求:软件需求 3.12.3. 设计需求:硬件需求 3.13. 从需求到产品规划 3.13.1. 需求的优先级 3.13.2. 需求的时间窗 3.13.3. 需求的实现路径 3.14. 组织中的需求分工与需求团队 3.15. 案例分析与演练2 |
4. 需求获取 | 本章学习目标:理解需求获取的重要性,区别需求获取与需求收集;掌握需求获取的方法,从一开始就进行有效的“撒网捕鱼”。 4.1. 用户需求的来源 4.2. 干系人与用户,用户的参与程度对需求质量的直接影响 4.3. 从用户角度看需求 4.4. 寻找用户类,常见的分类方法 4.5. 设立用户代表,用户代表的作用 4.6. 需求的采集 4.7. 需求获取的常见方法:12种需求收集的方法 4.8. 各种需求收集的方法确定的需求周期 4.9. 为什么要关注中长期需求? 4.10. 需求访谈 4.11. 需求研讨会 4.12. 解释需求 4.13. 确定需求群:卡片法 4.14. 需求整理:分类(BSA)与分层(AHP) 4.15. 案例分析与演练4 4.16. 用例法UC 4.16.1. 用例定义 4.16.2. 参与者目标清单 4.16.3. 从业务事件发现用例 4.16.4. 业务用例与场景 4.16.5. 在业务用例中对干系人利益的保障 4.16.6. 从业务用例中提取产品用例 4.16.7. 用例模板 4.16.8. 用例开发中的常见问题 4.16.9. 用例的作用 4.17. 案例分析与演练5 4.18. 原型法(AUXURE RP) 4.18.1. 使用原型法捕获客户的隐含需求 4.18.2. 原型法举例 4.19. 业务规则与术语 4.19.1. 业务规则的分类 4.19.2. 业务规则与需求 4.19.3. 术语 4.20. 寻找遗漏的需求 4.21. 关注内部需求 4.21.1. DFX(DFT等需求) 4.21.2. RAS(性能、可靠性、可用性、可维护性) 4.22. 整理成产品包需求 4.22.1. 案例分享:具体系统产品需求包(特性需求清单)案例分享 4.23. 案例分析与演练6 |
5. 需求分析 | 本章学习目标:理解高层需求的分解和最终原子需求的形成,掌握需求基本视图的分析和使用方法。让各种类型和各个层次的需求有机地联系起来。 5.1. 问题探讨 5.2. 需求建模 5.2.1. 常见建模方法 5.2.1.1. DFD方法 5.2.1.2. Use Case方法 5.2.1.3. FFBD方法 5.2.2. 建模方法的使用 5.2.3. 业务需求建模 Use Case 1) 业务角色的查找及建立 2) 业务用例查找与分析 3) 用例模型的建立 4) 业务规则及其建模 5) 用活动图表示用例结构 6) 活动图泳道的划分及对象流的标识 7) 业务实体的分析及提取 8) 业务对象模型的建立 9) 培训与演练 5.2.4. 系统需求建模阶段: 1) 需求的捕获与理解 2) 系统功能的理解 3) 系统角色的建立 4) 系统用例的建立 5) 用例对过程的描述 6) 基本用例及其分类 7) 用例的扩展、包含及泛化关系 8) 用例规约及文档标准 9) SRS现代软件需求包的理解 10) 培训与演练 5.2.5. 分析阶段及分析模型的建立: 1) 从用例建立概念模型 2) 分析及分析机制 3) 用例分析 4) 用例的关联 5) 概念的识别及提取 6) 概念模型的细化 7) 概念模型的扩展及润饰 8) 系统行为的分析-系统顺序图及契约 9) 用状态图对对象建模 10) 分析类及实体、控制、边界类的理解及分析 11) 建立分析类图 12) 包的组织 13) 系统分层及架构分析 14) 培训与演练 5.2.6. 设计阶段及设计模型的建立: 1) 从分析模型到设计阶段的映射 2) 描述真实用例 3) 设计用例 4) 对设计类的理解 5) 设计阶段的协作图 6) 对类的职责分配 7) 类设计的原理及原则 8) 设计模型中的关联、泛化及聚合关系 9) 设计模型中的系统行为的表达 10) 接口的设计 11) 包及子系统的设计 12) 系统构架设计的要点 13) 设计类图的建立 14) 培训与演练 5.3. 需求分解 5.3.1. 为什么需求分解 5.3.2. 需求分解结构及其作用 5.3.3. 常见分解方法 5.3.4. 需求复用 5.4. 需求分解分配表 5.5. 案例分析与演练7 5.6. 非功能需求 5.7. 需求优先级处理,观念和时机把握 5.8. 案例分析与演练8 5.9. 需求分配,版本分配、产品线分配等 5.10. V,R,B版本的划分 5.11. 需求评估 |
6. 需求编写 | 本章学习目标:理解需求编写与需求获取、需求分析的关系、以及需求规格的结构及如何与需求管理相结合,掌握需求编写的方法。 6.1. 问题探讨和概念澄清 6.2. 需求规格的特点和作用 6.3. 需求的标识 6.4. 需求规格的框架及汇编 6.5. 需求属性与需求矩阵的使用 6.6. 需求的存储和使用 6.7. 需求规格说明模板和使用 6.8. 软件需求规格说明书模板展示 6.9. 需求分析过程 6.10. 6.11. 案例分析与演练 |
7. 需求确认 | 本章学习目标:理解需求确认在质量控制和在软件开发中的承上启下重要作用,掌握需求确认的方法 7.1. 问题探讨 7.2. 需求确认的时机 7.3. 需求评审:正式与非正式的评审 7.3.1. 业务需求的评审 7.3.2. 用户需求与功能需求的评审 7.3.3. 需求评审Checklist 7.4. 测试需求分析方法 7.4.1. 测试类别分析 7.4.2. 继承性分析 7.4.3. 功能交互分析 7.4.4. 因果图分析 7.4.5. 确定测试需求规格 7.5. 需求进入基线 7.6. 案例分析与演练10 |
8. 需求管理 | 本章学习目标:掌握如何和需求开发相结合,建立一个需求管理的“神经系统“,满足不同层面、不同角度的管理需要。 8.1. 需求基线的建立 8.2. 需求分配的确认 8.3. 需求属性扩展 8.4. 需求状态跟踪,状态跟踪在项目管理中的作用,以及常见的需求状态定义 8.5. 需求跟踪: 8.5.1. 跟踪的作用 8.5.2. 常见跟踪需求关系链 8.5.3. 跟踪方法,需求跟踪矩阵的应用 8.6. 案例分析与演练11 8.7. 需求变更 8.7.1. 需求变更的原因分析 8.7.2. 如何应对需求变更 8.7.3. 变更控制 8.7.4. 变更影响分析 8.7.5. 变更常见问题分析 8.8. 使用敏捷方法,适应需求变更 8.9. 需求驱动的软件开发计划 8.9.1. 软件项目的分级计划体系以及各个计划的相互关系 8.9.2. 需求变更驱动软件开发计划变更 8.10. 使用敏捷,需求多次迭代 8.11. 案例分析与演练12 |
9. 需求管理机制建设 | 本章学习目标:建立规范的需求收集和管理平台,明确需求责任人。 9.1. 建立端到端的需求管理流程 9.2. 建立统一的需求库 9.3. 明确端到端需求管理的责任人 9.4. 建立需求管理考核机制 9.5. 建立需求管理关键活动模板 |
答疑