第10章 软件工程管理

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第10章软件工程管理10.1软件项目管理10.2软件质量管理10.3软件配置管理10.1软件项目管理10.1.1项目管理基础10.1.2软件项目管理10.1.3软件项目计划与进度10.1.1项目管理基础1、项目的概念1)、整体性。2)、独特性。3)、一次性。4)、生命周期属性。5)、不确定性。10-1项目的生命周期10.1.1项目管理基础2、项目管理按照美国项目管理协会的定义,项目管理是在项目活动中运用一系列的知识、技能、工具和技术去满足或超过相关利益者对项目的要求与预想。这一概念指出了项目管理涉及的范畴和所要达到的目标。项目管理是一种管理活动,即一种有意识地按照项目的特点和规律,对项目进行组织管理的活动。项目管理的目的是为了使项目能够在指定的时间和资源的条件下,按照预定的成本、进度和质量顺利完成。项目管理不仅涉及项目的启动、计划、实施直至结束的全过程,而且在进度、成本、质量、人力、风险等各方面对项目进行全方位的管理,从而帮助企业解决处理复杂问题,实现更高的运作效率。10.1.1项目管理基础1)、项目管理的六要素项目管理的因素很多,但项目目标的实现通常受六个因素的制约,分别为范围、时间成本、质量、组织及客户满意度,称为项目管理的六要素。2)、项目管理的特点(1)、项目管理是一项复杂的工作。(2)、项目管理具有创造性。(3)、项目管理的组织具有特殊性。10.1.2软件项目管理进行软件项目的管理,主要是为了按照预定的时间及开发费用,成功地完成软件计划、开发和维护任务。确切地说,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。与其他项目相比,软件项目具有一些特殊性。10.1.2软件项目管理1、软件项目管理的过程1)、启动软件项目2)、制定项目计划3)、实施/控制项目4)、结束软件项目10.1.2软件项目管理2、软件项目管理的主要内容1)、成本管理2)、质量管理3)、配置管理4)、人员和进度管理10.1.2软件项目管理进行软件项目的管理,主要是为了按照预定的时间及开发费用,成功地完成软件计划、开发和维护任务。确切地说,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。与其他项目相比,软件项目具有一些特殊性。10.1.3软件项目计划与进度1、软件项目计划的内容1)、概述2)、阶段计划3)、组织计划4)、测试计划5)、变动控制计划6)、文档计划7)、培训计划8)、复审和报告计划9)、安装和运行计划10)、配置计划11)、索引10.1.3软件项目计划与进度2、项目成本估算1)、自顶向下估算2)、自底向上估算(1)、代码行技术(2)、功能点技术(3)、基于过程的估算3)、经验估算模型(1)、回归估算模型(2)、Putnam模型(3)、COCOMO模型10.1.3软件项目计划与进度3、进度安排1)、甘特图2)、网络图任务时间1月2月3月4月5月6月ABCD表10-2甘特图10.1.3软件项目计划与进度4、项目组织1)、软件项目组2)、程序员组(1)、层次模式(2)、主程序员组(3)、民主小组图10-2主程序员组10.2软件质量管理10.2.1软件质量概述10.2.2软件质量度量10.2.3软件质量保证10.2.4软件质量容错技术10.2.1软件质量概述1、软件质量的定义从实际应用来说,软件质量的定义为:1)、与所确定的功能和性能需求的一致性。2)、与所成文的开发标准的一致性。3)、与所有专业开发的软件所期望的隐含特性的一致性。10.2.1软件质量概述上述软件质量的定义反映了如下三个方面的问题:1)、软件需求是度量软件质量的基础。与需求不一致的软件肯定质量不高。2)、在各种标准中定义了一些开发准则,用以指导软件人员用工程化的方法来进行软件开发。如果不遵守这些开发准则,软件的质量也无法得到保证。3)、往往会有一些隐含的需求(例如,软件应具备良好的可维护性)没有明确地提出来。如果软件只满足那些精确定义了的需求,却没有满足这些隐含的需求,软件的质量仍然是值得怀疑的。10.2.1软件质量概述2、影响软件质量的因素影响软件质量的因素可以分为两种,一种是可以直接度量的因素,如单位时间内千行代码中所产生的错误数;另一种是只能间接度量的因素,如可维护性、可移植性等。具体来说,可以把影响软件质量的主要因素分成以下几类:正确性、健壮性、效率、完整性、可用性、风险、可理解性、可维修性、适应性、可测试性、可移植性、可再用性、互运行性等。10.2.2软件质量度量1、McCall软件质量模型图10-3McCall软件质量模型10.2.2软件质量度量质量因素软件质量准则正确性可追踪性、一致性、完备性可靠性容错性、准确性、简单性、一致性可用性可操作性、易培训性效率可操作性、执行效率完整性安全性、工具性、可审查性可测试性简单性、模块性、工具性、自描述性灵活性一致性、模块性、通用性、可扩充性、自描述性可维护性一致性、简单性、工具性、简明性、模块性、自描述性可移植性模块性、自描述性、通用性、硬件独立性、软件独立性复用性通用性、模块性、硬件独立性、软件独立性、自描述性互用性模块性、自描述性、通信通用性、数据通用性表10-3软件质量准则10.2.2软件质量度量2、ISO/IEC9126软件质量模型ISO/IEC三层模型来自McCall等人的模型。在这个标准中,三个层次中的第一层称为质量特性,第二层称为质量子特性,第三层称为度量指标。该模型的质量特性抽象为6个,其中每个质量特性又包括了一些质量子特性,如表10-3所示。质量特性质量子特性功能性适合性、准确性、互用性、依从性、安全性可靠性成熟性、容错性、易恢复性易用性易理解性、易学性、易操作性效率时间特性、资源特性可维护性易分析性、易改变性、稳定性、易测试性可移植性适应性、易安装性、一致性、易替换性10.2.3软件质量保证1、软件质量保证的概念软件产品质量管理包含三个重要方面,它们分别为:软件质量检测、软件质量保证和软件质量认证。软件质量检测SQI(SoftwareQualityInspection)是一种粗放式的质量管理形式,由于它是一种事后检测,因而对软件质量的改进帮助甚少。软件质量认证SQC(SoftwareQualityCertification)从软件产业管理的角度,全面考察企业的质量体系和软件产品的能力。软件质量保证SQA(SoftwareQualityAssurance)是指为了保证软件产品和服务充分满足用户要求的质量而进行的一系列有计划、有组织的活动,其目的是使开发出来的软件产品达到规定的质量标准。10.2.3软件质量保证2、软件质量保证策略1)、以检测为重。2)、以过程管理为重。3)、以新产品开发为重。3、软件质量保证活动1)、技术方法的应用2)、正式技术评审3)、软件测试4)、标准的实施5)、变更控制6)、度量7)、记录保存和报告10.2.3软件质量保证1993年,美国卡梅隆大学软件工程研究所推荐了一组由一个独立的软件质量保证小组完成的软件质量保证活动。具体活动包括以下各项。10.2.4软件质量容错技术

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功