第八章:需求获取
8.1需求工程师
1.应具备的能力
- 分析问题、解决问题
- 人际沟通及交流
- 软件工程知识和技能
- 应用领域有关知识
- 书面语言组织和表达能力
8.2需求定义
1.“需求管理”三项任务
- 学习-需求获取
- 剪枝-需求优选
- 文档化-撰写需求规格说明书
2.”需求定义“包含的内容
- 该系统的目的
- 系统由谁使用
- 系统要做些什么内容
- 系统涉及哪些信息
- 对解决方案有何额外的限制
- 如何使用该系统
- 质量需达到何种程度
3.描述问题分为三个层面
应用领域(机器看不到的事物):学生、系统管理员、名册
机器领域(只归机器所有的事物):加密算法,内存管理,安全套接字
人机可以共享的事物:学生卡、密码、键盘输入
不过,系统边界也可以迁移:例如增加传感器
4.存在问题的需求描述实例
- 含糊的需求描述(指使用了含糊的代词,应该描述代词值得是什么)
- 错误的需求描述(例如太绝对、以偏概全)
- 不完整的需求描述(没有考虑到其它特殊情况)
- 矛盾或不一致的需求描述
- 无法测试的需求(例如应具有有好的界面:什么是友好?)
8.6 需求获取技术
1.需求获取技术
- 面谈
- 问卷调查
- 群体诱导技术
- 参与调查法
- 头脑风暴
- 文档分析
- 情景分析
- 需求讨论会
2.面谈技巧
3.问卷调查
4.群体诱导技术
5.竞争性需求分析(此产品具有竞争性的原因)
总结
8.7撰写需求文档
1.软件需求规格说明
清楚描述软件在什么情况下,需要做什么,以及不能做什么,作为后续的软件评估依据和变更的基准。
2.软件需求规格说明SRS的风格
• 描述性的自然语言文本
• 从用例模型产生
• 从需求数据库中生成(商业需求数据库有内置的功能来生成经过筛选的需求规格说明)
• 从混合模型中生成(特征模型和用例模型)
3.用户手册作为SRS
撰写用户手册作为一种性价比高的一箭双雕的方法,同时获得SRS和用户手册
4.高质量SRS
高质量需求规格说明一个高质量的需求规格说明
• 是所有需求的集合
• 描述产品要提供的所有功能
• 是软件系统解决方案的商业合同的基础
• 是测试计划的基础• 定义产品需求的度量标准
• 是产品需求跟踪的先决条件
• 影响开发产品的项目计划
5.需求规格说明的结构
6.SRS模板大纲
• 介绍
• 术语表
• 用户需求规格说明
• 系统结构
• 系统需求规格说明
• 系统模型
• 系统的演化
• 附录
• 索引