文档介绍:软件工程
电子教案
王树林
第二部分软件项目的管理
我们主要考虑计划、组织、监管和控制软件项目所需要的管理技术。在这一部分我们主要解决下列问题:
(1)在一个软件项目中如何管理软件过程和过程指导下的项目?
(2)什么是软件度量?如何使用它们管理软件过程和过程指导下的项目?
(3)什么度量能够辅助管理者评估开发的产品质量以及使用的过程的有效性?
(4)一个软件项目组如何对工作量、成本和项目时间进行可靠的评估?
第二部分软件项目的管理
(5)一个组织何时应该开发软件?何时应该获取软件?何时应该请求外援?
(6)如何评估风险?
(7)如何创建一个项目实施进度计划?
(8)什么是软件质量保证?如何使用他作为项目控制机制?
(9)为什么正式的技术复审那么重要?
第三章项目管理的概念
许多项目管理者,在根本不可能完成的最后期限下苦苦挣扎。系统交付后,又花许多时间去维护该系统。
原因:项目管理太弱。
管理的范围
有效的项目管理集中于3个P上:人员(People)、问题(Problem)和过程(Process)。其中人员是第一位的。
软件工程是人的智力密集的劳动,忽视了这一点就不可能成功?
第三章项目管理的概念
如果对问题理解有误,那么再好的解决方案也是无用的。
忽视过程也会给项目带来额外的风险。
人员
软件工程研究所专门开发了一个人员管理能力成熟度模型(PM-CMM),旨在“通过吸引、培养、鼓励和留驻改善其软件开发能力所需要的人才增强软件组织承担日益复杂的应用程序开发的能力。”
人员管理成熟度模型为软件人员定义了以下的关键实践区域:招募、选择、业绩管理、培训、报酬、专业发展、组织和工作计划、以及团队精神/企业文化培养。
第三章项目管理的概念
问题
在项目实施以前,应该首先明确该项目的目的和范围,考虑可选的解决方案。定义技术和管理的约束。没有这些信息,就不能进行合理的成本估算、有效的风险评估和进行适当的项目任务划分。根据产品的最后交付期限、预算的限制、可用的人员、技术接口及各种其他因素,给出项目的约束。
过程
第三章项目管理的概念
软件过程提供了一个框架,在这个框架下可以建立一个软件开发的综合计划。软件项目是由若干个不同任务集合组成的,每一个集合都是由任务、里程碑、交付物以及质量保证点组成。
人员
一个成功的软件项目中,最成功的因素是人。
但事实上一些公司的行为与说话不符。常常认为人员是不成问题的。
第三章项目管理的概念
项目参与者
参与软件过程的人员可以分为五类:
(1)高级管理者:负责确定商业问题。这些问题往往对项目产生很大影响。
(2)项目管理者:必须计划、刺激、组织和控制软件开发人员。
(3)开发人员:负责开发一个产品或应用软件所需要的专门技术人员。
(4)客户:负责说明带开发软件的需求的人员。
(5)最终用户:最终用户是直接与软件进行交互的人。
第三章项目管理的概念
项目负责人
项目管理是集中于人的活动,一个项目负责人应具备什么素质。
领导能力模型(MOI):
(1)刺激(Motivate):鼓励软件开发人员发挥其最大能力的一种能力。
(2)anization):融合已有的过程的一种能力。
(3)创新(Innovation):鼓励人们去创造,并感到有创造性的一种能力。
第三章项目管理的概念
成功的项目负责人应采用一种解决问题的管理风格。让每一位员工知道质量很重要,不能妥协。
软件项目组
一个项目需要n个人工作k年,那么这个项目可有若干人力资源分配方案。
(1)n个人被分配来完成m个不同的功能,一般而言,没有合作发生。协调是管理者的事情。
(2) n个人被分配来完成m个不同的功能(m<n),建立非正式的小组,指定一个专门的小组负责人小组之间的协调由专门的软件管理者进行。