本书是有关软件需求的经典教材,本书全面而深入地讲述了软件开发中一个至关重要的问题——软件需求问题。软件开发人员及用户往往容易忽略沟通的重要性,导致软件开发出来后,不能很好地满足用户的需要。返工不仅在技术上给开发人员带来巨大的麻烦,并且会造成人力、物力和资源的浪费,还使软件性能深受影响,所以在开发早期提高项目需求分析的质量,减少重复劳动,通过控制项目范围的扩大及需求变更来达到按计划完成预定目标,是当前软件业急需解决的问题,也是本书讨论的主要内容。 本书对第1版的内容进行了扩展,不仅对原有的知识点进行了补充,还引入了一些新知识,以求与时代发展同步。 本书可以作为计算机专业及软件工程专业学生的教材使用,也非常适合作为项目经理、软件开发人员的指导性参考书。
第I部分 什么是软件需求?为什么要实现软件需求?哪些人应参与软件需求第1章 软件需求基础知识 1.1软件需求的定义 1.1.1对需求的不同解释 1.1.2需求的层次 1.1.3不属于需求的内容 1.2需求的开发与管理 1.2.1需求开发 1.2.2需求管理 1.3所有项目都有需求 1.4优秀的团队遇到糟糕的需求 1.4.1用户参与不足 1.4.2用户需求扩展 1.4.3有岐义的需求 1.4.4镀金问题 1.4.5过于抽象的需求 1.4.6忽略了某类用户 l.4.7不准确的计划 1.5优质需求过程的好处 1.6优秀需求的特点 1.6.1需求陈述的特点。 1.6.2需求规格说明的特点第2章 客户眼中的需求 2.1客户 2.2客户与开发人员的合作伙伴关系 2.2.1软件客户的权利法案 2.2.2软件客户的义务法案 2.3关于“签字”第3章 需求工程的推荐方法 3.1知识技能 3.2需求获取 3.3需求分析 3.4规格说明 3.5需求验证 3.6需求管理 3.7项目管理 3.8开始新实践 3.9需求开发过程第4章 需求分析员 4.1需求分析员的职责 4.1.1需求分析员的工作 4.1.2需求分析员必备的技能 4.1.3需求分析员必备的知识 4.2如何培养需求分析员 4.2.1从用户转为分析员 4.2.2从开发人员转为分析员 4.2.3主题专家 4.3营造合作的氛围 第Ⅱ部分 软件需求开发第5章 确定产品前景与项目范围 5.1通过业务需求定义前景 5.1.1相互矛盾的业务需求 5.1.2业务需求与用例 5.2前景与范围文档 5.3关联图 5.4保持范围的适度第6章 获取客户的需求 6.1需求的来源 6.2用户类 6.3寻找用户代表 6.4用户代言人 6.4.1外部的用户代言人 6.4.2对用户代言人的要求 6.4.3设置多位用户代言人 6.4.4如何让人接受用户代言人的概念 6.4.5用户代言人应避免的陷阱 6.5谁来做出决策第7章 聆听客户的需求 7.1需求获取 7.2需求获取讨论会 7.3将客户的意见归类 7.4需求获取中的注意事项 7.5寻找遗漏的需求 7.6如何判断需求获取是否已完成第8章 理解用户需求 8.1用例法 8.1.1用例与使用场景 8.1.2确定用例 8.1.3编写用例 8.1.4用例与功能性需求 8.1.5用例的好处 8.1.6使用用例时应避免的问题 8.2事件一响应表第9章 遵守规则 9.1业务的规则 9.1.1事实 9.1.2约束 9.1.3动作触发规则 9.1.4推论 9.1.5计算 9.2在文档中记录业务规则 9.3业务规则和需求第10章 编写需求文档 10.1软件需求规格说明 10.1.1需求的标识 10.1.2处理不完整性 10.1.3用户界面和软件需求规格说明 10.2软件需求规格说明模板 10.3编写需求文档的原则 10.4改进前后的需求示例 10.5数据字典第11章 一图胜千言 1 1.1需求建模 11.2从客户需求到分析模型 11.3数据流图 11.4实体一关系图 11.5状态转换图 11.6对话图 11.7类图 11.8判定表和判定树 11.9最后的提醒第12章 软件质量属性 12.1质量属性 12.2定义质量属性 12.2.1对用户重要的属性 12.2.2对开发人员重要的属性 12.3性能需求 12.4用Planguage定义非功能性需求 12.5属性的折中方案 12.6实现非功能性需求第13章 通过制作原型减少项目风险 13.1什么是原型和为什么要建立原型 13.2水平原型 13.3垂直原型 13.4废弃型原型 l 3.5演化型原型 13.6书面原型和电子原型 13.7原型评估 13.8创建原型所带来的风险 13.9原型法成功的因素第14章 设定需求优先级 14.1为什么要设定需求优先级 14.2优先级规则 14.3优先级的等级 14.4根据价值、成本和风险来 设定优先级第15章 需求确认 15.1需求评审 15.1.1审查过程 15.1.2需求评审面临的困难 15.2测试需求 15.3制定验收标准.第16章 需求开发面临的特殊难题 16.1维护项目的需求 16.1.1开始捕获信息 16.1.2亲身实践一下新的需求技术 16.1.3遵循跟踪链 16.2软件包解决方案的需求 16.2.1开发用例 16.2.2考虑业务规则 16.2.3定义质量需求 16.3外包项目的需求 16.4突发型项目的需求 16.4.1非正式用户需求规格说明 16.4.2现场客户 16.4.3尽早地而且要经常地设定优先级 16.4.4简单的变更管理第17章 超越需求开发 17.1从需求到项目规划. 17.1.1需求和预估 17.1.2需求和进度安排 17.2从需求到设计和编码 17.3从需求到测试 17.4从需求到成功 第Ⅲ部分 软件需求管理第18章需求管理的原则和实践 18.1 需求基线 18.2需求管理过程 18.3需求版本控制 18.4需求属性 18.5跟踪需求状态 1 8.6评估需求管理的工作量第19章 变更管理 19.1管理范围蔓延 19.2变更控制过程 19.2.1变更控制策略 19.2.2变更控制过程描述 19.3变更控制委员会 19.3.1 CCB的组成 19.3.2 CCB规章 19.4变更控制工具 19.5测量变更活动 19.6变更需要付出代价:影响分析 19.6.1影响分析的过程 19.6.2影响分析报告模板第20章 需求链中的联系链 20.1需求跟踪 20.2需求跟踪动机 20.3需求跟踪矩阵 20.4需求跟踪工具 20.5需求跟踪过程 20.6需求跟踪可行吗?必要吗?第21章 需求管理工具 21.1使用需求管理工具的益处 21.2需求管理工具的功能 21.3实现需求管理自动化 21.3.1选择适当的工具 21.3.2改变文化 21.3.3使需求管理工具服务于自己 第Ⅳ部分 实现需求工程第22章 改进需求过程 22.1需求与其他项目过程的联系 22.2需求和各涉众组 22.3软件过程改进的基本原则 22.4过程改进周期 22.4.1评估当前采用的方法 22.4.2规划改进活动 22.4.3建立、实验并实现新过程 22.4.4评估结果 22.5需求工程过程资产 22.5.1需求开发过程资产 22.5.2需求管理过程资产 22.6需求过程改进路线图第23章 软件需求与风险管理 23.1软件风险管理基本原理 23.1.1风险管理的要素 23.1.2编写项目风险文档 23.1.3制定风险管理计划 23.2与需求相关的风险 23.2.1需求获取 23.2.2需求分析 23.2.3编写需求规格说明 23.2.4需求确认 23.2.5需求管理 23.3风险管理是我们的好帮手附录A 当前需求实践的自我评估附录B 需求和过程改进模型 B.1软件能力成熟度模型 B.2 CMMI.SE/SW B.2.1需求管理过程域 B.2.2需求开发过程域附录C 需求错误诊断指南 C.1根本原因分析 C.2需求问题的常见现象 C.3实现解决方案常常会遇到的障碍附录D 需求文档范例 D.1前景和范围文档 D.1.1业务需求 D.1.2解决方案的前景 D.1.3范围和局限性 D.1.4业务上下文 D.2用例 D.3软件需求规格说明. D.3.1介绍 D.3.2总体描述 D.3.3系统特性 D.3.4外部接口需求 D.3.5其他非功能性需求 D.3.6附录A数据字典和数据模型 D.3.7附录B分析模型 D.4业务规则术语表结语
本书多年来一直深受世界各国高校师生的欢迎,是美国哈佛大学、麻省理工学院、普林斯顿大学、加州大学伯克利分校等许多著名大学的
《Node.js硬实战:115个核心技巧》是一本面向实战的Node.js开发进阶指南。作为资深专家,《Node.js硬实战:115个核心技巧》作者独
《钢琴套曲民谣四首》内容简介:本作品是作曲家刘敦南新近创作的钢琴作品,作品运用有调性的十二音创作技法,将中国民歌与当代技术
《英语专业四级考试培训教程(写作)》内容简介:本书是一本操练手册(workbook),是一本从始至终需要诸位拿着一支笔去练习的书。
《大道至简》内容简介:本书提出了审视软件工程的全新视角和软件工程的体系模型(EHM,软件工程层状模型)。本书用非工程的方式重新解
《无师自通8:铅笔素描头像超精解析(修订版)》内容简介:素描是一切造型艺术的基础,有着独特的表现魅力,学习素描是通往艺术殿堂
《高配人生的7个法则》内容简介:本书是一本倡导“她力量”的女性成长励志书籍。作者邵英是一名成功的女性互联网创业者,书中作者详
《10W+新媒体文案炼成记》内容简介:本书是一本新媒体文案专题训练实战手册,在微信、微商、电商、APP、头条号这5大文案写作最为火
《零基础学单片机C语言程序设计》内容简介:《零基础学单片机C语言程序设计》由浅入深,循序渐进地讲解了C51语言的方方面面。奉书知
主编:海军超过十五年设计管理研究、咨询和实践经验。参与和主持过设计政策、设计产业规划、区域创新、新产品开发、设计组织与设
《一个人的“文艺复兴”》内容简介:人家问我说,你的家在哪里,我一下答不上来。不是地理上的,我说,我的家乡,是中国传统文化。
SwiftisanewprogramminglanguageforcreatingiOSandOSXapps.SwiftbuildsonthebestofCan...
本书列举了大量成功的商业和研究系统的实例,此外,列出了许多事务处理算法的可编译的C代码片段。本书对于那些对实现分布式系统或
计算机基础应用教程 内容简介 本书采用“任务驱动”模式编写,以完成具体案例为主线,巧妙地将知识融入每个任务之中,使学生通过完成任务来深化对知识的理解与应用,增强...
《聚势》内容简介:本书首先从理论上分析移动互联网时代的渠道发展趋势,提出渠道运营管理“442”模型,解析通信业渠道发展历史和发
本书指导读者使用Ajax、PHP及其他相关技术建立快速响应的网页。本书不仅从Ajax的客户端和服务器端技术两个方面指导读者逐步掌握A
《元宇宙基石:Web3.0与分布式存储》内容简介:本书Web3.0深刻地变革了数据存储的方式,使个人不再依赖数据存储费高昂的企业来存储
《星教练的轻食主义》内容简介:轻食主义是近年来非常流行的饮食方式,它既是一种清淡的饮食方式,更是一种均衡、自然、健康的生活
非线性随机时滞神经网络-稳定性分析与脉冲镇定 本书特色 本专著的内容是研究非线性*时滞神经网络系统的稳定与脉冲镇定.这些系统包括脉冲*泛函系统,*递归时滞神经网...
FirefoxHacksisidealforpoweruserswhowanttotakefulladvantageofFirefoxfromMozilla,t...