PowerPoint 演示文稿

Download Report

Transcript PowerPoint 演示文稿

第6章 项 目 管 理
本章要点 :
软件项目管理概念
项目管理组织及过程
软件质量及保证
CMM模型
软件工程
 本章学习目标 :
了解项目管理过程
理解项目的估算方法
了解CMM模型的层次结构
软件工程
6.1 项目管理概述
软件工程
项目管理就是为了满足甚至超越项目涉及人员对项目
的需求和期望而将理论知识、技能、工具和技巧应用
到项目的活动中去。
需要在下面这些相互间有冲突的要求中寻求平衡:
范 围 、 时 间 、 成 本 和 质 量
有 不 同 需 求 和 期 望 的 项 目 涉 及 人 员
明确表示出来的要求(需求)和未明确表达的要求
在软件行业,对项目实施有效的管理是软件成败的
关键。
项目管理的过程
软件项目启动
度量
估算
风险分析
进程安排
追踪和控制
软件工程
6.2 项目计划
软件工程
计划是管理工作的重要职能,在软件项目管理中,软
件项目从制定项目计划开始。项目计划中需要确定以
下几项内容:
目标:定义了待完成的目标,迫切需要的资源,约束和优先级。
范围:定义待开发系统的边界,什么包括在系统里,什么不包括在
系统里。
产品技术说明:说明软硬件信息以及有关功能、性能、安全性等方
面的约束。
时间:进度表。
资金:预算。
地点:工作空间分配。
人员:参与人员以及项目组织。
6.3 进度安排
软件工程
软件开发项目的进展安排有两种考虑方式:
系统最终交付日期已经确定,软件开发部门必须在规定
期限内完成任务。
系统最终交付日期只确定了大致的年限,最后交付日期
由软件开发部门确定
进度安排是基于对项目的需求分析和评审
软件工程项目的并行性提出一系列进度要求。因为并
行任务是同时发生的,以进度计划决定任务之间的从
属关系,确定各个任务的先后次序和衔接,以及各个
任务完成的持续时间。
6.4 项目估算
软件工程
对软件项目进行有效的估算,取决于掌握多少有关项目范围
始资料。
估算的两个主要方法是:
第一种方法是根据项目特征和算法进行估算。
第二种方法是采用类比的方法,根据历史数据来进行估算。
项目规模估算
软件工程
量软件项目规模最常用的概念--LOC
L指所有的可执行的源代码行数,包括可交付的工作控制语言
(JCL:Job Control Language)语句、数据定义、数据类型声
明、等价声明、输入/输出格式声明等。
规模估算的三种方法
方法一、Delphi 法
方法二、 类比法
方法三、功能点估计法
软件开发成本估算
软件工程
软件开发成本主要是指软件开发过程中所花费的工作
量及相应的代价。
软件开发成本的估算,应是从软件计划、需求分析、
设计、编码、单元测试、组装测试到确认测试,整个
软件开发过程所花费的代价作为依据的。
对于一个大型的软件项目,要进行一系列的估算处理,
主要靠分解和类推的方法进行。
基本估算方法分为3类:
自顶向下的估算方法
自底向上的估算法
差别估计法
6.5 项目组织
1 组织原则
(1) 早落实原则
(2) 减少接口
(3) 责权均衡
2 人员配备
软件工程
6.6 软件质量
软件工程
按照ANSI/IEEE1983年的标准,软件质量定义为“与软件
产品满足需求所规定的和隐含的能力有关的特征和特性
的全体。”
软件产品中所能满足用户给定的全部特性的集合
软件具有所期望的各种属性组合的程度
用户主观得出的软件是否满足其综合期望的程度
决定所用软件在使用中将满足其综合期望程度的软件合成特性
质量保证的主要内容
软件工程
软件工程质量保证应用于整个软件过程的保护活动,
包括:
 (1)
 (2)
 (3)
 (4)
 (5)
束
 (6)
 (7)
质量管理方法
有效的软件工程技术(方法和工具)。
应用于整个软件过程的形式化技术评论。
多等级测试策略。
软件文档以及对软件进行改变和维护的控制和约
确保遵照软件开发标准的过程。
测量和报告机制。
软件工程标准化
软件工程
软件工作的范围从只是使用程序设计语言编写程序,
扩展到 整个软件生存期。所有这些方面都应逐步
建立起标准或规范来。
软件工程标准的类型也是多方面的。它可能包括过
程标准(如方法、技术、度量等)、产品标准(如需求、
设计、部件、 描述、计划、报告等)、专业标准(如
职别、道德准则、认证、特许、课程等)以及记法
标准(如术语、表示法、语言等)。
软件工程
软件工程标准的制定与推行通常要经历一个环状的生命期 (参
看图6.2)。最初,制定一项标准仅仅是初步设想,经发起后
沿 着环状生命期,顺时针进行要经历以下的步骤:
CMM模型
软件工程
CMM(Capability Maturity Model)即能力成熟度模型,定义了当一
个组织达到不同的过程时应该具有的软件工程能力。它描述了软
件过程从无序到有序、从特殊到一般、从定性管理到定量管理、
最终到达可动态优化的成熟过程。给出了该过程中5个成熟阶段
的基本特性和应遵循的原则、采取的行动,以帮助软件组织改进
其软件过程。
CMM的基前提是:软件质量在很大程度上取决于开发软件的软件
过程的质量和能力;软件过程是一个可管理、可度并不断改进的
过程;软件过程的质量受到用以支撑它的技术和设施的影响;软
件开发组织在软件过程中所采用的技术层次应适应于软件过程的
成熟度。
CMM模型
软件工程
将CMM组织成下图所示的5个等级,其意在于增加软
件过程成熟的改进行动按优先级 排序。图中带有标记
的箭头,指示在成熟度框架的每一步骤上,组织应予
以规范化的过程能力的类型。
[5]优化级
[4]已管理级
[3]已定义级
[2]可重复级
[1]初始级
6.7 软件配置管理
软件工程
系统配置指的是交付给特定客户的一个系统构件的集
合
软件配置管理是监督和控制工作产品中变化的过程。
变化遍及整个软件开发过程。
软件配置管理是软件系统发展过程中管理和控制变化
的规范[IEEE StD.1042-1987]。配置管理系统使得版
本的识别、存储和检索以及支持状态记录自动完成。
配置管理包括下列活动:
配置项的确定
变化控制
状态记录
审核
配置管理的过程
软件工程
软件配置管理的方法大致分三类:单独文件、增量和
条件编译。
以上三种方法各有优缺点,在实际的项目培训配置管
理中是将这些方法有机结合起来满足复杂的配置管理
要求。
6.8 常用软件项目管理工具
软件工程
开发人员有许多配置管理和版本管理
的工具可用,就解以下几种:
RCS[Tichy,1985],
CVS[Berliner,1990],
Perforce[Perforce],
ClearCase[Leblang,1994].