软件项目管理教案Word文件下载.docx
《软件项目管理教案Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件项目管理教案Word文件下载.docx(49页珍藏版)》请在冰豆网上搜索。
![软件项目管理教案Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-10/9/612f3993-9d91-4024-ab26-ae0c88345c60/612f3993-9d91-4024-ab26-ae0c88345c601.gif)
软件能力成熟度模型(CMM/CMMI);
IBM-Raional统一过程(RUP);
极限编程(eXtremeProgramming,XP);
微软软件框架(MSF);
个体软件过程(PSP);
团队软件过程(TSP)。
②过程规范的内容和示例
任务规范;
日常规章制度;
软件工具。
③过程规范的作用
帮助团队实现共同的目标;
能带来稳定的、高水平的过程质量;
使软件组织的生产效率更高。
(3)软件生命周期的过程需求
①软件工程过程
工程过程:
软件系统、产品的定义、设计、实现以及维护的过程。
开发过程:
定义并开发软件产品的活动,包括需求分析、软件设计和编程等。
运行过程:
在规定的环境中为用户提供运行计算机系统服务的活动,包括软件部署
维护过程:
提供维护软件产品服务的活动。
也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。
②软件支持过程
文档编制;
配置管理;
质量保证;
验证;
确认;
联合评审;
审核等。
③软件管理过程
项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。
项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等;
质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度;
风险管理过程是在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制;
合同商管理过程是选择合格的合同商并对其进行管理的过程。
④软件组织过程
业务规划过程:
为组织与项目成员提供对愿景的描述以及企业文化的介绍,从而使项目成员能更有效地工作。
从顶可以看出真正的规划绝不是鬼话!
切记!
定义过程:
建立一个可重复使用的过程定义库,从而对其它过程等提供指导、约束和支持。
改进过程:
为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程。
人力资源和培训过程:
为项目或其它组织过程提供培训合格的人员所需的活动。
基础设施过程:
建立生存周期过程基础结构、为其他过程建立和维护所需基础设施的过程。
⑤软件客户-供应商的过程
客户-供应商过程是(内部直接影响到客户、外部直接影响开发)向客户交付软件以及软件正确操作与使用的过程,包括软件获得、客户需求管理、提供软件、操作软件以及提供客户服务等子过程
(4)软件生命周期标准
①ISO/IEC标准体系
ISO/IEC12207:
1995-软件生存周期过程
从多个角度说明软件生命周期各个过程中的活动,对规范软件开发过程,协调各类人员之间的关系,都具有指导作用。
ISO/IEC15504软件过程评估标准
帮助评估并确定一个潜在软件供应商的能力,帮助提高软件开发过程的水平,帮助判断是否有能力承接新项目的开发。
②IEEE标准体系
包括IEEE1074:
1997,IEEE1540-01,IEEE1517-99,IEEE1219-1998,IEEEStd730-2001,IEEEStd1012,IEEEStd1028。
内容涵盖生命周期过程的标准,软件风险管理,软件复用过程,软件维护过程,软件质量保证计划,验证与确认,评审。
,
(5)软件过程建模
包括软件过程模型(瀑布模型;
螺旋模型、增量模型、迭代模型;
V模型;
并发过程模型;
极限编程;
IBM-Rational统一过程);
基于UML的过程建模;
基于IDEF3的过程建模;
基于Agent的自适应软件过程模型;
基于SOA的软件过程模型。
2软件过程成熟度
(1)过程成熟度标准
①软件过程不成熟的特点
不能按预定计划开发出客户满意的产品,项目拖延、费用大大超出预算;
对进度和预算估计、产品质量的目标缺乏历史数据和有效方法的客观基础;
开发的进度、成本和产品的质量都难以预测;
软件过程缺乏定义、缺乏文档和跟踪;
在整个软件活动中,不清楚每个阶段进出的标准、执行的方法和规则;
实际的、具体的操作过程是在一个项目开始后临时拼凑而成,每个项目都不一样;
缺乏改进的主动性。
②软件过程成熟的标准
具有全组织范围的管理软件开发和维护过程的能力;
对进度、预算和质量做出现实的和准确的估计和预测;
有可遵循的标准、规则和指导性原则。
此外还有过程的一致性、丰富性、可视性、稳定性和不断改进性。
3个基本概念:
软件过程能力;
软件过程性能;
软件过程成熟度。
(2)CMM和ISO9000
软件开发过程管理是指在软件开发中的一套管理技术,软件改进过程是指对软件生产过程中会对产品质量产生影响而进行的活动。
常见的软件过程改进方法有:
CMM,ISO9000和CMMI
①CMM和CMMI
CMM:
软件过程能力成熟度模型(CapacityMaturityModel,CMM)的简称,是一个评估软件供应商能力的研究模型。
CMMI:
CMMI被看作是各种CMM集成的一个系列模型。
②ISO9000
ISO9000是一族系列质量标准的统称。
ISO9000的作用(P30,第2行起)。
③三者比较(P30-32).
(3)过程成熟度级别
初始级:
具有明显的不成熟过程的特点
可重复级/受管理级:
建立了管理软件项目的方针和实施这些方针的规程,使软件项目的有效管理过程制度化,能跟踪成本、进度和质量等。
已定义级:
包含一组协调的、集成的、适度定义的软件工程过程和管理过程,具有良好的文档化、标准化,使软件过程具有可视性、一致性、稳定性和可重复性,软件过程被集成为一个有机的整体。
已管理级:
在已定义级的基础上,可以建立有关软件过程和产品质量的、一致的度量体系,采集详细的数据进行分析,从而对软件产品和过程进行有效的定量控制和管理。
优化级:
不断改善组织的软件过程能力和项目的过程性能,利用来自过程和来自新思想、新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。
为了预防缺陷出现,组织有办法识别出弱点并预先针对性地加强过程26-29页。
(4)软件过程文化
①过程至上,奉过程为教条,一切围绕着过程,组织、质量和效率都服从于过程。
过程的执行严格,过程结果可靠、稳定,认为生产的“东西”是过程的一个节点,只是全局的一部分。
但效率较低,缺乏灵活性、创造性。
②关注过程,强调过程的重要性,但不拘于过程,让过程服从于质量和效率、服从于组织的业务目标…
③过程只能起辅助作用,人决定一切,过程可能流于形式…..
3软件过程模型
不同的项目需要不同的方法论,项目的最佳过程是这个项目所能负担的最小过程。
(1)敏捷过程(AP)
①敏捷方法
强调适用而非预测,主张适应变化,重视以人为中心而非以过程为中心。
极限编程(XP)可归于敏捷旗下。
②敏捷过程的价值观与原则
价值观:
个体交互胜过过程和工具;
可以工作的软件胜过面面俱到的文档;
客户合作胜过合同谈判。
原则:
尽早持续地交付有价值软件满足客户;
欢迎改变需求;
经常交付可工作的软件;
商务人员和开发人员应该在一起工作;
充分信任并提供所需要的环境和支持;
团队内部应该面对面的交流信息;
工作的软件是首要的进度度量标准;
主张简单、轻便;
不断关注优秀设计;
团队应定期反省工作,然后就此进行调整;
提倡可持续性;
最好的架构、需求和设计来自于团队;
围绕被激励起来的个体构建项目。
③敏捷过程的最佳实践
编程实践:
简单设计、测试、重构、编码标准
团队实践:
代码集体所有、持续集成、编码标准、每周40小时工作制、结对编程、小型发布等。
过程实践:
现场客户、测试、计划、小型发布等。
敏捷过程能较好地适应商业竞争环境下对小型项目提出的有限开发时间的约束。
(2)IBM-Rational统一过程(RUP)
①概述
作为一个面向对象的基于网络程序的开发方法,RUP是Rational公司推出的一种软件产品,并由Rational公司开发和维护。
RUP是软件工程化和可配置过程;
RUP是有效使用UML的指南;
RUP能提高团队生产力;
RUP能对大部分开发过程提供自动化的工具支持等。
②Rational与最佳实践
迭代式开发;
需求管理;
使用基于构件的体系结构;
可视化建模(UML);
验证软件质量;
控制软件变更。
③RUP术语
用户:
与开发的系统进行交互的某个人或某个系统。
用例(用况):
向用户提供有价值结果的一项系统功能。
用例描述了系统完成的动作序列,产生对用户有价值的结果。
一个系统包含若干个用例,每个用例具体说明应完成功能。
用例反映了用户与系统在一次交互中执行的、特定的相关事务序列。
架构:
通过接口交互的重要构件的组织和结构,这些构件又由一些更小构件和接口组成。
工作流程(工作流):
在业务中执行的活动序列,它相对于业务主角个体生成一个可见值的结果。
迭代:
带有已建立基线的计划和评估准则的独特活动序列。
基线:
通过正式评审和认可的标准或产品(软件生存期各阶段末尾特定点)。
增量:
在后续迭代结束后两个发布版本之间存在差异或差值。
发布(Release):
宣布,名词意指版本,动词意旨发布,发行。
新版本与新发行是不同概念。
新版本是指开发出的新程序、新系统,新发行是指除新程序、新系统外,还有配置文件、新文档、新包装等。
新发行比新版本开销大。
角色:
个人或协同工作的小组。
例如,开发人员、经理等。
活动:
要求角色执行的工作单元。
工件:
一条由过程生成、修改和使用的信息,
里程碑:
迭代正式结束的时间点。
因此,基线也被称为里程碑。
阶段:
项目中相邻两个里程碑之间的时间段。
④RUP的迭代过程
RUP生命周期用P45图3-9描述。
每个阶段都有一个结果,如初始阶段主要成果是:
前景文档:
对核心项目要求、关键性质、前景说明;
初始的项目术语表;
初始的用例模型和商业用例;
项目规划,其中明确阶段和迭代,一个或多个原型;
初始的风险评估和商业模型。
⑤Rational统一过程的特点
相对瀑布模型,RUP有利于降低风险,适用需求变化等,但RUP很不完善。
敏捷过程虽然不如RUP全面,但相对RUP具有对变化和不确定性的更快速的反应,同时还保持可持续性,可作为RUP的补充和完善。
⑥应用概况
目前全球有上千家使用Rational,开发着大小项目,分布在不同应用领域。
(3)微软过程(MP)
①微软解决方案框架MSF
作为一个软件开发管理系统,微软解决方案框架MSF是一组建立、开发和实现分布式企业系统应用的工作模型和开发准则及应用指南,是一个框架结构的知识经验库。
从软件过程模式的角度出发,微软过程(MP)是从MSF中抽取的软件过程模式。
微软解决方案框架MSF