软件需求
Posted yilang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件需求相关的知识,希望对你有一定的参考价值。
概念
软件需求是
(1)用户解决问题或达到目标所需条件或权能(Capability)。
(2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。
(3)一种反映上面(1)或(2)所述条件或权能的文档说明。它包括功能性需求及非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。
需求层次
- 业务需求( business requirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。
- 用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明。
- 功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。软件需求各组成部分之间的关系如图所示。
需求分类
从严格意义上的软件需求分类具有:功能需求(functional requirement),非功能需求(non-functional requirement),就好比我在某宝想买一双鞋子,球鞋、高跟鞋、过膝靴、红色、黑色等是明显可知的(功能需求),但鞋跟牢不牢固、鞋底会不会脱胶等是不清楚的(非功能需求)。其中非功能需求包括性能需求(performance requirement),质量属性(quality attribute),对外接口(external interface),约束(constraint)。
-
质量属性包括性能需求,只是性能需求比较特殊,所以单独出来。
常见的质量属性:
- 可靠性:指在一定时间或条件下,系统执行所要求功能的无故障执行能力。
- 可用性:系统在使用中可操作或访问程度。
- 可维护性:为改进系统或修复bug而修改系统或某功能模块的难易程度。
- 安全性:阻止对其程序和数据进行未授权访问的能力。
- 可移植性:将系统从一个硬件或软件的运行环境换置到另一个环境。
- 易用性:系统易于使用的程度。
- 对外接口
对于接口需要进行说明:
- 接口的用途;
- 接口的输入输出;
- 数据格式;
- 命令格式;
- 异常处理要求;
如某数据包为XML格式,HotelProduct表示酒店接口,接口的输入为Destination目的地,Date住店及离店日期,输出的数据类型为数字文本,0代表操作正确,1代表数据错误,2代表网络故障,3代表其他错误,而对于0还输出具有目的地的酒店信息,其中一个字段为HotelID,酒店编号,Number类型,18位数据代码。
-
常见的约束:
- 系统开发以及运行的环境:包括计算机,操作系统,编程语言、数据库管理系统等
- 问题域内的相关标准:包括法律法规、合作协议等
- 社会性因素:文化、信仰等社会性因素
过程标准
分析方法
结构化分析方法
面向对象分析方法
以上是关于软件需求的主要内容,如果未能解决你的问题,请参考以下文章