软件需求工程分为软件需求开发和软件需求管理
一、软件需求开发
1、软件需求开发包括的内容:
a. 调研客户的需求
b. 开发客户需求
c. 开发组件需求
d. 识别接口信息
e. 建立操作场景的描述
f. 建立功能需求的描述
g. 分析客户需求
h. 确认客户需求
2、软件需求开发的目的:软件需求开发的目的在于产出并分析业务、产品、功能和非功能性的需求。
a. 业务和软件产品的需求主要汇总在《软件需求说明书》中。
业务的需求包括:行业知识、客户背景、客户的组织架构等方面的信息,是客户对系统、产品的高层次的目标要求
产品需求:描述了客户使用该软件产品所需要完成的任务、操作和功能
b. 功能和非功能的具体描述将体现在《系统规格说明书》中。
功能的需求:是指软件开发人员所必须实现的某个软件产品的功能,以使客户能够完成他们的目标,产品能够满足客户的需求。
性能需求:软件产品的技术性能指标,例如系统吞吐量、响应时间、最大并发数等
环境需求:软件产品运行所处环境的要求,例如硬件方面:主机CPU的个数、内存和硬盘的大小、网络带宽的大小等;软件方面:操作系统、数据库等方面。
可靠性需求:是软件产品在运行过程中不发生故障的时长、概率和应对措施。例如:系统是否可以支持7*24小时在线、是否对软件产品的数据进行自动化备份等。
安全性要求:描述该软件系统从硬件到软件都需要采取哪些安全及保密措施。例如:需要什么样类型的防火墙,用户的权限管理需要有哪些功能等
界面友好性需求:通常符合客户日常工作操作习惯的软件,其界面友好性最强。
项目约束:对软件开发过程中时间、成本和其他各种资源的要求。
注:吞吐量:单位时间内系统处理客户请求的数量,直接体现出软件性能的承载能力
二、软件需求管理
1、软件需求管理包括内容:
a. 获取项目关系人对需求的理解和承诺
b. 跟踪客户需求的变更
c. 通过需求双向跟踪矩阵对需求进行管理,并发现需求与工作产品之间的不一致项
d. 对需求管理过程中所发现的不一致项进行跟踪,直到最终关闭。
2、软件需求管理的目的:在于管理项目产品和产品组件的需求,并识别这些需求与项目计划和工作产品间的差异。
3、软件需求管理的对象:是项目收到或产生的所有技术性和非技术性的需求。
软件需求管理也要控制需求的变更,并记录需求变更的理由,以维护产品需求与所有产品和产品组件需求之间的双向追溯性
转载于:https://blog.51cto.com/chunlizhengyang/347715