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