教学课件·软件项目管理.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《教学课件·软件项目管理.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 软件 项目 管理
- 资源描述:
-
1、12主要内容 软件项目管理的重要性软件项目管理的重要性 项目管理基本原理项目管理基本原理 软件项目管理分析软件项目管理分析31.1 软件项目中的常见问题 沟通问题沟通问题 用户描述需求问题用户描述需求问题 项目经理的指挥问题项目经理的指挥问题 分析人员的技术加工问题分析人员的技术加工问题 项目进度问题项目进度问题 项目成员估算问题项目成员估算问题 和项目相关小组关系问题和项目相关小组关系问题 项目文档问题项目文档问题41.2 软件项目管理现状(1994)5成功标准成功标准点数点数1.用户参与用户参与192.高层管理人员的支持高层管理人员的支持163.明确的要求陈述明确的要求陈述154.适当的计
2、划适当的计划115.现实的预期现实的预期106.细分的项目里程碑细分的项目里程碑97.有才能的参与人员有才能的参与人员88.项目团队所有权项目团队所有权69.明确的视野和目标明确的视野和目标310.全神贯注、努力工作的员工全神贯注、努力工作的员工3合计合计100IT成功标准(1994)Standish Group Chaos6年度成功项目()存在问题项目()失败项目()19941653311996273340199826462820002849232004295318200635461920093244241.3成功软件项目的十大要诀 清晰的愿景清晰的愿景 稳定的、完整的书面需求稳定的、完整的
3、书面需求 详细的用户界面原型详细的用户界面原型 有效的项目管理有效的项目管理 精确的估算精确的估算 重视质量重视质量 技术专家的意见技术专家的意见 积极的风险管理积极的风险管理 软件是人创造的软件是人创造的 两阶段预算两阶段预算72.1 项目的定义 以下哪些事件属于项目?以下哪些事件属于项目?开发一项新的产品或服务开发一项新的产品或服务 开发一种全新的或者是经修正过的信息系统开发一种全新的或者是经修正过的信息系统 主持一次会议主持一次会议 庆祝庆祝XX高校高校60年校庆年校庆 清洁工打扫办公楼清洁工打扫办公楼8项目定义 项目是为创造独特的产品、服务或成果项目是为创造独特的产品、服务或成果而进行
4、的临时性工作。而进行的临时性工作。(PMBOK2008)临时性临时性项目有明确的开始时间和结束项目有明确的开始时间和结束时间。时间。当项目目标已经实现,或因项目目标不能实现当项目目标已经实现,或因项目目标不能实现而项目被终止时,就意味着项目的结束。而项目被终止时,就意味着项目的结束。独特性独特性项目所创造的产品或服务与已有的项目所创造的产品或服务与已有的相似产品或服务相比较,在有些方面有明显的相似产品或服务相比较,在有些方面有明显的差别。项目要完成的是以前未曾作过的工作,差别。项目要完成的是以前未曾作过的工作,所以它是独特的。所以它是独特的。9项目延伸属性:目标的确定性目标的确定性 组织的临时
5、性和开放性组织的临时性和开放性 成果的不可挽回性成果的不可挽回性相互依赖和冲突属性相互依赖和冲突属性10项目管理定义 所谓项目管理就是将知识、技能、工具与所谓项目管理就是将知识、技能、工具与技术应用于项目活动,以满足项目的要求。技术应用于项目活动,以满足项目的要求。管理一个项目首先要识别需求;其次在规划和管理一个项目首先要识别需求;其次在规划和执行项目时,处理干系人的各种需要、关注和执行项目时,处理干系人的各种需要、关注和期望;并且要平衡相互竞争的项目制约因素,期望;并且要平衡相互竞争的项目制约因素,包括:范围、质量、进度、预算、资源、风险包括:范围、质量、进度、预算、资源、风险等。等。112
6、.2 项目管理的历史和发展 近代近代 萌芽:萌芽:公认为公认为2020世纪世纪4040年代,美国研制第一课原年代,美国研制第一课原子弹的任务采用项目来管理,称为子弹的任务采用项目来管理,称为 “曼哈顿计划曼哈顿计划”成熟:成熟:50年代,年代,关键路线法(关键路线法(CPMCPM)和计划评审技)和计划评审技术术 (PERT(PERT),),阿波罗登月计划阿波罗登月计划12n传播和现代化传播和现代化q20世纪世纪7080年代,面向市场,迎接竞争,初步形成现代项目管理年代,面向市场,迎接竞争,初步形成现代项目管理的框架的框架n古代:古代:长城、金字塔项目长城、金字塔项目n新发展新发展q20世纪世纪
7、90年代,年代,软件项目管理软件项目管理2.3国际项目管理组织和认证 美国项目管理协会美国项目管理协会(Project Management Institute,PMI)项目管理专业人员资格认证(项目管理专业人员资格认证(Project Management Professional,PMP)国际项目管理协会国际项目管理协会(International Project Management Association,IPMA)四级证书认证四级证书认证:A、B、C、D级级13国际项目管理知识体系 美国美国PMI项目管理的知识体系项目管理的知识体系 PMBOK (Project Management
8、 Body of Knowledge)九个知识领域九个知识领域 欧洲欧洲IPMA项目管理能力基础项目管理能力基础 ICB(IPMA Competence Baseline)1415PMBOK九大领域九大领域2.4 项目生命周期1617开始开始计划计划执行执行控制控制结束结束活动的强度活动的强度阶段结束阶段结束阶段开始阶段开始时间时间项目生命周期的重叠项目生命周期的重叠2.5 项目关键约束18项目约束19工作工作范围范围成本成本进度进度计划计划客户满客户满意度意度3.1软件分类 按软件的功能进行划分按软件的功能进行划分 按软件工作方式划分按软件工作方式划分 按软件服务对象的范围划分按软件服务对象
9、的范围划分 按软件的有偿性、无偿性划分按软件的有偿性、无偿性划分20功能划分软件 系统软件系统软件 操作系统操作系统 语言处理程序语言处理程序 服务性程序服务性程序 数据库管理系统数据库管理系统 计算机网络软件计算机网络软件 支撑软件支撑软件 应用软件应用软件21工作方式划分软件 实时处理软件实时处理软件 分时软件分时软件 交互式软件交互式软件 批处理软件批处理软件22软件服务对象的范围划分 项目软件项目软件 产品软件产品软件23生产商/开发商产品开发商项目/产品用户/客户用户/客户a:产品软件b:项目软件销售开发商c:混合软件半成品项目/产品用户/客户有偿和无偿划分 商业软件商业软件 共享软
10、件共享软件 免费软件免费软件 公有领域软件公有领域软件243.2软件项目管理知识内容25SWEBOK中软件工程管理子域263.3软件项目管理过程273.4软件项目管理基础28软件项目管理基础29 技术基础技术基础 需求管理需求管理 设计设计 构建构建 软件配置管理软件配置管理 过程管理基础过程管理基础n项目管理基础项目管理基础q项目估算和进度安排项目估算和进度安排q计划编制计划编制q软件项目监控软件项目监控q软件质量管理软件质量管理q软件度量管理软件度量管理n人员管理基础人员管理基础30主要内容 软件项目配置管理概述软件项目配置管理概述 软件项目配置管理过程软件项目配置管理过程 软件项目配置管
11、理计划软件项目配置管理计划311.1 软件开发常见问题32n开发人员使用错误的版本修改程序;开发人员使用错误的版本修改程序;n开发人员未经授权修改代码或文档,或修改的结开发人员未经授权修改代码或文档,或修改的结果不能及时反映到各个相关部分;果不能及时反映到各个相关部分;n人员流动,交接工作不彻底造成软件关键部件遗人员流动,交接工作不彻底造成软件关键部件遗失;失;n已修复的已修复的Bug在新版本中出现;在新版本中出现;n找不到某个文件的历史版本;找不到某个文件的历史版本;n无法重新编译某个历史版本,使维护工作十分困无法重新编译某个历史版本,使维护工作十分困难;难;n因协同开发中,或者异地开发,版
12、本变更混乱导因协同开发中,或者异地开发,版本变更混乱导致整个项目失败;致整个项目失败;软件配置管理定义和目的33n IEEE中定义为中定义为“软件配置管理是一门应用技术、管理和监督相结合的学科软件配置管理是一门应用技术、管理和监督相结合的学科,通过标识和文档来记录配置项的功能和物理特性,控制这些特性的变更,通过标识和文档来记录配置项的功能和物理特性,控制这些特性的变更,记录和报告变更的过程和状态,并验证它们与需求是否一致。,记录和报告变更的过程和状态,并验证它们与需求是否一致。”n软件配置管理的目的在于:软件配置管理的目的在于:q记录软件产品的演化过程;记录软件产品的演化过程;q确保软件开发者
13、在软件生命周期中的各个阶段都能得到精确的产品配置确保软件开发者在软件生命周期中的各个阶段都能得到精确的产品配置。q最终保证软件产品的完整性、一致性、追朔性、可控性。最终保证软件产品的完整性、一致性、追朔性、可控性。软件配置管理功能34n支持并行开发;支持并行开发;n修订版管理;修订版管理;n版本控制;版本控制;n产品发布管理;产品发布管理;n建立(建立(build)管理;)管理;n变更请求管理;变更请求管理;n代码共享。代码共享。351.2软件配置管理相关概念“配置配置”是在技术文档中明确说明最终组是在技术文档中明确说明最终组成软件产品的功能或物理属性,因此成软件产品的功能或物理属性,因此“配
14、配置置”包括了即将受控的所有产品特性、内包括了即将受控的所有产品特性、内容及相关文档,包括软件版本、变更文容及相关文档,包括软件版本、变更文档、软件运行的支持数据以及其他一切档、软件运行的支持数据以及其他一切保证软件一致性的组成要素。保证软件一致性的组成要素。配置项配置项:为了配置管理目的而作为一个为了配置管理目的而作为一个单位来看待的硬件和单位来看待的硬件和/或软件成分,满足或软件成分,满足最终应用功能并被指明用于配置管理的最终应用功能并被指明用于配置管理的硬件硬件/软件,或它们的集合体。软件,或它们的集合体。36配置项 一般来说,软件项目配置项主要有两大类:一般来说,软件项目配置项主要有两
15、大类:属于产品组成部分的工作成果;属于产品组成部分的工作成果;在管理过程中产生的文档。在管理过程中产生的文档。配置项也有不同的版本,配置项可以看成面向配置项也有不同的版本,配置项可以看成面向对象的类,而配置项的不同版本可以看成类的对象的类,而配置项的不同版本可以看成类的不同实例。不同实例。配置和配置项37n配置就是配置项的一个集合,下图中横方向是每个配配置就是配置项的一个集合,下图中横方向是每个配置项的版本演变,纵方向是不同的配置项组合构成了置项的版本演变,纵方向是不同的配置项组合构成了一个配置。一个配置。38基线 已经正式通过复审和批准的某规约和产品,它因已经正式通过复审和批准的某规约和产品
16、,它因此可以作为进一步开发的基础,并且只能通过正此可以作为进一步开发的基础,并且只能通过正式的变化控制过程改变。(式的变化控制过程改变。(IEEE)基线本质上是软件工程活动从一个环节转入另外基线本质上是软件工程活动从一个环节转入另外一个环节时对阶段产品或组件的标识。基线通常一个环节时对阶段产品或组件的标识。基线通常对应于开发过程中的里程碑,一个产品可以有多对应于开发过程中的里程碑,一个产品可以有多个基线,也可以只有一个基线。个基线,也可以只有一个基线。通常一个软件项目需要建立如下几种基线:通常一个软件项目需要建立如下几种基线:需求基线;设计基线;开发基线;测试基线;发布基需求基线;设计基线;开
17、发基线;测试基线;发布基线线 391.3软件配置管理角色 配置控制委员会(配置控制委员会(Configuration Control Board,CCB,),)项目经理;项目经理;配置管理员;配置管理员;开发人员;开发人员;系统集成员;系统集成员;质量保证人员。质量保证人员。402软件配置管理过程 配置项的标识配置项的标识 配置管理环境建立配置管理环境建立 版本控制版本控制 变更控制变更控制 配置审核配置审核 报告配置状态报告配置状态41国际项目管理 IPMA2.1配置项的标识配置项的标识n标识配置项首先是识别配置项,把项目中标识配置项首先是识别配置项,把项目中需要进行配置管理的产品识别出来,
18、然后需要进行配置管理的产品识别出来,然后按照一定的规范进行标识。按照一定的规范进行标识。42识别配置项n识别配置项的基本原则:识别配置项的基本原则:q交付给客户的产品或工作产品;交付给客户的产品或工作产品;q内部指定的工作产品;内部指定的工作产品;q对于产品质量起关键作用的工作产品;对于产品质量起关键作用的工作产品;q从外部获取的产品;从外部获取的产品;q工具;工具;q对于组间交互起重要作用的工作产品;对于组间交互起重要作用的工作产品;q被两个或多个组共同使用的工作产品;被两个或多个组共同使用的工作产品;q经过一段时间后会进行变更的工作产品,或者是因为错误或需求变更而经过一段时间后会进行变更的
19、工作产品,或者是因为错误或需求变更而产生变更的工作产品;产生变更的工作产品;q依赖性和制约性强的工作产品;依赖性和制约性强的工作产品;q对项目的成功或质量起关键作用的工作产品。对项目的成功或质量起关键作用的工作产品。配置项的可能构成43n文档:包括项目中产品文档、管理过程文文档:包括项目中产品文档、管理过程文档和质量保证过程文档。档和质量保证过程文档。n代码:包括源代码、目标代码、可执行程代码:包括源代码、目标代码、可执行程序等。序等。n数据文件:包括测试用例、测试脚本文件数据文件:包括测试用例、测试脚本文件和参数等。和参数等。n软件开发工具:包括编辑器、调试器、软件开发工具:包括编辑器、调试
20、器、CASE工具等,即包括项目组使用的自主开工具等,即包括项目组使用的自主开发的工具产品也包括第三方产品发的工具产品也包括第三方产品。标识配置项44n对配置项的命名应该遵循以下原则:对配置项的命名应该遵循以下原则:q唯一性:命名唯一确定一个配置项,即不允唯一性:命名唯一确定一个配置项,即不允许出现重名现象;许出现重名现象;q可追溯性:使命名能够反映命名对象间的关可追溯性:使命名能够反映命名对象间的关系,以便查询和跟踪;系,以便查询和跟踪;q可扩充性:命名应能够容纳所有的配置管理可扩充性:命名应能够容纳所有的配置管理项,不能因增加新的配置项而需要合并或删项,不能因增加新的配置项而需要合并或删除其
21、他配置项。除其他配置项。配置项标识45n常见配置项标识办法是分层命名,即多层次命常见配置项标识办法是分层命名,即多层次命名体现配置项相关内容。名体现配置项相关内容。q第一层体现项目名称;第一层体现项目名称;q第二层体现配置项所在子系统名称;第二层体现配置项所在子系统名称;q第三层指明配置项类型;第三层指明配置项类型;q第四层是根据配置类别,为了表达唯一性添第四层是根据配置类别,为了表达唯一性添加的补充内容。加的补充内容。462.2配置管理环境建立 开发库:也称为动态库,是指在软件生存周期的某一个阶开发库:也称为动态库,是指在软件生存周期的某一个阶段期间,存放与该阶段软件开发工作有关的计算机可读
22、信段期间,存放与该阶段软件开发工作有关的计算机可读信息和人工可读信息的库。软件配置管理就是对软件受控库息和人工可读信息的库。软件配置管理就是对软件受控库中的各软件项进行管理,因此软件受控库也叫做软件配置中的各软件项进行管理,因此软件受控库也叫做软件配置管理库。管理库。受控库:也称为配置库,指在软件生存周期的某一个阶段受控库:也称为配置库,指在软件生存周期的某一个阶段结束时,存放作为阶段产品而释放的、与软件开发工作有结束时,存放作为阶段产品而释放的、与软件开发工作有关的计算机可读信息和人工可读信息的库。关的计算机可读信息和人工可读信息的库。产品库:也称为静态库,是指在软件生存周期的组装与系产品库
23、:也称为静态库,是指在软件生存周期的组装与系统测试阶段结束后,存放最终产品而后交付给用户运行或统测试阶段结束后,存放最终产品而后交付给用户运行或在现场安装的软件的库。进入产品库以后的更改必须执行在现场安装的软件的库。进入产品库以后的更改必须执行严格的更改手续,并需要进行回归测试、系统测试等验证严格的更改手续,并需要进行回归测试、系统测试等验证性试验,通过后方能重新办理入库手续。性试验,通过后方能重新办理入库手续。47配置管理环境建立 软件软件“三库三库”是由配置管理员来建立的,只是开发库是由配置管理员来建立的,只是开发库是由开发人员来管理,受控库由配置管理员来管理,是由开发人员来管理,受控库由
24、配置管理员来管理,产品库由类似档案室的管理员来管理。产品库由类似档案室的管理员来管理。需要设置配置库的目录结构来合理存储项目产品。需要设置配置库的目录结构来合理存储项目产品。目录结构的第一层可以分为管理类和开发类;目录结构的第一层可以分为管理类和开发类;在管理类中可以按照在管理类中可以按照“项目管理项目管理”和和“质量保证质量保证”两大类两大类来划分第二级目录;在第二级目录下则可以按照项目管理来划分第二级目录;在第二级目录下则可以按照项目管理的阶段的阶段“启动启动规划规划执行和监控执行和监控收尾收尾”来化分第来化分第三级目录。三级目录。在开发类中,可以按照软件开发过程在开发类中,可以按照软件开
25、发过程“需求需求设计设计实实现现测试测试”来化分第二级目录,在此第二级中根据需要来化分第二级目录,在此第二级中根据需要再进行第三级的目录化分,比如再进行第三级的目录化分,比如“设计设计”可以分为可以分为“详细详细设计设计”和和“概要设计概要设计”;在实施目录下按照每个模块来划;在实施目录下按照每个模块来划分第三级目录。分第三级目录。482.3版本控制n版本控制的目的是按照一定的规则保存配置项版本控制的目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混乱等现象。的所有版本,避免发生版本丢失或混乱等现象。n版本控制主要是针对软件配置管理中的版本控制主要是针对软件配置管理中的“受控受控库
展开阅读全文