软件项目需求规格说明书

合集下载

软件需求规格说明书

软件需求规格说明书

软件需求规格说明书用户需求确认书列举的需求已包含现阶段所用需求,需求明确,符合要求用户职务用户签名签订日期目录1.引言1.1编写目的 (4)1.2范围 (4)1.3参考资料 (4)2.项目概述2.1产品描述 (4)2.2产品功能 (5)2.3运行环境 (5)2.4假设和依据 (6)3.具体需求3.1系统角色 (6)3.2登录界面 (8)3.3学生管理系统 (8)3.3.1导入学生信息 (9)3.3.2选课系统 (9)3.3.3查看课程介绍/查看发表评论 (10)3.3.4查看个人成绩 (11)3.3.5查看科目补考成绩 (11)3.4教师管理系统 (11)3.4.1导入教师信息 (12)3.4.2查看负责课程 (12)3.5管理员系统 (13)3.5.1导入学生选课目录 (15)3.5.2导出课程成绩 (15)3.5.3修改补考时间 (15)3.5.1修改课程负责人 (16)3.5.2查看课程选修状况 (16)3.6系统维护 (16)3.6.1数据字典的维护 (16)4.非功能需求4.1性能需求 (16)4.2安全性需求 (17)4.3可用性需求 (17)4.4用户文档 (17)4.5其他需求 (17)5.外部接口需求5.1用户接口 (18)5.2硬件接口 (18)5.3软件接口 (18)5.4通信接口 (18)1.引言1.1编写目的为了是用户更清楚的了解到开发此软件的性能需求以及作用功能,清晰地描述出此软件在开发过程中所需的资料技术等等1.2范围说明:a.学生管理系统,webAPPb.该软件可以解决在某些教务处使用高峰期,学生开学选课阶段,经常会出现运行迟缓,系统崩溃等问题c.解决学生选课时对课程的认知度不充分性,拥有对课程的详细介绍及上级学生对该课程的评论及认识d.老师可以录入课程成绩,自动计算该学期该课程平均成绩、及格率等等,学生也可以更清楚了解课程的具体要求.1.3参考资料参考相关软件设计规划书,以及相关开发文献2项目概述2.1产品概述就用了两年多的福州大学教务处的而言,功能繁多,基本上所有学生、教师等关于信息、课程、学习、报名乃至于课表作息等功能都一应俱全,也正因为此,在某些教务处使用高峰期,如学生开学选课阶段,经常会出现运行迟缓,系统崩溃等问题,在情况紧急之下甚至会导致某些严重后果。

软件项目需求规格说明书编写指南

软件项目需求规格说明书编写指南

软件项目需求规格说明书编写指南软件项目需求规格说明书是软件项目开发过程中的关键文档之一,它详细描述了软件系统的需求,定义了软件系统的功能、性能和约束。

一个好的需求规格说明书可以确保开发团队、测试团队和客户之间的沟通顺畅,帮助确保项目的顺利实施。

本文将为您介绍编写软件项目需求规格说明书时应注意的要点和步骤。

第一步:明确编写需求规格说明书的目的和范围在编写需求规格说明书之前,首先要明确编写此文档的目的和范围。

目的是为了准确地定义软件系统的需求,范围是确定需要包含在此文档中的需求内容。

目的和范围的明确可以帮助编写者集中精力,并确保文档的内容准确、完整。

第二步:了解受众和目标读者在编写需求规格说明书时,了解受众和目标读者的背景和知识水平非常重要。

受众可能包括开发团队、测试团队、项目经理、客户或最终用户。

根据不同受众的需求和特点,编写者可以选择适当的术语和风格,以确保文档易于理解和使用。

第三步:定义需求在编写需求规格说明书时,需要准确地定义软件系统的需求。

需求可以分为功能需求和非功能需求两类。

功能需求描述了软件系统应该具有的功能和行为,非功能需求描述了软件系统的性能、可靠性等方面的要求。

在定义需求时,需要尽量避免使用模糊的术语,而应使用明确、具体、量化的语言。

第四步:分解和整理需求在编写需求规格说明书时,为了保持文档的结构清晰和易读性,可以将需求分解为更小的子需求,并按照逻辑顺序进行组织。

同时,可以根据需求的关联性和相似性将它们进行分组和分类。

这种分解和整理需求的方式有助于开发团队更好地理解并实现软件系统。

第五步:添加适当的图表和示例为了更好地描述需求,可以添加适当的图表和示例。

例如,可以使用用例图或流程图来展示软件系统的功能和交互过程。

示例可以帮助读者更直观地理解需求,并提供实际应用场景。

第六步:进行需求的验证和审查在编写需求规格说明书之后,需要进行需求的验证和审查。

验证是确保所编写的需求是正确和完整的过程,可以通过与客户或领域专家的讨论来验证需求的准确性。

软件需求规格说明的模板及示例

软件需求规格说明的模板及示例

软件需求规格说明的模板及示例在软件开发项目中,需求规格说明书是非常重要的一份文档,它记录了软件的功能需求、非功能需求等各种要求。

它能为软件开发人员提供一个清晰明确的目标,帮助开发人员更好地理解用户需求,从而开发出符合用户需求且质量可靠的软件。

下面是一份软件需求规格说明的模板及示例。

I.引言本文档描述了本软件的需求规格说明。

本软件的主要功能是XX。

该说明书旨在为软件开发人员、测试人员和维护人员提供一个全面、详细的记录,以确保软件具有可维护、可操作、用户友好等必要特点。

II. 总体描述1. 产品功能本软件主要功能如下:1) 功能1描述功能1的具体功能和业务流程2) 功能2描述功能2的具体功能和业务流程3) ...2. 客户角色描述客户身份,包括其特定需求等。

3. 运行环境描述软件运行所需的操作系统、硬件、网络环境等。

III. 默认功能在基础功能的基础上,为了满足更多用户的需求和提高用户体验,本软件除基础功能外还默认了以下的功能和限制:1. 功能1描述默认功能1的具体功能和业务流程2. 功能2描述默认功能2的具体功能和业务流程3. ...IV. 系统功能1. 界面及操作1) 界面设计描述界面的设计原则、界面及各类控件的布局、描述符合易学易用的设计指导原则。

2) 界面操作描述具体各个界面及控件的操作。

2. 功能设计1) 功能说明详细描述系统的功能,并包括业务流程图。

2) 功能优先级根据实际需求,具体规定各个功能的优先级。

3. 系统性能描述系统性能要求及约束,性能指标包括响应速度、吞吐量等。

V. 数据需求包括数据的格式、数据的输入和输出等要求。

VI. 接口需求描述本系统需要和外部系统或组件的接口及交互,包括数据格式和数据传输方式等。

VII. 非功能需求包括系统的性能、可靠性、安全性、易维护性、可扩展性、可用性、可拓展性等方面的需求。

VIII. 附录1. 参考文献列出本文档中涉及的参考文献。

2. 词汇表列出本文档中用到的专业术语和新名词。

软件项目需求规格—说明书模板

软件项目需求规格—说明书模板

软件项目需求规格—说明书模板组态建模工具需求规格说明书XXX目录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外部接口说明软件运行时和外部环境的接口,包括软件的界面表现形式等方面。

软件需求规格说明书

软件需求规格说明书

文档编号:sm/cmmi/1103/系统软件需求规格说明书<版本号>编写人:编写日期:部门:审核人:审核日期:1.引言SRS的引言部分应当提供整个SRS的概述,包括以下各条:a目的;b范围;c定义、简称和缩略语;d引用文件;e综述.1.1.目的本条宜:a描述SRS的目的;b说明SRS的预期读者.1.2.范围本条宜:a通过名称识别要生产/开发的软件产品;b必要时,说明软件产品将做或不做什么;c描述规定的软件的应用,包括相关的收益、目标和目的;d如果上层规格说明如,系统需求规格说明存在,与上层规格说明类似的陈述保持一致.1.3.定义、简写和缩略词本条宜提供对正确解释SRS所要求的所有术语、简写和缩略语的定义,这些信息可以通过引用SRS中的一个或多个附录、或者引用其他文件的方式来提供.在本节应对需求的编号规则进行约定.1.4.引用文件本条宜:a提供SRS引用的所有文件的完整清单;b标识出每个文件的名称、报告编号适用时、日期、出版组织;c标明可以获得引用文件的来源.这些信息可以通过引用附录或引用其他文档的方式提供.1.5.综述本条宜:a描述SRS的其余章条包含的内容;b说明SRS是如何组织的.2.总体描述本章宜描述影响产品及其需求的一般因素,而不叙述具体的需求.相反,它提供需求的背景并使它们更易理解,而在SRS的后续章节将详细定义这些需求.本章通常由以下6条组成:a产品描述;b产品功能;c用户特点;d约束;e假设和依赖关系;f需求分配.2.1.产品描述本条宜把产品置于其他有关产品的全景之下.如果产品是独立的和完全自我包含的,这里宜如实给予陈述.正如常出现的那样,如果SRS定义的产品是较大系统的组成部分,则本章宜将软件的功能性与较大系统的需求相联系,而且宜识别软件和系统之间的接口.使用框图展示较大系统的主要部分、相互联系以及外部接口是有帮助的.本条也宜描述在各种不同的约束下软件如何运行.如,这些约束可包括:a运行环境;b用户界面;c接口;d运行模式;e现场适应性需求等.2.2.产品功能本条宜给出软件将执行主要功能的概要.例如,某个同城程序的SRS可在此部分关注业务发起、资金清算处理,而不涉及这些功能要求的大量细节.有时,本条需要的功能概要可直接从分配具体功能到软件产品的更高层规格说明如果存在中摘录.为了清晰,应当注意:a功能说明应以使顾客或第一次阅读该文件的任何读者对功能列表容易理解;b可以使用文本或图示的方法,显示不同的功能及其之间的关系.这样的图示不必显示产品的设计,但简要显示功能之间的逻辑关系.2.3.用户特点本条宜给出软件产品预期用户的一般特征,包括部门、角色、权限等.本条所说用户包括系统的隐含用户,例如银行客户.2.4.需求分配本条宜识别可能推迟到系统将来版本的需求.3.具体需求本章宜包括足够详细的所有软件需求,使设计人员能够设计系统以满足这些需求,并且使测试人员能够测试该系统满足这些需求.贯穿本章,对于用户、运行人员或其他外部系统,每个规定的需求应当是外部可理解的.这些需求至少应当包括,每个系统输入激励、每个系统输出响应以及系统通过响应某个输入或支持某个输出所执行的所有功能.对软件功能应根据软件的特征对需求项目进行适当的组织.就面前我公司多数项目而言,应根据软件功能的层次进行组织.对每一项需求应进行唯一编号.主要需求项目编号规则如下:其他类型的需求可在节中定义后使用.对于有层级关系的需求,可用以下方式进行表示:FC_1…FC_2…具体需求分为以下几个部分:3.1.功能需求功能需求宜定义软件在接收和处理输入以及处理和产生输出中必须发生的基本动作.一般情况下使用“系统应……”的方式来陈述.这些包括:a操作的流程;b输入与输出,包括:1数据的来源及输入/输出方式2从输入到输出转换的处理过程3输入/输出界面格式如有的话,例如生成的报表的格式c对输入有效性的核查;d访问的数据对象如数据表及对数据的修改e异常情况响应,包括:1溢出;2错误处理和恢复;尽管将功能需求划分为子功能或子过程可能是适当的,但这并不意味着软件设计同样以这样的方式划分.3.1.1.业务功能1需求编号:FC_0001需求概述:本功能用于实现xxxxxxxx功能优先级:高/中/低3.1.1.1.业务规则以自然语言形式对需求项所必须遵循的处理原则进行说明.形式如:系统应该xxxxxxxxxxxxxxx如xxxxxxxxxxxx,则xxxxxxxxxxx3.1.1.2.前置条件指功能需求进入执行状态需满足的各种条件.以同城系统中“工作场次切换”为例,其前置条件为系统时间到达预先设定的场次终止时间.3.1.1.3.输入包括输入数据的来源、格式、数据要求等3.1.1.4.处理流程以自然语言或流程图、或两者结合的形式描述功能项的处理流程.对处理流程的描述应包括正常处理流程及各种可能的异常处理流程.3.1.1.5.输出完成处理后的数据输出.包括格式、数据要求等.3.1.1.6.后置条件当功能项处理流程结束后产生的处理结果.针对不同的处理流程正常/异常,应分别说明.3.1.1.7.用户界面用草图或屏幕快照的形式展现界面.尽可能使用连串图的形式.3.1.2.业务功能n3.2.性能需求本条宜规定软件或人与软件互作用的整体静态的和动态的数量化需求.静态数量化需求可能包括:a支持的终端数量;b支持同时运行的交易并发数量;c要处理的信息量和类型.有时,静态数量需求包含在命名为“能力”的独立部分.动态数量化需求可能包括,如,在正常和高峰工作负载条件,在某时段内处理的事务处理数、任务数和数据量.所有这些需求宜以可测量的方式规定.如:应在小于is内处理95%的交易量.而不是:操作方不需等待事务处理结束.注:适用于某个具体功能的数量化限制,通常作为该功能处理描述部分予以规定.3.3.系统可靠性及安全性需求有一些软件属性可以作为需求.规定所要求的软件属性是重要的,这样才能客观地验证属性的实现情况.具体包括以下内容:a可靠性本条宜规定要求的因素,以便建立在交付时软件系统所要求的可靠性.b可用性为了确保整个系统已定义的可用性程度,宜规定所要求的因素,如,检查点、恢复以及重启动.c安全保密性由于事故、恶意访问、使用、修改、破坏或泄露,本条宜规定需要保护软件的因素.这方面可能的具体需求包括:1使用某些密码技术;2保留某些特定数据组的历史或记录;3分配某些功能到不同的模块;4在程序的某些域间限制通信;5对于关键变量检查数据的完整性.d可维护性本条宜规定与软件本身维护简易性有关的软件属性.可以对模块化、接口和复杂性等有一定的要求.但不宜仅因为是良好设计实践就将其作为需求.e可移植性本条宜规定与软件移植到其他主机和/或操作系统简易性相关的软件属性.这可能包括:1依赖主机代码模块的百分比;2依赖主机代码的百分比;3已证明可移植语言的使用;4特定编译器或语言子集的使用;5特定操作系统的使用.每一项可作为一个小节3.4.其他需求。

软件需求规格说明书

软件需求规格说明书

软件需求规格说明书一、引言本文档旨在详细描述软件需求规格,以确保软件开发团队和客户之间的沟通准确无误。

本规格说明书适用于XXX软件项目,包括对软件的功能、性能、界面和其他相关需求的详细描述。

二、目标本软件旨在满足以下目标:1. 提供一个功能强大、易于使用的软件平台,以满足客户的需求。

2. 提供高效的性能和稳定的运行环境,以确保用户的体验。

3. 提供清晰、友好的用户界面,以便用户能够轻松使用软件。

4. 提供可靠的数据存储和管理功能,以确保数据的完整性和安全性。

三、功能需求1. 用户管理1.1 用户注册:用户可以通过提供必要的个人信息进行注册。

1.2 用户登录:已注册用户可以使用用户名和密码登录系统。

1.3 用户权限管理:根据用户角色和权限,对用户进行管理和控制。

2. 数据管理2.1 数据录入:用户可以录入、修改和删除数据。

2.2 数据查询:用户可以根据特定条件查询数据。

2.3 数据导出:用户可以将数据导出为Excel或其他格式的文件。

3. 报表生成3.1 报表定义:用户可以定义报表的格式和内容。

3.2 报表生成:根据用户定义的报表格式和内容,生成相应的报表。

4. 通知和提醒4.1 通知管理:系统可以向用户发送通知和提醒。

4.2 提醒设置:用户可以设置提醒的方式和频率。

5. 系统设置5.1 用户管理:管理员可以管理用户信息和权限。

5.2 界面设置:用户可以自定义界面的样式和布局。

5.3 系统维护:管理员可以进行系统备份、恢复和升级。

四、性能需求1. 响应时间:系统应在用户进行操作后的2秒内给出响应。

2. 并发性能:系统应支持1000个并发用户的正常操作。

3. 数据处理能力:系统应能够处理每秒1000条数据的输入和输出。

五、界面需求1. 用户界面:界面应简洁、直观,符合用户使用习惯。

2. 响应式设计:界面应能够在不同的设备和屏幕尺寸上正常显示和操作。

3. 多语言支持:界面应支持多种语言切换。

六、安全需求1. 用户认证:用户登录时应进行身份验证,确保只有合法用户可以访问系统。

软件需求规格说明书模板

软件需求规格说明书模板

XXX软件需求规格说明书{产品名称} 软件需求规格说明书版本历史第0 页目录1.产品描述 (3)1.1.编写目的 (3)1.2.产品名称 (3)1.3.文档范围 (3)1.4.预期的读者和阅读建议 (3)1.5.参考文档 (3)1.6.缩略语和术语(可选) (3)2.产品需求概述 (3)2.1.用例简介 (3)2.2.运行环境 (3)2.3.条件与限制(可选) (4)3.用例描述 (4)3.1.用例1 (4)3.2.用例N (5)3.3.不支持的用例 (5)4.数据描述 (5)5.系统需求(可选) (5)6.运行需求(可选) (6)6.1.用户界面 (6)6.2.硬件接口 (6)6.3.软件接口 (6)6.4.通信接口 (6)7.其它需求(可选) (7)8.特殊需求(可选) (7)9.不确定的问题(可选) (7)10.编写人员及编写日期 (7)11.附录 (7)11.1.引用文件 (7)11.2.参考资料 (7)1.产品描述1.1.编写目的【说明编写本软件需求规格说明书的目的,指出预期的读者。

】1.2.产品名称【本项目的名称,包括项目的全名、简称、代号、版本号。

】1.3.文档范围【文档范围包括:产品介绍,产品面向的用户群体,产品应当遵守的标准与规范,产品范围,产品中的角色,产品的功能性需求,产品的非功能性需求。

】1.4.预期的读者和阅读建议【各种管理人员及开发人员:项目经理、系统工程师、软件开发人员、硬件开发人员、测试人员、型态管理人员、品质保证人员和软件使用客户】1.5.参考文档【说明编写本软件需求规格说明书涉及参考文档。

】1.6.缩略语和术语(可选)【对重要的或是具有特殊意义的名词(包括词头和缩写)进行定义,以便读者可以正确地解释软件需求说明。

】2.产品需求概述2.1.用例简介【对产品的基本用例做一个简介,包括:1.本产品的开发意图、应用目标及作用范围。

2.概略介绍了产品所具有的主要用例。

用UML用例包图和用例图描述功能结构。

软件需求规格说明书

软件需求规格说明书

软件需求规格说明书背景每个项目都需要软件来支持它的功能需求。

软件需求规格说明书描述了软件的功能需求,性能需求和软件约束。

开发团队使用此文档以确保完成一致的软件开发和测试。

定义软件需求规格说明书是一份详细的文件,描述软件的需求,包括要求和功能、性能和限制。

流程软件需求规格说明书的编写需要一些步骤:确定并编写关于所需软件的所有功能需求。

为所需软件编写约束文件,例如可用性、性能、安全性等。

组织并记录所需的所有信息。

分析数据以获得可执行项目的计划和步骤表。

记录并跟踪所有变化,以确保变化正确地反映在最新版本的文档中。

主要内容下面是软件需求规格说明书需要列明的基本部分:介绍将任务及其目标的简短描述与项目所涉及的人员和组织部门相关联。

支持的环境列出所有计算机、操作系统、其他设备(如打印机)和任何必需的软件。

也可以说明所需的任何其他特定硬件或软件。

功能需求描述软件的所有功能—必需和可选。

对于每个功能,提供一个简短描述和特定的用户需求,包括必需的输入和输出信息。

性能需求描述软件的性能特性和要求。

这通常包括响应时间、吞吐量和容量。

还可以包括在特定条件下的可靠性、可用性、可维护性和可支持性。

设计要求在这部分中,可以说明可能对实施绩效和其他特定要求的设计决策要求。

例如,可以规定哪些特定编程代码方案必须使用。

用户和培训要求说明用户和培训问题。

可以包括用户文档、培训材料、通信、认证和其他要求。

支持需求说明必需的支持,例如用户支持、维护和更新。

安全性要求说明所需的安全性要求,包括安全控制、应急响应和其他安全问题。

其他约束还可以列明其他必需的约束,例如法律和通信要求,行业要求,国家规定等。

结论软件需求规格说明书是一个重要的文档,用于规范软件开发团队的计划和步骤。

它应该被认真研究和编写,以确保软件开发和测试符合规范和要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件项目名称
软件需求规格说明书拟制:日期:
审核:日期:
批准:日期:
文件修改记录
目录
模板使用说明:
1注明可选的部分,可以根据实际情况选择是否填写;如果不必说明,请保留相关的章节标题,同时在该可选章节的内容中填入“无”;未注名可选的,则必须描述;如果有些设计此模版中没有合适的地方填写,则补充在最后的其他栏目中
2模版中斜体字相当于撰写指南,最后文稿请将本模板中所有的斜体字部分全部删除;
3模板里并不说明设计技术和方法,而只是说明应包含哪些内容,以及如何描述、组织这些内容;
1范围
说明文档所包括和不包括的内容,具体是:
a.待开发的软件系统的名称;
b.说明软件将干什么,如果需要的话,还要说明软件产品不干什么;
c.描述所说明的软件的应用;如果有一个较高层次的说明存在,则应该使其和高层次说明中的类似的陈述相一致例如,系统的需求规格说明;
2 总体概述
产品描述
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料;解释被开发软件与其他有关软件之间的关系;如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点;如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口;
软件功能
概述软件必须实现的和通过用户操作实现的主要功能;这里只需要进行简要描述例如目录列表,详细描述在详细需求部分描述;
有时,如果存在较高层次的规格说明时,则功能摘要可从中取得,这个较高层次的规格说明为软件产品分配了特殊的功能,为了清晰起见,请注意:
a.编制功能的一种方法是制作功能表,以便客户或者第一次读这个文件的人都可以理解;
b.用方框图来表达不同的功能和它们的关系也是有帮助的;但应牢记,这样的图不是产品设计时所需求的,而只是一种有效的解释性的工具;
例如:高层的数据流图,面向对象的分析等;
一般约束
对设计系统时限制开发者选择的其他一些项作一般性描述具体需求或具体设计约束在具体需求和设计约束章节叙述;这些包括:
a.管理方针;
b.硬件的限制;
c.与其他应用间的接口;
d.并行操作;
e.审查功能;
f.控制功能;
g.所需的高级语言;
h.通信协议;
i.应用的临界点;
j.安全和保密方面的考虑;
假设和依赖
列出可能影响需求的所有的假设因素与已知事实相对而言,包括准备使用的第三方或商业组件,操作和开发环境的问题约束等;如果上述假设不正确、没有被告知或者改变了都将对项目产生影响;列出项目对外部条件的依赖,例如重用其他项目的模块等;如果在其他文档例如项目计划或范围文档等里已经描述了,在这里可以不用描述;
3 具体需求
功能需求
对于每一类功能或者有时对于每一个功能,需要具体描述其输入、处理和输出的需求,建议用UML图进行描述;由四个部分组成
3.1.1 功能需求1
a.引言
描述的是功能要达到的目标、所采用的方法和技术,还应清楚说明功能意图的由来
和背景;
b.输入
1)详细描述该功能的所有输入数据,如:输入源、数量、度量单位、时间设定、
有效输入范围包括精度和公差;
2)操作员控制细节的需求;其中有名字、操作员活动的描述、控制台或操作员的
位置;例如:当打印检查时,要求操作员进行格式调整;
c.处理
定义输入数据、中间参数,以获得预期输出结果的全部操作;它包括如下的说明:
1)输入数据的有效性检查;
2)操作的顺序,包括事件的时间设定;
3)响应,例如,溢出、通信故障、错误处理等;
4)受操作影响的参数;
5)降级运行的要求;
6)用于把系统输入变换成相应输出的任何方法方程式、数学算法、逻辑操作等;
7)输出数据的有效性检查;
需有基本事件流正常处理流程和备选事件流异常处理流程,可用流程图附加描
述;
d.输出
1)详细描述该功能所有输出数据,例如:输出目的地、数量、度量单位、时间关
系、有效输出的范围包括精度和公差、非法值的处理、出错信息;
2)有关接口说明或接口控制文件的参考资料;
此外,对着重于输入输出行为的系统来说,需求说明应指定所有有意义的输入、输
出对及其序列;当一个系统要求记忆它的状态时,需要这个序列,使得它可以根据
本次输入和以前的状态作出响应;也就是说,这种情况犹如有限状态机;
3.1.2 功能需求2
......
功能需求n
外部接口需求
3.2.1 用户接口
提供用户使用软件产品时的接口需求;例如,如果系统的用户通过显示终端进行操作,就必须指定如下要求:
a.对屏幕格式的要求;
b.报表或菜单的页面打印格式和内容;
c.输入输出的相对时序;
d.程序功能键的可用性;
3.2.2 硬件接口
详细描述与硬件的接口
在此描述软件产品和系统硬件组件之间接口的逻辑特征,也包括支持哪些设备、怎样支持
这些设备和协议等;
按软/硬件协议内容和格式定义接口;如果接口已在其它文档中很清楚地描述,就没有必要在这儿进行详细描述,但需说明应参考的文档;
3.2.3 软件接口
在此要指定需使用的其他软件产品例如,数据管理系统、操作系统或数学软件包,以及同其他应用系统之间的接口;
对于每一个接口,这部分应说明与软件产品相关的接口软件的目的,并根据信息的内容和格式定义接口,但不必详细描述任何已有完整文件的接口,只要引用定义该接口的文件即可;
3.2.4 通讯接口
详细描述通讯接口,如本地网络协议等;
按消息/函数内容和格式定义接口;如果接口已在其它文档中很清楚地描述,就没有必要在这儿进行详细描述,但需说明应参考的文档;
性能需求
如果有性能方面的需求,在这里列出并解释他们的原理;以帮助开发者理解意图以做出正确的设计选择;在实时系统中的时序关系;保证需求尽可能的详细而精确;
从整体上具体说明软件、或人与软件交互的静态或动态数值需求;
A.静态数值需求可能包括:
1)支持的终端数;
2)支持并行操作的用户数;
3)处理的文件和记录数;
4)表和文件的大小;
B.动态数值需求可能包括:欲处理的事务和任务的数量,以及在正常情况下和峰值工作条件下一定时间周期中处理的数据总量;
所有这些需求都必须用可以度量的术语来叙述;例如,95%的事务必须在小于1s时间内处理完,不然,操作员将不等待处理的完成;
4 设计约束
描述可能限制开发人员选择的事项;
标准的约束
详细说明需求所采用的标准或规范的来源;如果项目采用了国际标准,应该说明国际标准及项目与标准的偏离情况;
硬件的限制
本项包括在各种硬件约束下运行的软件要求,例如,应该包括:
a.硬件配置的特点接口数,指令系统等;
b.内存储器和辅助存储器的容量;
技术的限制
本节包括对使用特定技术的限制,包括接口,数据库,操作系统,通讯协议,设计约定,编程规范等;
5 软件质量属性
详细说明项目任何其他的质量特性;该特性对客户和开发者都非常重要;考虑的方面包括:适应性,可用性,正确性,灵活性,交互工作能力,可维护性,可移植性,可靠性,可重用性,鲁棒性,可测试性和可用性等;定量的详细描述这些特性,尽可能的可验证;对不同属性之间的重要性加以阐述,如:易用性比易学性更重要;
每一个属性单独使用一个小节描述,可根据需要进行增减,如:
安全性
指的是保护软件的要素,以防止各种非法的访问、使用、修改、破坏或者泄密;这个领域的具体需求必须包括:
a.利用可靠的密码技术;
b.掌握特定的记录或历史数据集;
c.给不同的模块分配不同的功能;
d.限定一个程序中某些区域的通信;
e.计算临界值的检查和;
可维护性
规定若干需求以确保软件是可维护的;
可移植性
规定把软件从一种环境移植到另一种环境所要求的用户程序,用户接口兼容方面的约束
等等;
6 其他需求
使用适当的章节,详细说明任何其他客户需求,包括数据库,编码需求,错误处理,测试需求等;下面仅列出了少量样例,你可以删除和增加项目;
数据库
本项对作为产品的一部分进行开发的数据库规定一些需求,它们可能包括:
a.在功能需求中标识的信息类别;
b.使用的频率;
c.存取能力;
d.数据元素和文卷描述符;
e.数据元素、记录和文卷的关系;
f.静态和动态的组织;
g.数据保存要求;
如果没有设计阶段,此处应该给出详细的数据库设计;以附件的形式添加在此处;
本地化
描述支持多语种的需求;
7待确定问题。

相关文档
最新文档