您好,欢迎访问三七文档
北航软件工程研究所1软件管理工程I.管理工程的重要性和意义II.项目管理III.配置管理北航软件工程研究所2I.管理工程的重要性和意义管理是实现软件工程基本目标的保证。软件工程管理引起广泛注意源于20世纪70年代中期,当时发现不成功的项目70%是因为管理不善而引起。20世纪90年代中期,美国的软件开发仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。北航软件工程研究所3II.项目管理1.管理的内容2.管理过程的主要活动北航软件工程研究所4管理的内容要完成的任务;需要的资源(人、软/硬件);花费的工作量(成本);可能遇到的风险;工作进度。北航软件工程研究所5管理过程的活动一。制定计划二。度量三。估算四。风险管理五。计划实施、追踪控制北航软件工程研究所6一。软件项目计划的基本问题1。计划的重要性2。谁负责以及何时制定计划?3。项目计划的特点4。项目计划包括哪些子计划?5。软件过程和SPP6。SPP的动态性7。项目策划的主要步骤北航软件工程研究所71.计划的重要性项目计划是为实现预定目标而作的科学预测,以它为基准跟踪和控制项目的开发它确定未来的行动方案和资源分配,引导项目的实施项目计划的质量是决定项目成败、优劣的关键因素之一北航软件工程研究所82.谁负责以及何时制定计划?项目经理负责制定计划,项目组成员参与。软件项目开发计划是指导项目的纲,应尽早制定。在项目定义阶段,只要明确了软件项目的目标和软件要实现的基本功能;只要项目人员明白用户的意图就应制定。有时也称初始计划为基础计划。通过初始计划的制定,项目经理能熟悉项目工作的基本方面:范围、需求、总的时间和里程碑、组织机构、人员要求等。它确定了生存周期,管理过程、技术过程等。这些在项目过程中,变化不会太大。北航软件工程研究所93.项目计划的特点它是文档化的,而不是只在经理的脑袋里描述任务;如何作,包括资源,时间周期,可接受的偏差范围等可读性好模块化足够简炼,让人愿意看项目计划中应包括所有的项目管理问题北航软件工程研究所104.项目计划包括哪些子计划?项目计划中包括:SDP计划-软件开发计划SQA计划-软件质量保証计划SCM计划-配置管理计划测试计划风险计划培训计划跟踪计划……北航软件工程研究所115。软件过程和SPP任何项目都有自己确定的过程。过程管理对软件尤为重要。无论在CMM的哪个等级,都必须将过程文档化。但一般项目确定的软件过程描述不够明确以致不能直接执行。SDP中以各种方式(如索引)包含项目过程的描述,但建立项目过程并不是SPP的任务。SDP在项目已确定的软件过程的基础之上建立。项目的SDP在项目确定的软件过程(将做什么和如何作)和项目的具体完成方式(例如,谁将按照什么进度生成哪个工作产品)之间建立联系。例如,SCM、设计等。北航软件工程研究所126。SPP的动态性众所周知,项目策划是基于当前已有的信息(包括过去的经验,当前项目的目标、范围、组织结构、资源等),安排工作和进度,预测作业结果随着项目的进展、信息的增多和理解的深入,预测会逐渐地接近实际,所以对任何类型的项目来说,计划的修订不可避免软件项目计划将不断修订,贯穿全生存周期(SPP活动3);每次修订应按CMM中SPP-KPA的要求进行。北航软件工程研究所137.项目策划的主要步骤定义可交付产品(what,why,when,how)估计和策划工作量和成本协商各方约定(who,where)安排进度和资源,使能按时交付编写计划Gantt图和PERT图北航软件工程研究所14有关进度的安排和监控几个问题(1)任务分解结构(2)甘特图(3)PERT技术和CPM技术(4)开发模块的任务网络图示例(5)分层任务网络图(6)关键路径分析北航软件工程研究所15(1)工作分解结构(WBS-workBreakdownstructure)概述WBS中的层次结构WBS的构造将两者混合的WBS的例子WBS在项目“阶段”的应用WBS的局限性传统的WBS及产品层次传统的WBS的基本缺陷进化的WBS一个缺省的进化的WBS北航软件工程研究所16概述WBS用于策划(制定计划),跟踪、控制。WBS是项目计划的“构架”。在整个项目生命周期中,它必须用适当的细节等级封装变更和进化。WBS以层次结构组织项目活动的元素,将项目分解成易于管理的活动进化的WBS的组织方式与传统的WBS的组织方式不同北航软件工程研究所17WBS中的层次结构产品的层次结构指明各种软件的构件如何安置在软件系统中反映软件产品的基本结构,由软件设计者确定构件有:例行程序(routine)、模块、子系统等活动的层次结构指明处理一个软件构件的各种方法合适时,活动层次的一部分可以运用到产品的任何一个层次可以将两者混合WBS关注如何组织它们,以便能最适合项目的特征北航软件工程研究所18WBS的构造迭代式构造构造有意义的逐步细分的层次结构向下细分到能实际作出策划和控制的层次,但是不要太碎综合自顶向下和由底向上两种方法采用混合的产品/活动的层次结构北航软件工程研究所19将两者混合的WBS的例子RequirementAnalysisHighLevelDesignDetailedDesignMod1P1P2CodeP2CodeReviewP2UnitTestPlanP2UnitTest&DebuggingP2P3P4Mod2Mod3Mod4Code&UnitTestSystemTestDespatch&InstallProjectManagementProject34ACTIVITYBreak-upProductBreak-up北航软件工程研究所20WBS在项目“阶段”的应用如果项目按阶段进行对当前阶段作详细的分解对未来阶段保留不动当知道更多细节时,进一步分解为更细的WBS北航软件工程研究所21WBS的局限性不能显示执行任务的序列性不能显示任务间的依赖性要用网络描述进度安排北航软件工程研究所22传统的WBS及产品层次系统需求和设计子系统1构件11需求设计编码测试文档…(其它构件的相似结构)构件1n需求设计编码测试文档…(其它构件的相似结构)集成和测试测试计划测试过程准备测试测试报告其它支持领域配置控制质量保证系统管理子系统M构件M1需求设计编码测试文档…(其它构件的相似结构)构件Mn需求设计编码测试文档…(其它构件的相似结构)北航软件工程研究所23传统的WBS的基本缺陷(1)传统的WBS的三个基本缺陷。(A)过早地围绕产品设计进行了结构化:如果计划和产品构架都已经成熟,那么将二者紧密结合起来是合理的。如果计划或是构架需要改变时,松散的结合则更为合适。北航软件工程研究所24传统的WBS的基本缺陷(1)传统的WBS的三个基本缺陷。(B)过早地在过于详细或过于简单的细节上进行分解、计划和预算:大型软件项目容易计划过剩,小型软件项目则容易计划不足北航软件工程研究所25传统的WBS的基本缺陷(1)传统的WBS的三个基本缺陷(C)传统的WBS是项目相关的,交叉项目通常很难比较或者根本不可能比较:没有标准的WBS,要在多个项目之间比较计划、财务数据、进度数据、组织效率、成本趋势、生产力趋势或质量趋势是极其困难的。北航软件工程研究所26传统的WBS的基本缺陷(2)使用传统的WBS的项目群组,多数无法回答下面这些简单的问题,而这些问题对于有组织的过程改进是很关键的:(A)生产活动(需求、设计、实现、评估和实施)与日常管理活动(管理和环境)的比率如何?(B)花在返工活动的工作量的百分比是多少?(C)花在软件基本设备(环境开销)上的成本所占的百分比是多少?(D)生产性测试与(非生产性)集成的比率是多少?北航软件工程研究所27进化的WBS进化的WBS围绕过程框架组织计划的元素,而不是围绕产品框架组织这些元素。北航软件工程研究所28关于进化的WBS的建议第一级WBS元素是工作流(管理、环境、需求、设计、实现、评估和实施)。这些元素通常分配给单一的群组,它们构成了用于项目的计划和项目间比较的解剖结构。第二级元素是为生命周期的阶段而定义的(初始、细化、构造和移交)。这些元素允许项目计划以更加自然的方式精确地理解需求、构架和内在风险。第三级元素是为生产各阶段制品的活动而定义的。这些元素可能是结构中级别最低的,用来对给定阶段的离散制品进行成本结算,或许它们可以进一步分为几个更低层次的活动一起共同生产一个制品。北航软件工程研究所29一个推荐的进化的WBS(1)A管理AA初始阶段管理AAA业务案例开发AAB细化阶段发布规格说明AAC细化阶段WBS基线的制定AAD软件开发计划AAE初始阶段项目控制和状态评估AB细化阶段管理ABA构造阶段发布规格说明ABB构造阶段WBS基线的制定ABC细化阶段项目控制和状态评估AC构造阶段管理ACA实施阶段计划ACB实施阶段WBS基线的制定ACC构造阶段项目控制和状态评估AD移交阶段管理ADA下一代计划ADB移交阶段项目控制和状态评估C需求CA初始阶段需求开发CAA可视化规格说明CAB用况建模CB细化阶段需求基线的制定CBA可视化基线的制定CBB用况模型基线的制定CC构造阶段需求维护CD移交阶段需求维护D设计DA初始阶段构架原型DB细化阶段构架基线的制定DBA构架设计建模DBB设计演示计划并实施DBC软件构架描述DC构造阶段设计建模DCA构架设计模型维护DCB构件设计建模DD移交阶段设计维护B环境BA初始阶段环境规格说明BB细化阶段环境基线的定制BBA开发环境安装与管理BBB开发环境集成与定制工具制造BBCSCO数据库简洁陈述BC构造阶段环境维护BCA开发环境安装与管理BCBSCO数据库维护BD移交阶段环境维护BDA开发环境维护与管理BDBSCO数据库维护BDC维护环境包装与移交一个缺省的进化的WBS是与过程框架(阶段、工作流和制品)相一致的北航软件工程研究所30一个推荐的进化的WBS(2)E实现EA初始阶段构件原型EB细化阶段构件实现EBA关键构件编码演示集成EC构造阶段构件实现ECA初始阶段发布构件编码与单机测试ECBAlpha发布构件编码与单机测试ECCBeta发布构建编码与单机测试ECD构件维护ED移交阶段构件维护G实施GA初始阶段实施计划GB细化阶段实施计划GC构造阶段实施GCA用户手册基线的制定GD移交阶段实施GDA产品向用户移交F评估FA初始阶段评估计划FB细化阶段评估FBA测试建模FBB构架测试情景实现FBC演示评估与发布说明书FC构造阶段评估FCA初始发布评估与发布说明书FCBAlpha发布评估与发布说明书FCCBeta发布评估与发布说明书FD移交阶段评估FDA产品发布评估与发布说明书北航软件工程研究所31一个推荐的进化的WBS(3)这个推荐的结构示范了如何按照过程框架元素制订计划。它提供了一个框架,用于估计每个元素的成本和进度,在一个项目组织中分配元素,跟踪开支。所示的结构需要根据项目的以下特点剪裁。A.规模。更大型的项目需要更多层次和子结构。北航软件工程研究所32一个推荐的进化的WBS(4)B.组织结构。包含子承包商或跨多个组织实体的项目可能会引进对不同WBS的分配限制。C.定制开发的程度。D.业务环境。合同性项目要求更加细致的管理和评估元素。开发商业产品的项目可能需要更加细致的实施元素基础。局限在单个站点的应用程序可能有一个很简陋的实施元素或者一个精致的实施元素。E.经验。北航软件工程研究所33(1)Gantt图北航软件工程研究所34(2)PERT技术和CPM技术(1)PERT和CPM技术是安排开发进度,制定软件计划的最常用的方法。两种技术都是由较早的项目计划活动中已经产生的信息来驱动。计划评价和评审技术(ProgramEvaluation&ReviewTechnique-PERT)关键路经(CriticalPathMethod–CPM)北航软件工程研究所35PERT技术和CPM技术(2)任务网络图描述任务之间的依赖关系任务分解结构—定义
本文标题:软件管理工程
链接地址:https://www.777doc.com/doc-213401 .html