1、软件需求规格说明TXXX项目软件需求规格说明书XXXX20 年 月 日文档信息文档标题XXX项目需求规格说明书归档日期所有者修订历史版本编号版本日期修订内容备注V0.1初始版本V0.2V0.3V0.4V0.5V0.6V0.7V0.8V0.9V1.0文档编制、审核与批准签字日期编制审核批准1引言 11.1 目的 11.2范围 11.3定义、简写和缩略语 11.4引用文件 11.5综述 22总体描述 22.1产品描述 22.1.1系统接口 22.1.2用户界面 22.1.3硬件接口 32.1.4软件接口 32.1.5通信接口 32.1.6内存约束 32.1.7操作 32.1.8现场适应性需求 42
2、.2产品功能 42.3用户特点 42.4约束 42.5假设和依赖关系 52.6需求分配 53具体需求 53.1外部接口 53.2功能 63.3性能需求 73.4数据库逻辑需求 83.5设计约束 83.5.1标准依从性 83.6软件系统属性 83.6.1可靠性 93.6.2可用性 93.6.3安全保密性 93.6.4可维护性 93.6.5可移植性 93.7具体需求的组织 93.7.1系统模式 103.7.2用户类型 113.7.3对象 113.7.4特征 113.7.5激励 113.7.6响应 113.7.7功能层次 113.8附加说明 124附录 121引言本部分应当提供整个SRS的概述1.1
3、 目的本条宜:a)描述SRS的目的;b)说明SRS的预期读者。1.2范围本条宜:a)通过名称识别要生产开发的软件产品(例如,宿主数据库管理系统(DBMS)、报告生成器等);b)必要时,说明软件产品将做或不做什么;c)描述规定的软件的应用,包括相关的收益、目标和目的;d)如果上层规格说明(如,系统需求规格说明)存在,与上层规格说明类似的陈述保持一致。1.3定义、简写和缩略语本条宜提供对正确解释SRS所要求的所有术语、简写和缩略语的定义,这些信息可以通过引用SRS中的一个或多个附录、或者引用其他文件的方式来提供。1.4引用文件本条宜:a)提供SRS引用的所有文件的完整清单;b)标识出每个文件的名称
4、、报告编号(适用时)、日期、出版组织;c)标明可以获得引用文件的来源。这些信息可以通过引用附录或引用其他文档的方式提供。1.5综述本条宜:a)描述SRS的其余章条包含的内容;b)说明SRS是如何组织的。2总体描述本章宜描述影响产品及其需求的一般因素,而不叙述具体的需求。相反,它提供需求的背景并使它们更易理解,而在SRS的第3章将详细定义这些需求。2.1产品描述本条宜把产品置于其他有关产品的全景之下。如果产品是独立的和完全自我包含的,这里宜如实给予陈述。正如常出现的那样,如果SRS定义的产品是较大系统的组成部分,则本章宜将软件的功能性与较大系统的需求相联系,而且宜识别软件和系统之间的接口。使用框
5、图展示较大系统的主要部分、相互联系以及外部接口是有帮助的。本条也宜描述在各种不同的约束下软件如何运行。如,这些约束可包括:a)系统接口;b)用户界面;c)硬件接口;d)软件接口;e)通信接口;f)内存;g)运行;h)现场适应性需求等。2.1.1系统接口本条宜列出每个系统接口,识别完成系统需求的软件功能以及与系统匹配的接口描述。2.1.2用户界面本条宜规定以下方面:a) 在软件产品与用户之间每个界面的逻辑特征。这包括完成软件需求所需要的那些配置特征(例如,要求的屏幕显示格式、页面或窗口版式布局、任何报告或菜单的内容、或者可编程功能键的设置);b) 优化系统用户界面的所有方面。这可以简单地包括一个
6、针对系统对用户的显示方式系统将做什么和不做什么的清单。例如,可能是一项选择长或短的错误消息方面的需求。如同所有其他需求一样,这些需求宜是可验证的,例如,“经过th培训后,4级打字员能够在Zrnln内执行功能X”,而不是“打字员能够执行功能X”(这也可以在标题为使用方便性章条的软件系统属性中规定)。2.1.3硬件接口本条宜规定系统硬件各部件与软件产品之间每个接口的逻辑特征,包括配置特征(端口数量、指令集等),同样也覆盖这些事项,如,支持什么设备、如何支持以及采用什么协议。例如,相对逐行支持,终端支持可能规定为全屏支持。2.1.4软件接口本条宜规定对其他软件产品(例如,数据管理系统、操作系统、或数
7、学软件包)的使用,以及与其他应用系统(例如,账户接收系统和一般的会计记帐系统的链接)的接口。对于每个要求的软件产品,宜提供:a)名称;b)助记符;c)规格说明编号;d)版本号;e)来源。对于每个接口,宜提供:a) 相对此软件产品,接口软件的目的的论述;b) 按照消息内容和格式对接口的定义,不必要详细描述任何已文件化的接口,但要求引用定义此接口的文件。2.1.5通信接口本条宜定义不同的通信接口,如,局域网协议等。2.1.6内存约束本条宜规定对主存和辅存的任何适用特征和限制。2.1.7操作本条宜规定用户要求正常的和特定的操作,如:a)用户组织的不同操作模式(如,用户引发的操作);b)交互操作的周期
8、和无人值守操作的周期;c)数据处理支持功能;d)备份和恢复操作。注:有时此条规定作为用户界面的一部分。2.1.8现场适应性需求本条宜:a) 对于给定的现场、任务或运行模式(如,网格数、安全限制等),为任何数据或启动顺序定义需求;b) 针对软件适应特定的安装现场或任务,规定应当修改的特征。2.2产品功能本条宜给出软件将执行主要功能的概要。例如,某个会计程序的SRS可在此部分关注顾客账户维护、顾客财务报表及发票准备,而不涉及这些功能要求的大量细节。有时,本条需要的功能概要可直接从分配具体功能到软件产品的更高层规格说明(如果存在)中摘录。为了清晰,应当注意:a) 功能宜以这样的方式组织,以使顾客或第
9、一次阅读该文件的任何读者对功能列表容易理解;b) 可以使用文本或图示的方法,显示不同的功能及其之间的关系。这样的图示不必显示产品的设计,但简要显示变量之间的逻辑关系。2.3用户特点本条宜给出软件产品预期用户的一般特征,包括教育程度、经验、专业技术情况。它不宜指出具体的需求,但宜给出SRS第3章中为何规定某些具体需求的原因。2.4约束本条宜给出将会限制开发人员选择的任何其他事项的一般描述。这些包括:a) 法规政策;b) 硬件局限(如,信号时间要求);c) 与其他应用的接口;d) 并行操作;e) 审核功能;f) 控制功能;g) 高级语言需求;h) 信号握手协议(如,XON-XOFF、ACK-NAC
10、K);i) 可靠性需求;j) 应用的关键性;k) 安全和保密安全考虑。2.5假设和依赖关系本条宜列出影响SRS规定需求的每个因素。这些因素不是软件设计的限制条件,但是,它们的任何变更可能影响SRS中的需求。例如,某个假设可能是软件产品指定的硬件具有某个特定操作系统,如果事实上该操作系统不能使用,那么SRS将做相应的修改。2.6需求分配本条宜识别可能推迟到系统将来版本的需求。3具体需求本章宜包括足够详细的所有软件需求,使设计人员能够设计系统以满足这需求,并且使测试人员能够测试该系统满足这些需求。贯穿本章,对于用户、运行人员或其他外部系统,每个规定的需求应当是外部可理解的。这些需求至少应当包括,每
11、个系统输入(激励)、每个系统输出(响应)以及系统通过响应某个输入或支持某个输出所执行的所有功能。由于这通常是SRS篇幅最大和最主要部分,以下原则适用:a) 规定的具体需求宜符合GB/T 9385-2008 4.4描述的所有特征;b) 具体需求宜引用较早的相关文件;c) 所有的需求宜是唯一可标识的;d) 宜注意需求的组织,使其具有最大的可读性。在考察组织需求的具体方式之前,了解GB/T 9385-2008 5.4.1到5.4.7组成需求的各个不同项是有益的。3.1外部接口本条宜是软件系统所有输入和输出的详细描述。它宜是对GB/T 9385-2008 5.2的接口描述的补充,不宜重复前面已有的信息
12、。宜包括以下内容和格式:a) 项的名称;b) 目的描述;c) 输入源和输出目的地;d) 有效范围、准确度和或容限;e) 测量单位;f) 定时;g) 与其他输入输出的关系;h) 屏显格式组织;i) 窗口格式组织;j) 数据格式;k) 命令格式;l) 结束消息。3.2功能功能需求宜定义软件在接收和处理输入以及处理和产生输出中必须发生的基本动作。一般情况下使用“系统应”的方式来陈述。这些包括:a) 对输入有效性的核查;b) 操作的准确顺序;c) 异常情况响应,包括:1) 溢出;2) 通信设施;3) 错误处理和恢复;d) 参数影响;e) 输入与输出的关系,包括:1) 输入输出顺序;2) 从输入到输出转
13、换的公式。尽管将功能需求划分为子功能或子过程可能是适当的,但这并不意味着软件设计同样以这样的方式划分。:3.2.1.n数据流图n3.2.1.n.1数据实体.2有关的过程.3拓扑图:3.2.2.m过程m3.2.2.m.1输入数据实体3.2.2.m.2过程算法或公式3.2.2.m.3受影响的数据实体:3.2.3.p构建p3.2.3.p.1记录类型3.2.3.p.2组成字段3.2.4.q数据元素q3.2.4.q.1名称3.2.4.q.2表示法3.2.4.q.3单位格式3.2.4.q.4精确度准确度3.2.4.g.5范围3.3性能需求本条宜规定软件或人与软件互作用的整体静态的和动态的数量化需求。静态数
14、量化需求可能包括:a) 支持的终端数量;b) 支持同时运行的用户数量;c) 要处理的信息量和类型。有时,静态数量需求包含在命名为“能力”的独立部分。动态数量化需求可能包括,如,在正常和高峰工作负载条件,在某时段内处理的事务处理数、任务数和数据量。所有这些需求宜以可测量的方式规定。如:应在小于Is内处理95%的交易量。而不是:操作方不需等待事务处理结束。注:适用于某个具体功能的数量化限制,通常作为该功能处理描述部分予以规定。3.4数据库逻辑需求宜规定将置于数据库的任何信息的逻辑需求。这可包括:a) 不同功能使用的信息类型;b) 使用频度;c) 访问能力;d) 数据实体及其之间的关系;e) 完整性
15、约束;f)数据保存需求。3.5设计约束宜规定可能由其他标准、硬件局限等引发的设计约束。3.5.1标准依从性本条宜规定来自现存标准或法规的需求。它们可能包括:a)报告格式;b)数据命名;c)会计规程;d)审核追踪。例如,可以规定追踪处理活动的软件需求。为了最低满足法规或财务标准,对于某些应用这样的追踪是需要的。例如,审核追踪需求可能规定,对于支付薪金数据库的所有变更,必须在一个追踪文档中记录支付前后的数额。3.6软件系统属性有一些软件属性可以作为需求。规定所要求的软件属性是重要的,这样才能客观地验证属性的实现情况。GB/T 9385-2008 3.6.1可靠性本条宜规定要求的因素,以便建立在交付
16、时软件系统所要求的可靠性。3.6.2可用性为了确保整个系统已定义的可用性程度,宜规定所要求的因素,如,检查点、恢复以及重启动。3.6.3安全保密性由于事故、恶意访问、使用、修改、破坏或泄露,本条宜规定需要保护软件的因素。这方面可能的具体需求包括:a)使用某些密码技术;b)保留某些特定数据组的历史或记录;c)分配某些功能到不同的模块;d)在程序的某些域间限制通信;e)对于关键变量检查数据的完整性。3.6.4可维护性本条宜规定与软件本身维护简易性有关的软件属性。可以对模块化、接口和复杂性等有一定的要求。但不宜仅因为是良好设计实践就将其作为需求。3.6.5可移植性本条宜规定与软件移植到其他主机和或操
17、作系统简易性相关的软件属性。这可能包括:a)依赖主机代码模块的百分比;b)依赖主机代码的百分比;c)已证明可移植语言的使用;d)特定编译器或语言子集的使用;e)特定操作系统的使用。3.7具体需求的组织除了微小的系统之外,任何系统倾向有大量的详细的需求。由此,宜仔细考虑这些需求的组织方式,以最优化可理解性。对于所有的系统不存在单一的最优化组织方式。不同类型的系统SRS的第3章有不同的需求组织方式。GB/T 9385-2008 3.7.1系统模式依赖于运行模式,某些系统的行为显着不同。例如,根据其运行模式:培训、正常运行或者应急,某个控制系统可能具有不同的功能集合。当按照运行模式组织该部分时,宜采
18、用第A.1章或第A.2章的提纲。需求组织方式的选择取决于系统接口和性能是否依赖于运行模式。3.7.2用户类型有些系统对不同的用户提供不同的功能集合。例如,对于一般乘客、维护人员和消防人员,电梯控制系统显示不同的能力。当按照用户类别组织该部分时,宜采用第A3章的提纲。3.7.3对象对象是现实世界中的实体,系统具有与其对应的部分。例如,在病人监控系统中,对象包括病人、传感器、护士、房间、医师、医药等。与每个对象相联系的是一组属性(对象具有的)和功能(对象执行的),这些功能也称之为服务、方法或过程。当按照对象组织该部分时,宜采用第A.4章的提纲。应注意,对象组可能共有某些属性和服务,要按照类别把这些
19、组织在一起。3.7.4特征系统特征是从外部希望得到的服务,可能要求一系列的输入以产生希望的结果。例如,在电话系统中,系统特征包括本地话务、话务转接、以及会议话务。一般的,系统每个特征按照一系列激励一响应对的方式描述。当按照系统特征组织该部分时,宜采用第A.5章的提纲。3.7.5激励某些系统可以根据激励描述其功能的方式最佳地组织其需求。例如,飞机自动着陆系统的功能,可依照动力降低、风向切变、机身摇摆突变、垂直速度限值等,组织到相应的部分。当按照激励方式组织该部分时,宜采用第A6章的提纲。3.7.6响应有些系统可以通过描述其支持产生某个响应的所有功能,最佳地组织其需求。例如,某个人员管理系统的功能
20、,可按照与产生薪金支付有关的所有功能、与产生当前职员清单有关的所有功能,等等,予以组织到相应的部分。宜采用第A.6章的提纲(所有的激励之处由响应替代)。3.7.7功能层次当上述组织方式证明没有益处时,可按照共同的输入、共同的输出或者共同的内部数据访问,将系统总体功能性组织成为一个功能层次。数据流图和数据词典可以用来表示功能和数据之间的相互关系。当按照功能层次组织该部分时,宜采用第A.7章的提纲。3.8附加说明在编制新的SRS时,在GB/T 9385-2008 有许多现行可用于帮助需求文档化的符号、方法和自动化支持工具。就大部分而言,它们的有效性是组织的职能。例如,当按照运行模式组织时,限定的状
21、态机或状态图表可能证明是有益的;当按照对象组织时,面向对象的分析可能是有益的;当按照系统特征组织时,激励一响应序列可能证明是有益的;当按照功能结构组织时,数据流图和数据词典可能证明是有益的。在第A.1章到第A.8章给出的任何提纲中,称为“功能需求I”的那些条目可以用自然语言、伪码、系统定义语言、或用标题为引言、输入、处理、输出4个子部分予以描述。4附录附录并不总是实际的SRS的一部分或总是需要的。附录可以包括:a)输入输出格式示例,成本分析研究,或者用户调查的结果;b)有助于读者理解SRS的支持或背景信息;c)软件所解决的问题描述;d)对代码和媒体的特殊包装说明,以满足安全、出口、初始装入、或其他需求。当包括附录时,SRS宜明确地规定附录是否作为需求的部分。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1