软件需求分析和规格设计
Posted J-A
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件需求分析和规格设计相关的知识,希望对你有一定的参考价值。
文章目录
软件需求分析是指对原始的业务需求进行 分析、整理、辨别和归纳,最终形成 有效的、系统的、明确的软件需求的过程。
软件需求分析的产出是软件需求描述,可行的形式是用户故事。
如何写用户故事
-
用户故事的格式
作为*[用户角色],我想要[结果],以便[原因/价值]*。
-
用户故事的验收标准
验收标准是指需求实现中一系列必须要满足的条件或者业务规则,验收标准是对用户故事的唯一检验标准,标准的格式如下:
- Given(在什么样的情景或条件下)
- When(做了什么操作,采取了什么行动)
- Then(得到了什么结果)
-
用户故事的属性(INVEST)
- Independent 独立的
- Negotiable 可协商的
- Valuable 有价值的
- Estimable 可估算的
- Small 小的
- Testable 可测试的
用户故事实例分析
-
原始故事:作为工程项目管理者,我想有比较完善的用户管理系统,这样可以增强工程数据的安全性,防止被其他人员错误改动,同时也用于操作日志中对于操作者的记录。
-
修改后的故事:
1)作为工程项目管理者,我想有用户管理系统,以便实现多个用户和角色的管理功能。
2.)作为工程项目管理者,我想可以给不同的工程配置项设置不同的用户角色权限,以便实现只有特定角色的用户可修改特定的工程配置项。
3)作为工程项目管理者,我想可以查看到用户修改工程配置项的操作记录,以便进行过程跟踪。
软件需求规格是对一个在特定环境中执行特定功能的软件产品、程序或一组程序集合的规范性说明。指定软件需求规格有以下几点作用:
- 帮助用户和软件供应商在软件要做什么方面达成基础的一致
- 减少开发的工作量
- 提供费用和开发计划评估的基础
- 提供测试验证的基线
- 有利于知识信息的转移
- 可作为后续软件优化提升的基础
软件需求规格包含哪些内容?
- 功能:软件被设计来完成什么工作?
- 外部接口:软件如何与人交互,如何与系统硬件交互,如何与其他软件交互?
- 性能:软件各种功能的执行速度、可用性、响应时间、恢复时间等;
- 属性:在软件可移植性、正确性、可维护性、安全性等方面的考虑;
- 软件实现所施加的设计限制:在实现效果、实现语言、数据库集成策略、资源限制、操作环境是否有需要满足的标准?
什么是好的软件需求规格?
- 正确的: 所有描述的需求都是软件需要满足的;
- 清楚无歧义的:每一条需求都只有一个解释;
- 完整的:所有重要的(业务角度、软件设计角度)需求都应被包含;
- 一致的:需求规格本身应该一致,并且和它参考的文档一致;
- 以重要性和稳定性排序:基于业务重要性和稳定性维度,为所有需求规格项标识优先级顺序;
- 可验证的:
1)错误示范:可以给用户快速的响应;可以提供良好的用户体验;程序不会进入死循环;
2)正确示范:程序的输出应该在100ms内反馈给用户。 - 可修改的:需求规格描述不冗余,每条需求独立描述;
- 可追踪的:每项需求规格都有明确的来源,且在后续的开发和测试中可追踪;
软件需求规格的表现形式
以上是关于软件需求分析和规格设计的主要内容,如果未能解决你的问题,请参考以下文章