数学与计算机学院第六章软件管理文档数学与计算机学院主要内容6.1管理文档概述6.2项目开发计划书6.3软件测试计划6.4开发进度报告6.5开发总结报告数学与计算机学院6.1管理文档概述工程化的软件生产方式是软件业界始终在追求的目标。管理人员、开发技术、可用资源和规避风险策略等,都对软件项目的成败有着举足轻重的作用。随着软件规模和复杂性的日益增长,软件业界一直在不断地改善软件项目的管理方法,途径之一就是建立行之有效的、可操作性强的软件管理文档。软件开发过程也是一个软件项目管理的过程,软件管理文档提供了把软件项目开发纳入科学管理轨道的一种行之有效的管理手段和方法。数学与计算机学院1、软件管理文档主要作用主要体现在以下三个方面:软件开发各个阶段工作成果的体现;为掌握开发过程、控制开发质量和维护工作等提供原始信息;为各类角色间相互沟通、协调提供基础;软件管理文档管理人员开发人员操作人员用户维护人员数学与计算机学院2、软件管理文档的组成1.项目开发计划为软件项目具体实施所作的总体方案。2.测试计划为组装测试和确认测试所制定的实施计划。3.测试分析报告测试工作完成以后,应提交测试计划执行情况的说明。4.开发进度报告软件开发人员按月向管理部门提交的项目进展情况报告。5.项目开发总结报告总结实际执行的情况,对开发工作作出评价,总结出经验和教训。数学与计算机学院6.2项目开发计划6.2.1项目开发计划书主要内容6.2.2工作分解结构6.2.3项目里程碑与阶段性文档6.2.4项目进度6.2.5运用图和表描述项目进度6.2.6项目进度预算6.2.7风险管理6.2.7项目开发计划文档格式数学与计算机学院6.2.1项目开发计划书项目开发计划又称软件定义文档,是项目启动后的头一件最重要的工作。其主要包括以下一些内容:(1)项目目标:(2)开发团队及人员安排:(3)硬件和软件资源需求:(4)工作分解:(5)项目进度:(6)风险分析:(7)监控机制:(8)开发估算:数学与计算机学院6.2.2工作分解结构(WBS)WBS(WorkBreakdownStructure)将一个项目分解成易于管理的几个部分或几个细目,以便确保找出完成项目工作范围所需的所有工作要素。它是一种在项目全范围内分解和定义各层次工作包的方法。WBS按照项目发展的规律,依据一定的原则和规定,进行系统化的、相互关联和协调的层次分解。WBS通常是一种面向“成果”的“树”,其最底层是细化后的“可交付成果”,该树组织确定了项目的整个范围。但WBS的形式并不限于“树”状,还有多种形式,例如锯齿状的列表形式数学与计算机学院写项目管理书1.准备建议书1.1考察竞争情况1.2估计市场潜力1.3确定出版商2.做研究2.1文献综述2.2采访专家2.3采访项目经理3.写文字内容3.1写第一稿3.2修改3.3交给出版商3.4批准编辑好的稿子4.开发说明图表4.1草稿4.2终稿4.3待印刷的复印件5.索引5.1列出词汇表5.2主控文档5.3生成图2锯齿状的列表形式数学与计算机学院图1树状的层次结构图会议1.会前2.会中3.会后1.1布置会场1.2准备材料1.3下通知2.1录像2.2会场服务3.1清扫现场3.2书写纪要3.3审批下发1.2.1材料11.2.2材料21.2.3材料32.2.1饮品2.2.2空调2.2.3音响数学与计算机学院6.2.2工作分解结构(WBS)1、WBS的潜在哲理2、WBS分解的一般步骤3、WBS分解的原则4、WBS分解的几种思路5、工作分解的用途数学与计算机学院6.2.2工作分解结构(WBS)1、WBS的潜在哲理2、WBS分解的一般步骤3、WBS分解的原则4、WBS分解的几种思路5、工作分解的用途数学与计算机学院把项目分解成若干个可以单独分配和可以单独承担责任的工作包;WBS的基本目的:将项目产品、项目过程和项目组织——这三种不同的结构,艺术性地综合为项目分解结构的成果;项目规模大、复杂、难控制——分解,直到使其分解后的低级子项目易于实施和控制为止。处于工作分解结构最底层的计划工作,叫做工作包。1、WBS的潜在哲理数学与计算机学院WBS举例:轮船建造项目分解数学与计算机学院6.2.2工作分解结构(WBS)1、WBS的潜在哲理2、WBS分解的一般步骤3、WBS分解的原则4、WBS分解的几种思路5、工作分解的用途数学与计算机学院(1)总项目(2)子项目或主体工作任务(3)主要工作任务(4)次要工作任务(5)小工作任务或工作包工作包是管理控制的心脏,它明确了几个关系:控制“什么”、“谁”来进行、“何时”进行、进行“多少”。2、WBS分解的一般步骤数学与计算机学院WBS举例:公路桥项目分解数学与计算机学院功能或技术:考虑到每一阶段到底需要什么样的技术或专家组织结构:考虑项目的分解应适应组织管理的需要地理位置:主要是考虑处于不同地区的子项目系统或子系统:根据项目在某些方面的特点或差异将项目分为几个不同的子项目3、WBS分解的原则数学与计算机学院6.2.2工作分解结构(WBS)1、WBS的潜在哲理2、WBS分解的一般步骤3、WBS分解的原则4、WBS分解的几种思路5、工作分解的用途数学与计算机学院4、WBS分解的几种思路■基于“职能”进行分解。新产品开发项目1市场部:市场调研2研发部:方案设计3生产部:试制4质管部:检测5销售部:试销数学与计算机学院■基于“成果(可交付物)”进行分解房地产开发项目1.住宅1-5﹟2.商场3.体育馆4.学校5.道路数学与计算机学院■基于“时间(工作阶段)”进行分解110米跨栏项目第一阶段热身第二阶段起跑第三阶段途中跑第四阶段冲刺数学与计算机学院6.2.2工作分解结构(WBS)1、WBS的潜在哲理2、WBS分解的一般步骤3、WBS分解的原则4、WBS分解的几种思路5、工作分解的用途数学与计算机学院5、工作分解的用途(1)思路工具:工作分解结构描述了项目的整体思路,是一个计划和设计的工具(2)结构设计工具工作分解结构是项目工作的结构图,清晰了表示出各项工作之间的相互关系(3)计划工具工作分解结构展现了一个项目的全貌,说明了为完成项目所必须完成的各项活动(4)项目状态报告工具工作分解结构可以作为项目状态报告框架。项目活动随着低一级活动的完成,由下向上不断整合,某一项工作的完成将成为里程碑事件,所以,工作分解结构定义了里程碑事件数学与计算机学院6.2.3项目里程碑与阶段性文档项目里程碑是一项软件过程活动的终结,每个里程碑都对应有一个正式的可以提交给管理层的阶段性结果。据此管理者可以了解正在被开发的软件的进展状况,对项目进展和成本估算做出判断,并根据需要及时调整项目的进度安排。需要指出的是里程碑是项目内部的阶段性成果,可以供项目管理者来检查项目的进展情况,里程碑不是向客户交付的东西。要建立里程碑,软件过程就一定要分解成一系列相关的基本活动,而每一个这样的基本活动都要有相应的输出结果。数学与计算机学院可行性研究需求分析原型开发设计研究需求描述可行性报告用户需求估算报告体系结构设计系统需求需求描述中的项目里程碑数学与计算机学院项目进度要求项目管理者要估算完成各项活动所需的时间和资源,并按照一定的顺序把它们严密地组织起来。不同的项目具有不同的开发进度制订项目进度首先将一个项目分解为若干个独立的活动,并判断完成这些活动所需的时间。需要提出的是,有些活动是并行进行的,项目进度必须协调这些并行活动并把整个工作组织起来,从而使人力资源得到充分利用。6.2.4项目进度数学与计算机学院制订项目进度时注意事项1)各项活动应该至少持续一个星期,最高是持续8-10周左右。过细的划分意味着在项目进度的估算和进度表的修订上将花掉太多的时间2)在估算进度时,管理者需要有一定的余量软件开发过程常常有许多不可预测的因素。例如:项目技术难度较高,其中某些部分可能比原来预期的要困难得多,花费的时间也多。数学与计算机学院制订项目时注意的事项3)要估算完成每项任务所需要的资源。首先是人力、物力资源,还有磁盘空间、专业硬件的准备时间,项目人员的差旅费等4)一般在最初估算的基础上增加30%,再预留20%给还没有想到的其他问题。估算进度采用“理想-实际”方式,即:先假定什么问题也没有进行估算,然后再把预计出现的问题加到估算中去。其他的偶然因素可能带来意想不到的问题,在估算项目时也应考虑进去。数学与计算机学院制订项目时注意的事项1)各项活动应该至少持续一个星期,最高是持续8-10周左右。2)在估算进度时,管理者需要有一定的余量3)要估算完成每项任务所需要的资源。4)一般在最初估算的基础上增加30%,再预留20%给还没有想到的其他问题。数学与计算机学院6.2.5运用图和表描述项目进度1、甘特图2、网络图3、里程碑图4、资源图数学与计算机学院●甘特图(横道图)甘特图由美国亨利·甘特于1917年前后发明,用于车间日常工作安排。甘特图通过日历形式列出项目活动及其相应的开始和结束日期,为反映项目进度信息提供了一种标准格式。甘特图以横线表示项目活动的起止时间,横轴表示时间,纵轴表示要安排的活动。优点:简单、明了、直观、易于编制不足:静态联系、不能反映复杂关系1、甘特图数学与计算机学院甘特图数学与计算机学院数学与计算机学院2、网络图网络图是活动排序的一个输出,它展示项目中的各个活动以及活动之间的逻辑关系,表示项目任务将如何和以什么顺序进行,。网络图采用左到右画出各个任务的时间关系图,它开始于一个任务,工作、活动、里程碑,结束于一个任务、工作、活动、里程碑。有些活动有前置任务与后置任务,前置任务是在后置任务前进行的活动,后置任务是在前置任务后进行的活动。前置任务和后置任务表明项目中的活动将如何和能什么顺序进行。数学与计算机学院常见的网络图有:(1)PDM(PrecedenceDiagrammingMethod)优先图法,节点法(单代号)网络图(2)ADM(ArrowDiagrammingMethod)箭线法(双代号)网络图(3)进度计划--关键路径法(CPM)数学与计算机学院(1)PDM图例开始活动1活动3活动2结束在本图中,活动1是活动3的前置任务,活动3是活动1的后置任务数学与计算机学院PDM构成PDM网络图的基本特点是节点(Box)节点(Box)表示活动(工序,工作)用箭线表示各活动(工序,工作)之间的逻辑关系.可以方便的表示活动之间的各种逻辑关系。在软件项目中PDM比ADM更通用数学与计算机学院PDM-优先图法图例开始需求获取项目规划需求确认项目计划评审总体设计详细设计系统测试集成测试编码结束注:粗线表示关键路径数学与计算机学院(2)ADM(ArrowDiagrammingMethod)ADM也称为AOA(activity-on-arrow)或者双代号项目网络图,在ADM网络图中,箭线表示活动(工序\工作),节点Node(圆圈:circle)表示前一道工序的结束,同时也表示后一道工序的开始.只适合表示结束-开始的逻辑关系数学与计算机学院ADM图例总体设计需求确认需求获取系统测试集成测试编码详细设计计划评审项目规划123698754数学与计算机学院ADM图例-虚活动虚活动为了定义活动为了表示逻辑关系不消耗资源的12AB231AB数学与计算机学院(3)进度计划--关键路径法(CPM)一种用来预测总体项目历时的项目网络分析技术。一个项目的关键路径是指一系列决定项目最早完成时间的活动。它是项目网络图中最长的路经,并且有最少的浮动时间或时差。浮动时间或时差是指一项活动在不耽误后继活动或项目完成日期的条件下可以拖延的时间长度。数学与计算机学院关键路径的特点它是项目整个过程中最长的路径;关键路径上的任何活动延迟,都会导致整个项目完成时间延迟;反映了项目完成的最短时间。数学与计算机学院例题路径1A-D-H-J长度=1+4+6+3=14天路径2B-E-H-J长度=2+5+6+3=16天路径3C-G-I-J长度=3+6+2+3=14天由于关键路径是整个网络图中最长的路径,故路径2,即B-E-H-J是项目的关键路径123456