
大话软件需求 内容简介
本书全面探讨了软件系统需求开发的全过程,旨在帮助读者理解并实践高质量需求制定的理论和实践过程,把需要丰富的内涵和在软件系统不同生命周期阶段的关注焦点、展现形式以实例化的方式呈现出来。本书源于作者长时间在各类软件系统研发过程中,对软件需求深入的研究和大量的实践,最终形成了系统化的理论和方法。内容涵盖了从业务需求发掘、利益相关方需求定义、软件系统需求编制、实例化需求编写、直到活文档生成等软件需求文档系统的全生命周期,详细阐述了如何发掘业务需求、定义利益相关方需求、编制系统功能需求规约和非功能需求规约,确保软件系统“做正确的事”,同时,聚焦于实例化需求、活文档系统以及需求文档的管理,旨在解决需求信息传递不一致的问题,确保软件系统“正确地做事”。本书阅读对象主要为从事软件系统研发的产品经理、业务分析工程师、架构工程师、项目经理、研发工程师、测试工程师、质量保证工程师、以及对软件需求管理感兴趣的从业者。本书不仅适合初学者快速掌握需求管理的核心知识和技能,也适合资深从业者深化理解并提升实践水平。通过丰富的实例和案例分析,本书帮助读者在实际工作中更好地理解和应用需求管理理论,推动软件系统研发的高质量完成。
大话软件需求 作者简介
邢统坤,高级工程师,清华大学MBA。拥有20余年的软件系统研发运营经验,在软件系统需求发掘、研发过程管理、长期安全运营等领域,具有丰富的理论与实践经验。主编书籍《中国民航离港系统手册》,拥有多项专利,编写了多项行业标准编写,参与ISO/IEC/IEEE29148转为国标《系统与软件工程生存周期过程需求工程》(征求意见阶段)。获得过省部级奖励包括:中国航空运输协会民航科学技术一等奖、二等奖、三等奖多次,中国质量协会质量技术奖二等奖、三等奖多次,央企安全管理主题征文二等奖。是中国信通院举办的第四届IT新治理领导力论坛年度领军人物,PMI优秀PMO(中国)代表。
大话软件需求 目录
目录第1章
绪论
——需求是驱动软件系统研发的不二选择
1.1需求是什么2
1.1.1需求相关术语3
1.1.2高质量需求是软件研发成功的关键4
1.1.3需求的层次与分类6
1.2需求的“动”“静”特性9
1.2.1变化是需求的本质特征9
1.2.2需求的10大核心内容13
1.3需求实现的最佳实践18
1.3.1行为驱动开发—第二代敏捷
方法20
1.3.2实例化需求—融合需求规约
与验收标准22
1.3.3活文档系统—自动保持文档、
代码一致24
1.4需求的全生命周期管理27
总结28
第2章
发掘业务需求
——获取高价值市场机会
2.1业务需求的内容和来源30
2.2流行的5W1H业务架构分析方法33
2.2.15W1H方法简介34
2.2.25W1H方法的使用原则35
2.3需求10大核心内容之一—任务范畴37
2.3.1任务范畴角色38
2.3.2任务范畴动机38
2.3.3任务范畴流程39
2.3.4任务范畴数据41
2.3.5任务范畴时间43
2.3.6任务范畴渠道43
2.3.7任务可行性分析44
2.4需求10大核心内容之二—投资回报45
2.4.1商务模型动机46
2.4.2商务模型角色47
2.4.3商务模型流程49
2.4.4商务模型数据52
2.4.5商务模型时间52
2.4.6商务模型渠道54
2.4.7商务投资回报分析54
2.5需求10大核心内容之三—解决
方案选择57
2.5.1“口袋书”结构化决策最佳实践57
2.5.2“口袋书”最佳实践应用65
总结70
第3章
定义利益相关方需求
——真知来源于实践
3.1来自原始需要的利益相关方需求72
3.2需求10大核心内容之四—利益相关方75
3.2.1典型软件系统研发管理模型75
3.2.2识别利益相关方79
3.3收集信息82
3.3.1几种常用信息收集方法82
3.3.2麦肯锡信息收集分析方法89
3.3.3基于事件的信息分析整理方法91
3.4需求10大核心内容之五—用例95
3.4.1核心概念辨析:用例和用户故事96
3.4.2定义用例图99
3.4.3定义用例的活动图102
3.4.4定义用例描述104
3.4.5定义用例序列图106
3.4.6定义问题领域类图108
3.4.7定义问题领域类的状态机图110
3.5需求10大核心内容之六—需求优先级111
3.5.1为什么要确定需求优先级111
3.5.2确定需求优先级的方法112
3.5.3需求优先级应用121
3.6确认需求可行性122
3.7与管理层一起评审需求123
3.7.1单个需求质量判断标准124
3.7.2需求集质量判断标准126
总结128
第4章
编制功能需求规约
——定义高可用软件精品
4.1系统需求是软件系统研发的依据130
4.2需求10大核心内容之七—应用上下文133
4.2.1应用上下文包含的信息项133
4.2.2用户认证与授权系统的需求
应用上下文136
4.3承载软件价值实现的功能需求139
4.4化整为零是全面功能需求整理的
有效手段140
4.4.1工作分解结构的定义和生成方法141
4.4.2工作分解结构应用143
4.5需求10大核心内容之八—人机交互
界面146
4.5.1人机交互界面设计指导理论146
4.5.2设计高质量系统界面152
4.6适用编号方法奠定需求高水平管理基础163
4.6.1数字序列编号164
4.6.2层次数字编号165
4.6.3结构化文本标签编号165
总结166
第5章
编制非功能需求规约
——数字意味着健壮
5.1非功能需求是高质量软件的基石172
5.2质量需求定义的模式173
5.2.1使用质量模型174
5.2.2系统质量模型176
5.2.3数据质量模型179
5.3需求10大核心内容之九—质量需求184
5.3.1从用例获取质量需要184
5.3.2基于质量需要裁剪出质量属性186
5.3.3编制质量需求规约190
5.4需求10大核心内容之十—约束192
总结195
第6章
实例化需求
——如何写出高质量需求
6.1为什么要引入实例化需求203
6.2实例化需求实践206
6.2.1从目标中获取范畴206
6.2.2协作制定需求207
6.2.3举例说明208
6.2.4精化需求213
6.2.5在不修改需求的情况下进行
自动化验证219
6.2.6持续验证224
6.2.7演化出一个活文档系统227
总结228
第7章
活文档
——刺穿代码迷雾的利剑
7.1广受诟病的传统文档系统230
7.2促进文档、代码信息一致的行为驱动开发
方法论234
7.2.1行为驱动开发方法论概述235
7.2.2Gherkin语法241
7.3方兴未艾的活文档244
7.3.1活文档的特点244
7.3.2活文档的生成方法246
7.4“以文档为中心”实现用户认证与
授权系统250
7.4.1用户认证与授权系统的需求定义
过程251
7.4.2用户认证与授权系统的工程实践255
总结264
第8章
需求管理
——需求完整和一致性的保证
8.1需求管理简介266
8.1.1需求变化的来源和复杂性267
8.1.2需求管理的对象270
8.1.3需求管理的主要活动272
8.2需求版本控制273
8.2.1需求版本控制的作用273
8.2.2需求版本的命名274
8.2.3需求版本控制的活动276
8.3需求基线管理277
8.4需求变更管理280
8.4.1需求变更控制流程280
8.4.2变更控制委员会282
8.4.3变更影响分析和审批283
8.5需求追踪与需求追踪矩阵285
8.5.1需求追踪的目的和对象286
8.5.2需求状态287
8.5.3需求追踪的类型和方法289
8.5.4需求追踪矩阵291
总结295
术语表与参考文献296
······
