1 / 33
文档名称:

第12章软件工程课件.ppt

格式:ppt   页数:33页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第12章软件工程课件.ppt

上传人:xwhan100 2015/4/6 文件大小:0 KB

下载得到文件列表

第12章软件工程课件.ppt

文档介绍

文档介绍:第12章软件工程项目管理基础
项目管理的范围
人员角色管理
问题管理
过程管理
小结
项目管理的范围
有效的项目管理集中在三个P上,即人员(People)、问题(Problem)和过程(Process)。这三者的顺序不能够任意变更。软件工程是人的智力密集型劳动,忽略了对人的管理,工程必然失败;如果在项目早期没有和用户进行有效的通信交流,没有界定出清晰的需求,那么即使设计出不错的解决方案,也往往针对的是错误的目标;如果对于过程环节疏于管理,即使采用了良好的技术方法和先进的工具,也会因过程的混乱失控而遭遇失败。
人员的过程能力、技术水平和协同工作能力是保证软件项目成功的关键因素。培养有创造力的、技术水平高的软件人员是从20世纪60年代起就开始讨论的话题。近年来对于优秀软件人才的要求中又增加了针对个人软件过程能力(PSP)方面的要素。考虑到人的因素非常重要,SEI还专门开发了一个人员管理能力成熟度模型PM-CMM。专门用以指导软件开发组织改进人力资源管理工作。人员管理能力成熟度模型PM-CMM共分为五个成熟度等级。它为软件人员管理定义了如下的关键过程域:招聘、选择、绩效管理、培训、报酬、专业发展、组织和工作计划以及团队精神/企业文化培养。在PM-CMM方面的成熟度等级越高的组织,更有可能增强开发团队的能力,实现有效的软件工程开发。
问题管理主要解决“软件定义”和任务分解方面的问题,明晰针对什么对象、进行什么处理、达到什么目标、分配给什么角色去完成。任何一个软件工程项目都应当首先界定项目的目标和范围。这一活动是作为系统工程活动的一部分开始的,持续到软件需求分析阶段。这一活动的目的是说明该项目的总体目标,但并不涉及到如何实现;范围说明给出与问题相关的主要数据、功能和行为,并且以量化的形式约束这些特性。目标和范围确定之后,要开始考虑软件的解决方案,并据此确定项目的约束条件。
软件过程提供了一个活动框架的集合,这些框架适合于任何一个软件项目。根据该框架可以建立一个综合的开发计划。通过定义框架中不同的具体任务,能够使描述通用过程的框架“个性化”,从而适合于不同软件项目的特征和项目组的需求。每一个框架(任务集合)都由任务、里程碑、交付的工作产品和质量控制点组成。对软件过程进行管理,使之按照严格的规则有效地进行裁剪,以适应具体的工程特征;对实际进程进行度量都属于过程管理的任务。
人员角色管理
项目参与者
(1) 高级管理者:负责确定商业问题,这些问题往往对项目会产生很大影响。所有涉及外部组织和个人的承诺只能由高级管理者验证确定。
(2) 项目(技术)管理者:对项目的进展负责。包括制定项目计划;组织、控制并激励软件开发人员展开工作;负责和用户代表交流,获取项目的需求与约束条件;和用户代表协商,进行变更控制;协调内部软件相关组的工作;安排必要的培训。
(3) 开发人员:负责开发一个产品或者应用软件所需的各类专门技术人员。根据工作性质的不同,又可以划分成不同的角色,比如系统分析员、系统设计师、程序员、测试工程师等等。按照项目开发计划所赋予的任务和角色的岗位职责开展工作。
(4) 客户代表:负责说明待开发软件需求的人员。同时和项目管理者协作控制项目开发过程中的各类变更。
(5) 最终用户:一旦软件发布成为产品,最终用户是直接与软件进行交互的人,在使用过程中还会提供必要的反馈信息。在验收测试阶段,最终用户起着非常重要的作用。
每一个软件项目都应当有上述人员参加,为了提高人员工作效率,项目负责人必须最大限度地发挥每个人的技术和能力。为了能够更好地发挥各类专业人员的作用,软件开发组织应当根据实际情况建立本组织的岗位责任制度。划定岗位,明确职责,力争做到人定其岗、岗定其责。同时开发组织、项目组还应当保证每种角色在承担自己的任务时都接受过必要的、足够的培训,保证具有履行相应岗位职责的能力。
项目负责人
项目负责人是项目管理工作的策划者和主要执行者之一。遴选项目负责人时必须注意,管理人员的管理技能水平是首要的条件。一个优秀的软件工程师并不见得就能够很好地承担项目负责人的角色。
项目管理的核心是人员的管理,一个优秀的项目管理人必须善于利用激励机制鼓励技术人员发挥其最大能力;必须具有组织能力,能够驾驭或者创新过程,使得最初的概念能够逐渐转化成最终的产品;他也应当鼓励人们在工作中发挥创造性。
项目负责人还应当集中注意力理解待解决的问题;管理新想法、新思路的交流;通过语言和行为在整个项目组中贯彻质量至上的意识。一个有效的软件项目负责人应当能够准确地诊断出技术的和管理的问题,把以往的成功经验应用到新环境下;策划系统的解决方案并激励开发人员实现