1、修 改 人修改内容概要(或原因)修改日期版 本 号初稿1 文档说明文档位于1.1 编制目的1.2 适用范围1.3 前提与约束2 系统概述/本章对待开发的软件系统做出概要性阐述,说明开发背景、作用范围、运行环境和已知的约束条件。2.1 用户特点划分最终使用该软件系统的用户类别,描述不同用户类的特征(相关业务范围、技能水平、对系统的使用频率),注明哪些是重要用户。说明不同用户类对系统的哪些功能更加关注。/面对软件的众多用户(还可能是使用软件的不同角色),当他们的需求发生冲突时,首先考虑的应当是服从重要客户的需求,其余的需求可以考虑在下一版本实现。范例:班长坐席可能更关注统计等高级功能,这些功能通常
2、只需要一天使用一次,因此对快速响应的性能要求不高,但对数据的准确性有要求。2.2 运行环境/描述待开发软件运行时对硬件、操作系统和其它软件的要求,或者是一种限制条件。2.2.1 硬件平台说明硬件需求,包括每种设备的类型、数量、主要特性。(处理器型号及容量、设备型号)序号硬件相关组成描述数量2.2.2 支持软件指明必需使用或组合的计算机软件,包括操作系统、数据库管理系统、编程工具和其它支撑软件(通讯/网络软件、测试软件)。支持软件及版本用途参考资料2.2.3 通信环境说明计算机通讯要求,包括连接的地理位置、配置和网络拓扑、传输技术、数据传输速率、网管、系统响应时间、传输/接收数据类型和数据量、传
3、输/接收/响应时间界限、数据尖峰和数字特性。2.3 设计和执行约束说明约束软件实现的限制条件,如:必须使用或避免的特定技术、工具、编程语言和数据库;所要求的开发规范或标准(如约定的设计符号和编码标准);必须遵循的企业策略、政府法规或行业标准;特定资源限制(已有的软件组件、硬件设备);数据转换格式标准。/通常,出于系统优化、实现方便、容易维护等因素考虑,必须对以上做出必要的约束,设计和开发人员尤其要关注这些约束条件。约束有时是必需的,比如软件最终将由客户维护,或是必须与整个系统的风格相一致。2.4 假设和依赖说明在陈述以下的软件需求时,应用到的假设因素(与已知因素相对),比如打算要用的商业组件、
4、有关开发或运行环境的问题。确定软件开发活动对外部因素的依赖,例如,如果你打算把其他项目开发的组件集成到系统中,那么就要依赖那个项目组按时提供正确的组件组合进所开发的软件。/如果这些假设因素不正确、不同读者理解不一致或被随意修改,项目的成功就会受到影响;同样,依赖因素也影响着项目,如果比较严重,应当作为一种风险对之随时监控。/如果这些依赖已经记录到其它文档中,如项目计划,那么在此处就可以参考其它文档。3 外部接口需求/接口的正确识别和描述,有助于系统整体正确、高效运作。根据节2.1所示的系统总体结构图,唯一标识与系统其它部分的外部接口,描述经过每个接口的接口数据和相关控制组件。3.1 用户界面陈
5、述所需要的用户界面的软件组件。描述每个用户界面的逻辑特征。以下是可能要包括的一些特征:1. 将要采用的图形用户界面标准或产品系列的风格;2. 屏幕布局或解决方案的限制;3. 将出现在每个屏幕的标准按钮功能或导航链接,例如一个帮助按钮;4. 快捷键;5. 错误信息显示标准。3.2 软件接口对本软件与其它系统软件的每个接口进行描述,包括软件之间的交换数据或信息及其作用(注意说明哪些是共享数据)、需要的服务、内部通信性质,。/其它系统软件举例:数据库、操作系统、工具软件、集成的商业软件。/如果必须用一种特殊的方法来实现数据共享机制,就必须把它定义为一种实现上的限制,放入相应的章节。接口标识简要描述所
6、需服务数据和控制信息通信定义需求来源3.3 通信接口/描述与本软件所使用的通信功能相关的需求。电子邮件、Web 浏览器、网络通信标准或协议及电子表格等等。包括对消息格式、通信安全或加密问题、数据传输速率和同步通信机制等要求。4 功能需求/本章将分节描述软件系统必须实现的业务流程(使用实例),以及根据每个业务流程分解出来的详细的功能需求。4.1 需求类1名称 优先级别/对该需求特性做出简短的说明;并说明在资源限制下,实现的优先程度等级,必要时,对实现等级做出评价。/举例:4.1新员工登记管理 高优先级4.1.1 业务流程使用一种或几种最恰当的方式,如流程图、表或者UML语言等,来表述系统执行该需
7、求任务的输入/输出响应。4.1.2 功能需求/列出与该需求特性相关的详细功能需求。为了跟踪的需要,每个功能需求都要唯一标识。/如果某项功能需求与其它需求类所定义的功能需求相同,在此处引用说明即可,不能重复。4.1.2.1 功能需求1名称 唯一标识描述系统要实现的详细功能。功能陈述中应当包含为满足规定的性能要求而必须设立的功能要求。/性能需求包括:响应时间、更新处理时间、数据转换和传输时间、吞吐量、排序、精度、优先级、持续操作要求,还包括意外或边界条件下出错处理和应急操作要求等。5 非功能需求5.1 性能需求软件性能需求通常包括以下方面:1. 同时支持的最大用户数、同时支持操作的个数、某时刻能承
8、受的最大数据量、数据最大存储量、对系统运行时允许占用的系统资源要求;2. 系统持续运行时间、响应时间、数据更新处理时间、数据间的转换和传输时间、界面刷新处理时间的要求;3. 在不同安装/运行环境、不同操作方式下,或者与其它子系统接口发生改变时,某些数据和参数可以允许的变化范围。/软件应用的领域不同,对其性能的要求可能也不尽相同。即使是为客户量身定做的专用软件,客户对某些性能的要求或许比某个功能更加重要和严格。因此应当解释这种要求,以便做出合理的设计和优化的算法。/当这些性能要求已经分散到各项功能需求当中,这里的叙述就是不必要的。当有30个以上的用户同时对系统执行查询操作时,系统的相应时间应当不
9、多于2秒,页面刷新频率应当在0.2次/秒0.3次/秒。5.2 安全设施要求/阐述的是与使用软件过程中可能发生的损失、破坏或危害相关的需求,满足安全设计要求。说明为避免或减轻对相关人员、财产和物理环境产生危害,而必须采取的措施,以及为预防的潜在的危险动作而必须遵从的安全标准、策略或规则。如果软件系统探知配电室的最高温度超过了35度,软件必须立刻同时启动三台冷风空调。5.3 安全和保密要求说明与系统安全性、完整性和保密性相关的需求,明确产品必须满足的安全保密策略。/例如:防止非法访问系统功能及数据丢失而要求用户身份确认,防止病毒入侵和黑客进攻而增加的警告拦截等功能。5.4 质量要求说明其它的软件质
10、量属性要求(可能从合同中或系统需求中导出,对用户来说至关重要)。这些特性应当是确定的、定量的、并在必要时可验证。如果这些属性之间发生了冲突,指明相对的侧重点是什么。质量属性通常如下:可靠性(软件能够无故障的运行一段时间的概率)、可维护性(对软件进行修改的难易程度修改所用时间、修复的比率)、有效性(软件正常运行时间/总时间)、可用性(掌握软件操作的难易程度)、重用性、可测试性(查找缺陷的难易程度)、可移植性等。/如,可靠性优于可维护性。5.5 业务规则(选)/对软件本身的操作规则,通常可以在某些功能需求中体现。5.6 其它需求/定义在软件需求说明书中其它部分未出现的需求,例如国际化需求或法律上的需求。还可以增加有关操作、管理和维护部分来完善产品安装、配置、启动和关闭、修复和容错,以及登录和监控操作等方面的需求。还可包括对于交付的产品文档的要求、培训要求、开发进度要求等等。/如果不需要增加其它需求,可以省略这一部分。6 需求分解列表/将上述需求分解到不可拆分的细项,并为每一个细项分配编号。分解列表会作为设计和测试依据。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1