目录
1. 目的 2
2. 范围 2
3. 职责 2
4. 工作程序 3
软件需求收集、分析和文档化过程 3
需求收集和编制特征需求说明 3
下达《软件项目任务书》 4
制定《需求分析计划》 4
需求的分析过程 4
编制《软件需求说明书》 4
制定《软件验收计划》 5
需求变更管理过程(包括增加、删除和修改) 5
需求更改申请的提出 6
影响分析阶段 6
申请评审、批准阶段 7
修改需求说明书 7
评审、批准 7
需求追踪 7
5.参考资料 8
_Toc401135011
目的
明确需求管理全过程的主要工作和内容,具体包括以下方面:
保证客户、客户经理和软件开发项目组之间对客户需求具有共同的理解,并且在项目的整个生命周期内都是有效的
通过系统工程组编写《特征需求说明》FRS(Feature Requirements Specification),将系统需求中的软件、硬件和其它系统成分的工作分开,软件需求以外的工作由软件组之外的人员完成
软件项目经理明确定义《软件需求说明书》SRS(Software Requirements Specification)中要求的内容并文档化
《软件需求说明书》必须完整、正确、及时地反映客户的需求,要仔细进行分析、消化并详细描述,尽量做到所有相关人员都能正确理解
《软件需求说明书》经评审后存档,即作为软件开发计划和活动进行管理和控制的基线
一旦《软件需求说明书》经过双方签字认可后,每当用户需求发生变更时,必须进行需求变更,受其影响的项目计划、活动和工作产品必须进行相应的修正,并通告所有受影响的组织和个人。
确保最终的软件工作产品成、活动和计划与软件需求说明书相一致,并能通过软件项目经理对软件需求的可追踪性进行管理。
_Toc401135012
范围
本过程适用于以下范围:
新的软件开发项目
原有软件系统升级、维护
自有工具软件的开发
软件项目开发过程中的需求变更
_Toc401135013
职责
1) 系统工程组(产品经理、研发经理、客户经理)负责编制特征需求说明书。
2) 研发经理下达《软件项目任务书》,指定软件项目经理,协助软件项目经理成立软件项目小组
3) 软件项目经理负责组织进行软件需求的收集、分析(必要时编制需求分析计划);负责制定软件需求说明书、软件验收计划等,并对需求实现情况进行跟踪、检查。
4) 软件项目经理负责组织相关人员进行评审工作
5) 高级管理者负责批准对外承诺,并定期审查需求管理活动
_Toc401135014
4. 工作程序
_Toc401135015
软件需求收集、分析和文档化过程
_Toc401135016
需求收集和编制特征需求说明
与客户有了合作意向或合同签定后及产品研发部确定开发产品时,系统工程组收集项目的需求(过程可参见《软件需求收集指南》),分析项目系统需求,并将其分配为软件、硬件和其它系统成分,决定每一个需求的特征和需要修改的缺陷,形成《特征需求说明书》,以作为软件项目小组工作的先决条件,《特征需求说明书》必须经过评审(评审的方式根据需要选择适当的方式举行,可参见《评审过程》)以确保其内容准确、完整地反映了客户的需求,同时它成为制定软件需求说明书的基础;评审通过才能进入下一阶段。
说明:对于纯软件的项目,可以不制定《特征需求说明书》,进入下一阶段。
_Toc401135017
下达《软件项目任务书》
研发经理发出《软件项目任务书》,初步指定项目开发人员和软件项目经理,明确提供项目开发的可用资源,并将《软件项目任务书》提交到技术管理组织评审(评审的方式根据需要选择适当的方式举行,可参见《评审过程》),作为项目正式立项,以确认项目的正式启动。
_Toc401135018
制定《需求分析计划》
如果项目规模较大,需求收集超过二个月的,软件项目经理负责制定《需求分析计划》,否则,可以不进行《需求分析计划》的制订。
_Toc401135019
需求的分析过程
对于初次进行软件需求收集、分析和管理的人员,软件项目小组安排进行必要的培训,以便他们能按照公司的标准要求完成需求分析和管理活动。
项目小组通过分析、收集、标识、细化和评审等方式鉴别出不完备的、遗漏的或多余的用户需求,以尽可能详细的描述来表达客户对软件的功能要求,以及对软件界面、系统运行环境、安全、稳定性、可扩展性等方面的要求。该要求需在《软件需求说明书》中描述并由客户代表(客户经理)签字确认。对需求的描述详尽程度应满足软件设计和开发的基本要求。适当的变更和修改将使用需求变更管理过程。需求指出的是,在现实工作中,需求的定义应服务于公司的商务过程的要求,并以达成商务谈判的目标为原则。
说明:需求定义、项目策划和设计可能会有所重叠。
_Toc401135020
编制《软件需求说明书》
1) 软件项目经理组织编写《软件需求说明书》,编制完成后必须组织软件工程组、有影响的组或人员评审(评审方式根据需要选择适当的方式举行,可参见《评审过程》),评审出问题的需求必须做出更改,经过评审的软件需求经SCCB、高级管理者和客户(客户经理)批准后入基线库进行管理并作为制定开发计划的基础。
2) 《软件需求说明书》批准后,由有关人员讨论协商,确定由软件需求引起的相应职责和活动,这些人员可能包括:客户经理、计划制定人员、软件设计人员、软件开发人员、软件系统测试人员、质量保证人员、配置管理人员等。
_Toc401135021
制定《软件验收计划》
软件项目经理在软件需求说明书编制过程中或编制完成后应组织制订《软件验收计划》,该验收计划需经过评审(评审方式要根据需要选择适当的方式举行,可参见《评审过程》)、SCCB批准,并取得客户的认可,以便在项目结束时按计划验收,验收结束后应填写《软件验收报告》
_Toc401135022
需求变更管理过程(包括增加、删除和修改)
_Toc401135023
需求更改申请的提出
1) 客户提出的修改请求,如果是以口头的方式,软件项目小组人员或客户经理应对顾客的请求进行记录,请客户进行确认后,填写《需求变更申请表》,提交软件项目经理。
2) 如果请求是由公司内部人员提出的,提出者应填写《需求变更申请表》,提交软件项目经理。
_Toc401135024
影响分析阶段
软件项目经理接到《需求变更申请表》后,应对需求的变更情况进行登记(记录于《软件需求与软件需求变更跟踪表》),对于紧急的变更应及时进入影响分析阶段;而其他的变更应进行汇总,统一进行分析。影响分析包括以下方面:审查必要性、可靠性和合理性;影响或(技术、进度、资源、成本、系统结构等)评估;规模和工作量的估算;标识、规范;文档化。对于小的变更应予记录并累计工作量,当累计的工作量将达到预定的工作量时,应及时通知客户方,超出的部分有可能计算成本并收取相应的费用,但须客户确认后实施。
_Toc401135025
申请评审、批准阶段
如果变更请求涉及紧急事项,则应由有关部门和个人立即组织评审并由SCCB审核批准,而后由责任人负责实施。如果是非紧急事项,由软件项目经理集中组织评审、批准(SCCB)(评审的方式根据需要选择适当的方式举行,可参见《评审过程》),评审人员应包括受影响的组和人,以便与他们协商更改。
若此变更涉及组织外部,则应有组织的高级管理者确认,并得到客户的确认后实施更改;若此更改仅涉及组织内部,由SCCB批准后实施更改。
_Toc401135026
修改需求说明书
更改时,如果软件项目经理安排项目组的其他人员实施更改,软件项目经理应填写《任务通知单》,通知更改人进行更改,并对更改情况进行监督。
_Toc401135027
评审、批准
更改结束后,软件项目经理应组织对更改后的《软件需求说明书》进行评审,并通过SCCB会议批准并得到高级管理者和客户的确认后,才可入基线库进行管理,配置管理员应及时填写《变更通知单》通知受影响的组和个人。
_Toc401135028
需求追踪
1) 关于软件需求说明书中所描述的所有需求(包括变更的需求),由软件项目经理根据《软件需求与软件需求变更追踪表》跟踪至完成状态。
2) 高级管理者通过审查需求《项目里程碑报告》和《质量保证评估报告》,来了解和考察需求管理活动。
3) 软件项目经理通过参加需求评审或对需求进行定期检查和跟踪来管理和控制需求的活动,并对需求的变更状态和数量进行测量。
4) 质量保证人员按照计划使用《软件需求管理检查表》实现对需求的检查并将《质量保证评估报告》通知相关人员(包括项目经理、高级管理者、项目组成员等)。
_Toc401135029
5.参考资料