软件需求分析和规格设计

Posted J-A

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件需求分析和规格设计相关的知识,希望对你有一定的参考价值。


软件需求分析是指对原始的业务需求进行 分析、整理、辨别和归纳,最终形成 有效的、系统的、明确的软件需求的过程。

软件需求分析的产出是软件需求描述,可行的形式是用户故事

如何写用户故事

  1. 用户故事的格式

    作为*[用户角色],我想要[结果],以便[原因/价值]*。

  2. 用户故事的验收标准

    验收标准是指需求实现中一系列必须要满足的条件或者业务规则,验收标准是对用户故事的唯一检验标准,标准的格式如下:

    • Given(在什么样的情景或条件下)
    • When(做了什么操作,采取了什么行动)
    • Then(得到了什么结果)
  3. 用户故事的属性(INVEST)
    • Independent 独立的
    • Negotiable 可协商的
    • Valuable 有价值的
    • Estimable 可估算的
    • Small 小的
    • Testable 可测试的

用户故事实例分析

  1. 原始故事:作为工程项目管理者,我想有比较完善的用户管理系统,这样可以增强工程数据的安全性,防止被其他人员错误改动,同时也用于操作日志中对于操作者的记录。

  2. 修改后的故事:

    1)作为工程项目管理者,我想有用户管理系统,以便实现多个用户和角色的管理功能。

    2.)作为工程项目管理者,我想可以给不同的工程配置项设置不同的用户角色权限,以便实现只有特定角色的用户可修改特定的工程配置项。

    3)作为工程项目管理者,我想可以查看到用户修改工程配置项的操作记录,以便进行过程跟踪。


软件需求规格是对一个在特定环境中执行特定功能的软件产品、程序或一组程序集合的规范性说明。指定软件需求规格有以下几点作用:

  • 帮助用户和软件供应商在软件要做什么方面达成基础的一致
  • 减少开发的工作量
  • 提供费用和开发计划评估的基础
  • 提供测试验证的基线
  • 有利于知识信息的转移
  • 可作为后续软件优化提升的基础

软件需求规格包含哪些内容?

  1. 功能:软件被设计来完成什么工作?
  2. 外部接口:软件如何与人交互,如何与系统硬件交互,如何与其他软件交互?
  3. 性能:软件各种功能的执行速度、可用性、响应时间、恢复时间等;
  4. 属性:在软件可移植性、正确性、可维护性、安全性等方面的考虑;
  5. 软件实现所施加的设计限制:在实现效果、实现语言、数据库集成策略、资源限制、操作环境是否有需要满足的标准?

什么是好的软件需求规格?

  1. 正确的: 所有描述的需求都是软件需要满足的;
  2. 清楚无歧义的:每一条需求都只有一个解释;
  3. 完整的:所有重要的(业务角度、软件设计角度)需求都应被包含;
  4. 一致的:需求规格本身应该一致,并且和它参考的文档一致;
  5. 以重要性和稳定性排序:基于业务重要性和稳定性维度,为所有需求规格项标识优先级顺序;
  6. 可验证的
    1)错误示范:可以给用户快速的响应;可以提供良好的用户体验;程序不会进入死循环;
    2)正确示范:程序的输出应该在100ms内反馈给用户。
  7. 可修改的:需求规格描述不冗余,每条需求独立描述;
  8. 可追踪的:每项需求规格都有明确的来源,且在后续的开发和测试中可追踪;

软件需求规格的表现形式

  1. 功能性需求:用例描述+UI原型
  2. 非功能性需求:文字描述

以上是关于软件需求分析和规格设计的主要内容,如果未能解决你的问题,请参考以下文章

软件需求分析——阅读笔记5

软件需求规格说明

软件工程种的软件需求说明书规格

需求规格说明书

软件需求规格说明说格式和内容

影院售票系统 的 需求规格说明书