XM-202-2008 软件需求管理V1
需求管理过程
![需求管理过程](https://img.taocdn.com/s3/m/b9684a2d336c1eb91a375d8e.png)
需求管理过程本文件属深圳天源迪科信息技术股份有限公司所有,未经书面许可,不得以任何形式复印或传播。
2008-1-31发布 2008-2-18 实施文件建立/修改记录目录1 简介 (4)1.1 目的 (4)1.2 适用范围 (4)1.3 背景描述 (4)1.4 术语表 (4)1.5 参考资料 (5)2 总体描述 (5)2.1 概述 (5)2.2 职责分工 (5)2.3 结构描述 (6)3 活动描述 (7)3.1 需求培训 (7)3.2 建立需求跟踪矩阵 (8)3.3 维护需求跟踪矩阵 (9)3.4 检查一致性 (10)3.5 采取更正行动 (11)3.6 需求变更管理 (12)4 附录 (13)4.1 附录A-相关过程 (13)4.2 附录B-相关规范、指南 (13)4.3 附录C-相关模板列表 (13)1简介1.1目的制定需求管理过程的目的是管理产品和组件的需求,识别需求与项目计划及工作产品之间的不一致,有效地控制需求变更、以及跟踪需求的演进,指导项目组管理需求。
1.2适用范围本过程适用于公司所有的软件项目,贯穿项目的整个生命周期。
1.3背景描述无。
1.4术语表●软件需求:用户解决某一问题或者得到某一目标所需的软件功能。
●基线:基线是经过评审和批准的配置项的集合,其作用是明确划分项目各阶段,确定各阶段的结束点。
在项目的开发过程中,最基本的基线有需求基线、开发基线、发布基线等。
●配置控制委员会(Configuration Control Board):简称CCB,是确定配置基线,评估、批准变更,并保证已批准变更的实施的组织。
●需求变更:需求变更主要来自三个方面-客户、高层和开发人员。
因此,无论哪一方面提出需求变更的要求,都应当对变更请求进行评估。
需求变更通常包括三项内容:新增需求、修改需求、删除需求。
每一种变更都可能影响到其他需求的变化,因此在进行变更时需要利用需求跟踪记录。
●需求跟踪:需求跟踪主要是跟踪需求及其实现之间的一致性,需求跟踪通过管理需求跟踪记录来进行。
软件项目需求说明书(模板)
![软件项目需求说明书(模板)](https://img.taocdn.com/s3/m/28d38671366baf1ffc4ffe4733687e21af45ff38.png)
中央国家机关住房资金管理中心管理信息系统需求说明书(范本)中央国家机关住房资金管理中心二○一○年月日文档修改历史记录目录1概述 (3)1.1引言 (3)1.1.1 软件项目名称 (3)1.1.2软件项目开发背景和目的 (3)1.1.3软件项目应用范围 (3)1.2参考资料 (3)1.3术语定义 (3)2 功能一 (4)2.1功能分解一 (4)2.1.1定义 (4)2.1.2功能表述 (4)2.1.3性能要求 (4)2.1.4相关表单 (4)2.1.5流程图 (5)2.1.6特殊要求 (5)2.2功能分解二 (5)2.3特殊要求 (5)3 附录 (5)1概述1.1引言(本需求说明书的编写目的以及阅读对象)1.1.1 软件项目名称(说明软件项目全称和简称)1.1.2软件项目开发背景和目的(简述软件项目开发背景和目的以及实现了哪些大的功能)1.1.3软件项目应用范围(叙述软件项目主要使用的范围、使用者等)1.2参考资料(本需求说明书的参考资料,包括法律法规、政策文件、国家标准、制度规范等)1.3术语定义(逐个定义重要术语,没有可以不写本条)2 功能一(定义本软件项目实现的一级功能及其内涵,一个软件项目由多个一级功能组成)2.1功能分解一2.1.1定义(说明功能分解一的含义以及实现过程)2.1.2功能表述(逐一列出对本功能分解一的各项功能表述,每项功能均需详细描述,并使读者没有歧义,描述方式可以为:输入什么、输出什么、需要系统如何加工等)2.1.3性能要求(详细列出对本功能分解一的系统性能要求,如:系统数据校验、缺省项判断、系统反应时间、操作的便捷性、错误或故障的处理、系统的接口等)2.1.4相关表单(详细列出本功能分解一涉及的相关表单)2.1.5流程图(功能分解一实现过程的流程图)2.1.6特殊要求(详细列出功能分解一的特殊要求,如无,可以不列)2.2功能分解二……2.3特殊要求(详细列出功能一的特殊要求,如无,可以不列)3 附录示例:中央国家机关住房资金管理中心售房款管理信息系统需求说明书中央国家机关住房资金管理中心二○○九年二月十九日文档修改历史记录目录1概述1.1引言为了更好地实现售房款管理信息系统的各项功能,经资金中心和开发公司双方认真交流讨论,拟定本需求说明书,它也是售房款管理信息系统设计开发、用户测试的重要依据。
UML工具介绍(2010年主流UML工具)
![UML工具介绍(2010年主流UML工具)](https://img.taocdn.com/s3/m/58b13e1a6bd97f192279e9bf.png)
免费
2
C++, Java, IDL,
PHP
30 天试用
Unix/Linux/Solari s, MacOS X , Windows
支持 C++和 Java 编写的插件。 版本更新频率很快。
MagicDraw 17.0
推荐√
MetaEdit+ 4.5
No Magic, Inc. /
MetaCase Consulting(芬兰) /
在线
30 天试用 1.5
√ Java
30 天试用
Java
Windows
Java
Java
有免费版 2
有试用版
Eclipse
、√
VS2005/2008/201
0
Windows
2
C++、Java、Delphi √ Mac
和 IntelliJ IDEA 紧密集成。 2008 年以后不再更新。
提供 RUP 桥接(RUP-Bridge) 技术,RUP 剪裁和部署工具。
基于 UML 的图形编程环境, 自动保持类图和 Java 代码同 步。支持 Hibernate。
Grant Skinner /gmodeler/app/run.html
Alphonce /index.html
Windows, FreeBSD
有试用版
Eiffel
Linux, MacOS, 按契约设计的工具,基于简化
/products/studio/
Enterprise Architect 8.0
软件需求规格说明(规范)
![软件需求规格说明(规范)](https://img.taocdn.com/s3/m/11de430c59eef8c75fbfb3cb.png)
GC508.04 密级:(软件项目名称)软件需求规格说明标识:版本:页数:拟制:SQA审核:审核:批准:拟制部门:年月日修改文档历史记录:日期版本说明修改人目录1 范围 (1)1.1 标识 (1)1.2 系统概述 (1)1.3 文档概述 (1)2 引用文档 (1)3 需求 (1)3.1 要求的状态和方式 (1)3.2 CSCI能力需求 (2)3.2.X(CSCI能力) (2)3.3 CSCI外部接口需求 (2)3.3.1 接口标识和接口图 (2)3.3.X(接口的项目唯一的标识符) (2)3.4 CSCI内部接口需求 (3)3.5 CSCI内部数据需求 (3)3.6 适应性需求 (3)3.7 安全性需求 (3)3.8 保密性需求 (3)3.9 CSCI环境需求 (4)3.10 计算机资源需求 (4)3.10.1 计算机硬件需求 (4)3.10.2 计算机硬件资源使用需求 (4)3.10.3 计算机软件需求 (4)3.11 软件质量因素 (4)3.12 设计和实现约束 (4)3.13 人员需求 (4)3.14 培训需求 (4)3.15 后勤保障需求 (4)3.16 其它需求 (4)3.17 验收、交付和包装需求(修改有关内容) (4)3.18 需求的优先顺序和关键程度 (5)4 合格性规定 (5)5 需求可追踪性 (5)6 注释 (5)1 范围1.1 标识【本条应描述本文档所适用的系统和软件的完整标识,适用时,包括其标识号、名称、缩略名、版本号及发布号。
】1.2 系统概述【本条应概述本文档所适用的系统和软件的用途。
它还应描述系统与软件的一般特性;概述系统开发、运行和维护的历史;标识项目的需方、用户、开发方和保障机构;标识当前和计划的运行现场;列出其它有关文档。
】1.3 文档概述【本条应概述文档的用途和内容,并描述与它的使用有关的保密性方面的要求。
】2 引用文档【本章应列出引用文档的编号、标题、编写单位、修订版及日期,还应标识所有不能通过正常采购活动得到的文档的来源。
(完整版)《软件项目管理》文档模板DOC
![(完整版)《软件项目管理》文档模板DOC](https://img.taocdn.com/s3/m/7e9a56a858fb770bf68a5564.png)
附录1 会议纪要模版《软件项目管理》案例讨论第组会议纪要主持人:记录人:参加人员:讨论地点:讨论时间:附录2 章节知识综合运用案例分析报告文档模版××项目案例分析(注意:有话则长,无话则短,内容格式不是唯一的,合适的就是最好的,内容切忌面面俱到,突出重点。
案例格式根据自己编写的内容进行调整、裁减或增加,注意内容与标号要一致。
内容要么不写,要写就要写完整。
以下框架仅供参考)一、项目概况1.1项目简介1.2 项目特点(或基本数据)1.3项目承包方二、项目范围确定2.1项目目标项目主要目标:1.2. …2.2 项目描述为了使项目各相关方和项目团队成员准确理解项目内容,明确项目目标,对本项目进行描述,见表2-1。
(内容未包括以下全部)表2-1××项目描述2.3 项目重大里程碑本项目里程碑有以下个:1.2.…根据项目工期要求,编制的里程碑计划,如表2-2所示。
(可参考P91)表2-2 ××项目里程碑计划三、项目工作分解四、3.1工作分解结构在对项目工作描述后,为顺利完成这些工作,确定项目的人员的职责范围、进行项目估算等内容,编制工作分解结构图。
见图3-1为本项目工作分解结构图。
{注:表格方框中的1行字应该全部换成项目具体活动的具体名称}3.2 项目的任务描述在项目分解完成后,为了使项目团队成员更准确的理解项目所包含的各项的具体内容和要求,对本项目工作进行描述。
其具体内容见表3-1所示。
表3-1 工作(或任务)描述领导签字:日期:200 年月日3.3 项目组织形式与责任矩阵3.3.1项目组织形式本项目的组织形式为形式,其结构见下图3-2所示。
图3-2 ××组织结构图(尚需补充与完善)3.3.2项目责任分配为了使项目团队成员清晰地了解项目中每一个任务的责任承担情况,并能在相互之间关于项目任务内容进行有效地沟通,并对在项目执行过程中进行有小的监督与管理,本项目部采用责任分配矩阵对参与项目各方的责任进行表述。
信息安全技术信息系统安全等级保护测评要求
![信息安全技术信息系统安全等级保护测评要求](https://img.taocdn.com/s3/m/58081765915f804d2a16c11d.png)
信息安全技术信息系统安全等级保护基本要求引言依据《中华人民共和国计算机信息系统安全保护条例》(国务院147号令)、《国家信息化领导小组关于加强信息安全保障工作的意见》(中办发[2003]27号)、《关于信息系统安全等级保护工作的实施意见》(公通字[2004]66号)和《信息安全等级保护管理办法》(公通字[2007]43号)等有关文件要求,制定本标准。
本标准是信息安全等级保护相关系列标准之一。
与本标准相关的系列标准包括:——GB/T 22240-2008 信息安全技术信息系统安全等级保护定级指南;——GB/T 22239-2008 信息安全技术信息系统安全等级保护基本要求;——GB/T AAAA-AAAA 信息安全技术信息系统安全等级保护实施指南。
一般来说,信息系统需要靠多种安全措施进行综合防范以降低其面临的安全风险。
本标准针对信息系统中的单项安全措施和多个安全措施的综合防范,对应地提出单元测评和整体测评的技术要求,用以指导测评人员从信息安全等级保护的角度对信息系统进行测试评估。
单元测评对安全技术和安全管理上各个层面的安全控制点提出不同安全保护等级的测评要求。
整体测评根据安全控制点间、层面间和区域间相互关联关系以及信息系统整体结构对信息系统整体安全保护能力的影响提出测评要求。
本标准给出了等级测评结论中应包括的主要内容,未规定给出测评结论的具体方法和量化指标。
如果没有特殊指定,本标准中的信息系统主要指计算机信息系统。
在本标准文本中,黑体字的测评要求表示该要求出现在当前等级而在低于当前等级信息系统的测评要求中没有出现过。
信息系统安全等级保护测评要求1 范围本标准规定了对信息系统安全等级保护状况进行安全测试评估的要求,包括对第一级信息系统、第二级信息系统、第三级信息系统和第四级信息系统进行安全测试评估的单元测评要求和信息系统整体测评要求。
本标准略去对第五级信息系统进行单元测评的具体内容要求。
本标准适用于信息安全测评服务机构、信息系统的主管部门及运营使用单位对信息系统安全等级保护状况进行的安全测试评估。
需求管理 Microsoft Word 文档
![需求管理 Microsoft Word 文档](https://img.taocdn.com/s3/m/d300b1e8856a561252d36f2d.png)
需求管理因业务需要,“中科永联”正式更名为“中程在线”,欢迎大家浏览新网站“中程在线信息产业培训网”中科永联高级技术培训中心()需求管理(Requirement management)是完整管理模式中的一环,同其他特性诸如完整性、一致性等不可分割,彼此相关而成一体。
一套需求管理应当是已知系统需求的完整体现,每部分解决方案都是对总体需求一定比例的满足(甚至是充分满足),仅仅解决部分需求是没有意义的。
对关键需求的疏忽很可能是灾难性的,试想一架飞机的安全设计不过关将会带来什么样的后果。
不同的需求组合起来,构成了一套完整的需求模型。
用户需求决定了系统设计所要解决的问题,所要带来的结果。
可以说,需求管理指明了系统开发所要做和必须做的每一件事,指明了所有设计应该提供的功能和必然受到的制约。
需求管理的过程,从需求获取开始贯于整个项目生命周期,力图实现最终产品同需求的最佳结合。
通过对需求管理在项目进程中实施的不同任务进行分析,我们可以看出需求管理所起的作用。
需求管理本就是一个动态的过程,离开了能动的、变化的系统进程而空谈需求管理,无异于纸上谈兵。
需求管理恰如裁缝的量体裁衣,它直接关系到最终产品的成型。
仅从字面出发,如果一个产品满足了客户需求,那它无疑就是成功的。
需求管理的过程,从需求分析开始贯穿整个项目始终,力图实现最终产品同需求性的最佳结合(参见Figure 1)。
通过对需求管理在项目进程中实施的不同任务进行分析,我们可以看出需求管理所起的作用。
需求管理能够确证:●我们确知客户的需求是什么(质量);●满足客户需求的最佳解决办法(统一性);著名学者Crosby对于质量的定义是"同需求保持统一"。
从这个意义上说,需求管理正是从质量出发以确定需求。
每个人都应当始终明白他们所做的具体任务其意义何在。
然而,在一个产品的生命周期里,其需求性是能动的,是处于变化之中的。
对于系统工程没有严格统一的定义,因此很难找到足够的数据以说明系统工程所起的作用。
粮油储藏 粮情测控系统 第3部分:软件
![粮油储藏 粮情测控系统 第3部分:软件](https://img.taocdn.com/s3/m/cf16559c77eeaeaad1f34693daef5ef7bb0d126b.png)
粮油储藏粮情测控系统第3部分:软件1 范围本文件规定了粮情测控软件(以下简称软件)的术语和定义、型号编制、基本要求、软硬件接口的技术要求、用户界面、软件系统功能、软件测试和软件升级等技术要求。
本文件适用于粮油储藏中的粮情测控软件。
2 规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。
其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 2887 计算机场地通用规范GB/T 8567 计算机软件文档编制规范GB/T 9386 计算机软件测试文件编制规范GB/T 16680 系统与软件工程用户文档的管理者要求GB/T 26882.1 粮油储藏粮情测控系统第1部︰通则GB/T 26882.2 粮油储藏粮情测控系统第2部︰分机GB/T 26882.4 粮油储藏粮情测控系统第4部︰信息交换接口协议GB 50174 数据中心设计规范LS/T 1201 磷化氢环流熏蒸技术规程LS/T 1202 储粮机械通风技术规程LS/T 1204 谷物冷却机低温储粮技术规程3 术语和定义下列术语和定义适用于本文件。
3.1粮情测控软件software for monitoring and control system of stored-grain condition 利用现代电子技术和计算机技术,对粮油储藏过程中影响粮情变化因素进行实时监测、数据处理、智能分析并对相关设备予以控制的软件系统。
3.2数据处理data processing对数据(包括数值的和非数值的)进行分析和整理、计算、编辑等加工的技术过程。
3.3智能分析intelligent analysis对采集到的数据(包括数值的和非数值的),依据粮情分析模型,对粮情进行实时研究判断的过程。
注:包括各种原始数据的处理、修正、模型的学习等。
4 型号编制 4.1 编制原则按系统特征码、厂家代码及产品序号等进行编制。
需求管理(RM)规范
![需求管理(RM)规范](https://img.taocdn.com/s3/m/6e0c3a52f01dc281e53af0dc.png)
1
需求管理规范
2 需求管理介绍
2.1 软件需求分析的原因
一个不能进行一项基本操作的软件产品是多么令人烦恼, 尽管开发者最终会 满意你的要求,你也不会感激,但从开发者角度来看,在整个系统已经完成后, 用户再提出对功能的进一步要求是多么烦人的事。其实,在软件开发中遇到的许 多问题,都是由于收集、编写、协商、修改产品需求过程中手续和方法失误带来 的。 软件项目中百分之 40 至 60 的问题是在需求分析阶段埋下的“祸根” ,可仍 那些基本的项目功能上采用一些不合规范的方法,这样导致的后果便是:开发者 开发的与用户所想得到的软件存在着巨大期望差异。 对于我们开发人员来说,并没有编写出客户认可的需求文档,我们如何知道 项目于何时结束?而如果我们不知道什么对客户来说是重要的, 那我们又如何能 使客户感到满意呢?即使并非出于商业目的的软件需求也是必须的。
CCCCCCC 网络技术(北京)有限 公司 需求管理规范
(软件需求管理规范)
规定项目应遵循的需求管理规范
CCCCCCC 网络技术(北京)有限公司
1
版本 A B C D
日期
说明
编写者
审核者
备注
本文件的初稿 最有限公司需求管理规范
目录
1 概述............................................................................................................................ 1 1.1 本文件的目的.................................................................................................. 1 1.
软件项目开发和管理规范V1
![软件项目开发和管理规范V1](https://img.taocdn.com/s3/m/d352163c4531b90d6c85ec3a87c24028915f8527.png)
版本 V1.0项目编号记录号[2022]-公文001 号总页数24 页正文22 页编制2022 年 1 月15 日文件编号文件版本附录审核GLGF-RJ-ZZTXV1.0密级机秘年月日1. 软件项目管理概述 (3)2. 软件项目管理过程 (3)3. 软件项目管理内容 (5)3.1. 需求阶段管理 (5)3.2. 设计阶段管理 (7)3.3. 开辟阶段管理 (7)3.4. 测试阶段管理 (8)3.5. 维护阶段管理 (8)3.6. 工具管理 (8)3.7. 软件项目估算与进度管理 (9)3.7.1. 软件项目估算 (9)3.7.2. 进度安排 (10)软件项目管理是软件工程和项目管理的交叉学科,软件项目管理的概念涵盖了管理软件产品开辟所必须的知识、技术及工具。
根据美国项目管理协会PMI 对项目管理的定义可以将软件项目管理定义为:在软件项目活动中运用一系列知识、技能、工具和技术,以满足软件需求方的整体要求。
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。
实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开辟人员的个人开辟能力转化成企业的开辟能力,企业的软件开辟能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。
软件生存周期包括可行性分析与项目开辟计划、需求分析、设计 (概要设计和详细设计)、编码、测试、维护等活动,所有这些活动都必须进行管理,在每个阶段都存在着权限角色控制、文档管理、版本控制、管理工具等,软件项目管理贯通于软件生命的演化过程之中。
为保证软件项目获得成功,必须对软件开辟项目的工作范围、要完成的任务、需要的资源、需要的工作量、进度的安排、可能遇到的风险等做到心中有数。
软件项目的管理工作开始于技术工作开始之前,在软件从概念到实现的过程中持续进行,最后终止于软件开辟工作结束。
根据公司的实际情况,结合软件工程及软件过程标准等,特制定我公司软件项目管理流程如下:注:带书名号《》的为项目开辟过程中需提交的文档。
IT软件项目需求受理标准
![IT软件项目需求受理标准](https://img.taocdn.com/s3/m/f9af2b00240c844768eaee98.png)
IT软件项目需求受理标准
发放范围:公司各部门、IT部、各部门IT接口人
文件批准Approval Record
修订记录Chang Record:
1.目的Objective
提供IT项目需求受理标准,确保:
◆遵循业务&IT规划,保障IT资源能够有序和稳定的投入
◆稳定、有序的IT需求开发,能一定程度保障业务运作连续性
◆充分的业务准备,能一定程度保障需求的快速、高质量实现
◆有限的IT资源集中和优先解决重要的业务问题
◆遵循IT环境和标准,能一定程度保障需求合理实现,避免重复建设
2.适用范围Scope
适用于XXX所有IT项目。
3.定义和缩写Definition
无。
4.职责Responsibilities
5.IT项目需求受理标准---总体标准
6.IT项目需求受理标准----工作流标准。
00-PMBOK第六版_中文版(带完整目录)
![00-PMBOK第六版_中文版(带完整目录)](https://img.taocdn.com/s3/m/295ccce3b0717fd5360cdce0.png)
目录
第一部分 项目管理知识体系指南(PMBOK® 指南) 1. 引论............................................................................................................................................ 1
2. 项目运行环境......................................................................................................................... 37 2.1 概述................................................................................................................................. 37 2.2 事业环境因素................................................................................................................ 38 2.2.1 组织内部的事业环境因素............................................................................... 38 2.2.2 组织外部的事业环境因素............................................................................... 39
2024年软件资格考试软件过程能力评估师(中级)(基础知识、应用技术)合卷试卷与参考答案
![2024年软件资格考试软件过程能力评估师(中级)(基础知识、应用技术)合卷试卷与参考答案](https://img.taocdn.com/s3/m/f0f02a515b8102d276a20029bd64783e09127da8.png)
2024年软件资格考试软件过程能力评估师(基础知识、应用技术)合卷(中级)模拟试卷(答案在后面)一、基础知识(客观选择题,75题,每题1分,共75分)1、题干:在软件开发生命周期中,以下哪个阶段是对软件需求进行详细描述和记录的阶段?A、需求分析B、系统设计C、编码实现D、测试验证2、题干:在软件过程能力成熟度模型(CMM)中,哪个级别代表了组织已经建立了稳定和有效的软件过程?A、初始级(Level 1)B、可重复级(Level 2)C、已定义级(Level 3)D、管理级(Level 4)3、软件过程能力成熟度模型(CMM)的五个级别分别是什么?4、在软件项目管理中,敏捷开发方法与传统瀑布模型相比,主要区别是什么?5、在软件工程中,以下哪项不是软件开发生命周期模型的一种?A. 水晶模型B. 瀑布模型C. 快速原型模型D. 螺旋模型6、在软件质量保证过程中,以下哪个阶段通常不涉及软件质量保证活动的开展?A. 需求分析B. 设计阶段C. 编码阶段D. 测试阶段7、软件过程能力成熟度模型(CMM)将软件开发过程分为几个成熟度等级?8、在软件工程中,敏捷开发方法与传统瀑布模型相比,具有哪些特点?9、在软件过程能力成熟度模型(CMM)中,哪一级别代表了组织已经建立了稳定的软件开发过程,并能够重复成功实施这些过程?A. CMM Level 1 - 初级B. CMM Level 2 - 可重复C. CMM Level 3 - 已定义D. CMM Level 4 - 管理级 10、以下哪项不是软件项目风险管理的关键步骤?A. 风险识别B. 风险分析C. 风险监控D. 风险实施11、在软件过程能力成熟度模型(CMM)中,哪个级别代表软件组织已建立了稳定的软件开发过程,并能够对过程进行定量评估?12、软件开发生命周期(SDLC)中的“需求分析”阶段的主要目标是?13、软件过程能力成熟度模型(CMM)中,哪个级别定义了软件过程的量化管理?A. CMM Level 1:初始级B. CMM Level 2:可重复级C. CMM Level 3:已定义级D. CMM Level 4:管理级14、在软件质量保证(SQA)中,以下哪项不是SQA的基本活动?A. 软件审查B. 软件测试C. 软件需求分析D. 软件设计15、在软件过程能力成熟度模型(CMM)中,第几个级别的组织已经建立了一套标准化的过程,并使用这些标准来指导所有项目的软件过程?A. 1级B. 2级C. 3级D. 4级16、敏捷开发中的“故事”(Story)通常由以下几个部分组成,除了以下哪一项?A. 用户故事B. 故事点C. 故事优先级D. 故事角色17、在软件过程能力成熟度模型(CMM)中,以下哪个阶段代表了组织已经建立了有效的过程管理机制,能够持续改进其软件过程?A. CMM Level 2:已管理级B. CMM Level 3:已定义级C. CMM Level 4:量化管理级D. CMM Level 5:优化级18、软件开发生命周期模型中,以下哪个模型特别适合于那些需求变化频繁的项目?A. 水平模型B. 瀑布模型C. 快速原型模型D. 顺序模型19、在软件过程能力成熟度模型(CMM)中,哪一级别代表了软件组织已经建立了有效的软件过程?A. CMM1-初始级B. CMM2-可重复级C. CMM3-已定义级D. CMM4-管理级 20、在软件开发生命周期中,哪个阶段的主要任务是定义软件需求、系统功能和性能要求?A. 需求分析阶段B. 设计阶段C. 实现阶段D. 测试阶段21、在软件过程能力成熟度模型CMM中,以下哪个级别表示组织已经建立了稳定的软件过程,能够重复以往的成功?A. CMM Level 2 - 管理级B. CMM Level 3 - 定义级C. CMM Level 4 - 管理级D. CMM Level 5 - 优化级22、以下哪项不是软件过程改进的常见目标?A. 增加产品质量和可靠性B. 减少软件开发成本C. 提高开发人员的满意度D. 缩短项目周期23、在软件开发生命周期中,以下哪个阶段最容易出现需求变更?A. 需求分析阶段B. 设计阶段C. 编码阶段D. 测试阶段24、敏捷开发方法中,以下哪个原则强调了“响应变化比遵循计划更加重要”?A. 客户合作B. 快速反馈C. 极限编程D. 精益软件开发25、软件过程能力评估师在进行软件过程评估时,通常会使用哪些评估模型?A. CMMI(能力成熟度模型集成)B. ISO/IEC 15504(SPICE)C. Six SigmaD. All of the above26、在CMMI模型中,哪一级别代表组织在软件过程管理方面达到了较为成熟的水平?A. Level 1 - 初级B. Level 2 - 管理级C. Level 3 - 定义级D. Level 4 - 管理级27、在软件开发生命周期中,以下哪个阶段主要是对软件需求进行分析和定义?A. 设计阶段B. 实施阶段C. 需求分析阶段D. 测试阶段28、在软件质量保证过程中,以下哪项措施不属于静态测试方法?A. 单元测试B. 代码审查C. 代码覆盖率分析D. 系统测试29、在软件开发生命周期中,以下哪项不属于软件需求分析阶段的活动?A. 需求获取B. 需求分析C. 需求规格说明D. 需求确认 30、在软件过程能力成熟度模型CMMI中,哪项指标表示软件项目在执行过程中能够按照计划进行?A. 过程性能B. 过程能力C. 过程成熟度D. 过程稳定性31、软件过程能力评估(SPC)中的“关键过程区域”(KPA)指的是什么?32、在软件过程改进模型CMMI中,哪个级别代表了软件组织已经建立了有效的过程管理机制?33、在软件过程中,以下哪项活动不属于软件开发生命周期(SDLC)的典型阶段?A. 需求分析B. 设计C. 编码D. 维护34、在软件质量保证(SQA)中,以下哪种方法用于验证软件产品符合既定的需求规格?A. 软件评审B. 软件测试C. 软件审查D. 软件审查与测试35、在软件生命周期中,哪个阶段主要关注软件的需求分析和定义?A. 可行性研究阶段B. 需求分析阶段C. 设计阶段D. 测试阶段36、软件过程能力成熟度模型(CMM)将软件过程能力分为几个等级?A. 5个B. 6个C. 7个D. 8个37、题干:在软件开发生命周期中,以下哪项不属于软件设计阶段的活动?A. 需求分析B. 系统设计C. 构建用户界面D. 编码实现38、题干:以下哪项是软件过程评估中常用的评估方法?A. 软件质量模型B. 系统需求分析C. 软件质量保证D. 软件过程能力成熟度模型39、在软件过程中,以下哪个阶段是软件项目进入正式开发之前的阶段?A. 需求分析B. 设计阶段C. 验收阶段D. 可行性研究 40、敏捷开发方法的核心价值观之一是?A. 客户满意度最大化B. 频繁迭代与快速反馈C. 高度文档化D. 强调团队协作41、在软件过程能力成熟度模型(CMM)中,第几个成熟度级别的关键过程区域(KPA)包括了“需求管理”?A. 1级B. 2级C. 3级D. 4级42、在软件开发生命周期(SDLC)中,以下哪个阶段不是必须的?A. 需求分析B. 系统设计C. 编码D. 测试43、在软件过程能力成熟度模型(CMM)中,哪个级别代表了组织对软件过程进行系统化的管理,并能够对项目进行有效监控和评估?A. CMM Level 2:已管理级B. CMM Level 3:已定义级C. CMM Level 4:已定量管理级D. CMM Level 5:持续过程改进级44、以下哪项不是软件开发生命周期(SDLC)的典型阶段?A. 需求分析B. 设计C. 编码D. 测试E. 发布与维护45、在软件过程中,以下哪项不是软件质量保证的关键活动?A. 软件测试B. 软件审查C. 软件配置管理D. 软件维护46、以下关于软件项目管理中风险管理的说法,正确的是:A. 风险管理是软件项目管理中的一个可选活动B. 风险管理应该在整个软件生命周期中持续进行C. 风险管理的主要目的是为了确保项目在预算内完成D. 风险管理只关注潜在的风险,而不关注实际发生的风险47、题干:在软件开发生命周期中,哪个阶段主要关注软件的需求分析?A. 需求分析阶段B. 设计阶段C. 实现阶段D. 测试阶段48、题干:下列哪项不是软件过程能力成熟度模型(CMM)的成熟度级别?A. 初级(Initial)B. 管理级(Managed)C. 定义级(Defined)D. 产品级(Product)49、在软件过程能力成熟度模型(CMM)中,哪个级别标志着组织具有稳定的软件过程?A. CMM Level 1:初始级B. CMM Level 2:可重复级C. CMM Level 3:已定义级D. CMM Level 4:定量管理级 50、下列关于敏捷开发方法的说法,不正确的是:A. 敏捷开发强调团队协作和客户参与B. 敏捷开发注重交付可工作的软件C. 敏捷开发采用迭代和增量的开发方式D. 敏捷开发不关注软件质量51、题干:在软件过程能力评估中,CMMI(Capability Maturity Model Integration)模型主要用于评估哪个方面的能力?A. 软件项目管理能力B. 软件产品质量能力C. 软件过程管理能力D. 软件研发技术能力52、题干:以下哪个不是软件过程能力评估中常用的评估方法?A. 文档审查B. 专家评审C. 实地考察D. 问卷调查53、软件过程能力成熟度模型(CMM)的哪个级别强调了软件过程的质量保证?54、在软件开发生命周期(SDLC)中,下列哪个阶段负责定义软件产品的需求?55、题干:在软件过程中,以下哪项不是软件过程模型的特点?A. 描述软件开发的步骤B. 强调团队合作C. 定义了软件开发的阶段和里程碑D. 关注软件质量保证56、题干:在软件开发生命周期中,以下哪个阶段通常不涉及代码编写?A. 需求分析B. 系统设计C. 编码D. 测试57、在软件过程能力成熟度模型CMM中,成熟度等级从低到高分别是:A. 初始级、管理级、定义级、定量管理级、优化级B. 初始级、管理级、定义级、定量管理级、持续过程改进级C. 初始级、管理级、定义级、定量管理级、优化级、持续过程改进级D. 初始级、管理级、定义级、优化级、持续过程改进级58、以下哪项不是软件过程评估中常用的评估方法?A. 自我评估B. 同行评审C. 第三方评估D. 客户满意度调查59、以下哪种软件过程模型适用于强调快速迭代和适应变化的项目?A. 水晶模型(Crystal Model)B. 精益软件开发(Lean Software Development)C. 瀑布模型(Waterfall Model)D. V模型(V-Model) 60、以下哪项不是软件过程能力成熟度模型(CMM)的级别?A. 初始级(Initial)B. 管理级(Managed)C. 定义级(Defined)D. 流程优化级(Optimizing)61、在软件开发生命周期中,下列哪个阶段通常不包含需求分析?A. 软件设计B. 软件实现C. 软件测试D. 软件验证62、敏捷开发方法强调的核心理念之一是?A. 大规模并行开发B. 客户直接参与C. 严格的文档编写D. 持续集成和部署63、在软件工程中,以下哪项不是软件测试的目标?A. 确保软件满足需求规格说明B. 识别并修复软件中的缺陷C. 提高软件的运行效率D. 确保软件具有良好的用户界面64、以下哪种软件过程模型适合于需求变化频繁的项目?A. 水晶模型B. 瀑布模型C. 原型模型D. 螺旋模型65、软件过程能力成熟度模型(CMM)中的哪一级别表示组织在软件过程中已经建立了一系列标准过程,并能够对这些过程进行管理和改进?A. CMM Level 2:过程重复级B. CMM Level 3:已定义级C. CMM Level 4:已管理级D. CMM Level 5:优化级66、敏捷开发方法中,以下哪一项不是敏捷开发的核心理念?A. 个体和互动胜过流程和工具B. 工作软件胜过详尽的文档C. 客户合作胜过合同谈判D. 逐步规划胜过详尽规划67、软件过程能力成熟度模型(CMM)中,哪个等级标志着组织已建立了基本的项目管理过程?A. CMM1 - 初级(Initial)B. CMM2 - 可重复(Repeatable)C. CMM3 - 定义(Defined)D. CMM4 - 管理级(Managed)68、在软件质量保证过程中,下列哪项活动不属于静态测试?A. 代码审查B. 单元测试C. 系统测试D. 确认测试69、题干:在软件过程能力成熟度模型(CMM)中,哪个级别代表组织已经建立了稳定的软件开发过程,并能够对过程进行量化管理?选项:A. CMM Level 1:初始级B. CMM Level 2:可重复级C. CMM Level 3:已定义级D. CMM Level 4:管理级 70、题干:敏捷开发中,哪个角色负责制定项目的愿景、目标以及相关的战略?选项:A. Scrum MasterB. Product OwnerC. Team MemberD. Customer71、软件过程能力评估(SPC)中,以下哪个阶段是对软件过程进行详细评估和分析的阶段?A. 软件过程评估准备阶段B. 软件过程评估执行阶段C. 软件过程评估报告阶段D. 软件过程改进阶段72、在软件过程改进中,以下哪种方法可以帮助团队识别和解决软件开发过程中的问题?A. 敏捷开发B. 精益软件开发C. 软件过程改进计划D. 持续集成73、在软件工程中,以下哪个阶段属于软件开发生命周期中的需求分析阶段?A. 系统设计B. 编码C. 测试D. 需求分析74、在软件质量保证活动中,以下哪种方法主要用于验证软件是否符合预定的质量标准?A. 质量规划B. 质量审计C. 质量保证D. 质量控制75、在软件工程中,以下哪项不是软件质量模型中的一个关键属性?A. 功能性B. 可维护性C. 可用性D. 可行性二、应用技术(全部为主观问答题,总5大题,第一题必选,剩下4选2,每题25分,共75分)第一题案例材料:某软件公司承接了一个大型企业资源规划(ERP)系统项目,项目预算为1000万元,项目周期为24个月。
软件配置管理在电力信息平台开发中的应用
![软件配置管理在电力信息平台开发中的应用](https://img.taocdn.com/s3/m/eae133452e3f5727a5e962e5.png)
之一 ,在 C MMI 中,配置管理有三个特定的 目标:建 立基线 ,跟踪和控制变更 ,建立完 整性 。建立基线有 三个特定实践 : 标识要 被列入配置管理之下的配置项 , 建立一个配置管理和变更管理系统 , 创建和发布基 线:
V S将 所有 的项 目源文件 以特有的方式存入数据 S 库 。开发 组的成 员不 能对 该数据库 中的文件进行直接
ito uc sd fni o fs fwaec fg r to na e n dt o so o wa ec n g r to n ge n . i a e n r d e e t no t r on u ai nma g me t i i o i n a o l fs f r o f u ai nma a me t Th sp p r t i
C e r s CC) laCae( 、Vi a o re ae( S) s l uc S f VS 、Co c re t u S n urn V rin y tm ( VS 。 es sS se o C )
3 P3 0 平 台开 发 中 的配 置 管 理 I0 0
31配置管理角色职 责 .
a s n r d c s v r in c nr lp o e sa d c a g o to o e so e d v l p n fPI 0 0 paf r . t o f lo ito u e e so o to r c s n h n e c n lpr c s ft e e o me to 3 0 lto m A o lo r h
息 P3 0 I0 0平 台开发 中的版本控制流程 、变更控制流程 ,设计并实现 了基于 X ML定义 的代码签出签入工具 ,该
浅谈软件项目中的需求管理
![浅谈软件项目中的需求管理](https://img.taocdn.com/s3/m/13fc59e887c24028905fc349.png)
浅谈软件项目中的需求管理曾创能-3320700632021年1月31日摘要:需求管理在软件开发项目管理中起着至关重要的作用。
本人以曾作为项目经理参与的国内某期货交易所核心结算业务系统(下称“结算系统”)的项目为例,阐述需求管理的流程和自己摸索出的一些需求管理方法和心得。
关键词:项目管理需求管理软件项目开发引言:在如今软件开发领域,尽管各种开发技术越来越先进,可利用的软件开发工具和方法也越来越多,但仍然有相当比例的软件项目失败。
究其原因,常常是由于在项目开始阶段没有正确地理解、确定和定义需求,或者是由于在项目进展过程中没有正确地管理需求。
众所周知,项目管理的三要求为TQC(时间、质量、成本)。
我个人认为,在软件开发项目中,要使TQC目标最大化,范围管理中的需求管理有着至关重要的作用,这与当今中国软件开发的特征有很大关系。
当前中国软件开发的领域集中在应用开发领域,多以开发业务管理系统为主。
而中国是新型经济体,在企业管理等领域处于逐步摸索、不断变更,以适应国际化竞争的转型初期。
在此转型阶段,各企业的管理模式、业务管理方法等有很大不同,且自身也处于不断否定自己的管理、不断变更自己的管理方法和调整业务模式之中。
作为软件项目开发承接方,必须适应中国这一各企业“需求各不相同”、“需求多变”的国情。
本人以曾作为项目经理参与的国内某期货交易所核心结算业务系统(下称“结算系统”)的项目为例,阐述需求管理的流程和自己摸索出的一些需求管理方法和心得。
软件需求管理的流程:软件需求是软件项目开发工作的一个重要源头。
需求管理一般由需求分析师和项目经理共同完成的。
需求分析师尽可能准确的理解和获取客户需求及潜在需求,编写《需求规格说明书》,而项目经理则需通过加强需求管理,有效的防范和减少不必要的需求变更。
按我多年项目开发管理经验,我个人认为,需求阶段准备把握了各类需求(功能、非功能、潜在需求等)并有效地管理需求,项目也就已经成功了一半。
软件开发需求文档模板
![软件开发需求文档模板](https://img.taocdn.com/s3/m/acaf7a28650e52ea54189823.png)
目录1. 范围 (1)2. 总体要求 (1)2.1总体功能要求 (1)2.2软件开发平台要求 (1)2.3软件项目的开发实施过程管理要求 (2)2.3.1 软件项目实施过程总体要求 (2)2.3.2 软件项目实施变更要求 (2)2.3.3 软件项目实施里程碑控制 (2)3. 软件开发 (3)3.1软件的需求分析 (3)3.1.1 需求分析 (3)3.1.2 需求分析报告的编制者 (4)3.1.3 需求报告评审 (4)3.1.4 需求报告格式 (4)3.2软件的概要设计 (4)3.2.1 概要设计 (4)3.2.2 编写概要设计的要求 (4)3.2.3 概要设计报告的编写者 (4)3.2.4 概要设计和需求分析、详细设计之间的关系和区别 (4)3.2.5 概要设计的评审 (4)3.2.6 概要设计格式 (4)3.3软件的详细设计 (5)3.3.1 详细设计 (5)3.3.2 特例 (5)3.3.3 详细设计的要求 (5)3.3.4 数据库设计 (5)3.3.5 详细设计的评审 (5)3.3.6 详细设计格式 (5)3.4软件的编码 (5)3.4.1 软件编码 (5)3.4.2 软件编码的要求 (5)3.4.3 编码的评审 (6)3.4.4 编程规范及要求 (6)3.5软件的测试 (6)3.5.1 软件测试 (6)3.5.2 测试计划 (6)3.6软件的交付准备 (6)3.6.1 交付清单 (6)3.7软件的鉴定验收 (7)3.7.1 软件的鉴定验收 (7)3.7.2 验收人员 (7)3.7.3 验收具体内容 (7)3.7.4 软件验收测试大纲 (7)3.8培训 (7)3.8.1 系统应用培训 (7)3.8.2 系统管理的培训(可选) (8)附录A 软件需求分析报告文档模板 (9)附录B 软件概要设计报告文档模板 (21)附录C 软件详细设计报告文档模板 (33)附录D 软件数据库设计报告文档模板 (43)附录E 软件测试(验收)大纲 ................................................................... 错误!未定义书签。
采用Rolling—Wave规划进行软件开发
![采用Rolling—Wave规划进行软件开发](https://img.taocdn.com/s3/m/cec83857804d2b160b4ec0ec.png)
( o eeo C m ue & If m t n H fi nvr t o eh o g ,H f 2 0 0 ,C ia C l g f o p t l r n r ai , ee U i sy f c nl y e i 30 9 hn ) o o e i T o e
i le t h e i i .A diw udm k ot n i eadQ ai r o w lb l e f ai da teb g n g n ol a eteC s a dTm n u lyaent el aacdt n z nn t h t n o
b d e e i n o t u g td t me a d c s .
Ke r s t s a e;us a e;i r t e de eo me t ywo d :e tc s ec s t ai v l p n e v
R ln. v 项 目规 划是 项 目管理 中的一种 项 目计 划 工 具 , 目的 是 更好 地 计 划 和 控 制无 法 预测 的 oigWae l 其 项 目. 于软件 项 目需 要 迅速满 足 需求 变化 , 由 或者 应对 各种 环境 变化 , 因此软件 项 目往往 具 有不确 定性 , 这 时需 要 采用 R ln— v 规 划对 项 目进行 计划 . oigWae l
采 用 R ln — v ol gWa e规 划进 行 软件 开发 i
汜 范 寅
( 合肥 工业 大学 计算机 与信息学 院, 合肥 2 0 0 ) 30 9 摘 要 : 软件项 目需求 的不确定 , 导致项 目规划 的不确定 , 得软 件开发 的 时间、 使 成本 、 量得不到 很好 的控制. 质 采用 R ln ・ v oigwae项 目规划 , l 以及用例驱 动开发技术 , 定义 了一种软 件迭 代开发流 程, 于应对软件 需求不 断变 用
24需求管理
![24需求管理](https://img.taocdn.com/s3/m/bb98dc6d1711cc7931b716a7.png)
第二十四讲 需求管理
1 需求管理概述
需求与需求管理
P.370
“需求”指的是由项目接受的或项目产生 的产品和产品构件需求,包括由组织征集的 对项目的需求。 需求管理的目的是确保各方对需求的一致 理解;管理和控制需求变更;从需求到最终 产品的双向跟踪。
5/28
掌握
第二十四讲 需求管理
掌握 13/28
第二十四讲 需求管理
4 需求变更管理
P.378
控制项目范围的扩展 扩展需求是指在软件需求基线已经确定后 又要增添新的功能或进行较大改动。 强调用户参与需求获取的工作,减少遗漏 需求的数量。 控制需求扩展的一个有效的技术是原型法 要敢于说“不”,强调“变更不是免费的”
掌握 14/28
掌握 9/28
第二十四讲 需求管理
1 需求管理概述
需求属性
创建需求的时间 需求的版本号 创建需求的作者 使用的验证方法或接受的测试标准 负责认可该需求的人员 需求涉及的子系统 需求涉及的产品版本号 需求状态 需求的根据 产品的优先级 需求的稳定性
P.373
掌握
10/28
第二十四讲 需求管理
分析:(71)是一个过程,该过程用来对需求进行记录、
分析、跟踪、优先级排序并确认、然后进行变更控制并与 干系人联系。它是一个贯穿于项目始终的连续过程。 A. 整体管理 B. 配置管理 C. 范围管理 D. 需求管理
掌握
25/28
第二十四讲 需求管理
考题解析
In requirements engineering, requirements elicitation is the practice of collecting the requirements of a system from users, customers and other stakeholders. In the following practices, (73) is rarely used in requirements elicitation. A. brain storming C. Questionnaire B. interview D. Monte Carlo analysis
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文档编号:XM-202-2008 文档版本:第一版发布日期:2008-3-5实施日期:2008-3-5适用范围:公司软件开发项目密 级:普密北京天阳宏业软件技术有限公司项目管理规范:软件需求管理北京天阳宏业软件技术有限公司二○○八年二月TS 102-2008目 录1概述 (1)1.1术语定义 (1)1.2本规范的“原型” (2)1.3本规范的使用说明 (2)2软件需求管理模型 (3)2.1需求开发 (4)2.2需求变更 (4)3需求开发 (5)3.1需求获取 (7)3.1.1 通过项目立项启动会获取初步需求 (7)3.1.2 通过需求调研收集基本需求 (7)3.1.3 通过技术验证充实需求 (8)3.2需求分析 (8)3.3软件需求说明书编制及项目组内审 (9)3.4需求验证 (10)3.4.1 技术验证 (10)3.4.2 需求评审 (10)3.4.3 测试 (10)3.4.4 验收 (10)4需求变更 (11)4.1项目组需求变更 (11)4.2公司需求变更 (12)附件A1:项目需求概要表 (13)附件A2:用例表述单 (14)1 概述需求分析奠定了软件工程和项目管理的基础,公司目前在软件需求管理方面普遍存在如下问题:1)对需求管理的重视程度不够,缺少完备的需求收集、整理汇总和分析机制;2)项目执行中需求工作持续时间短,需求分析不充分,需求没有有效地分层分级;3)需求表达缺乏结构化,直接影响了项目团队对需求理解的一致性和成果的质量;4)项目人员关注技术,不关注客户和应用;5)没有需求基线,需求变更控制缺乏依据。
上述这些问题是导致项目延期、成本增大、客户投诉的重要因素,也是项目后期遗留问题“越来越多”的直接诱因。
本规范是北京天阳宏业软件技术有限公司(以下简称公司)项目管理规范系列之软件需求管理分册,用于指导项目软件需求管理,属公司保密文件。
本规范适用于公司所有的软件开发项目(以下简称项目)。
本规范不是一成不变的,它会随着公司发展和企业项目管理实践进行修订。
1.1 术语定义本节对所涉及到的与需求管理相关的术语予以定义,其他术语参见《XM-201-2008 项目管理规范:总体框架和操作平台》。
1) 系统内部和系统外部对软件系统而言,系统内部是指属于本软件系统范围内的工作,而系统外部则特指超出本软件系统的所有工作。
例如,系统外部接口就是指与其他软、硬件系统的数据交互通道、数据格式和交互规则等。
2) 需求需求是指从软件系统外部能发现系统所具有的、满足用户的特点、功能和属性,需求为开发者指明了系统的功能行为和质量特性,是对开发者进行软件开发的要求。
本文的需求等同于软件需求。
3) 需求层次软件需求包括三个密切相关的层次:业务需求、用户需求和功能需求(含非功能需求)。
4) 特性特性(Feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。
5) 软件需求说明书 / 软件需求规格说明软件需求说明书,也叫软件需求规格说明(Software Requirements Specification,SRS),是对软件需求的中说明性文档,在开发、测试、质量保证、项目管理以及相关项目功能中起着十分重要的作用。
1.2 本规范的“原型”本规范以机械工业出版社2001年5月出版的《软件需求》(美国Karl E. Wiegers著)为“原型”,结合天阳宏业公司项目管理环境和项目实际问题,并在模型、分类和实用层面进行了提炼和创新,成为公司软件需求管理规范。
本规范中有多处引用了《软件需求》中的图表和文字,像图“软件需求层次”、“软件需求和其他项目工作的关系”等。
需要注意的是,本规范有很多与《软件需求》不同的地方,有的概念甚至相差很大。
1.3 本规范的使用说明如同所有其他项目管理规范一样,软件开发项目中的需求管理也需要项目经理根据项目特点和约束条件对本规范采用的模型进行剪裁,以适应项目的实际需要。
诸如推广实施等非开发类项目“需求获取”工作可能很少,如果客户要求明确、具体,可能不需要进行需求调研并编制《需求调研报告》。
即使有部分开发工作,需求获取、需求分析占用的时间也较少。
由客户把握需求并进行管理的项目,对项目组而言,客户提出需求的行为可能是“不完整”、“缺乏分析”的,这种情况下要对客户每次提出的需求进行书面记录,并汇总之前已经提出的需求和已经完成的开发成果,进行需求分析,找出存在的问题并跟客户进一步沟通、澄清,以保证最终成果的一致性和完整性。
这种项目尤其要注意的是,尽管客户不断提出需求和要求,项目经理要时刻保持对“项目范围”的清醒认识——我司项目经理虽然不是实际意义上的项目主管,但却对交办任务的执行负责。
譬如,客户提出与“ERP系统对接”的要求,项目经理和项目组就应该主动跟客户和ERP开发厂商进行沟通,以确定对接内容、数据格式和传输要求等。
项目类型是多样的,剪裁是必须的——对一个具体的项目而言,最适合的即为最好。
2 软件需求管理模型总体上看,软件开发项目管理包括技术和管理两个层面,“做什么”属于需求管理范畴,“怎么做”属于技术实现范畴,项目计划则是二者之间的“桥梁”,是“做什么”的具体落实,是“怎么做”的整体规划。
因此,从软件开发项目的整体管理层面看,需求管理和计划管理无疑是整个项目管理的“源头”和重中之重。
图2-1 公司软件需求管理模型软件需求管理由需求开发和需求变更两部分组成,覆盖整个项目生命周期的所有阶段,也是项目控制的重要内容——从项目生命周期管理角度看,需求开发属于项目组管理的范畴,而需求变更中的部分工作与组织项目管理环境相关,像定义需求变更过程、建立控制机构都是由部门或公司层面完成的,评估、评审则需要二者的共同参与。
2.1 需求开发需求开发包括需求获取、需求分析、需求说明书编制及项目组内审、需求验证四部分。
需求获取:为软件产品的用户(使用人)进行分类,指定用户类代表,获取每个用户类的需求,收集每类实际用户的作业程序以及这些作业所支持的业务需求。
需求分析:对用户提供的信息进行标识,与已收集内容汇总、整理,对用户作业需求、业务规则、功能需求、非功能需求(软件质量属性)及用户建议等信息进行归纳、分析,刻画软件产品组成结构,对组件重要程度予以描述。
准备需要继续澄清的问题,进一步获取需求信息并分析,直到获得较为满意的结果为止。
软件需求说明书编制及项目组内审:将所收集的需求编写成《软件需求说明书》,对软件模型、组件间关系进行描述;组织项目组成员对编制完成的文档进行讨论、审查;由项目经理发起评审申请,按要求提交《软件需求说明书》、技术验证说明及相关资料。
需求验证:包括需求评审、进一步技术验证、测试和验收。
评审人对需求说明书的评审,要确保在评审会议召开前就用户需求达成基本的理解与共识——最终实现需求基线的定义。
技术验证可能从需求分析开始,并持续到项目验收。
《软件需求说明书》是测试和验收的依据。
2.2 需求变更需求变更包括定义需求变更过程、建立控制机构、评估变更影响、审批四部分。
定义需求变更过程:为公司正式需求变更定义工作程序,保证能沿着预先规定的程序执行下去,并实现需求变更的审批。
建立控制机构:成立正式需求变更的机构,对备选评审人进行定义和分类。
评估变更影响:对需要变更内容的工作量、影响大小(正影响和负影响)予以评估,为审批决策提供依据。
审批:做出决策:同意变更或拒绝变更。
3 需求开发如图3-1所示,需求开发包括需求获取、需求分析、需求说明书编制和需求验证四部分。
图3-1 需求开发总图软件需求包括三个不同的层次:业务需求、用户需求和功能需求,功能需求中还包含对非功能需求的描述。
业务需求(Business Requirement,简称BR),是反映客户(个体或组织)对软件产品高层次的目标性要求,反映了客户方面业务改进的设想和系统建设的企盼,是其他层次需求必须遵从的方针和准则。
用户需求(User Requirement,简称UR),是对用户未来通过使用软件(产品)必须完成任务的描述,反映了客户对业务流程和业务操作层面的改进期望。
功能需求(Functional Requirement,简称FR),是对软件开发者必须实现的软件功能的定义,反映了客户对软件产品开发行为的约束。
非功能需求(Non-Functional Requirement,简称NFR)是一类“特殊的”功能需求,一般在功能需求中专门描述——非功能需求一般采用软件质量特性进行分析,并根据项目实际情况进行权衡,给出说明。
图3-2 软件需求层次需求说明书中对功能需求的描述指出了软件系统应具有的外部行为,对一个复杂产品来说,软件功能需求也许只是系统需求的一个子集——以系统观点看待软件需求对系统确保软件开发项目的成功十分重要,因为所有的软件系统都不是完全孤立运行的。
作为功能需求的补充,软件需求说明书还应包括非功能需求,它描述了系统展现给用户的行为和执行的操作等。
它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计或实现的约束条件及质量属性。
所谓约束是指对开发人员在软件产品设计和构造上的限制。
质量属性是通过多种角度对产品的特点进行描述,从而反映产品功能。
本文附件A1给出了《项目需求概要表》,供项目组参考使用。
3.1 需求获取需求获取来自于项目立项启动会、需求调研和审前技术验证三个方面。
3.1.1 通过项目立项启动会获取初步需求立项启动会为项目经理或项目组提供了初次了解项目的机会,让项目组对商务启动期工作成果和客户要求有个较为系统的掌握,对启动会要完成的工作内容的详细描述参见《XM-201-2008 项目管理规范:总体框架和操作指南》的4.4节。
3.1.2 通过需求调研收集基本需求需求调研是需求获取的主要手段。
随着时间的推移,客户先前提出的想法和建议可能会出现变化,公司之前编制的方案建议和商务承诺也可能需要一些改变……项目经理应对此有清醒的认识,要保持跟客户的继续接触和进一步沟通——通过需求调研完成对业务需求、用户需求和功能需求(非功能需求)的收集。
需求获取要求对用户进行分类,指定用户代表,收集用户代表的作业程序以及为实现这些作业程序所要求的功能需求。
实际工作中,项目组经常会碰到三类问题:无法与最终用户交流;客户缺乏耐心;陌生的业务领域。
无法与最终用户交流:客户和用户的分离或用户不配合是造成无法与最终用户交流的原因,项目组要对客户施加影响,争取与用户见面——根据形势判断无法实现时,要“以客代用”积极跟客户进行交流,收集需求。
客户缺乏耐心:项目经理带领项目组先行编制需求(草稿)文档,列出项目约束条件和待澄清问题清单,邀请客户一同进行讨论——具体形式可采用非正式的交流,也可根据情况邀请客户参与正式评审。