《软件需求规格说明书模版.pdf》由会员分享,可在线阅读,更多相关《软件需求规格说明书模版.pdf(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.软件需求规格说明书模版软件需求规格说明书模版文件变化记录单文件变化记录单版本编号*变化状态简要说明变更人变更日期批准人批准日期.文章.-.*变化状态:A增加,M修改,D删除文件批准单文件批准单职务职务签字签字日期日期1.1.引言引言提出对软件需求规格说明书的纵览,帮助读者理解文档如何编写并且如何阅读和解释。1.11.1编写目的编写目的对产品(也可能是项目,但是我们统称为产品)进行定义,在该文档中详尽说明这个产品的软件需求,包括修正或发行版本号。如果这个软件需求规格说明书只与整个系统的一部分有关,那么只定义文档中说明的部分或子系统。1.21.2文档约定文档约定描述编写文档时所采用的标准或排版约
2、定,包括正文风格、提示区或重要符号。例如,说明高层需求的优先级是否可以被其所有细化的需求所继承,或者每个需求陈述是否都有优先级。1.31.3预期的读者和阅读建议预期的读者和阅读建议列举软件需求规格说明书所针对的不同读者,例如开发人员、项目经理、营销人员、用户、测试人员等。描述文档中剩余部分的内容及其组织结构。提出最适合每一类型读者阅读文档的建议。1.41.4产品的产品的 X X 围围-.可修编-.提供对指定的软件及其目的的简短描述,包括利益和目标。把软件与企业目标或业务策略相联系。可以参考项目 X 围文档,而不是将其内容复制到这里。1.51.5参考资料参考资料列举编写软件需求规格说明书时所参考
3、的资料或其它来源。可能包括用户界面风格指导、合同、标准、系统需求规格说明书、用户需求、相关产品的软件需求规格说明书。这里应该给出详细的信息,包括标题名称、作者、版本号、日期、出版单位或资料来源,以方便读者查阅这些文献。2.2.综合描述综合描述这一部分概述了正在定义的产品以及它所运行的环境、使用产品的用户和已知的限制、假设和依赖。2.12.1产品的前景产品的前景描述软件需求规格说明书中所定义的产品的背景和起源。说明该产品是否是产品系列中的下一个成员,是否是成熟产品所改进的下一代产品、是否是现有应用程序的替代品,或者是否是一个全新的产品。如果软件需求规格说明书定义了大系统的一个组成部分,那么就要说
4、明这部分软件是怎样与整个系统相关联的,并且要定义出两者之间的接口。建议使用系统结构图或者实体关系图表示。2.22.2产品的功能产品的功能概述产品所具有的主要功能,详细内容在第4 节描述,所以这里只需要概括总结,例如用列表的方法给出。很好地组织产品的功能,使每个读者都易于理解。用图形表示主要的需求分组以及它们之间的联系。建议使用数据流程图(DFD)的顶层图或类图来实现图形化。2.32.3用户类和特征用户类和特征确定可能使用该产品的不同用户类并描述它们相关的特征。有一些需求可能只与特定的用户类相关。将该产品的重要用户类与那些不太重要的用户类区分开。2.42.4运行环境运行环境描述软件的运行环境,包
5、括硬件平台、操作系统和版本,还有其它的软件组件或者与其共存的应用程序。-.可修编-.2.52.5设计和实现上的限制设计和实现上的限制确定影响开发人员自由选择的问题,并说明这些问题为什么成为一种限制。可能的限制包括:必须使用或者避免的特定技术、工具、编程语言、数据库;经费、进度、资源等方面的限制;所要求的开发规X 或标准;企业策略、政府法规或工业标准;硬件限制,例如定时需求或存储器限制;数据转换格式标准。其它。2.62.6假设和依赖假设和依赖列举出在对软件需求规格说明书影响需求陈述的假设因素。可能包括打算要用的商业组件或有关开发或运行环境的问题。你可能认为产品将符合一个特殊的用户界面设计约定,但
6、是另外一个分析员却不这么认为。如果这些假设不正确、不一致或者被更改,都会使项目受到影响。此外,确定项目对外部因素存在的依赖。例如,如果你打算把其它项目开发的组件集成到系统中,那么你就要依赖哪个项目能否按时提供正确的组件。如果这些依赖已经记录到其它文档(如项目计划)中了,那么在此就可以参考其它文档。2.72.7关键点关键点说明本软件需求规格说明书中的关键点(例如:关键功能、关键算法和所涉及的关键技术等)。3.3.外部接口需求外部接口需求确定可以保证新产品与外部组件正确连接的需求。关联图表示了高层抽象的外部接口。需要把对接口数据和控制组件的详细描述写入数据字典中。如果产品的不同部分有不同的外部接口
7、,那么应该把这些外部接口的详细要求并入到这一部分的实例中。3.13.1用户界面用户界面陈述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是可能要包括的一些特征:将要采用的图形用户界面标准或产品系列的风格;屏幕布局或解决方案的限制;-.可修编-.将出现在每个屏幕的标准按钮、功能或导航;快捷键;错误信息显示标准。对于用户界面的细节,例如特定对话框的布局,建议写入一个独立的用户界面规格说明中,不要写入软件需求规格说明书中。3.23.2硬件接口硬件接口描述系统中软件和硬件每个接口的特征。可能包括支持的硬件类型、软硬件之间交流的数据和控制信息的性质以及所使用的通信协议。3.33.3软件接口
8、软件接口描述产品与其它外部组件(由名字和版本识别)的连接,包括数据库、操作系统、工具、库和集成的商业组件。明确并描述在软件组件之间交换数据或信息的目的,描述所需要的服务以及内部组件通信的性质,确定将在组件之间共享的数据。如果必须用一种特殊的方法来实现数据共享机制,那么就必须把它定义为一种实现上的限制。3.43.4通信接口通信接口描述与产品所使用的通信功能相关的需求,包括电子、WEB浏览器、网络通信标准或协议及电子表格等,定义相关的信息格式、规定通信安全或加密问题、数据传输速率和同步通信机制。4.4.功能需求功能需求4.14.1功能分类功能分类将功能性需求先粗分再细分,下表中的 Feature
9、A,Function A.1 等符号应当被替换成有含义的名称。也可以用功能结构图表示功能类别功能类别功能功能Feature AFunction A.1Function A.2Feature BFunction B.1Function B.2-.可修编-.4.24.2系统特性系统特性 Feature AFeature A4.2.14.2.1说明和优先级说明和优先级提出对该系统特性的简短说明并指出该特性的优先级是高、中还是低。4.2.24.2.2功能需求功能需求详细列出与该特性相关的功能需求。这些是必须提交给用户的软件功能,使用户可以使用所提供的特性执行服务或者使用所指定的用例执行任务。描述产品如
10、何响应可预知的出错条件或非法输入或动作。4.2.2.14.2.2.1(1)说明功能功能 function A.1function A.1本功能的简要说明(2)角色本功能的执行人员(3)前置条件该功能启动的前提条件(4)输入描述本功能的输入信息(包括需要访问的存储信息)。(5)过程对本功能将做什么进行详细的描述。(6)输出描述本功能的输出信息(包括需要访问的存储信息)。(7)后置条件该功能结束的退出条件(8)业务规则列举出与该功能相关的操作规则。例如什么人在特定环境下可以进行何种操作。4.2.2.24.2.2.2(1)说明function A.1function A.1 图书借阅图书借阅借阅人通
11、过此功能向系统查询并提交借书请求-.可修编-.(2)角色借阅人(3)前置条件借阅人借阅证件在有效期内借阅人没有逾期未归还的图书(4)输入借阅证(5)过程主过程描述主过程描述分支过程描述分支过程描述异常过程描述异常过程描述1 用户用借阅证提供的 XX登录系统,系统显示我的图书馆界面2.用户选择查询图书,系统显示查询界面3.用户按书名、作者、查询,系统显示查询结果4.用户可单选或多选书本,并确认借阅。系统显示确认借阅图书清单。5.用户选择确认借阅,系统显示借阅定单及费用6 用户选择提交定单,系统显示提交结果和定单号7.系统执行后置条件2.1.1用户选择查看原有定单,系统执行 4;4.1.1用户可单
12、选或多选书本,放入借书篮,系统显示借书篮现有内容4.1.2.1.1用户选择继续借书,系统执行 2;4.1.2.2.1用户选择提交借书篮,系统执行 44.2.1 用户选择放弃,系统执行 2;6.1.1用户选择保存定单,系统保存并执行 1;6.2.1用户选择放弃,系统执行 1;1.1.1借阅证已过期,拒绝登录,结束1.2.1借阅人有逾期未归还书本,启动“归还图书”功能5.1.1用户余额不足,系统显示余额和所需金额5.1.2.1.1用户选择续费,启动“交纳借阅费”功能5.1.2.2.1用户选择放弃,系统执行 1(6)输出费用记录借阅定单(7)后置条件创建借书定单更新借阅人借阅记录(8)业务规则每次每
13、人至少选择一本,至多选择三本4.34.3系统特性系统特性 Feature BFeature B-.可修编-.5.5.非功能需求非功能需求5.15.1性能需求性能需求阐述不同的应用领域对产品性能的需求,并解释它们的原理以帮助开发人员做出合理的设计选择。确定相互合作的用户数或者所支持的操作、响应时间以及与实时系统的时间关系;还要定义容量需求,例如存储器和磁盘空间的需求或者存储在数据库中表的最大行数。也可能需要针对每个功能需求或特性分别陈述其性能需求,而不是把它们集中在一起陈述。例如:“在运行WINDOWS 2000的450MHZ Pentium II的计算机上,当系统至少有 50%的空闲资源时,9
14、5%的目录数据库查询必须在两秒内完成”。5.25.2安全性需求安全性需求陈述与系统安全性、完整性或私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。明确产品必须满足的安全性或XX性策略。一个软件系统的安全需求的X 例如下:“每个用户在第一次登录之后,必须更改他的最初登录密码。最初的登录密码不能重用。”5.35.3软件质量属性软件质量属性详尽陈述与客户或开发人员至关重要的质量特性。这些特性必须是确定、定量的并可验证的。至少应指明不同属性的相对侧重点,例如易用程度优于易学程度,或者可移植性优于有效性。5.45.4其它需求其它需求定义至今未出现的需求。例如国际化需求、法
15、律上的需求、有关操作、管理、维护、安装、配置、启动、关闭、修复、容错、登录、监控等等方面的需求。说明本产品在可使用性、可维护性、可移植性、可靠性和安全性等方面的要求。6.6.数据字典数据字典6.16.1实体关系图实体关系图-.可修编-.订单号订单号总购书价总购书价购书号列表购书号列表购书数量列表购书数量列表顾客号顾客号姓名姓名住址住址等级等级订单顾客订单号订单号图书号图书号数量数量仓库号仓库号图书号图书号出版社出版社单价单价作者作者.图书号图书号仓库号仓库号数量数量图书库藏仓库仓库名仓库名地点地点包含采购订采购订单号单号图书号图书号数量数量包含采购订单供应厂商采购订单号采购订单号总购书价总购书
16、价购书号列表购书号列表购书数量列表购书数量列表厂商号厂商号厂商名厂商名地址地址6.26.2实体定义实体定义Be_图书每本图书都经有上架,预定,借出,返回待查和下架几个状态,详细请参看图书状态图指出数据项名、定义、项结构组成、项 X 围、项类型。实体名称实体名称实体描述实体描述属性名称属性名称图书编号图书编号类型类型字符精度精度12说明说明(属性的业务含义及业务规则属性的业务含义及业务规则)图书类别编号(3 位)+图书购入年份(4 位)+流水号(5)位图书分类图书分类名称名称作者作者字符字符字符310020图书的分类书本的封面名称书籍的作者-.可修编-.出版日期出版日期版本信息版本信息简介简介状
17、态状态字符日期字符字符字符10010010001书籍标明的书籍标明的出版日期书籍标明的书籍的内容简介,上架时录入书籍的状态,请参看图书状态图7.7.业务规则与业务算法业务规则与业务算法7.17.1业务规则业务规则列举出有关产品的所有操作规则。例如什么人在特定环境下可以进行何种操作。这些规则不是功能需求,但它们可以暗示某些功能需求执行这些规则。业务规则的X 例如下:“只有持有管理员密码的用户才能执行 100元以上的退款操作”。借出规则说明:读者已借书数未超过最大借书数、该书有库存,而且该读者拥有借阅该书的权限,则执行该操作。罚款规则说明:1.超期罚款:超期天数超期罚款率。2.丢失罚款:图书价格丢
18、失赔率7.27.2算法说明算法说明用于实施系统计算功能的公式和算法的描述,类似于业务规则。如某神州行套餐的计费标准说明。a.每个主要算法的概况;b.用于每个主要算法的详细公式。附录附录 A A:分析模型(也可以纳入:分析模型(也可以纳入 4 4 功能需求章节中描述)功能需求章节中描述)包括或涉及到相关的分析模型的位置,例如数据流图、类图、状态转换图等。顶层数据流图:顶层数据流图:-.可修编-.DBMS1.1暂存订单DBMS1.2书籍库存DBMS1.3采购订单FBMS1.1 用户登入FBMS1.2 密码修改FBMS1.3 订单PBMS1.1FBMS1.7 订货单FBMS1.8 发货单顾客FBMS
19、1.4 发货票FBMS1.5 付款FBMS1.6 收据网上书店管理系统FBMS1.9 付款FBMS1.10 收据书籍供应厂商DBMS1.4销售历史DBMS1.5DBMS1.6应收款明细帐 应付款明细帐DBMS1.7总帐第第 1 1 层数据流图:层数据流图:暂存订单DBMS1.1订单FBMS1.3发货FBMS1.4付款FBMS1.5收据FBMS1.6采购订单DBMS1.3顾客2.1销售修改订货通知FBMS2.2到货通知FBMS2.3修改2.2采购订货单FBMS1.7发货单FBMS1.8书籍供应厂商询问收款单FBMS2.1询问付款单FBMS2.4付款FBMS1.9收据FBMS1.10销售历史DBM
20、S1.4书籍库存DBMS1.22.3结算应收款明细帐DBMS1.5总帐DBMS1.6应付款明细帐DBMS1.7第第 2 2 层数据流图:层数据流图:-.可修编-.书籍库存顾客新顾客注册/旧顾客登陆2.1.1注册/登陆2.1.3编辑订单订单订单2.1.4检查订单不能满足的订单2.1.5产生暂存订单订货通知采购部门到货通知2.1.2修改成功修改密码新密码可满足的订单订单暂存订单订单顾客信息记录书籍库存2.1.6对比暂存订单订单收款单2.1.7开发货票并修改库存收据会计部门2.1.8检索库存2.1.9编写销售历史销售历史2.1.10计算顾客经验值应收款明细帐附录附录 B B:待确定问题的列表:待确定
21、问题的列表编辑一X 在软件需求规格说明书中待确定问题的列表,其中每一表项都是编上号的,以便跟踪调查。附录附录 C C:编写文档的原则:编写文档的原则编写文档时,要求具有本规 X 规定的所有条目如果某条目无内容,则填写“无”,并在可能的情况下说明理由。必要时,可增加适当的条目。编写优秀的需求文档没有现成固定的方法,最好是根据经验进行。许多需求文档可以通过使用有效的技术编写风格和使用用户术语而不是技术术语的方式得以改进。你在编写需求文档时,应牢记以下几点建议:保持语句和段落的简短;采用主动语态的表达方式;语法正确,句子完整;使用的术语与词汇表中所定义的术语一致;避免模糊的、主观的术语如用户友好、容
22、易、简单、迅速、有效、许多、最新技术、-.可修编-.优越的、可接受的、健壮的等等;避免使用比较性的词汇如提高、最大化、最小化、最佳化等。定量说明所需要提高的程度或者说清一些参数可以接受的最大值和最小值。含糊的语句表达将引起需求的不可验证。由于需求的编写是层次化的,因此,可以把顶层不明确的需求向低层详细分解,直到消除不明确性为止。编写详细的需求文档,所带来的益处是如果需求得到满足,那么客户的目的也就达到了,但是不要让过于详细的需求影响了设计。如果你能用不同的方法来满足需求,并且这种方法是可接受的,那么需求的详细程度也就足够了。然而,如果评审需求规格说明书的设计人员对客户的意图还不甚了解,那么就需要增加额外的说明,以减少由于误解而产生返工的风险。需求文档的编写人员总是力求寻找到恰如其分的需求详细程度。一个有益的原则就是编写单个的可测试需求文档。如果你想出一些相关的测试用例可以验证这个需求,那么就达到了合理的详细程度。如果你预想的测试很多并且很分散,那么就要将一些集合在一起的需求分离开。必须以相同的详细程度编写每个需求文档。不应该把多个需求集中在一个冗长的叙述段落中。在需求中,诸如“和”,“或”之类的连词就表明了该部分集中了多个需求。不要在需求说明中使用“和/或”,“等等”之类的连词。不应该出现需求的冗余。-.可修编-