需求文档编写_第1页
需求文档编写_第2页
需求文档编写_第3页
需求文档编写_第4页
需求文档编写_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-5-9SSPM/WRLSSPM/WRLSSPM/WRL边耐政边耐政2/33业务与业务规则业务与业务规则需求工程的需求工程的 7大类大类46个方法个方法建立原型、应用原型建立原型、应用原型统一建模语言统一建模语言UML课程回顾课程回顾3/33编写编写SRS的方法的方法1. 采用采用SRS模板模板2. 指明需求来源指明需求来源3. 为每项需求注上标记为每项需求注上标记4. 记录业务规范记录业务规范5. 定义质量属性定义质量属性课程回顾课程回顾4/331. 理解文档编写的重要意义和作用;理解文档编写的重要意义和作用;2. 掌握编写与管理需求文档的方法;掌握编写与管理需求文档的方法;3. 学

2、会使用学会使用SRS模板;模板;4. 掌握数据字典的定义过程。掌握数据字典的定义过程。学习目标学习目标5/338.1 需求文档的作用需求文档的作用 作为系统分析员,很可能经常会发现自己处于进退作为系统分析员,很可能经常会发现自己处于进退维谷的境地维谷的境地前有前有业务目标业务目标,后有,后有IT系统系统。 这两方面都具有这两方面都具有规模大、不易改变和灵活性差规模大、不易改变和灵活性差的特的特点,制定业务目标的人员和开发系统的人员不一定点,制定业务目标的人员和开发系统的人员不一定了解彼此的工作内容和成果。了解彼此的工作内容和成果。 如果你无法足够详细而清晰地将干系人的需求用书如果你无法足够详细

3、而清晰地将干系人的需求用书面的形式表达出来,则表明你没有完成捕获项目要面的形式表达出来,则表明你没有完成捕获项目要求的任务。求的任务。8 编写需求文档编写需求文档6/338.1 需求文档的作用需求文档的作用 前景和范围文档包含了前景和范围文档包含了业务需求业务需求; 用例文档包含了用例文档包含了用户需求用户需求; 根据系统需求和用例产生根据系统需求和用例产生功能需求功能需求文档;文档; 根据用户需求和系统需求编写质量属性和外根据用户需求和系统需求编写质量属性和外部接口需求等部接口需求等非功能需求非功能需求文档。文档。8 编写需求文档编写需求文档7/338.2 SRS 的作用与编写原则的作用与编

4、写原则 软件需求规格说明软件需求规格说明 ( SRS Software Requirement Specification ) 也称为功能规格说明、产品规格说明、也称为功能规格说明、产品规格说明、需求文档或系统规格说明需求文档或系统规格说明; SRS 精确地阐述一个软件系统必须提供的精确地阐述一个软件系统必须提供的功能功能和和性能性能以及它所要考虑的以及它所要考虑的限制条件限制条件; SRS 不仅是系统测试和用户文档的基础,也是所有子不仅是系统测试和用户文档的基础,也是所有子项目规划、设计和编码的基础项目规划、设计和编码的基础; SRS 应该应该尽可能完整地描述各种条件下的系统行为尽可能完整地

5、描述各种条件下的系统行为; SRS 不应该不应该包括设计、构造、测试或工程管理细节。包括设计、构造、测试或工程管理细节。8 编写需求文档编写需求文档8/338.2 SRS 的作用与编写原则的作用与编写原则 SRS作为产品需求的作为产品需求的最终成果最终成果必须包括所有的需求。必须包括所有的需求。 任何未写入任何未写入SRS中的需求,将中的需求,将不能不能作为协议的一部分,作为协议的一部分,并且并且不能不能在产品中出现。在产品中出现。 所有的参与者必须根据已所有的参与者必须根据已通过评审通过评审的需求来安排工作,的需求来安排工作,以避免不必要的返工和误解。以避免不必要的返工和误解。 高质量高质量

6、需求文档必须具有完整性、一致性、可修改性、需求文档必须具有完整性、一致性、可修改性、可跟踪性和可读性的特征。可跟踪性和可读性的特征。 必须在实现每个需求集之前将需求集纳入必须在实现每个需求集之前将需求集纳入基线基线。 8 编写需求文档编写需求文档9/338.3 SRS 的用途的用途不同的读者使用不同的读者使用SRS来达到不同的目的来达到不同的目的n客户、市场部、销售人员客户、市场部、销售人员根据它了解他们期望的产品;根据它了解他们期望的产品; n项目经理项目经理根据它估计项目的进度、工作量和所需资源;根据它估计项目的进度、工作量和所需资源;n开发团队开发团队根据它来了解需要开发什么样的产品根据

7、它来了解需要开发什么样的产品 ;n测试小组测试小组使用使用SRS来制定测试计划、测试用例和测试过程;来制定测试计划、测试用例和测试过程;n软件维护和支持人员软件维护和支持人员根据根据SRS了解产品的功能;了解产品的功能; n文档编写人员文档编写人员根据根据SRS和用户界面设计来编写用户手册和帮和用户界面设计来编写用户手册和帮助屏幕;助屏幕; n培训人员培训人员根据根据S R S和用户文档编写培训材料;和用户文档编写培训材料;n 公司律师公司律师根据根据SRS来确保该需求符合相关法律法规;来确保该需求符合相关法律法规;n分包商分包商根据根据SRS来进行完成分包任务。来进行完成分包任务。 8 编写

8、需求文档编写需求文档10/338.4 SRS编写方法编写方法1)需求的标识)需求的标识 为了保证为了保证SRS的可跟踪性和可修改性的质量标准,的可跟踪性和可修改性的质量标准,必须唯一标识每个软件需求。必须唯一标识每个软件需求。 下面的标识方法有不同的优缺点需要根据具体情况下面的标识方法有不同的优缺点需要根据具体情况进行选择:进行选择:l 序列号:赋予每个需求一个唯一的序列号序列号:赋予每个需求一个唯一的序列号l 层次型编码:对需求中主要的部分进行层次化编号,然后对层次型编码:对需求中主要的部分进行层次化编号,然后对于每个部分中的单一功能需求用一个简短文字代码加上一个于每个部分中的单一功能需求用

9、一个简短文字代码加上一个序列号来识别。序列号来识别。l 层次型文本标签。层次化文本标签是结构化的,具有语义上层次型文本标签。层次化文本标签是结构化的,具有语义上的含义,的含义, 并且不受增加、删除或移动其它需求的影响。并且不受增加、删除或移动其它需求的影响。8 编写需求文档编写需求文档11/338.4 SRS编写方法编写方法2)处理不完整性)处理不完整性 由于缺少特定需求的某些信息,将出现由于缺少特定需求的某些信息,将出现需求不确需求不确定定的问题。的问题。 在解决不确定性之前,必须与客户商议、检查外在解决不确定性之前,必须与客户商议、检查外部接口描述或者构建一个原型。部接口描述或者构建一个原

10、型。 使用使用“待确定待确定”(to be determined, TBD)符号来)符号来标记这些尚未确定的需求。标记这些尚未确定的需求。 在实现一个需求集之前,必须解决所有在实现一个需求集之前,必须解决所有TBD问题。问题。8 编写需求文档编写需求文档12/338.4 SRS编写方法编写方法3)用户界面和)用户界面和 SRS 用户界面的设计编入用户界面的设计编入SRS中既有好处也有坏处。中既有好处也有坏处。 由于屏幕图像和用户界面构架是系统设计,而不是用户由于屏幕图像和用户界面构架是系统设计,而不是用户需求,所以对它的关注可能使需求走入歧途。也限制了需求,所以对它的关注可能使需求走入歧途。也

11、限制了开发人员的发挥。开发人员的发挥。 但是探讨屏幕图像和用户界面有助于精化需求并使用户但是探讨屏幕图像和用户界面有助于精化需求并使用户对系统有亲和感和现实感,有助于用户需求的表述和交对系统有亲和感和现实感,有助于用户需求的表述和交流。流。 一个合理的权衡点是,在一个合理的权衡点是,在SRS中加入用户界面组件的概中加入用户界面组件的概念草图,而在实现时并不一定要精确地遵循这些草图模念草图,而在实现时并不一定要精确地遵循这些草图模型。型。8 编写需求文档编写需求文档13/338.4 SRS编写方法编写方法4)几点建议)几点建议 使语句和段落简短明了;使语句和段落简短明了; 采用主动语态的表达方式

12、;采用主动语态的表达方式; 尽量使用术语表来表达术语;尽量使用术语表来表达术语; 需求声明具有一致的风格;需求声明具有一致的风格; 明确特定的参与者;明确特定的参与者; 恰如其分的需求详细程度;恰如其分的需求详细程度; 尽量使用列表、数字、图表来表示信息;尽量使用列表、数字、图表来表示信息; 强调最重要的信息;强调最重要的信息; 避免使用有歧义的语句。避免使用有歧义的语句。 8 编写需求文档编写需求文档14/338.5 SRS 模板模板 软件开发组织应该在它们的项目中采用一种软件开发组织应该在它们的项目中采用一种或多种标准的或多种标准的SRSSRS的模板。的模板。 IEEEIEEE(电气和电子

13、工程师学会美国)标准(电气和电子工程师学会美国)标准83083019981998是一个结构好,适用性强、使用是一个结构好,适用性强、使用灵活的灵活的SRSSRS模板。模板。 根据根据IEEE 830IEEE 830标准改写并扩充的软件需求规标准改写并扩充的软件需求规格说明模板如下页图所示。格说明模板如下页图所示。8 编写需求文档编写需求文档15/338.5 SRS 模板模板1. 引言引言1 1.1 .1 目目 的的1.2 1.2 文档约定文档约定1.3 1.3 预期的读者和阅读建议预期的读者和阅读建议 1 1.4 .4 项目范围项目范围 1.5 1.5 参考资料参考资料X X XX X X系统

14、需求规格说明书系统需求规格说明书2. 总体描述总体描述2 2.1 .1 产品前景产品前景2.2 2.2 产品功能产品功能2.3 2.3 用户类和特征用户类和特征2.4 2.4 运行环境运行环境2.5 2.5 设计和实现上的限制设计和实现上的限制2.6 2.6 用户文档用户文档图图8.1 软件需求规格说明书模板软件需求规格说明书模板8 编写需求文档编写需求文档16/338.5 SRS 模板模板3. 系统特性系统特性3 3.1 .1 系统特性系统特性X X 3.X.13.X.1描述和优先级描述和优先级3.X.2 3.X.2 激励激励/ /响应序列响应序列3.X.3 3.X.3 功能性需求功能性需求

15、4. 外部接口需求外部接口需求 3 3.1 .1 用户界面用户界面 3 3.2 .2 硬件接口硬件接口3 3.3 .3 软件接口软件接口3 3.4 .4 通信接口通信接口X X XX X X系统需求规格说明书系统需求规格说明书5. 其他非功能需求其他非功能需求5 5.1 .1 性能需求性能需求5 5.2 .2 防护性需求防护性需求5 5.3 .3 安全性需求安全性需求5 5.4 .4 软件质量属性软件质量属性6. 其它需求其它需求附录附录A:术语表:术语表附录附录2:分析模型:分析模型附录附录3:待确定问题清单:待确定问题清单图图8.1 软件需求规格说明书模板软件需求规格说明书模板( 续续1

16、)8 编写需求文档编写需求文档17/338.5 SRS 模板模板没有模板没有模板的开发组织是不成熟的软件组的开发组织是不成熟的软件组织,没有织,没有熟练掌握熟练掌握模板的软件人员是不模板的软件人员是不成熟的软件开发人员。成熟的软件开发人员。编写优秀的需求文档没有现成固定的方编写优秀的需求文档没有现成固定的方法,最好是根据组织和个人的经验和项法,最好是根据组织和个人的经验和项目情况,对模板进行修改,采用目情况,对模板进行修改,采用应用模应用模板、适用为主;优化模板、实用为本板、适用为主;优化模板、实用为本的的原则编写文档。原则编写文档。8 编写需求文档编写需求文档18/338.6 数据字典数据字

17、典 数据字典数据字典:一个定义应用程序中使用的所有:一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据元素和结构的含义、类型、长度长度、格式、格式、度量单位、精度以及允许取值范围的度量单位、精度以及允许取值范围的数据逻数据逻辑的描述辑的描述。 数据字典可以把不同的需求文档和分析模型数据字典可以把不同的需求文档和分析模型紧密结合在一起。紧密结合在一起。 如果所有的开发人员在数据字典上取得一致如果所有的开发人员在数据字典上取得一致意见,那么就可以缓和集成性问题。意见,那么就可以缓和集成性问题。8 编写需求文档编写需求文档19/338.6 数据字典数据字典2) 数据字典的描述内容与格式数据

18、字典的描述内容与格式 按照软件工程的要求,在数据字典中需要按照软件工程的要求,在数据字典中需要对所有的数据元素、数据结构、数据流、对所有的数据元素、数据结构、数据流、数据存储分别进行描述。这样一来,会有数据存储分别进行描述。这样一来,会有许多内容重复。可以把它们归纳到数据结许多内容重复。可以把它们归纳到数据结构(组合项)或数据存储(也是一种复合构(组合项)或数据存储(也是一种复合型数据结构)进行统一描述,其描述内容型数据结构)进行统一描述,其描述内容与格式如下例所示。与格式如下例所示。8 编写需求文档编写需求文档20/338.6 数据字典数据字典2) 数据字典的描述内容与格式数据字典的描述内容

19、与格式结构名:物品目录结构名:物品目录别别 名:名:DW001组织方式组织方式:索引索引保存期限保存期限:永久永久权限:权限:键键字字否否可可空空否否缺缺省省值值唯唯一一否否组成及元素组成及元素类型类型(长度)(长度)取值范围与含义取值范围与含义名称名称别名别名基基本本属属性性物资编号物资编号WZBH C(9) 见见物资编码规则物资编码规则 YNY物资名称物资名称WZMCVC(16) NNN规格型号规格型号 GGXHVC(24) NNN计算单位计算单位JSDW C(6) NNN进货批量进货批量PLN(11.3)物品进货的最小批量物品进货的最小批量NY0N计划单价计划单价JHDJN(8.2) 物

20、品在企业内的核算价,精确到分。物品在企业内的核算价,精确到分。NNN管管理理属属性性ABC标志标志ABCC(1)取值取值:“A” “B” “C”,含义见物资管理含义见物资管理分类分类 NYCN当前库存当前库存 DQKC N(11.3) 该物品当前的库存量该物品当前的库存量NY0N最高储备最高储备 ZGCB N(11.3)该物品储备的最高限量该物品储备的最高限量NYN最低储备最低储备ZDCBN(11.3)该物品的保险存储量该物品的保险存储量NY0N末次出库日末次出库日 CKRQ D(8) 以以YYYYMMDD形式表示形式表示 ,N图图8.2 数据字典模板数据字典模板8 编写需求文档编写需求文档2

21、1/339.1 软件文档的重要性软件文档的重要性 从软件的定义来看从软件的定义来看:软件是计算机系统中与硬件软件是计算机系统中与硬件相互依存的另一部分,包括程序、相关数据和文档。相互依存的另一部分,包括程序、相关数据和文档。软软件件文文档档程程序序数数据据9 管理需求文档管理需求文档文档包括技术文档和管理文档,是软件不可分割的文档包括技术文档和管理文档,是软件不可分割的一部分。一部分。22/339.1 软件文档的重要性软件文档的重要性 从软件产生过程来看从软件产生过程来看:软件的产生从需求开始,软件的产生从需求开始,而需求的确定和实现,需要明确的、无二义性、而需求的确定和实现,需要明确的、无二

22、义性、可实现的文档来支撑。可实现的文档来支撑。从软件的生命周期来看从软件的生命周期来看:从软件的分析、设计、从软件的分析、设计、编码、测试到维护,参与的人员多,完成的任务编码、测试到维护,参与的人员多,完成的任务不同,没有可回溯的文档支撑,软件将面临极大不同,没有可回溯的文档支撑,软件将面临极大的风险。的风险。9 管理需求文档管理需求文档23/339.1 软件文档的重要性软件文档的重要性 典型需求开发的结果应该有项目视图和范围典型需求开发的结果应该有项目视图和范围文档、文档、use-case文档、文档、SRS及相关分析模型。及相关分析模型。 经评审批准,这些文档就定义了开发工作的经评审批准,这

23、些文档就定义了开发工作的需求基线(需求基线(baseline)。)。 这个基线在客户和开发人员之间就构筑了计这个基线在客户和开发人员之间就构筑了计划产品功能需求和非功能需求的一个约定。划产品功能需求和非功能需求的一个约定。9 管理需求文档管理需求文档24/339.2 需求管理的主要活动需求管理的主要活动需求约定是需求开发和需求管理之间的桥梁,需求管需求约定是需求开发和需求管理之间的桥梁,需求管理包括在工程进展过程中维持需求约定集成性和精确性理包括在工程进展过程中维持需求约定集成性和精确性的所有活动,如图所示。的所有活动,如图所示。需求管理需求管理变更控制变更控制l建议变更建议变更l分析影响分析

24、影响l作出决策作出决策l交流交流l合并合并l测量需求稳定性测量需求稳定性版本控制版本控制l确定需求文档确定需求文档版本版本l确定单个需求确定单个需求文档版本文档版本需求跟踪需求跟踪l定义对其它需求定义对其它需求的连接链的连接链l定义对其它系统定义对其它系统元素的连接链元素的连接链需求状态跟踪需求状态跟踪l定义需求状态定义需求状态l跟踪需求每一跟踪需求每一个状态个状态图图9.1 需求管理的主要活动需求管理的主要活动9 管理需求文档管理需求文档25/339.2 需求管理的主要活动需求管理的主要活动需求管理强调:需求管理强调:n控制对需求基线的变动控制对需求基线的变动 n保持项目计划与需求一致保持项

25、目计划与需求一致 n控制单个需求和需求文档的版本情况控制单个需求和需求文档的版本情况 n管理需求和联系链之间的联系或管理单个需求和管理需求和联系链之间的联系或管理单个需求和其它项目可交付品之间的依赖关系其它项目可交付品之间的依赖关系 n跟踪基线中需求的状态跟踪基线中需求的状态 9 管理需求文档管理需求文档26/339.3 需求管理步骤需求管理步骤 开发组织应该制定管理需求的步骤和方法,并实现开发组织应该制定管理需求的步骤和方法,并实现文档化和制度化。文档化和制度化。 管理需求的步骤应该考虑选择以下主题:管理需求的步骤应该考虑选择以下主题: n 用于控制需求文档和版本的工具、技术和做法。用于控制

26、需求文档和版本的工具、技术和做法。 n 建议、处理、协商、通告新的需求的方法和步骤。建议、处理、协商、通告新的需求的方法和步骤。n 变更需求的方法和步骤。变更需求的方法和步骤。 n 制定需求基线的方法。制定需求基线的方法。 n 需求状态的控制和变更方法。需求状态的控制和变更方法。 n 需求状态跟踪和报告过程需求状态跟踪和报告过程 。n 分析需求变更影响项目计划和约定的方法。分析需求变更影响项目计划和约定的方法。 9 管理需求文档管理需求文档27/339.4 SRS的版本控制的版本控制 版本控制版本控制是管理需求的一个必要方面,需求文档的是管理需求的一个必要方面,需求文档的每个版本必须被统一确定

27、,组内每个成员必须得到每个版本必须被统一确定,组内每个成员必须得到需求的当前版本。需求的当前版本。 必须清楚地将变更写成文档,并及时通知到项目开必须清楚地将变更写成文档,并及时通知到项目开发所涉及的人员。发所涉及的人员。 为了尽量减少困惑、冲突、误传,应该明确规定只为了尽量减少困惑、冲突、误传,应该明确规定只允许指定的人来更新需求。允许指定的人来更新需求。 每个公布的需求文档的版本应该包括一个修正版本每个公布的需求文档的版本应该包括一个修正版本的历史情况,包括已做变更的内容、变更日期、变的历史情况,包括已做变更的内容、变更日期、变更人的姓名以及变更的原因。更人的姓名以及变更的原因。 9 管理需求文档管理需求文档28/339.5 需求属性需求属性 除了文本,每个功能需求应该有一些相关信除了文本,每个功能需求应该有一些相关信息或称之为息或称之为属性属性与之相联系,这些属性为每与之相联系,这些属性为每个需求建立了一个上下文和背景资料。个需求建立了一个上下文和背景资料

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论