1、毛新军毛新军http:/ http:/计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件项目管理课程软件项目管理课程 之之Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划2n项目案例n什么是软件项目计划?n为什么需要软件项目计划?n制定软件项目计划应考虑的因素n制定软件项目计划的步骤nCMM对软件项目计划的要求n成功的和过于乐观的软件开发计划n案例分析及CASE工具n小结Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划3案例角色和人物小王:软件项目负责人小王:软件项目负责人老王:公
2、司技术老总老王:公司技术老总开发小组:小开发小组:小李,老赵,小田,小谢李,老赵,小田,小谢Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划4n项目开始实施之时,老王就提醒小王,为了更好地管理和控制软件开发项目,他应该马上着手制定软件项目的实施计划,该计划的制定对于整个项目的组织、管理和开展是至关重要的n由于认识到软件项目计划的重要性,小王化了1周时间制定了一个详细的软件项目计划,包括了详细的工作安排、明确的人员分工和具体的进度要求,计划看起来似乎是科学和合理的n项目计划最后交给项目组的所有成员进行讨论,并交付给公司的领导审阅,通过并批准,开始被付诸实施C
3、opyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划5n软件项目计划分发到了项目组的各个成员,每个成员根据计划准确地了解了各自的任务和工作,也了解了这些工作的实施进度要求n根据软件项目计划开始阶段似乎一切顺利,各项工作已经按照计划的要求有序开展n然而,随着项目实施的进展,小王发现实际的工作很难按照计划中所计划的那样开展进行。在计划制定时,低估了软件项目的规模,高估了开发人员的素质和能力,整个计划过于乐观,软件项目计划不得不多次进行调整,项目进展一拖再拖。Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划6n后来小王发现,低估项
4、目规模的一个主要原因是由于在制定计划时缺乏对项目规模的详细、准确的了解。n尽管小王对用户做了无数次的解释保证按期交付产品,用户对项目的按期交付表示怀疑,并要求加快项目的实施进度n公司高层开始表示关注,为了弥补时间和进度,不得不要求员工牺牲休息日进行加班,项目组部分成员开始抱怨。n幸运的是,软件项目计划在经过多达10次的更改,在项目组成员的积极努力和用户的配合下,项目最终在拖延了6个月之后顺利完工了Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划7n软件项目计划的制定是极为重要的n软件项目计划应该在项目实施的初期制定n软件项目计划的制定必须科学、准确,这样才
5、能真正促进软件项目的管理nCopyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划8n什么是软件项目计划?n软件项目计划包括哪些方面的内容?n软件项目计划制定应该注意哪些方面问题?n如何制定软件项目计划?n如何保证所制定计划的科学性和准确性?Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划9n项目案例n什么是软件项目计划?n为什么需要软件项目计划?n制定软件项目计划应考虑的因素n制定软件项目计划的步骤nCMM对软件项目计划的要求n成功的和过于乐观的软件开发计划n案例分析及CASE工具n小结Copyright Xinjun Ma
6、o 2005第第4讲讲 软件项目计划软件项目计划10n什么是软件项目计划?n软件项目计划的内容n软件项目计划制定的基础和依据n软件项目计划制定的时机n初步和详细的软件项目计划Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划11n软件项目计划是对软件项目实施所涉及的活动、人员的安排、任务的划分、开发进度、资源的分配和使用等方面作出的预先规划 活动和任务 资源及其安排 进度计划n进度计划与计划中的其他部分相关,是软件项目计划中最难以制定,对软件项目的实施影响最大,着重关注进度计划的制定Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软
7、件项目计划12n任务和开发活动 活动(技术活动和管理活动)以及它们之间的关系,来自过程剪裁 例如,需求分析,软件概要设计,软件详细设计等等 进一步细化,以描述完成工作详细、具体步骤及其逻辑顺序,如需求分析(需求调查、分析和建模、撰写文档、评审)n进度计划 各项活动按什么样的时间进度开展实施:何时开始,何时结束 例如,需求分析:2002/8/1开始2002/10/23结束 软件概要设计:2002/10/25开始2002/11/23结束Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划13n资源使用和安排计划 如何针对不同活动的特点计划分配资源(人员、资金、设备
8、等) 哪些角色(项目经理、需求分析人员、软件设计人员),哪些人(小王,小李,老赵,小田,小谢) 开发人员充当什么角色、负责和参与哪些活动 例如,张三作为需求分析小组负责人,负责和参与需求分析阶段工作;李四作为需求分析小组成员,参与需求分析的具体工作 例如,在需求分析阶段,投入3个人、预计投入资金10万元(包括人员薪水、外地出差费用) 、PC机3台、PC服务器1台Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划14n活动、资源和人员、进度等方面的计划是密切相关的n注意 项目进度应该是宏观的,应该保留在一定的抽象层次,不宜过细、过于具体 对于软件开发而言,资源
9、和人员与进度之间并不是线性关系时间时间进度进度活动活动人员和资源人员和资源Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划15n定义和剪裁的软件开发过程(及其细化)n要完成的工作 工作说明和软件需求 历史数据和估算模型 估算工作量和成本n约束和限制条件 人员 资源 进度制定软件开发计划制定软件开发计划软件开软件开发过程发过程要完成要完成的工作的工作约束和约束和限制限制软件项目计划软件项目计划Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划16n在项目开始实施之时制定计划 明确了软件开发活动 明确了约束和限制条件 不明确
10、要完成的工作,因为需求分析工作还没开始n制定软件项目计划的时机 项目开始之时:初步计划 需求完成之时:详细计划Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划17 制定初步计划制定初步计划 制定质量保证计划制定质量保证计划 制定软件配置计划制定软件配置计划 需求分析需求分析 概要设计概要设计 跟踪和监督跟踪和监督 配置管理配置管理 技术活动技术活动 管理活动管理活动 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划18n初步的软件项目计划 时机:项目开始(1-2周内)但是还没有获取完整和详细的软件需求 依据n项目的初步
11、描述、用户需求的初步描述n定义和剪裁的过程n限制和约束 形式:仅仅计划最近(需求分析阶段或者4-6周之内)的软件开发计划Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划19n详细完整的软件项目计划 时机:获取了详细、完整的软件需求 依据n软件需求规格说明书n定义和剪裁的过程n限制和约束 形式:提供了项目后期的详细、完整的计划Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划20n项目案例n什么是软件项目计划?n为什么需要软件项目计划?n制定软件项目计划应考虑的因素n制定软件项目计划的步骤nCMM对软件项目计划的要求n成功
12、的和过于乐观的软件开发计划n案例分析及CASE工具n小结Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划21n有序、可控制地对软件项目进行管理n生产高质量的软件产品n确保员工的士气高昂n确保员工保持高生产率n及时交付软件产品n降低软件开发成本n成功地进入市场n客户满意度n及时发布产品新版本Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划22n项目案例n什么是软件项目计划?n为什么需要软件项目计划?n制定软件项目计划应考虑的因素n制定软件项目计划的步骤nCMM对软件项目计划的要求n成功的和过于乐观的软件开发计划n案例分析
13、及CASE工具n小结Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划231.计划制定的二种方式2.活动关系类型3.估计活动的周期4.确定里程碑5.活动责任矩阵6.描述进度计划7.关键路径8.参与、承诺和分发Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划24n自顶向下n自底向上Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划25n自顶向下 由一个或者一部分人单独完成 目的是服务于高层领导和用户,而不是项目组 主要依据项目进度的要求和约束,针对项目中的重大活动(如需求分析、软件设计等
14、)而制定的一个粗略的软件项目计划 只能作为目标进度表,不能作为实施进度表Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划26n自底向上 计划由计划制订者负责,所有项目组成员参与制定 一般供项目组,用于实际项目的实施 要求项目组成员事先了解和认可 详细定义了计划中的所有活动(不仅仅是哪些重大活动),明确了活动的参与者、持续时间以及活动之间的关系Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划27n什么是软件开发活动关系? 活动关系描述了活动之间的逻辑和执行时序n活动之间有哪些关系? 结束到开始 开始到开始 结束到结束 开
15、始到结束Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划28 活动活动 A 活动活动 B 活动活动 B 活动活动 B 前一活动前一活动 后一活动后一活动 结束之后就开始结束之后就开始 结束几天后开始结束几天后开始 结束几天前开始结束几天前开始 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划29 活动活动 A 活动活动 B 活动活动 B 活动活动 B 活动一活动一 活动二活动二 同时开始同时开始 开始几天后开始开始几天后开始 开始几天前开始开始几天前开始 Copyright Xinjun Mao 2005第第4讲讲 软
16、件项目计划软件项目计划30 活动活动 A 活动活动 B 活动活动 B 活动活动 B 同时结束同时结束 结束几天后结束结束几天后结束 结束几天前结束结束几天前结束 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划31n细分活动 活动的粒度越小,估算的准确度就会越高n借鉴历史数据 积累历史数据n使用估算模型 例如,CoCoMo模型n考虑缓冲时间 缓冲时间保证项目按照计划有足够的时间来完成活动Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划32n缓冲时间 意外事件的缓冲n意外事件可能会发生(如全企业的培训)n例如,需求分析计
17、划从8.1开始共需20个工作日,应该8.29日完成,但中间公司要开展2天的全员培训,因此8.31结束 节假日时间的缓冲n例如,编码计划从9.31开始,工作量为10个工作日,因为国庆放假1周,因此,应该计划在10.21日完成n不要在计划中考虑加班时间,加班是不可避免得,但是考虑了加班,可能会发生更多的加班Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划33n综合考虑其他因素 考虑节假日 以工作日(而不是星期)规定活动周期 考虑参与活动团队的教育、培训、经验和技能水平 考虑教育和培训需要 考虑评审所化的时间 考虑传播时间 考虑团队中成员的其他工作 考虑硬件、工
18、具和人员的效率 考虑活动的迭代和重复 活动之间有一定的缓冲Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划34n工作量的分布分析和设计分析和设计40%-50%40%-50%测试和调试测试和调试30%-40%30%-40%编码编码10%-20%10%-20%Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划35n什么是软件开发的里程碑(milestone) 软件项目实施过程中的重大事件,这些事件有助于了解项目实施的进展情况 例如,某个重要活动的开始和结束n有哪些典型的里程碑 活动n需求分析、概要设计、详细设计、编码 检查点
19、n开始和结束Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划36n为什么需要关注里程碑 获取对项目实施的整体了解 便于向高层管理者汇报项目进展情况n如何获取里程碑 来自于项目高层计划,或者从项目计划中抽取 确定你要关注的活动以及检查点Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划37n里程碑的例子 需求分析通过评审并正式批准,标志需求分析工作的完成,后续阶段工作的开始 软件设计规格说明书通过评审并且得到批准,标志软件设计工作完成,后续工作的开始Copyright Xinjun Mao 2005第第4讲讲 软件项目计划
20、软件项目计划38n在制定软件项目计划时要定义活动责任矩阵n什么是活动责任矩阵 一种表示方法,用于定义了执行、评审和批准软件项目活动及其相关软件产品的角色和人员Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划39n活动责任矩阵的例子活活动动 执执行行 负负责责 评评审审 批批准准 需求分析 需求分析小组 需求分析负责人 用户方代表 需求分析小组 软件设计小组 软件测试小组 质量保证小组 用户方代表负责人 软件项目负责人 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划40n活动责任矩阵的例子(续)角角 色色 名名 称称
21、角角 色色 人人 员员 需 求 分 析 小 组 小 李 , 老 赵 , 小 田 , 小 谢 需 求 分 析 负 责 人 老 赵 用 户 方 代 表 张 三 、 李 四 用 户 方 代 表 负 责 人 张 三 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划41n为什么需要定义活动责任矩阵 是软件项目计划的一个组成部分 明确、清晰说明项目的职责区域 帮助项目组成员了解他们的任务和职责,以及要参与的工作 帮助项目组成员了解与其相关的人员 帮助项目组成员预计其工作量Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划42n甘特图
22、n网络图Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划43n甘特图是一个图形化的任务表示方式,分为二个部分来显示任务计划 左部的工作表,以文字方式显示任务信息,如任务名称,开始和结束日期等 右边的图表,以条形图方式显示任务信息Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划44Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划45n网络图是一个图形化的任务表示方式 框表示任务,框内用文字显示任务信息,如任务名称,开始和结束日期等 框间的连接,表示任务之间的相关性Copyright
23、Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划46Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划47n甘特图和网络图是等价的,可以相互转换n甘特图的特点 更能直观的显示任务的进程n网络图的特点 更能展示任务之间的相关性Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划48n什么是关键路径? 是指从起始任务开始,到结束任务为止的、具有最长长度的路径 关键路径1:A-D-H; 关键路径2:A-E-F-G-H 任务任务 A 5 个工作日个工作日 任务任务 H 2 个工作日个工作日 任务任务 B 5 个工作
24、日个工作日 任务任务 C 4 个工作日个工作日 任务任务 E 5 个工作日个工作日 任务任务 F 2 个工作日个工作日 任务任务 G 4 个工作日个工作日 任务任务 D 11 个工作日个工作日 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划49n为什么要考虑关键路径? 关键路径上活动的进度直接影响到整个项目的进度 如果关键路径上活动的进度受到影响,那么整个项目的进度肯定会受到影响 要缩短项目的开发周期,必须加快关键路径上活动的开发进度Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划50 任务任务 A 5 个工作日个工
25、作日 任务任务 H 2 个工作日个工作日 任务任务 B 5 个工作日个工作日 任务任务 C 4 个工作日个工作日 任务任务 E 5 个工作日个工作日 任务任务 F 2 个工作日个工作日 任务任务 G 4 个工作日个工作日 任务任务 D 11 个工作日个工作日 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划51n项目计划的制订者和所有的项目组成员都要参与项目计划的制定 明确任务,估算周期,确认进度n通过会议的形式参与制定 加强交流n所有成员都要承诺项目计划的内容n项目计划要进行评审n评审后的项目计划要分发给所有的项目组成员,让他们了解软件项目计划Copyr
26、ight Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划52n项目案例n什么是软件项目计划?n为什么需要软件项目计划?n制定软件项目计划应考虑的因素n制定软件项目计划的步骤nCMM对软件项目计划的要求n成功的和过于乐观的软件开发计划n案例分析及CASE工具n小结Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划531.指定项目进度协调者2.确定要使用的工具3.准备项目进度计划会议4.召开项目进度计划会议5.提交和分析数据6.使用工具创建进度计划7.评审项目进度计划8.使用工具更改项目进度计划9.批准项目进度计划10.分发项目进度计划Cop
27、yright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划54n对每个过程和步骤的描述 任务描述 入口条件 出口条件 持续时间 进一步说明Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划55n任务描述 项目经理指定一个计划协调者,负责协商约定和制定项目软件开发计划 计划协调者是一个关键的角色n入口条件 项目开始实施之时n出口条件 有一个人被指派为计划协调者Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划56n持续时间 1天,甚至更短n进一步说明 计划协调者可以是项目经理本身 计划协调者应是一个全日
28、制的职位Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划57n为什么需要指定项目计划协调者? 项目计划的制定非常重要 项目计划的制定工作量大,需要全日制人员 项目计划的制定涉及多方人员,包括用户、项目经理、开发人员、其他计算机系统小组,因此需要专职人员进行多方协调Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划58n任务描述 项目计划协调者指定计算机辅助工具用于辅助制定软件项目计划和项目检查表n入口条件 确定了项目计划协调者n出口条件 所选择的项目管理辅助工具Copyright Xinjun Mao 2005第第4讲讲
29、 软件项目计划软件项目计划59n持续时间 0-5天n进一步说明 可适当安排时间对工具的使用进行培训 典型工具如:Microsoft ProjectCopyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划60n为什么需要项目管理辅助工具? 提高项目计划制定的效率 便于发现所制定的项目计划中存在的问题,提高项目计划制定的质量 便于以后的跟踪和监督Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划61n任务描述 为召开项目计划做好准备,内容包括n确定会议主题和具体任务n制定会议进度和日程安排n分发会议通知,邀请所有的项目组成员参加会议
30、n最好有一个初步的草案供与会人员讨论n如有,收集历史信息Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划62n入口条件 选择了项目计划制定工具n出口条件 为会议召开做了充分的准备,并分发了会议通知n持续时间 0 5天Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划63n任务描述 召开会议,并就有关问题达成一致意见 确定软件开发活动(大粒度),例如需求分析 确定每个活动的负责人Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划64n活动负责人会后要与其下属以及有关人员确定 细化所负责的
31、活动(足够详细,便于管理和估算进度) 确定活动之间的关系 讨论活动的持续时间 确定活动所需要的资源 列出与每个活动相关的一些基本假设和要求n生产率n所需的人和机器n人员的工作能力Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划65n入口条件 分发了会议通知 项目计划负责人为会议的召开做好了充分的准备n出口条件 确定了各个主要活动的负责人 与会者就制定项目计划的过程达成一致 各个负责人明确了各自的任务和职责 记录了所有要解决的问题,会议备忘录被分发给所有与会人员n持续时间 2 3天Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件
32、项目计划66n任务描述 项目各个活动的负责人向项目计划负责人提交了计划数据 项目计划负责人对提交的数据进行了分析Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划67n入口条件 项目计划会议已成功召开n出口条件 各个项目活动负责人的计划数据已经收集并得到充分的分析n持续时间 1周Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划68n任务描述 项目计划负责人使用工具制定项目计划n入口条件 各个活动负责人提交了各自的计划数据n出口条件 制定了一个初步的项目计划n持续时间 1-5天Copyright Xinjun Mao 20
33、05第第4讲讲 软件项目计划软件项目计划69n任务描述 项目计划负责人召开项目计划的评审会议 会议的参与者不仅包括项目组成员,还包括管理层、质量保证人员、甚至用户Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划70n入口条件 制定了初步的项目进度计划n出口条件 评审会议结束,记录了所有发现的问题,并形成了会议备忘录n持续时间 1-2天Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划71n任务描述 根据评审会议的要求更改项目计划n入口条件 评审会议结束,确定了项目进度计划的修改部分n出口条件 产生了一个可提交的项目计划n
34、持续时间 1-5天Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划72n任务描述 给项目经理上报项目计划,等待批准n入口条件 根据评审会议要求修改后的项目计划n出口条件 项目经理批准的项目计划n持续时间 1天Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划73n任务描述 将批准后的项目计划分发给项目组成员n入口条件 经批准的项目计划n出口条件 适当地文件包分发给项目组成员n持续时间 1天Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划74n项目案例n什么是软件项目计划?n为什么需要
35、软件项目计划?n制定软件项目计划应考虑的因素n制定软件项目计划的步骤nCMM对软件项目计划的要求n成功的和过于乐观的软件开发计划n案例分析及CASE工具n小结Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划75n软件项目计划是CMM二级的关键过程域n软件项目计划是指为实施软件工程和管理软件项目制定合理的计划,其任务包括: 以要完成的工作、约束条件和目标为基础 估计软件项目的规模、软件工作产品、所需资源、工作量、成本、建立必要的承诺和约定,制定软件开发计划 为了制定软件开发计划,可能需要反复地通过这些步骤n软件开发计划提供了实施和管理该软件项目的活动的基础C
36、opyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划76n共25个关键实践,对软件项目计划的制定提出了明确的要求制定方针政策制定方针政策2 2确保必备条件确保必备条件4 4实施软件过程实施软件过程1515度量和分析度量和分析1 1检查实施情况检查实施情况3 3Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划77n制定软件估算文档,用于策划和跟踪软件项目使用 n制定软件项目活动和约定计划,并形成文档 n受影响组和个人同意与软件项目有关的约定 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划
37、78n指派一个负责人(一般为项目软件负责人)负责制定项目软件开发计划,并对其中的各项承诺进行协商n说明 指定专人负责制订项目软件开发计划 软件开发计划中各项承诺的制定需要与有关各方进行协商Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划79n项目遵循一个书面的、由组织制定的用以进行软件项目计划的方针, 该方针一般包括: 将分配给软件的需求作为软件项目计划的基础 协商关于该软件项目的承诺,如项目负责人、项目软件负责人、其他受影响组等 和其它工程组协商他们介入软件活动的事宜,并记入文档,如系统工程组、硬件工程组、系统测试组等Copyright Xinjun M
38、ao 2005第第4讲讲 软件项目计划软件项目计划80 受影响组(软件工程组、质量保证组、配置管理组等)评审软件项目的规模估算、 工作量和成本估算、计算机资源和进度估计,以及其它承诺 高级管理者对所有向组织外的个人和组所作的软件项目承诺进行评审 项目的软件开发计划应受管理和控制 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划81n对软件项目存在文档化、经批准的工作说明(SOW)- 软件项目任务书 , 工作说明的内容包括: 工作范围(做与不做) 技术目标和指标 对顾客和最终用户的标识 要求遵循的标准(行业和软件标准等) 赋予的职责 成本和进度的约束及目标
39、软件项目和其它组织间的依赖关系如顾客、子承包商、合作伙伴等 资源的限制和目标 对开发和(或)维护的其它约束和目标 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划82 工作说明由下列人员评审,如n项目负责人n项目软件负责人n其它受影响组 工作说明应受管理和控制Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划83n指定软件开发计划的制定人员,明确其职责 项目软件负责人直接或委托代表协调项目的软件计划 将软件工作产品和活动进行分解,并以可追踪和可说明的方式将其指派给各负责人 软件工作产品的例子包括:n适时交付给外部顾客或最
40、终用户的工作产品如软件需求规格说明书、使用手册n供其它工程组使用的工作产品,如软件接口文档n供软件工程组内部使用的主要工作产品Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划84n为策划软件项目提供足够的资源和经费 有专门知识的有经验的个人来制定软件开发计划 能得到支持软件项目策划的工具,如n电子表格程序n项目估计模型n项目策划和调度程序等Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划85n介入软件项目计划的人员应接受软件估计和项目计划方面的培训 Copyright Xinjun Mao 2005第第4讲讲 软件项目
41、计划软件项目计划86n软件工程组参加项目计划的建议和评审活动 建议和说明的准备、讨论、协商和提交 软件工程组评审所建立的项目承诺 项目的技术目标和指标 系统和软件的技术解决方案 软件标准和规程 软件预算、进度和资源Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划87n在整个项目计划的早期阶段就起动软件项目软件计划,此两项计划可同时进行Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划88n在项目的整个生存期内,软件工程组和其它受影响组一起参加整个项目的计划Copyright Xinjun Mao 2005第第4讲讲 软件
42、项目计划软件项目计划89n按照文档化的规程,高级管理者参与对组织外的个人和组所作的软件项目承诺进行的评审 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划90n选定合适的软件生存周期模型 瀑布模型 带反馈的瀑布模型 螺旋模型 快速原型,等等Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划91n按文档化规程制定项目的软件开发计划, 该规程一般规定: 软件开发计划基于且遵守n顾客的合适标准 n项目的标准 n经批准的工作说明 n用户需求 与软件有关组和其它工程组协商他们介入软件工程组活动的计划,对该项支持工作编制预算,并对达
43、成的协议写成文档 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划92 由下列人员评审软件开发计划 n项目负责人 n项目软件负责人 n其它受影响组 软件开发计划应受管理和控制 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划93n将软件开发计划写成文档,内容包括: 项目软件的目的、范围、目标和指标 软件生存周期的选择 开发和维护软件用的规程、方法和标准的标识 待开发软件工作产品的标识 软件工作产品规模的估计 软件项目工作量和成本的估计 关键计算机资源使用情况的估计 软件项目的进度,包括各个里程碑和评审的标识 项目软件风
44、险的标识和评估 关于项目软件工程设施和支持工具的计划 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划94n标识为建立和维护控制软件项目所需的工作产品n参考软件配置管理关键过程域的活动Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划95n按照文档化规程,导出软件工作产品规模(或对软件工作产品规模的更动)的估算 对所有主要的软件工作产品和活动作出规模估计 n要作规模估计的工作产品和活动的类型的例子有 运行软件和支持软件 可交付的和不交付的工作产品 软件和非软件工作产品(例如文档) 开发、验证和确认工作产品的活动 n估计方
45、法 功能点 特征点 代码行 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划96 将软件工作产品进行分解,直到适于进行估计的粒度 在有历史资料的地方应使用历史资料 对规模估计写成文档,进行评审、并使之得到认可 n项目负责人n项目软件负责人n其它受影响组Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划97n按照文档化的规程,导出软件项目的工作量及成本的估计,该规程一般规定 软件项目的工作量及成本的估计应与软件工作产品规模(或更动的规模)的估算关联起来考虑 在有生产率数据(历史的和(或)当前的)可用时,应将其用于估计;并将
46、这些数据的来源及原理说明记入文档 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划98 对工作量、人员配置和成本的估计应基于过去的经验 将导出估算时所作的假定和估算结果记入文档,进行评审并使之得到认可 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划99n按照文档化的规程,导出项目软件的关键计算机资源的估算 标识项目的关键计算机资源 n计算机存储容量n计算机处理器能力n通信通道容量 关键计算机资源的估算应与下列各项的估计关联起来考虑 n软件工作产品的规模、运行处理的负载、通信量 对关键计算机资源的估算写成文档、进行评审
47、、并使之得到认可 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划100n按照文档化的规程,导出项目的软件进度表,该规程一般规定 软件进度表的制定应与下列各项关联起来考虑 n软件工作产品规模(或规模更动)的估计 n软件工作量和成本的估计 软件进度表的制定应基于过去的经验 n可能时,利用类似项目的经验 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划101 软件进度表应满足设定的里程碑日期、关键的日期以及其它限制要求 软件进度表中的活动应有合适的持续时间,而且里程碑是以适当的时间间隔分开的,以便能支持度量软件项目进展中的
48、精度 将导出进度表时的假定记入文档 对软件进度表写成文档、进行评审、并使之得到认可 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划102n对与项目成本、资源、进度和技术方面相关联的软件风险进行鉴别、评估并写成文档 根据风险对项目的潜在影响,对各种风险进行分析并按优先级排序 标识导致风险的各种偶发事件 n进度受阻 n人员更换Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划103n制定关于项目所需软件工程设施和支持工具的计划 对这些设施和支持工具的能力需求的估算应建立在对于软件工作产品的规模估计和其它特征的基础上, 软件
49、开发设施和支持工具的例子包括: n软件开发用的计算机和外设 n软件测试用的计算机和外设 n目标计算机环境中的软件 n其它支持软件 为了获得或研制这些设施和支持工具,分配职责、商谈承诺 所有受影响组评审该计划 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划104n记录软件策划的资料 所记录的信息包括估算以及相关信息 软件策划的资料应受管理和控制 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划105n进行度量,并将度量结果用于确定软件策划活动的状态 将软件项目策划活动的里程碑的完成情况与计划相比较 将软件项目策划活动中
50、所完成的工作,所用的工作量和所消耗的资金与计划相比较 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划106n高级管理者定期参与软件项目策划活动的评审 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划107n项目软件负责人可定期或者事件驱动地参与软件项目策划活动的评审 Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计划108n软件质量保证组对软件项目策划活动和工作产品进行评审和(或)审计,并报告其结果Copyright Xinjun Mao 2005第第4讲讲 软件项目计划软件项目计