


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件研发管理制度文件状态:文件标识:Lolaage-Software-PMv 草稿当前版本:正式发布作者:宋孝光正在修改完成日期:2012/3/27版本/状态作者参与者修改日期备注宋孝光2012/3/26第一版草稿宋孝光2012/3/27整理目录目录1软件研发制度综述 41.1精简模型 41.2精简过程域的目的 41.3精简模型文档结构与规范细分 51.4精简模型角色与职责表 61.5公司软件过程的政策 81.5.1 目标8机构领导的支持 8质量管理的政策 81.5.4 质量保证小组的政策 9项目团队的政策 92立项管理 93项目规划 94项目监控 104.1项目计划跟踪 114.1.1任务跟
2、踪 11费用跟踪 11资源跟踪 11工作成果及其规模跟踪 124.2控制偏差 124.3项目进展汇报 135风险管理 146需求管理 186.1需求确认 186.2需求跟踪 196.3 需求变更控制 207结项管理 228需求开发 229技术预研 2410系统设计 2410.1体系结构设计 2510.2用户界面设计 2610.3数据库设计 2710.4模块设计 2711实现与测试 2812系统测试 2913客户验收 3114技术评审 3215配置管理 3316 质量保证 3517培训管理 3718服务与维护 381软件研发制度综述1.1精简模型“软件过程改“精简模型” 是基于CMMI以及软件工
3、程和项目管理知识而创作的一种 进方法和规范”,它由众多的过程规范和文档模板组成。6个阶段,分别为:精简模型把产品生命周期划分为产品概念阶段产品定义阶段 产品开发阶段产品测试阶段用户验收阶段 产品维护阶段在精简模型中,软件项目的过程有三大类:项目管理过程、项目研发过程和机构支持过程。上述三类过程可以细分为17个主要过程域,分布在产品生命周期的各个阶段。项目管理过程包含立项管理结项管理项目规划项目监控风险管理需求管理 项目研发过程包含需求开发 技术预研 系统设计 实现与测试 系统测试 客户验收技术评审 机构支撑过程包含配置管理质量保证培训管理服务与维护6个过程域,分别为7个过程域,分别为4个过程域
4、,分别为精简模型如图1-1所示。精简模型的主要特征和优点有:一、直观的过程模型精简模型将项目管理、项目研发、机构支撑所包含的工作划分为相对独立的三类过程,各个过程域之间的关系直观明了。这样,机构领导、项目经理、开发人员、测试人 员、质量保证人员等人根据精简模型,很容易知道自己“应该在什么时候、按照什么规 范做什么事情”。所以精简模型有助于使机构内的各个职能单位有条不紊地开展工作。二、容易裁剪与扩充精简模型的三类过程贯穿了产品的整个生命周期,17个最常见的过程域都合理地安排在产品生命周期中的某些阶段。用户可以根据自己产品的特征,适当地裁剪或扩充精 简的过程域,很容易制定出最适合于本产品的过程模型
5、。图1-1精简模型1.2精简过程域的目的精简模型 所有17个过程域的目的如表1-1所示。项目管理过程域目的立项管理采纳符合机构最大利益的立项建议,通过立项管理使该建议成为正式的项目。杜 绝不符合机构最大利益的立项建议被采纳,避免浪费机构的资源、资金、时间等。结项管理在项目开发工作结束后,对项目的有形资产和无形资产进行清算、对项目进行综 合评估以及总结经验教训等。项目规划为项目的研发和管理工作制定合理的行动纲领(即项目计划),以便所有相关人员按照该计划有条不紊地开展工作。项目监控周期性地跟踪项目计划的各种参数如进度、工作量、费用、资源等,不断地了解 项目的进展情况,以便当项目实际进展显著偏离计划
6、时能够及时采取纠正措施。风险管理在风险产生危害之前识别它们,从而有计划地消除或削弱风险。需求管理在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更。项目研发过程域目的需求开发通过调查与分析,获取用户需求并定义产品需求。技术预研在立项之后到开发工作完成之前的时间内,对项目将采用的关键技术提前学习和 研究,尽可能早地发现并解决开发过程中将会遇到的技术障碍。系统设计设计软件系统的体系结构、用户界面、数据库、模块等,从而在需求与代码之间 建立桥梁,指导开发人员去实现能满足用户需求的软件产品。实现与测试依据系统设计文档,编写并测试整个系统的代码。在精简模型中,实现与
7、测试是“编程、代码审查、单元测试、集成测试、缺陷管理与改错”的综合表述。系统测试对最终系统进行全面的测试,确保最终系统满足产品需求并且遵循系统设计。客户验收客户依据合同对产品进行审查和测试,确保产品满足客户需求。技术评审尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高 产品的质量。机构支撑过程域目的配置管理通过执行版本控制、变更控制等规程,以及使用配置管理软件来保证所有配置项 的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。质量保证提供一种有效的人员组织形式和管理方法,通过客观地检查和监控“过程质量” 与“产品质量”,从而实现持续地改进质量。培训管理根据机构(或项
8、目的需求来制定培训计划,并监督该计划的实施,确保培训取 得预期效果。服务与维护是指产品销售之后的客户服务和产品维护,其宗旨是提高客户对产品以及对开发 方的满意度。表1-1精简过程域的目的1.3精简模型文档结构与规范细分精简模型的文档结构如图1-2所示,SPP包含17个过程域,规范细分如表 1-2所示。过程改进政策过程域规程文档模板图1-2 精简模型文档结构项目管理过程域主要规程文档模板立项管理立项建议立项评审项目筹备立项建议书立项调查报告书立项可行性分析报告立项评审报告结项管理结项管理结项申请书结项评审报告项目规划制定项目计划 审批项目计划 项目计划变更控制项目计划项目计划变更控制报告项目监控
9、项目计划跟踪偏差控制项目进展总结项目监控数据表项目偏差控制报告项目进展报告风险管理风险管理风险检查表风险管理报告需求管理需求确认需求跟踪需求变更控制需求跟踪报告需求变更控制报告项目研发过程域主要规程文档模板需求开发需求调查需求分析需求定义用户需求说明书产品需求规格说明书技术预研技术预研技术预研计划技术预研报告系统设计体系结构设计 用户界面设计 数据库设计 模块设计体系结构设计报告 用户界面设计报告 数据库设计报告模块设计报告实现与测试实现与测试实现与测试计划编程文档系统测试系统测试系统测试计划测试用例测试报告客户验收客户验收客户验收计划客户验收报告技术评审正式技术评审非正式技术评审技术评审计划
10、技术评审报告技术评审检查表机构支撑过程域规程与关键活动文档模板质量保证制定质量保证计划过程与产品质量检查问题跟踪与质量改进质量保证计划 质量保证检查表质量保证报告质量问题跟踪表配置管理制定配置管理计划配置库管理版本控制变更控制配置管理计划配置库管理报告配置项变更控制报告培训管理机构培训管理项目培训管理培训计划培训评估报告服务与维护客户服务客户服务计划客户服务报告产品维护产品维护计划产品维护报告表1-2 精简模型规范细分1.4精简模型角色与职责表精简模型的主要角色及其职责如表1-3所示(详见各个过程域对角色与职责的描述)公司在应用精简模型时,可以将精简模型的各个角色映射到公司原有的岗位上,也可以
11、 依据精简模型角色建立新的岗位。一个人可以被赋予多个角色,视具体情况而定。常设角色职责简述机构 过程 改进 角色软件工程过程组(SEPG)(1)制定适合于本机构的过程规范。(2) 在机构范围内推广该规范(如培训、考核),评估机构过程能力等。质量保证小组(QAG)(1) 监督规范的实施,确保所有项目以及相关部门准照规范开展工作。(2) 分析并解决机构内存在的共性质量问题,协组SEPG完善规范。项目管理过程角色机构领导(1) 是机构内所有项目的主管,对立项管理和结项管理有最终决策权。(2)监督项目经理的工作,审批项目经理的各种申请。项目经理(1 )向机构领导汇报工作。(2)是项目规划、项目监控、风
12、险管理和需求管理过程域的负责人。(3)监督项目成员的工作,审批项目成员的各种申请。项目研发过程角色需求分析员调查、分析并定义需求,撰写相应的需求文档,尽最大努力使需求文档 能够正确无误地反映用户的真实意愿。系统设计师根据需求文档设计软件系统的体系结构、用户界面、数据库、模块等, 并撰写相应的设计文档。程序员(1)根据系统设计文档,编写软件系统的代码。(2)随时测试和检查自己的代码,及时消除代码中的缺陷。测试员从事单元测试、集成测试和系统测试,主要工作包括制定测试计划、设 计测试用例、执行测试和撰写测试报告。机构 支撑 过程 角色配置管理员(1) 为项目制定配置管理计划。(2)创建并维护配置库,
13、如分配权限、清除垃圾文件、备份配置库等。质量保证员(即QAG成员)(1) 为项目制定质量保证计划。(2) 周期性的开展“过程与产品质量检查”。(3)跟踪质量问题,给岀质量改进措施。培训管理员制定机构(或项目)的培训计划,监督该计划的实施,撰写培训评估报告。客户服务人员为客户提供与产品相关的服务(如技术咨询),快速响应客户的要求,给客户一个满意的解答。产品维护人员(1)纠错性维护:及时解决用户遇到的技术故障和消除产品中的缺陷。(2)完善性维护:在资源允许的情况下,不断改善产品功能与质量。临时角色职责说明立项建议小组(1)开展立项调查、产品构思和可行性分析,撰写相应文档。(2)申请立项,并在立项评
14、审会议上答辩。立项评审委员会由机构领导、各级经理、市场人员、技术专家、财务人员等组成,委员 会按少数服从多数原则投票决定是否同意立项。结项评审委员会对项目的有形资产和无形资产进行清算,对项目进行综合评估,总结经验教训等。结项委员会的人员组成与立项评审委员会的类似。技术评审委员会对工作成果进行正式技术评审,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷。该委员会由项目内外的技术专家组成。配置控制委员会对配置管理各项活动拥有决策权(例如审批计划,审批变更请求等)。表1-3 精简模型的角色与职责简表1.5公司软件过程的政策目标持续改进机构的软件过程能力,不断地提高产品质量、提高生产率并且降低
15、开发成 本。机构领导的支持机构领导批准用于软件过程改进的必要经费,例如支付咨询费,购买相关软件工具等。机构领导组建 SEPG和QAG,专门从事软件过程改进工作。SEPG的主要职责是建立适合于机构的过程规范,QAG的主要职责是监督该规范的实施。建议让SEPG和QAG的大部分人员重叠,这些人既是SEPG成员又是质量保证员,扮演两种角色。这样不仅节约人力资源,并且提高了工作效果(由制定规范的人去监督规范的实施最合适不过)。一般地,SEPG成员和质量保证员共占机构总人数的5%左右。机构领导不仅要口头支持,还要亲自参与软件过程改进的实践。例如参加培训和考试,准照过程规范执行立项管理和结项管理等。质量管理
16、的政策质量管理口号:“在开发过程之中内建质量而非修补质量”。质量管理有种基本措施:“质量保证”、“技术评审”和“测试”。一、质量保证机构的质量保证员周期性地检查项目成员的“工作过程以及工作成果”是否符合既定的规范,来监控和改进“过程质量以及产品质量”。机构的质量保证员独立于任何项目,并赋予他一定的权利,对质量不合格的工作成果作出处理。二、技术评审在工作成果刚产生之际,对其进行技术评审(分正式或非正式两种),目的是尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而提高产品的质量。如果时间允许的话,应当尽可能多地对产品的重要工作成果进行技术评审。技术评审活动由项目开发团队组织。三、测试测
17、试是指通过运行测试用例(test case)来找出软件中的缺陷。测试与技术评审的主要区别是前者要运行软件而后者不必运行软件。一般地,产品开发过程中有四个测试阶段:单元测试、集成测试、系统测试和验收测试。其中单元测试和集成测试可以由项目开发团队组织。系统测试阶段必须有项目外 的人员参与,以保证系统测试的客观性。验收测试由客户组织。如果有条件的话,建议机构成立专门的测试小组从事单元测试、集成测试和系统测试工作。质量保证小组的政策机构领导任命一位熟悉过程规范并且有丰富的质量管理经验的人担任QAG的负责人(或称为质量经理)。在机构领导的许可下,该负责人组建QAG (成员可以是全职的也可以是兼职的)。Q
18、AG 在行政上独立于任何项目。这种独立性有助于质量保证员客观地检查和监控 “过程以及产品的质量”。QAG准照SEPG制定的“质量保证规范”开展工作。机构领导赋予 QAG 一定的权利,可以对质量不合格的工作成果做出处理。这种权 利使得QAG的工作不会被轻视,并有助于加强全员的质量意识。对于QAG与项目之间出现的难以调和的争议,由机构领导处理。项目团队的政策项目中的任何管理人员、开发人员、测试人员等,必须学习与本职工作相关的过程 规范,每个人都必须明白自己“应当在什么时候依据什么规范做什么事情”。项目经理应当树立榜样,并且督促项目成员们按规范做事。允许项目经理根据本项目的特征,在SEPG和QAG的
19、指导下,适当地裁剪或扩充机构的过程规范,从而快速建立本项目的过程规范。这项工作应当在“项目规划过程域” 中完成,并在项目计划中体现出来。如果项目对机构过程规范的裁剪幅度比较大,遭到QAG的反对,如果双方不能达成共识,则由机构领导处理该争议。SEPG对项目过程能力的评估成绩将作为评定项目人员工作业绩的重要因素,具体 比重由机构领导决定,建议占30 %以上的比重。2立项管理参见项目管理制度试行V2.1版本3项目规划在立项管理过程域的项目筹备阶段,机构领导首先任命一位项目经理,之后机构领导协助项目经理筹备项目经费、人力资源、软件硬件资源等。如果必要的资金和资源已经到位,那么项目经理和核心成员即可组成
20、一个项目规划小组,着手制定项目计 划,并按计划执行研发和管理工作。项目的计划书可分两类:一是全局的计划书(Overall Plan ),这里称为项目计划是一些下属计划书(Subordinate Plan ),例如配置管理计划、质量保证计划 些开发计划和测试计划等。下属计划书是对项目计划的补充,其内容不可与项目计划冲突。通常项目计划由项目经理负责制定,由机构领导审批。而下属计划书一般由项目成员制定, 由项目经理审批即可。项目计划过程域有 3个主要规程:“制定项目计划”、“审批项目计划”和“项目计划变更 控制”,流程如图3-1所示。项目计划变更控制制定审批项目项目亠按计划执行戸 5计划计划研发与管
21、理工作图3-1项目规划流程图项目计划模板4项目监控项目监控(Project Monitoring and Control, PMC)的目的是通过周期性地跟踪项目计划的各种参数如进度、工作量、费用、资源、工作成果等,不断地了解项目的进展情况, 以便当项目实际进展状况显著偏离计划时能够及时采取纠正措施。本规范阐述了项目监控过程域的三个主要规程:项目计划跟踪控制偏差项目进展汇报图4-1项目监控流程4.1项目计划跟踪周期性的跟踪任务(含进度和工作量)、费用、资源、工作成果等,及时了解项目的实际进展情况。为持续过程改进提供有价值的数据。任务跟踪项目经理(或其指定的项目成员)周期性地(如每周一次)跟踪每个
22、重要的任务,将采集的数据保存在项目监控数据表之中。任务跟踪表的参考格式如表4-1所示。任务名称实际起止时间跟踪日期、当前进度实际工作量实际工作成果表4-1任务跟踪表费用跟踪项目经理(或其指定的项目成员)周期性地跟踪项目费用,将采集的数据保存在项目监控数据表之中。费用跟踪表的参考格式如表4-2所示。费用类别主要开支项、用途金额时间表4-2费用跟踪表资源跟踪项目经理(或其指定的项目成员)周期性地跟踪软硬件资源,将采集的数据保存在项目监控数据表之中。资源跟踪表的参考格式如表4-3所示。软硬件资源名称级别实际配置获取方式与时间使用说明关键关键普通普通表4-3资源跟踪表工作成果及其规模跟踪项目经理(或其
23、指定的项目成员)周期性地跟踪工作成果及其规模,将采集的数据 保存在项目监控数据表之中。工作成果跟踪表的参考格式如表4-4所示。工作成果名称新开发的成果规模(代码行、类、文档页数)复用或自动生成的成果规模(代码行、类、文档页数)工作成果1工作成果2总和表4-4工作成果及其规模跟踪表4.2控制偏差,分析偏差,如果发现项目实际进展显著偏离对比“项目实际进展”和“项目计戈 计划,则及时采取纠正措施。记录日期显著偏差描述原因分析纠正措施结果表4-5项目偏差控制报告4.3项目进展汇报周期性地汇报项目进展情况。项目经理周期性地总结项目进展情况,撰写项目进展报告并通报给机构领导和 所有项目成员。基本信息项目名
24、称报告日期项目编号报告批次第N份项目经理项目所处阶段项目进展状况计划实际情况任务与进度工作成果费用人力资源软硬件资源问题与对策表4-6项目进展报告5风险管理风险管理(Risk Management, RiskM )的目的是在风险产生危害之前识别它们,从而 有计划地消除或削弱风险。所有可能危害项目的因素都称为风险。被刻画为风险的事件最终可能发生也可能不发生。人们对待风险有两种态度。一种是被动态度,可比作"救火模式”。另一种是主动态度,可比作“防火模式”。风险管理属于“防火模式”,目的就是“防止风险产生真正的危害”。为了便于量化管理,我们给风险定义 3个参数:风险严重性:指风险对项目造成
25、的危害程度。风险可能性:指风险发生的几率。风险系数:是风险严重性和风险可能性的乘积。参数等级值描述很高5例如进度延误大于30%,或者费用超支大于30%。风险比较高4例如进度延误 20%30%,或者费用超支20%30%。严重性中等3例如进度延误低于20%,或者费用超支低于20%。比较低2例如进度延误低于10%,或者费用超支低于10%。很低1例如进度延误低于5%,或者费用超支低于5%。表5-1风险严重性等级参数等级值描述很高5风险发生的几率为1.0 0.8风险比较高4风险发生的几率为0.8 0.6可能性中等3风险发生的几率为0.6 0.4比较低2风险发生的几率为0.4 0.2很低1风险发生的几率为
26、0.2 0.0表5-2风险可能性等级风险风险可能性系数很高5比较高4中等3比较低2很低1很咼5252015105风险比较高420161284严重性中等31512963比较低2108642很低154321本表灰色部分的风险系数值为1025,应当优先处理。表5-3风险系数等级风险严重性的等级划分如表5-1所示,风险可能性的等级划分如表5-2所示,风险系数的等级划分如表3所示。风险管理有4个主要活动:风险识别:根据风险检查表,识别出本项目的风险。风险分析:估计风险严重性、风险可能性、风险系数。风险减缓:对于风险系数超过“容许值”的每一个风险,都应当采取减缓措施。 风险跟踪:跟踪风险减缓过程,记录风险
27、的状态。风险识别7风险减缓图5-1风险管理示意图在项目的生命周期内,上述4个活动将被循环执行,如图5-1所示。直到项目的所有风险都被识别与解决为止。常用的风险检查表,使用者应根据实际情况进行适当的删减或补充。风险管理过程域产生的主要文档是风险管理报告。商业风险风险类型检查项政治法律市场政府或者其他机构对本项目的开发有限制吗?有不可预测的市场动荡吗?有不利于我方的官司要打吗?本产品销售后在使用过程中可能导致发生重大的损失或伤亡事故吗?竞争对手有不正当的竞争行为吗?本产品销售后在使用过程中可能导致发生重大的损失或伤亡事故吗?是否在开发很少有人真正需要却自以为很好的产品?是否在开发可能亏本的产品?客
28、户客户的需求是否含糊不清?客户是否反反复复地改动需求?客户指定的需求和交付期限在客观上可行吗?客户对产品的健壮性、可靠性、性能等质量因素有非常过分的要求吗?客户的合作态度友善吗?与客户签的合同公正吗?双方互利吗?客户的信誉好吗?例如按客户的需求开发了产品,但是客户可能不购买。子承包商供应商与子承包商、供应商签订的合同公正吗?双方互利吗?子承包商、供应商的信誉好吗?子承包商、供应商有可能倒闭吗?子承包商、供应商能及时交付质量合格的产品(或部件)吗?子承包商、供应商有能力做好售后服务吗?管理风险风险类型检查项项目计划对项目的规模、难度估计是否比较正确?人力资源(开发人员、管理人员)够用吗?合格吗?
29、项目所需的软件、硬件能按时到位吗?项目的经费够用吗?进度安排是否过于紧张?有合理的缓冲时间吗?进度表中是否遗忘了一些重要的(必要的)任务?进度安排是否考虑了关键路径?是否可能岀现某一项工作延误导致其他一连串的工作也被延误?任务分配是否合理?(即把任务分配给合适的项目成员,充分发挥其才能)是否为了节省钱,不采用(购买)成熟的软件模块,一切从零做起?项目团队项目成员团结吗?是否存在矛盾?是否绝大部分的项目成员对工作认真负责?绝大部分的项目成员有工作热情吗?团队之中有“害群之马”吗?技术开发队伍中有临时工吗?本项目开发过程中是否会有核心人员辞职、调动?是否能保证“人员流动基本不会影响工作的连续性”?
30、项目经理是否忙于行政事务而无暇顾及项目的开发工作?上级领导行政部门合作部门本项目是否得到上级领导的重视?上级领导是否随时会抽调本项目的资源用于其他“高优先级”的项目?上级领导是否过多地介入本项目的事务并且瞎指挥?行政部门的办事效率是否比较底,以至于拖项目的后腿?行政部门是否经常干一些无益于生产力的事情,以至于骚扰本项目?机构是否能全面、公正地考核员工的工作业绩?机构是否有较好的奖励和惩罚措施?本项目的合作部门的态度积极吗?是否应付了事?或者做事与承诺的不一致?技术风险风险类型检查项需求开发人员懂得如何获取用户需求吗?效率高吗?需求开发需求管理需求开发人员懂得项目所涉及的具体业务吗?能否理解用户
31、的需求?需求文档能够正确地、完备地表达用户需求吗?需求开发人员能否与客户对有争议的需求达成共识?需求开发人员能否获得客户对需求文档的承诺?以保证客户不随便变更需求?综合技术开发能力包括设计编程、测试等开发人员是否有开发相似产品的经验?待开发的产品是否要与未曾证实的软硬件相连接?对开发人员而言,本项目的技术难度高吗?开发人员是否已经掌握了本项目的关键技术?如果某项技术尚未实践过,开发人员能否在预定时间内掌握?开发小组是否采用比较有效的分析、设计、编程、测试工具?分析与设计工作是否过于简单、草率,从而让程序员边做边改?开发小组采用统一的编程规范吗?开发人员对测试工作重视吗?能保证测试的客观性吗?项
32、目有独立的测试人员吗?懂得如何进行高效率地测试吗?是否对所有重要的工作成果进行了同行评审(正式评审或快速检查)?开发人员懂得版本控制、变更控制吗?能够按照配置管理规范执行吗?开发人员重视质量吗?是否会在进度延误时降低质量要求?表5-4风险检查表风险名称风险识别人风险编号风险识别日期风险描述风险严重性风险系数风险可能性风险处理人风险减缓措施跟踪记录(1 )记录何人在何时做了什么事情(2)记录当前风险状态(正在处理,已经解决,不作处理)表5-5风险管理报告6需求管理需求管理(Requirement Management, RM )的目的在客户与开发方之间建立对需求 的共同理解,维护需求与其他 工作
33、成果的一致性,并控制需求的变更。需求管理过程域的三个主要规程:需求确认需求跟踪 需求变更控制6.1需求确认尽最大项目经理邀请同行专家和用户(包括客户和最终用户)一起评审需求文档,努力使需求文档能够正确无误地反映用户的真实意愿。当需求文档通过正式的评审之后,开发方负责人(项目经理)和客户对需求文档作 书面承诺,使之具有商业合同效果。示例如下:本需求文档建立在双方对需求的共同理解基础之上,我同意后续的开发工作根据该 需求文档开展。如果需求发生变化,我们将按照“需求变更控制规程”执行。我明白需 求的变更将导致双方重新协商成本、资源和进度等。甲方负责人签字 乙方负责人签字评审结束输出需求评审报告,书面
34、的需求承诺需求评审报告摘要需求文档输入名称,标识符,版本,作者,完成日期,需求评审报告输入名称,标识符,评审日期,评审结论工作成果合格,“无需修改”或者“需要轻微修改但不必再审核”。V 工作成果基本合格,需要作少量的修改,之后通过审核即可。工作成果不合格,需要作比较大的修改,之后必须重新对其评审。评审意见评审小组成员输入评审小组成员表6-1需求评审报告需求承诺需求文档输入名称,标识符,版本,作者,完成日期客户承诺承诺签字,日期项目经理承诺承诺签字,日期表6-2需求承诺6.2需求跟踪将系统设计、编程、测试等阶段的工作成果与需求文档进行比较,建立与维护“需求文档-设计文档-代码-测试用例”之间的一
35、致性, 确保产品依据需求文档进行开发。项目经理跟踪需求。建立与维护需求跟踪矩阵:正向跟踪。检查需求文档中的每个需求是否都能在后续工作成果中找到对应点。逆向跟踪。检查设计文档、代码、测试用例等工作成果是否都能在需求文档中找到 出处。正向跟踪和逆向跟踪合称为“双向跟踪”。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵(即表格)。需求跟踪矩阵保存了需求与后续工作成果的对应关系。矩阵单元之间的可能存在“一对一”、“一对多”或“多对多”的关系。由于对应关系比较复杂,最好在表格中加必要的文字解释。表6-3为简单的需求跟踪矩阵格式。当需求文档或后续工作成果发生变更时,要及时更新需求跟踪矩阵。#需求文档(版
36、本,日期)设计文档(版本,日期)代码(版本,日期)测试用例(版本,日期)1标题或标识符,说明标题或标识符,说明代码名称,说明测试用例名称,说明2表6-3简单的需求跟踪矩阵格式6.3需求变更控制修改“原需求文档”中不正确的内容,产生新的需求文档。 控制需求文档的变更,防止发生混乱。补充说明:本规程中的“原需求文档”是指已经通过了评审并获得书面承诺的需求文档开发方负责人(项目经理)和客户共同控制需求变更。需求变更申请申请变更的需求文档输入名称,版本,日期等信息变更的内容及其理由评估需求变更将对项目造成的影响申请人签字变更申请的审批意见项目经理签字审批意见:签字,日期客户签字(合同项目)审批意见:签
37、字,日期更改需求文档变更后的需求文档输入名称,版本,完成日期等信息更改人签字重新评审需求文档需求评审小组签字评审意见:签字,日期变更结束项目经理签字签字日期:表6-4需求变更控制报告7结项管理结项管理(Project Closing Management, PCM )是指在项目开发工作结束后,对项目 的有形资产和无形资产进行清算;对项目进行综合评估;总结经验教训等。立项管理与结项管理是前后呼应的两个过程域,使得项目管理过程“有始有终”。项目结束有两种状况:一是正常结束,二是异常结束。前者是指项目按预定计划结 束。后者原因有多种,归根结底都是由于该项目不再符合机构的最大利益。例如有些项 目因不适
38、应市场而被中途淘汰,有些项目在执行过程中大大因偏离计划(如进度延误、 费用超支)而被取消。不论项目属于正常结束还是异常结束,都要按照结项管理规范处理。国内很多项目普遍存在“虎头蛇尾”的现象,结项管理畸变成了“走过场,吃顿饭”,这是非常有害的。有价值的结项管理至少包括三项内容:对项目的有形资产和无形资产进行清算,既要防止资产流失,又要及时地利用 这些资产。对项目进行综合评估。例如评估项目完成情况、项目质量、投入产出分析、项 目的市场价值、项目对企业的贡献等等。该评估报告可以作为考核项目人员业 绩的重要依据。总结经验教训,使整个机构受益。图7-1结项管理流程图结项管理的流程如图7-1所示,产生的主
39、要文档有:结项申请书结项评审报告8需求开发需求开发(Requirement Development, RD )的目的是通过调查与分析,获取用户需求并定义产品需求。本规范阐述了需求开发过程域的两个主要规程:需求调查需求定义需求开发与需求管理是相辅相成的两类活动,它们共同构成完整的需求工程。需求 工程结构图如图6-1所示,需求开发和需求管理的流程如图8-1所示。图8-1需求开发与需求管理流程图需求开发可分为两个阶段:“用户需求调查阶段”和“产品需求定义阶段”。而“需求分析”则贯穿于上述两个阶段。需求调查阶段和需求定义阶段在逻辑上存在先后关系,实际工作中二者通常是迭代进行的。我们把从事需求开发工作的
40、人员称为需求分析员(也叫系统分析员),避免与其它开发人员混淆。、需求调查需求调查的目的是通过各种途径获取用户的需求信息(原始材料),产生用户需求说明书。二、需求分析需求分析的目的是对各种需求信息进行分析,消除错误,刻画细节等。常用的需求 分析方法有“问答分析法”、“结构化分析法”和“面向对象分析法”。三、需求定义需求定义的目的是根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生产品需求规格说明书。系统设计人员将依据产品需求规格说明书开展系统设计工作。需求开发过程域产生的主要文档有:用户需求说明书产品需求规格说明书9技术预研技术预研(TechnicalPre-Research, T
41、PR)是指在立项之后到开发工作完成之前的时 间内,对项目将采用的关键技术提前学习和研究,以便尽可能早地发现并解决开发过程 中将会遇到的技术障碍。在产品开发过程中,技术问题可能会层出不穷。如果一点技术障碍都没有遇到,要 么是开发人员的技术水平实在太高了,要么是项目的技术含量实在太低了,这类情况比 较少见。一般说来,在设计或实现阶段遇到了技术障碍,才去攻克问题,其代价通常比较高。 因为其他人的工作可能会被阻塞,已经投入的不少资源将被闲置。最糟糕的是,如果此 技术障碍无法攻克,不得已要改变技术方案、重新设计系统,那么不仅浪费了人力、财 力、时间,处理不好还会使开发队伍陷入混乱状态。所以开展技术预研工
42、作至少有两大好处:帮助开发人员更好地进行需求开发、系统设计和程序设计。防止开发进程被技术障碍打断,导致大量的相关工作被阻塞。技术预研的流程如图9-1所示。图9-1技术预研流程技术预研过程中产生的主要文档有:技术预研计划技术预研报告10系统设计系统设计(System Design, SD )是指设计软件系统的体系结构、用户界面、数据库、 模块等,从而在需求与代码之间建立桥梁,指导开发人员去实现能满足用户需求的软件 产品。本规范阐述了系统设计过程域的四个主要规程:体系结构设计用户界面设计数据库设计模块设计系统设计过程域分为两个阶段:高层设计阶段和详细设计阶段。高层设计阶段的重点是软件系统的体系结构
43、设计。详细设计阶段的重点是用户界面 设计、数据库设计和模块设计,如图10-1所示。系统设计过程域产生的主要文档有:体系结构设计报告用户界面设计报告数据库设计报告模块设计报告10.1体系结构设计分析与设计软件的体系结构。通过系统分解,确定子系统的功能和子系统之间的关 系,以及模块的功能和模块之间的关系,产生体系结构设计报告。项目经理指定若干名开发人员从事体系结构设计(以下称为体系结构设计人员)体系结构设计流程如图10-2所示。Step2.确定约束因素Step3.确定设计策略Step4.系统分解设计Step1.设计准备».°Step5.撰写文档1fc-Step6.设计评审|丨
44、1 图10-2体系结构设计流程体系结构设计报 告10.2用户界面设计设计软件的用户界面,产生用户界面设计报告。制作用户界面的资源如图像、图标或者界面专用组件等项目经理指定若干名开发人员从事用户界面设计(以下称为界面设计人员) 如果可能的话,邀请用户或美工人员协助设计用户界面。用户界面设计流程如图10-3所示。Step2.界面设计2.1原型创作Step1.设计准备2.2原型评估2.3细化Step3.撰写文档迭 代Step4.设计评审图10-3体系结构设计流程用户界面设计10.3数据库设计设计软件的数据库,产生数据库设计报告。项目经理指定若干名开发人员从事数据库设计(以下称为数据库设计人员)数据库
45、设计流程如图10-4所示。Step2.数据库设计2.2物理设计2.3安全性设计2.1逻辑设计Step3.撰写文档2.4优化图10-4数据库设计流程迭 代Step4.设计评审数据库设计报告10.4模块设计设计软件所有模块的主要接口与属性、数据结构和算法,产生模块设计报告 项目经理指定若干名开发人员从事模块的设计(以下称为模块设计人员)人员将在实现阶段编写这些模块的代码。,模块设计模块设计流程如图10-5所示。Step2.模块设计2.1接口与属性设计*2.2数据结构与算法设计Step3.撰写文档代Step4.设计评审图10-5模块设计流程模块设计报告ii实现与测试实现与测试(Impleme nta
46、tion and Test, IT )的目的是依据系统设计文档,编写并测试 整个系统的代码。在本规范中,实现与测试是“编程、代码审查、单元测试、集成测试、 缺陷管理与改错”的综合表述。实现与测试的流程如图11-1所示。一般地,编程、代码审查、单元测试、集成测试大致存在先后顺序关系,也可以并行、迭代地开展。上述任何活动中发现的缺陷必 须用统一的缺陷管理工具来管理,开发人员应当及时消除缺陷(改错)。模块编程缺陷管理与改错单元测试代码审查集图11-1实现与测试流程图由于实现与测试是工作量最大、时间最长、产生工作成果(代码与文档)最多的一 个项目研发过程域,所以需要作充分的准备工作。实现与测试工作基本
47、上在开发小组内部开展。一个项目可能有一个或者多个开发小组。对于小型项目,项目经理可以兼任开发组长。特别要注意的是,开发人员应当对自己的代码进行审查和测试(这是份内的工作) 但是不能作为该代码已经通过审查和测试的依据。所以开发人员还要互相审查和测试同 伴的代码。实现与测试过程域产生的主要文档有:实现与测试计划编程文档代码审查报告测试用例测试报告缺陷管理报告(由缺陷管理工具自动生成)一个项目可能有多个开发小组,视项目规模而定。开发组长由项目经理指定。 开发组长管理编程、代码审查、单元测试、集成测试、缺陷管理与改错等活动。编程文档实现与测试计划12系统测试系统测试(System Test, ST )
48、的目的是对最终软件系统进行全面的测试,确保最终软 件系统满足产品需求并且遵循系统设计。系统测试流程如图12-1所示。由于系统测试的目的是验证最终软件系统满足产品需求并且遵循系统设计,所以当产品需求和系统设计文档完成之后,系统测试小组就可以 提前开始制定测试计划和设计测试用例,而不必等到“实现与测试”阶段结束。这样可 以提高系统测试的效率。系统测试过程中发现的所有缺陷必须用统一的缺陷管理工具来管理,开发人员应当 及时消除缺陷(改错)。审批审批迭代图12-1系统测试流程图项目经理设法组建富有成效的系统测试小组。系统测试小组的成员主要来源于:机构独立的测试小组(如果存在的话)。邀请其它项目的开发人员
49、参与系统测试。本项目的部分开发人员。机构的质量保证人员。系统测试小组应当根据项目的特征确定测试内容。一般地,系统测试的主要内容包括:功能测试。即测试软件系统的功能是否正确,其依据是需求文档,如产品需求规格说明书。由于正确性是软件最重要的质量因素,所以功能测试必不可少。健壮性测试。即测试软件系统在异常情况下能否正常运行的能力。健壮性有两层含义:一是容错能力,二是恢复能力。性能测试。即测试软件系统处理事务的速度,一是为了检验性能是否符合需求,二是为了得到某些性能数据供人们参考(例如用于宣传)。用户界面测试。重点是测试软件系统的易用性和视觉效果等。安全性(security )测试。是指测试软件系统防
50、止非法入侵的能力。“安全”是相对而言的,一般地,如果黑客为非法入侵花费的代价(考虑时间、费用、危险等因素)高于得到的好处,那么这样的系统可以认为是安全的。安装与反安装测试。系统测试过程域产生的主要文档有:系统测试计划系统测试用例系统测试报告缺陷管理报告对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。项目经理组建系统测试小组,并指定一名成员任测试组长。系统测试小组各成员共同制定测试计划、设计测试用例、执行测试,并撰写相应的文档。测试组长管理上述事务。开发人员及时消除测试人员发现的缺陷。9系统测试计划测试用例测试报告13客户验收客户验收(Customer Acceptanee, CA )是指客户依据合同对产品进行审查和测试, 确保产品满足客户需求。客户对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB61T 508.1~6-2011 富硒双低油菜标准综合体
- DB61T 217-2014 猕猴桃 苗木技术规程
- 天津市静海一中2025年数学高三上期末达标测试试题
- 平面向量全真试题专项解析-2025年高三数学第一学期期末预测试题
- 医疗招聘模拟试题及答案
- 危重患者护理考试试题及答案
- 2025南昌公交运输集团保育院招聘4人考试参考试题及答案解析
- 2025重庆市万州区沙河街道办事处公益性岗位招聘1人备考练习试题及答案解析
- 2025青海时代新能源科技有限公司专场招聘考试参考试题及答案解析
- 2025年阜阳颍上县开源水务有限公司公开招聘劳务派遣工作人员12名备考练习题库及答案解析
- 2024事业单位食堂考试题及答案
- 酒店定位分析报告
- “双减”政策背景下小学语文读写研究
- 光学设计 第3讲 色度学
- 孔子的美学思想对现代设计的启示
- 脑干损伤的急救处理与康复训练
- 2025年日历日程表含农历可打印
- 《艺术概论》课件-第二章 艺术的功能
- 吴《园林植物配置技术》课件
- 《热力发电厂》热力发电厂全面性热力系统
- 14D504接地装置安装图集
评论
0/150
提交评论