文档标识: |
当前版本: |
1.0 | ||||||||
当前状态: |
草稿 |
发布日期: |
2009-1-1 |
|||||||
发布 |
ü |
|||||||||
修改历史 |
||||||||||
日期 |
版本 |
作者 |
修改内容 |
评审号 |
变更控制号 |
|||||
1 引言
1.1 编写目的
本节描述编写该用户需求说明书的目的,并指出预期的读者。
1.2 项目背景
本节描述用户需求说明书中所定义的产品的背景和起源,以及同其他系统或其他机构的基本相互关系等。当在已有的系统上进行特性开发时,如果新特性与已有系统的特性之间存在关系,则应在本节说明其相互之间的关系。
1.3 术语定义
本节可列出本文件中用到的专门术语的定义、外文首字母组词的原词组等。
1.4 参考资料
本节列举编写用户需求说明书时所参考的资料或其他资源,这可能包括用户合同、公司规范、技术书籍等。在这里应该给出详细的信息,包括资料名称、版本号、作者、日期、出版单位或资料来源,以方便读者查阅这些文献,可用以下格式表示:
资料名称 |
版本号 |
作者 |
日期 |
出版单位/资料来源 |
备注 |
2 综合描述
2.1 产品介绍
本节简要描述产品的特性。
2.2 目标范围
本节简要描述产品的应用目标、作用范围等。
2.3 用户特性
本节可能包括本产品各类最终用户的特点,如操作、维护等人员的知识水平和技术专长等,也可能包括用户组织关系结构图以及组织、部门、岗位的隶属关系与职能。这将是后续工作的重要依赖条件。
2.4 约定假设
本节列举出在对软件用户需求说明书中影响需求陈述的假设因素(与已知因素相对立)。这可能包括将要使用的组件、特殊的用户界面设计约定、产品预期使用频度等。如果这些假设不正确、不一致或被更改,就会使项目受到影响。
3 用户需求(可剪裁)
每一项需求必须进行唯一标识,并给出该项需求的优先级。
需求优先级的定义,一般需要根据用户意见结合商业价值、交付成本、交付日期、复杂程度、风险等因素来进行考虑。高优先级需求表示本系统产品中必须实现的需求,中优先级需求表示必须但是根据时间情况有可能会被推迟到下一版本的产品中去实现的需求,低优先级需求表示如果没有充足的时间或资源就可以被放弃的需求。具体描述请参考《需求跟踪矩阵》!
需求编号方式可以根据项目实际情况进行自定义,也可以采用“项目代号”+“-”+“R”+“需求类型”+“序号”的形式。
其中“R”表示Requirement,“需求类型”可用下表表示,“序号”以自然数表示,位数不限。
需求类型 |
英文名称 |
中文名称 |
F |
Function |
功能 |
P |
Performance |
性能 |
D |
Data |
数据 |
U |
User Interface |
用户界面 |
I |
Interface |
接口 |
S |
Security |
安全 |
M |
Malfunction |
故障处理 |
O |
Other |
其他 |
示例:OLTP-RI5表示为OLTP项目的第5项用户界面需求。
3.1 总体需求(可剪裁)
描述项目总体需求,简述项目特性等内容。
3.2 内容需求(可剪裁)
按照内容(如产品包、组件等)展开用户需求。
4 功能需求
详细列出系统各模块/主题/子系统的功能需求。
提示:将功能性需求先粗分再细分,下表中的 Feature A, Function A.1等符号应当被替换成有含义的名称(可考虑加上需求的优先级别)。
在描述中要简要阐述该需求项将依赖于哪些需求项。
功能类别 |
标识符 |
子功能名称 |
描述 |
Feature A |
Function A.1 |
||
… |
|||
Feature B |
Function B.1 |
||
… |
|||
Feature C |
Function C.1 |
||
… |
产品包提示:针对本功能进行说明描述(包含其要做什么、什么流程、相关的财务、特殊要求、需要的数据等),可以采用相关的图表来更容易地表达信息。
① 功能描述:描述需求项的功能。
② 业务描述:描述该需求项的业务流程、相关的对象的状态、涉及到的业务角色等。
③ 数据描述:描述需求项的数据项、数据精度、输出的格式等要求。
④ 输入描述:描述该需求项的相关依赖(包括业务依赖和需求项的依赖)和输入条件。
⑤ 输出描述:描述需求功能执行后,相应的输出产物、数据、对象状态等。
4.1 数据需求(可剪裁)
详细列出系统的数据需求,可能包括数据类型、载体、格式、数值范围、精度、规模等需求。
4.2 接口需求(可剪裁)
详细列出系统的接口需求,可能包括与其他系统之间的接口、数据通信协议、内部模块之间的接口等需求。
4.3 权限控制需求(可剪裁)
4.3.1 系统安全要求(软硬件)
提示:说明对本产品系统的功能方面的安全的要求,如用户名密码加密、系统访问安全等。
4.3.2 用户角色
提示:阐述本产品的各种角色及其职责。各种角色的具体行为将在功能性需求中描述。角色例如:
系统管理员(SuperAdmin-Lowest Level)
内部操作管理员(OperatorAdmin-Mid Level)
外部操作管理员(ResellerAdmin-Midhigh Level)
终端用户管理员(UserAdmin – High Level)
角色名称 |
职责描述 |
4.3.3 角色权限控制
提示:描述上述各用户角色的权限控制要求
5 非功能需求
5.1 用户界面需求(可剪裁)
详细列出系统的界面需求,可能包括图形用户界面标准、产品系统风格、屏幕布局或解决方案的限制、快捷键、错误信息显示标准等。
5.2 性能需求(可剪裁)
详细列出系统的性能需求,可能包括时间特性要求、软件灵活性、容错性、容量需求等。
提示:说明本产品的整体性能必须达到程度,特别是一些关键功能点。
5.3 压力需求(可剪裁)
提示:说明本产品使用必须满足的压力峰值要求
5.4 主流技术应用需求(可剪裁)
提示:说明本产品需要使用何种主流技术。如果不清楚或不明白可以不填后面由项目开发组提出技术方案再进行选择。
5.5 安全需求(可剪裁)
详细列出系统的安全需求,可能包括安全设施需求和安全性需求等。
安全设施需求是指产品使用过程中可能发生的,与损失、破坏或危害相关的需求。定义必须采取的安全保护或动作,还有那些预防的潜在的危险动作。明确产品必须遵从的安全标准、策略或准则。一个安全设施需求的范例如下:“如果油箱的压力超过了规定的最大压力的95%,那么必须在1秒钟内终止操作”。
安全性需求是指与系统安全性、完整性或与私人问题相关的需求,这些问题将会影响到产品的使用和产品所创建或使用的数据的保护。定义用户身份确认或授权需求。明确产品必须满足的安全性或保密性策略。一个安全性需求的范例如下:“每个用户在第一次登录后,必须更改他的最初登录密码。最初的登录密码不能重用。
5.6 故障处理需求(可剪裁)
详细列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
5.7 环境需求(可剪裁)
详细列出各种环境需求,可能包括开发环境、测试环境、运行环境等需求。具体内容可能涉及到网络、服务器、数据库、前台、测试工具等的软件、硬件方面。
5.8 产品质量需求
描述产品预期达到的质量要求,包括多个质量特性,以下的质量属性仅为参考,各项目可以根据需要补充或删除某些质量特性。
主要质量属性 |
详细需求 |
正确性 |
|
可靠性 |
|
健壮性 |
|
性能、效率 |
|
易用性 |
|
清晰性 |
|
安全性 |
|
可扩展性 |
|
兼容性 |
|
可移植性 |
|
… |
5.9 其他需求(可剪裁)
详细列出在前文中没有包括的所有需求,可能包括用户对可维护性、可补充性、易读性、可移植性等方面的特殊需求,或者国际化或法律上的需求。
6 需求优先级
根据用户的需要程度,初步列出各需求的优先级,参见《需求跟踪矩阵》。
7 附加说明(可剪裁)
描述该用户需求说明书采集的方法,如访谈、现场体验、惯例综合等。
参见的竞争产品和相应的用户需求获取文档,如用户故事、需求采集表等类似文档。
Download: template-requirement-analysis.rar
REF:
http://www.mspsw.cn/wp-content/upload_s/2009/06/requirement-analysis-template.doc