Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何撰写《软件需求规格说明书》

如何撰写《软件需求规格说明书》

作者头像
全栈程序员站长
发布于 2022-07-22 04:53:15
发布于 2022-07-22 04:53:15
5K0
举报

大家好,又见面了,我是你们的朋友全栈君。

1概述

1.1编写目的

指出编写《需求规格说明书》的目的。下面是示例:

编写此文档的目的是进一步定制软件开发的细节问题,希望能使本软件开发工作更具体。为了使用户、软件开发者及分析和测试人员对该软件的初始规定有一个共同的理解,它说明了本软件的各项功能需求、性能需求和数据需求,明确标识各项功能的具体含义,阐述实用背景及范围,提供客户解决问题或达到目标所需要的条件或权能,提供一个度量和遵循的基准。具体而言,编写软件需求说明的目的是为所开发的软件提出:

a) 软件设计总体要求,作为软件开发人员、软件测试人员相互了解的基础。

b) 功能、性能要求,数据结构和采集要求,重要的接口要求,作为软件设计人员进行概要设计的依据。

c) 软件确认测试的依据。

1.2编写依据

指明该《需求规格说明书》的依据。一般可以写依据XXX软件的方案书,策划书等。

1.3术语和缩略词

缩写、术语及符号

解 释

2软件概要

2.1软件总体描述

从总体上描述该软件的情况,包括软件的形式(网站,运行时系统,插件等)和软件的主要的功能,使读者对该软件有一个整体的认识。一般一两段话即可。

2.2软件设计约束及有关说明

软件设计的约束以及有关说明如下所示。

开发环境:

编程语言:

遵循的规范:软件的设计和开发过程需要严格按照合同要求,根据软件的设计方案来进行。软件开发过程应遵循软件工程规范,对过程和版本进行管理和控制。

测试环境:可以写明在什么单位测试,测试单位使用的软硬件环境。

软件交付形式:

软件交付日期:

其他:见合同。

2.3使用者特点

指明软件的使用者具有的特定。示例:

本软件主要在甲方工作环境中使用,使用者包括项目管理人员,开发人员及工程师等,使用者在计算机的应用、使用上不存在障碍,都在计算机的操作和使用方面得到过相关的培训。

3开发和运行环境

3.1硬件环境

XXX软件的运行环境为个人计算机。详细要求见表3.1。

3. 1 软件运行环境硬件要求

需求名称

详细要求

CPU

内存

硬盘

3.2支持软件环境

需求名称

详细要求

操作系统

3.3接口

3.3.1 外部接口

说明软件运行时和外部环境的接口,包括软件的界面表现形式等方面。示例:

外部接口的用户界面部分按Windows应用软件用户界面的规范来设计,界面设计风格与XXX环境保持一致,采用XXX以及对话框等方式作为用户界面,便于用户使用。

3.3.2 软件接口

说明软件与它运行的软件环境之间的接口。示例:

本软件运行于XXX软件及以上版本上,整个环境需要运行在Windows某某版本及更高版本并装有XXX(依赖软件)的操作系统之上。

3.3.3 硬件接口

指明软件和运行的硬件环境的接口。

Inter或其他系列的微型计算机,内存XXXG以上,硬盘XXXG以上。

3.3.4 内部接口

说明软件内部各个模块之间的接口或规范,软件各个模块间数据交换的格式等。示例:

软件内部的接口是通过XXX来进行交换的。用户使用XXX软件……可以说软件的各个模块之间主要通过XXX来进行关联,传送数据并交换信息,从而降低软件模块间的耦合程度。

3.4控制和操作

说明使用软件时需要进行的控制和操作方式。示例:

XXX软件最终交付形式为XXX。控制该软件运行的方法为通过鼠标双击或命令行启动XXX环境,然后通过鼠标启动XXX。

XXX软件提供XXX等功能,各个功能项的设置及使用应符合人们使用计算机的操作习惯,通过常用的鼠标点击,键盘输入以及菜单等形式来完成启动和使用软件的过程,控制信号均由鼠标和键盘进行输入。

4详细需求

4.1性能需求

4.1.1 精度要求

要按照严格的数据格式输入,对符合数据格式要求的输入进行提示。

4.1.2 时间特性要求

软件启动时间:

系统实时响应时间:软件使用过程中,对用户在各个功能模块的鼠标点击、键盘输入等操作事件的响应时间需在用户能够容忍的范围之内,一般要求小于1秒。

数据的转换和传送时间:对软件不同模块间的数据交互,要求数据的转换和传送时间不得超过XXX。

数据更新时间:XXX。

4.1.3 灵活性要求

XXX软件能够支持鼠标、键盘等多种操作方式的使用。软件的设计和实现需要考虑到运行环境的变化,并能够在运行环境变化的情况下正常使用。同时,软件需要兼容其他软件接口的变化,以保证在不同运行环境,不同软件接口的情况下的正常使用。具体要求如下:

操作方式上的变化:软件应支持多种操作方式,例如鼠标、键盘和菜单等。

运行环境的变化:软件的设计和实现需要考虑其运行环境的变化,并能对不同的运行环境提供支持。具体而言,软件应支持Windows某某版本及以上版本的操作系统,支持XXX环境。

同其他软件接口的变化:当其他软件的接口发生变化时,XXX软件应能够适应接口的变化。

精度和有效时限的变化:灵活性要求软件能够方便的适应精度和有效时限的变化。

计划的变化或改进:软件应具有足够的灵活性,以适应将来有可能会出现的需求更改或增加。

4.2功能需求

经过多次需求调研,现提出XXX软件的功能需求。XXX软件包括XXX、XXX等等模块,软件的组织结构图如图4.1所示。

4.1XXX软件研究内容

给出整个软件的用例图见图4. 2。

4.2软件用例图

XXX软件的主要功能模块划分,以及各个模块主要的功能描述见表4. 1所示。

4.1XXX软件功能模块

XXX软件

模块名称

功能描述

XXX模块

XXX模块

XXX模块

XXX模块

XXX模块

XXX模块

下面以分节的形式,详细介绍软件的各个功能模块,每个功能模块占一节,如4.2.1,4.2.2等等。在介绍每个功能模块时,首先给出该模块功能的总体描述,然后给出本模块的用例图,然后,在本小节内部,再往下分一级标题,分不同的点来介绍本模块的各个功能。

4.3数据需求

4.3.1 数据采集的要求:

输入源:手工键盘输入;

输入介质和设备:键盘,鼠标;

4.3.2 数据输出要求:

输出介质和设备:显示器、文件;

5故障处理需求

5.1软件运行故障

在使用软件的过程中,当出现计算机断电,计算机内存不足等情况时,XXX软件将出现运行故障。运行故障发生时,软件的各个功能模块将无法正常使用,启动相关功能按钮都无法进行正常的操作。

对由于计算机断电引发的软件运行故障,用户在重新给计算机供电后,可以通过重新启动计算机,并启动XXX软件的方式恢复软件的正常运行与使用。对由于计算机内存不足引发的软件运行故障,建议暂时关闭软件。用户应检查并解决计算机内存不足的问题,内存使用情况正常后,XXX软件将恢复正常的运行与使用。

出现软件运行故障并进行修复后,应确保XXX软件功能的完整性,不能发生因软件运行故障而导致工具无法继续使用的情况。

5.2软件使用故障

在软件的使用过程中,如果出现软件使用故障,应当具有报警信息提示。

1) 当软件依赖的文件损毁或丢失时,软件以对话框的形式进行提示,报告损毁或丢失的文件等相关错误,以帮助用户及时修复软件的正常功能。

2) 对软件需要用户输入项的情况,如果发生缺少输入项、输入项格式错误或不符合规则等情况,软件应以合理的方式予以提示。

3) 为了防止用户由于未及时保存而导致信息丢失的情况,软件提供定时保存机制,每隔一定时间自动对信息进行保存,从而保证用户数据的安全。

6质量需求

1) 软件的功能实现必须符合常用的主流XX软件的使用方法和操作习惯。

2) XXX工具的需要满足操作简单的要求,能够使用户没有障碍的使用该工具进行一系列的开发工作。

3) 要求可配置型强,便于使用者对工具的使用以及定制。

4) 采用可行、合理、高效的方式进行开放性的设计和实现。

5) 软件具有很强的适应能力,并且便于维护,不仅能很好的满足当前的需求,而且应当为后期可能的开发的工作提供很好的扩展和维护接口。

7其他需求

7.1易用性需求

作为一款XXX,XXX软件的设计和实现遵循易用性原则,工具的安装和入门,工具的用户界面布局,使用工具的操作方式等方面都应符合主流XX软件的设计风格与要求。

1) 操作简单,设计合理。

2) 进行XXX时,XX提供XXX等功能,以实现XXX。

3) 使用XXX的过程中应有必要的操作提示信息。

7.2安全性需求

为了对软件的安装和使用进行统一的管理,安装XXX后,需要的到管理人员的授权才能使用该工具。软件采用激活码-注册的方式达到这一要求。启动并使用软件时,应对软件的授权信息进行检查,缺少授权信息情况软件将自动关闭。

点次下载《需求规格说明模板》

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125743.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月6,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
需求:功能性与非功能性-架构快速进阶教程
我们可以将计算机科学视为通过计算解决现实世界问题的艺术。因此,计算机科学家或广义上的软件开发人员的相关能力之一是将现实世界抽象为能够解决特定问题的计算模型。
jack.yang
2025/04/05
1340
需求:功能性与非功能性-架构快速进阶教程
软件需求规格说明书
该文档首先给出了整个系统的整体网络结构和功能结构的概貌,试图从总体架构上给出整个软件的轮廓,然后又对功能需求、性能需求和其它非功能性需求进行了详细的描述。其中对功能需求的描述采用了UML的用例模型方式,主要描述了每一用例的基本事件流,若有备选事件流则描述,否则则省略。而且还给出了非常直观的用例图。这些文字和图形都为了本文档能详细准确地描述用户的需求,同时也为用户更容易地理解这些需求的描述创造了条件。
PM吃瓜
2023/03/02
1.3K0
软件需求规格说明书
软件需求规格说明书范例
PDF文档及更多软件测试内容请参考:https://github.com/xyjigsaw/software-testing
里克贝斯
2021/05/21
59.6K0
软件需求规格说明书范例
软件工程之软件设计③(概要设计说明书,详细设计说明书)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142694.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/25
3.1K0
软件工程之软件设计③(概要设计说明书,详细设计说明书)
GB-软件需求说明书【列文】2022-5.6
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。|
MIKE笔记
2023/03/22
7880
学生请假管理系统需求分析说明书
需求分析说明书 1.引言 2 1.1目标 2 1.2项目背景 2 1.3参考资料 2 2.任务概述 2 2.1目标 2 2.2运行环境 2 2.3条件与限制 3 3.数据描述 3 3.1静态数据 3 3.2动态数据 3 3.3数据库介绍 3 4.功能需求 4 4.1 功能划分 4 4.2功能描述 4 4.3用例图 5 4.4用例描述 5 4.4.1 删除请假学生 5 4.4.1 增加请假学生 6 4.4.1 查找请假学生 6 4.4.1 修改请假学生 6 4.5领域模型 7 5.性能需求 7 5.1数据精确度 7 5.2时间特性 7 5.3适应性 7 6.运行需求 8 6.1用户界面 8 6.2硬件接口 8 6.3软件接口 8 6.4故障处理 8 7.其它需求 8
葆宁
2022/01/06
2.7K0
学生请假管理系统需求分析说明书
需求规格说明书模板
大家好,又见面了,我是你们的朋友全栈君。需求规格说明书模板 需求规格说明阐述一个软件系统必须提供的功能和性能以及它所要考虑的限制条件,它不仅是系统测试和用户文档的基础,也是所有子系列项目规划、设计和编码的基础。它应该尽可能完整地描述系统预期的外部行为和用户可视化行为。除了设计和实现上的限制,软件需求规格说明不应该包括设计、构造、测试或工程管理的细节。   1)采用软件需求规格说明模版: 采用需求规格说明书模板在你的组织中要为编写软件需求文档定义一种标准模板。该模板为记录功能需求和各种其它与需求相关的重要信息提供了统一的结构。注意,其目的并非是创建一种全新的模板,而是采用一种已有的且可满足项目需要并适合项目特点的模板。许多组织一开始都采用IEEE标准830-1998(IEEE 1998)描述的需求规格说明书模板。要相信模板是很有用的,但有时要根据项目特点进行适当的改动。
全栈程序员站长
2022/07/25
2.5K0
需求分析文档
作为软件系统开发技术协议的参考依据,为双方提供参考。根据游戏特点,对被开发软件系统的主要功能、性能进行完整描述,为软件开发者进行详细设计和编程提供基础。为软件提供测试和验收的依据,即为选取测试用例和进行验收的依据。
全栈程序员站长
2022/09/20
1.5K0
软件开发生命周期的五个阶段
一个软件从定义,开发,运行维护,直到最终要经历一个时期的过程 ,这个时期称为软件的生命周期 系统软件生命周期一般为分析,设计,实现和测试与维护这几个阶段,
PM吃瓜
2023/03/02
1.3K0
软件开发生命周期的五个阶段
软件设计文档国家标准_GB8567--88
c. 本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
张哥编程
2024/12/17
2280
高校宿舍管理系统详细需求分析说明书
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。宿舍管理人员手工记录数据对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。由于数据量庞大。很麻烦还浪费了许多时间,效率也比较低。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。本系统具有运行速度快、安全性高、稳定性好的优点,并且具备完善的报表生成、修改功能,能够快速的查询学校所需的住宿信息。
程序员小藕
2020/07/28
9.9K0
高校宿舍管理系统详细需求分析说明书
软件测试习题(附答案)
1. 在软件生命周期的哪一个阶段,软件缺陷修复费用最低                               (   A   )
红目香薰
2022/11/29
1.9K0
SRS软件需求规格说明书_SOR是什么文件
随着信息时代科技的飞速发展,经济全球化已广为人知,英语作为全球最主要的语言之一,受到越来越多的人的喜爱,不仅为了增长知识,也为了能适应社会发展的需求。但是,学英语最重要的事首先是积累词汇,没有一定的词汇量是没法学好英语的,现在,背单词的问题困扰了一代又一代的学生们,往往把它看作是一种既乏味又复杂的一件事。针对这一问题,我们小组决定发明一个背单词软件,帮助广大学子早日解决背单词带来的烦恼,提高学生们的学习效率。
全栈程序员站长
2022/09/20
1.3K0
SRS软件需求规格说明书_SOR是什么文件
软件工程期末考试题库(超全)[通俗易懂]
A. 过程        B. 软件系统   C. 硬件环境         D. 人员
全栈程序员站长
2022/08/22
3.2K0
软件工程期末考试题库(超全)[通俗易懂]
软件开发生命周期的五个阶段
一个软件从定义,开发,运行维护,直到最终要经历一个时期的过程 ,这个时期称为软件的生命周期 系统软件生命周期一般为分析,设计,实现和测试与维护这几个阶段,
北京锐智互动
2019/10/29
3.6K0
需求分析报告
在市场经济中,进销存管理是企业运作的重要环节。随着企业规模的发展壮大,商品数量急剧增加,有关商品的各种信息量也成倍增加。企业需要实时动态地对商品的各种信息进行统计分析为了便好地增加业务量,另外不少企业通过分公司或代理商把产品推向最终用户,这些分公司或代理商分布在不同的地理位置,跨空间、跨时间的频繁业务信息交流是这些企业业务活动的主要特点。在这种形势下,传统的人工传递信息和数据的管理方式就无法满足企业需求了。
葆宁
2022/01/06
7380
需求分析报告
【软件开发规范五】《用户需求及规格说明书》
用户需求及规格说明书主要有两种组织方式,一是由用户需求说明书和需求规格说明书组成,分别从业务需求描述和系统需求的角度进行分析;二是融合业务需求和系统需求两部分为一体。
再见孙悟空_
2023/02/10
1.5K0
软件测试基础知识大全_软件测试主要学的内容有哪些
软件缺陷:又称之为“Bug”。即计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。
全栈程序员站长
2022/11/10
7900
软件测试基础知识大全_软件测试主要学的内容有哪些
【纯干货】2022最新50道软件测试面试题+答案纯干货!!
纯干货!!!】花费了整整3天,整理出来的全网最实用软件测试面试大全,一共50道题目+答案的纯干货,长文警告,全文共12000+字,涵盖软件测试面试可能遇到的所有问题,希望对大家有帮助,不过大家最好不要硬背,实战大于理论。祝大家面试顺利!
程序员白楠楠
2022/03/11
2.9K0
二十五个软件测试经典面试题,你确定不收藏一波?
1、在搜索引擎中输入汉字就可以解析到对应的域名,请问如何用LoadRunner进行测试?
新梦想IT职业教育
2019/09/12
1.1K0
相关推荐
需求:功能性与非功能性-架构快速进阶教程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档