本章内容及分布需求工程概述需求获取需求分析需求定义需求验证需求管理需求工程概述软件需求是指顾客对系统在功能、行为、性能、设计约束等方面的期望
软件需求是指顾客处理问题或到达目的所需的条件或能力,是系统或系统部件要满足协议、原则、规范或其他正式规定文档所需具有的条件或能力,以及反应这些条件或能力的文档阐明
需求开发需求分类需求开发需求获取措施1顾客访谈1对1~3,有代表性的顾客
比较耗时,一般选择有代表性的顾客,开放式(问答式,比较发散)与封闭式(选择题)问题相结合
录音、备忘录、对信息分析综合2问卷调查顾客多,无法一一访谈
3现场观摩针对较为复杂的流程和操作过程
看4参与业务实践有效地发现问题的本质和寻找处理问题的措施
做5联合需求计划(JRP)高度组织的群体会议,各方参与,成本较高
以会议的形式获取需求,不是做需求的验证
6情节串联板一系列图片,通过这些图片来讲故事
原型7搜集资料把与系统有关的、对系统开发有益的信息搜集起来
8阅读历史文档对搜集数据性的信息较为有用
9抽样调查减少成本
样本大小=a*(可信度系数/可接受的错误)2注:a一般取0
例如,假如但愿订单样本集包括的所有状况具有90%的可信度,那么样本大小计算如下:样本大小=0
65/(1-0
90))2=68
0625需求开发需求分类PIECES框架是系统非功能性分类的技术1性能Preformance性能用于描述企业目前的运行效率,可以分析目前业务的处理速度2信息Information信息和数据指标用于描述业务数据的输入、输出以及处理方面存在的多种问题
3经济Economics经济指标重要是从成本和收益的角度分析企业目前存在的问题
4控制Control提高信息的安全和控制水平
5效率Efficiency提高企业的人、财、物等的使用效率