前几天读了Karl E.Wiegers《软件需求》,书的内容写得非常好。我这里谈谈读了此书之后的一些感受。概括起来包括以下几点:
一、需求层次
二、需求开发(需求工程方法、需求来源、如何获取需求并给出一些指导方法)
需求分析过程:
1、需求收集:
定义项目的视图和范围。
学习与了解本行业的知识,这样与用户比较容易沟通。
访问有潜力的用户,对用户进行分类并找各自合适的代表,找出新软件产品的用户需求。注意与用户沟通技巧。
对目前市场上竞争产品进行研究,进行功能提取与解决方案分析,写成文档。
收集了用户在使用现有系统过程中所遇到问题的信息,还接受了用户关于系统改进的想法。
市场调查和用户问卷调查。
观察正在工作的用户,预见用户在使用当前系统时所遇到的问题,并能分析新的系统可有效支持工作流程与功能。
2、需求分析:
绘制关联图
创建开发原型
确定需求优先级
为需求建立模型
编写数据字典
3、编写规格说明书
采用软件需求规格说明模版,可以采用CMMI中的需求规格说明模版。
正确的、完整的表达所描述的需求。
4、需求验证
对需求进行审查
用测试用例来验证需求
三、需求管理方法以及常用需求管理工具管理需求。
需求层次
1、软件需求层次:
层次 | 内容描述 | 呈现方式 |
业务需求 | 组织机构或客户对系统、产品高层次的目标要求。 | 项目视图与范围文档中予以说明 |
用户需求 | 用户使用产品必须要完成的任务 | Use Case |
功能需求 | 必须实现的软件功能 | 需求规格说明文档中功能需求说明 |
非功能需求 | 系统展现给用户的行为和执行的操作等,包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。 | 需求规格说明文档中非功能需求说明 |