软件工程项目管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程项目管理
第六章项目管理 (3)
6.1 项目管理概述 (4)
6.1.1 项目管理的特点 (5)
6.1.2 项目管理的过程 (8)
6.2 项目计划 (10)
6.3 进度安排 (12)
6.4 项目估算 (14)
6.4.1 软件规模估算 (16)
6.4.2 软件开发成本估算 (19)
6.5 项目组织 (23)
6.5.2 人员配备 (24)
6.6 软件质量 (25)
6.6.1软件质量及质量保证 (25)
6.6.2质量保证的要紧内容 (26)
6.6.3质量保证体系 (27)
6.6.4软件工程标准化 (28)
6.6.5 CMM模型 (36)
6.7 软件配置管理 (39)
6.7.1 概述 (39)
6.7.2 配置管理的过程 (40)
6.8 常用软件项目管理工具 (43)
第六章项目管理
本章要点
✧软件项目管理概念
✧项目管理组织及过程
✧软件质量及保证
✧CMM模型
本章学习目标
✧熟悉软件项目管理的任务与目标、软件的作用范围✧懂得可行性研究、成本估算技术与成本估算模型、
软件项目的组织与计划、软件质量保证。
✧懂得软件能力成熟度模型(CMM)的基本概念、软件
过程的成熟度等级、关键过程区域、软件企业如何实施CMM。
✧掌握软件管理技术的基本方法。
6.1 项目管理概述
软件项目管理同样表达出管理的四个基本职能,即计划、组织、领导与操纵。软件项目管理是项目管理方法的一个应用领域,项目管理就是为了满足甚至超越项目涉及人员对项目的需求与期望而将理论知识、技能、工具与技巧应用到项目的活动中去。要想满足或者超过项目涉及人员的需求与期望,我们是需要在下面这些相互间有冲突的要求中寻求平衡:
范围、时间、成本与质量
有不一致需求与期望的项目涉及人员
明确表示出来的要求(需求)与未明确表达的要求(期望)
项目管理关注计划与资源分配以保证在预算内按时完成质量合格的系统。项目管理也面临技术开发同样的问题:复杂与变化。复杂的产品需要很多有着不一致背景与能力的开发者参与开发。市场竞争与需要使开发过程需要变化,带来了经常性的资源重新分配,并使得对项目状况的跟踪也变得困难。管理者与开发者使用同样的方法处理与多变问题:通用模型、交流、基本原理与配置。
项目管理已经成为一种广泛应用于各行各业的技术管理过程。在软件行业,对项目实施有效的管理是软件成败的关键。项目管理已经得到越来越多的企业与政府部门的重视,学习与借鉴国际上先进的项目管理经验是非常明智与有益的。软件企业的项目规范是许多公司通过几十年的摸索与实践逐步进展形成的。
随着我国正式加入世界贸易组织(WTO),我国与国际上的交流与合作更加频繁,越来越多的国内软件将承接外包软件作为业务进展的一个方向。外包软件指的是发达国家的企业将软件开发项目转移到他国。利用他国廉价的劳动力成本来降低软件开发的成本。国外企业选择外包软件的合作伙伴时,最看重的是项目管理的项目经理的综合素养要求较高,好的项目经理应该在软件开发技术,软件开发技术,软件工程理论与实践,项目管理,人际沟通等方面均要有较深的造诣。
6.1.1 项目管理的特点
软件项目管理除涉及计算机软硬件领域技术外,还涉及到系统工程学、心理学、社会学、经济学、乃至法律等方面的问题。需要用到多方面的综合知识,特别是要涉及到社会的因素、精神的因素、人的因素比技术问题复杂得多。在有关领域的研究成果与实践已经比较丰富,但在具体的软件项
目实践中,务必结合该项目的工作条件、人员与社会环境等多种因素来开展与实施。软件工程进展的实践证明,软件项目成败的关键往往在于项目管理能力水平的高低,管理得好就能带来效率,赢得时间,最终将在技术前进的道路上取得领先地位。
软件项目的特点:
软件产品与其他任何产业产品相比有它自己的特点,它是无形的,没有物理属性,它是一个物理系统的逻辑影射,因此难以懂得难于驾驶。但它确实是把思想、概念、算法、流程、组织、效率、优化等融合在一起了。文档编制的工作量在整个项目过程研制过程中站有很大的比重,但往往人们并不重视,因而直接影响了软件的质量。软件开发工作技术性很强,要求参加工作的人员具有一定的技术水平与实际工作的经验。另外,人员的流淌对项目的影响很大,离去的人员不但带走了重要信息,还带走了工作经验。
软件项目管理的困难
1.智力密集,可见性差:软件工程充满了大量高强度的
脑力劳动。软件开发的成果是不可见的逻辑实体,软
件产品的质量的尺度加以衡量,关于不深入掌握软件
知识或者缺乏软件经验的人员,是不可能领导做好软
件管理工作的。
2.单位生产:在内容、形式各异的基础上研制或者生产,
与其它领域中大规模现代化生产有着很大的差别,也
自然会给管理工作造成许多实际困难。
3.劳动密集,自动化程度低:软件项目经历的各个阶段
都渗透了大量的手工劳动,这些劳动十分细致、复杂
与容易出差。尽管近年来已经有了软件工具与CASE
的研究,但远未达到自动化的程度。软件产品
的提高自然受到了很大影响。
4.使用方法繁琐,保护困难:软件工作渗透人的因素:
不仅要求软件人员具有一定的技术水平与工作经验,
而且还要求他们具备良好的心理素养。软件人员的情
绪与他们的工作环境对他们工作有好大的影响。
在总结与分析足够数量失误的软件项目之后,看出其原因大都与管理工作有关问题渗透及到软件项目研制中的计划制定,进度估计资源使用,人员配备,组织机构与管理方法等管理的许多侧面。
软件项目管理的要紧职能包含:
制定计划:规定待完成的任务、要求、资源与进度等
建立组织:为实施计划,保证任务的完成,需要建立分工明确的责任制度。
配备人员:任何各类层次的技术人员与管理人员。
指导:鼓励与动员软件人员完成所分配的工作。