软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个  软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

软件需求分析的任务是:深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。

需求分析可分为需求提出、需求描述及需求评审三个阶段。

需求提出主要集中于描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。用户、开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。

在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。

在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。一旦发现遗漏或模糊点,必须尽快更正,再行检查。

软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解, 使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下:
1 引言
1.1编写目的
  说明编写这份软件需求说明书的目的,指出预期的读者。
1.2背景
  说明:
  a.待开发的软件系统的名称;
  b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
  C.该软件系统同其他系统或其他机构的基本的相互来往关系。
1.3定义
  列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
1.4参考资料
  列出用得着的参考资料,如:
  a.本项目的经核准的计划任务书或合同、上级机关的批文;
  b.属于本项目的其他已发表的文件;
  c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2 任务概述
2.1目标
  叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。|
2.2用户的特点
  列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束
2.3假定和约束
  列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
3 需求规定
3.1对功能的规定
  用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。
3.2对性能的规定
3.2.1精度
  说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
3.2.2时间特性要求
  说明对于该软件的时间特性要求,如对:
  a.响应时间;
  b.更新处理时间;
  c.数据的转换和传送时间;
  d.解题时间; 等的要求。
3.2.3灵活性
  说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
  a.操作方式上的变化;
  b.运行环境的变化;
  c.同其他软件的接口的变化;
  d.精度和有效时限的变化;
  e.计划的变化或改进。
  对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
3.3输人输出要求
  解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
3.4数据管理能力要求
  说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。
3.5故障处理要求
  列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
3.6其他专门要求
  如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
4 运行环境规定
4.1设备
  列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
  a.处理器型号及内存容量;
  b.外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
  c.输入及输出设备的型号和数量,联机或脱机;
  d.数据通信设备的型号和数量;
  e.功能键及其他专用硬件
4.2支持软件
  列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
4.3 接口
  说明该软件同其他软件之间的接口、数据通信协议等。
4.4控制
  说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。

软件需求分析文档模板相关推荐

  1. 软件需求分析文档模板_小议管理软件需求分析

    从事管理软件设计,一般都是从用户需求分析开始.从事软件工作的,大概谁都知道需求分析的重要性,可能大部分人都吃过需求分析不充分的亏.兵法云,"谋定而后动".对一个项目而言,需求分析应 ...

  2. 软件需求分析文档模版

    软件需求分析文档模版(转载自国家计算机标准和文件模板) 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素.需求分析是软件定义阶段中的最后一步,是 ...

  3. 需求分析文档模板_我们应该如何进行需求管理「下篇」?

    前两篇文章分别介绍了需求管理的基本定义.分类方式.重要意义和一些常见的项目失败原因.通过前文的介绍,想必大家对于需求管理的基础概念都已经有了新的认识. 那么,让我们进入到最核心的部分,同时也是需求管理 ...

  4. 软件项目管理文档模板目录

    01_前期资料 1.方案 2.合同 3.招投标标书 4.立项报告 5.可行性分析报告等 02_项目计划 1.项目功能架构表 2.项目估算表 3.项目预算表 4.项目进度计划表 5.评审项目计划纪要等资 ...

  5. 软件设计文档示例模板,万能的软件设计文档模板

    文章目录 1 设计概述 1.1 功能概述 1.2 非功能约束 2 系统部署图与整体设计 2.1 系统部署图 2.2 下单场景子系统序列图 2.3 退款场景子系统序列图 2.4 退款场景子系统活动图 3 ...

  6. SCADE Display(OpenGL)软件设计文档生成工具的设计考虑

    SCADE Display(OpenGL)软件设计文档生成工具的设计考虑 2018年6月 1 引言 本文档描述在SCADE Display软件设计文档生成工具(以下简称为SDYSDDGEN)的设计过程 ...

  7. 软件需求说明书(文档模板)

    软件需求说明书(文档模板)- - 其中的数据描述部分在实际工作中比较少涉及. 在上一次的文档中增加新模块 业务需求,详细描述为 现状.业务概述.业务组成.业务描述.业务流程. 功能需求也相应作了扩充, ...

  8. 【软剑攻城队】用户需求分析文档发布!

    用Github浏览更好:Phylab-Web项目用户需求文档 团队主页链接:http://www.cnblogs.com/buaase 用户需求分析文档 版本号:v1.0.2 修订历史: 版本号 修改 ...

  9. 笔记:软件工程常用开源文档模板 + 软件著作权

    https://github.com/AlexanderZhou01/China-software-copyright 下载以上的工程 解压放到U盘里 打开 D:\China-software-cop ...

  10. 音乐学习软件需求文档

    音乐学习APP需求分析文档 1 当前现状 1.1 经济现状 CPI是反映与居民生活有关的消费品及服务价格水平的变动情况的重要宏观经济指标.2021年全年,全国居民消费价格比上年上涨0.9%,其中教育文 ...

最新文章

  1. 二叉树的5种遍历方式
  2. python代码翻译-10 行代码,Python 教你自制屏幕翻译工具,有逼格!!
  3. 想作为程序员工作 需要什么_您不想作为程序员玩的游戏
  4. Windows 11的19个新功能
  5. STM32工作笔记0036---C语言复习--寄存器地址名称映射
  6. Beta版本冲刺———第二天
  7. python basic programs
  8. vs2005新建项目中没有ASP.NET WEB应用程序的解决方法
  9. 生产环境一次诡异的空指针问题,反转了4次
  10. 用gambit学博弈论--完全信息动态博弈-博弈扩展式、博弈树(二)
  11. 马蜂窝火车票系统服务化改造初探
  12. 光伏行业MES管理系统解决方案
  13. DBeaver复制数据库报错@@GLOBAL.GTID_PURGED cannot be changed: the added gtid set must not overlap with @@GLO
  14. TVS瞬态抑制二极管,如何判断正负极?
  15. 最新版苹果手机html5摇一摇,iphone微信摇一摇失效问题解决
  16. Linux中_countof函数,Linux电源管理(8)_Wakeup count功能
  17. 基于Java和Netty实现的联机版坦克大战游戏
  18. 关于 SY8120I 的DC-DC的降压芯片的学习(12V降至3.3V)
  19. Python基本语法小结(一)
  20. python 文件流转base64_详解Python中使用base64模块来处理base64编码的方法

热门文章

  1. dll文件保存到服务器,dll是什么文件?dll文件怎么打开?
  2. Linux_USB2I2C驱动安装(以CH341驱动安装为例)
  3. 数字水印技术的基本概念和现状
  4. 京东商城架构峰值系统设计
  5. HTML零基础入门教程(详细)
  6. 实验11 B样条曲面生成
  7. 接口压力测试工具JMeter
  8. 大学生自学微信小程序云开发教程
  9. 计算机组成原理10——建立数据通路
  10. python3 Excel转txt