需求分析
结构化方法&面向对象方法
需求分析
指开发人员通过细致的调差分析,详细、准确和完整地理解用户需要什么样地软件。将用户非形式地需求陈述转化为完整的需求定义,再将需求定义转换到相应的需求规格说明的过程。
通常,把一整套的需求分析方法、技术和工具等的集合称为建模方法。(可行性研究没有准确、完整地回答,需求分析要对方案进行细化)
需求分析的特点
需求收集
需求收集是需求分析的第一步
同各种用户进行交流、收集各种用户信息、理解用户各项要求、对信息进行分析、澄清一些模糊的要求、想用户解时不合理的或暂时无法实现的要求
一、需求收集的内容:
- 数据需求(信息需求)
梳理系统必须采集、处理和存储的各种信息,包括信息的属性、格式、约束条件以及他们之间的关系(E-R图来描述数据需求得到的结果)
- 功能需求
待开发的系统能够做什么?是用户最主要的需求,包括系统的输入、系统所能完成的功能、系统的输出
- 性能需求
系统的容量、相应时间、可用性、可靠性、保密性
- 运行需求
支持系统运行的软件、硬件、机构、人员、故障处理、系统接口,甚至包括机构组织结构的调整
- 未来需求
为将来的修改和扩充准备
- 其他方面的需求:系统交付需求、标准需求、实现方法需求、资源使用需求等。
*[注意:需求要具有可验证性,不可验证的需求不可列入,例如:性能要求相应足够快,我觉得够快了,但是客户可能觉得不够,这个相应快不快的问题就是不可验证的]
二、需求分析的目的
深入描述软件的功能和性能,确定软件设计的约束、软件同其他系统原件的接口细节,定义软件的其他有效性需求。
三、需求收集的方式
- 访谈(程式化的访谈和非程式化的访谈)
- 问卷调查
- 场景使用
- 用户资料收集