软件工程11gis软件工程管理课件_第1页
软件工程11gis软件工程管理课件_第2页
软件工程11gis软件工程管理课件_第3页
软件工程11gis软件工程管理课件_第4页
软件工程11gis软件工程管理课件_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第14章 GIS软件工程管理,基本内容 软件工程管理的内容、人员配置、软件工程的计划管理、ISO9000质量认证体系等。 教学要求: 重点掌握成本估算模型和软件项目进度安排。 重点: COCOMO估算模型。,项目: 人们通常把一次性的、不重复的、有开始和结束时间限制的一类任务称为项目,它和另一类持续不断一直进行的、重复的、周期性的工作是不同的,项目是一系列活动的集合。这些活动被有机地组合在一起,完成一系列的任务,从而实现一个完整的目标。项目具有以下显著特点: (1)项目从本质上看是临时的任务,而不是一直进行的某个过程。项目在结束时一般会有成果。,14.1 概述,(2)项目通常有非常明确的、可以判别的起点和终点。也就是说,项目是有严格的时间要求的,它必须在一定的时间内完成。 (3)项目一般是由用户提出,由项目经理充实内容,然后组成项目小组完成项目。但有时也有例外。 (4)有些项目是“实验性的”,比如进行某项开发以满足某行业一种需要或为了某个战略目标,这种项目不能保证会有结果,因为它属于开创性的工作。 (5)项目的目的是为了产生前所未有的新东西。因此,项目不能重复前人成果,必须进行发明创造。 (6)所有的项目在时间、成本和质量方面都受到严格的要求和约束。所有的项目必须在一定的时间内、有限的资源下高质量地完成。,软件工程管理的内容: 1.开发人员 软件开发人员分为:项目负责人、系统分析员、高级程序员、程序员、初级程序员、资料员和其他辅助人员。 软件开发人员应具备的条件: (1) 软件开发人员应经过初始入门职业教育或学历教育,并具有后续的技能发展潜力。 (2) 通过软件开发资格证书,确保开发人员达到最基本知识、技能的要求; (3) 在软件职业执照制度下,建立终身的职业发展体系; (4) 通过软件专业组织,规范软件职业道德。,软件开发人员应当坚持以下八项原则: (1) 公众:软件开发人员应当以公众利益为目标; (2) 用户和雇主:在保持与公众利益一致的原则下,软件开发人员应注意满足用户和雇主的最高利益; (3) 产品:软件开发人员应当努力保证软件开发的高质量、低成本以及合理的进度; (4) 判断:对受他们评估的软件或文档,保持职业的客观性。,(5) 管理:软件开发人员必须保证对从事或建议的项目做出现实和定量的估算,包括成本、进度、人员、质量和输出,并对估算的不确定性做出评估; (6) 专业:在与公众利益一致的原则下,软件开发人员应当推进其专业的完整性和声誉; (7) 同行:软件开发人员对同行应持平等、互助和支持的态度; (8) 自我:软件开发人员应当参与终生职业实践的学习。 ,2.组织机构 (1)主程序员组织机构 它由一位主程序员主持计划、协调和复审全部技术活动; 一位辅助程序员协助主程序员工作; 若干名程序员负责分析和开发活动; 可以由一位或几位专家和一位资料员协助软件开发机构的工作。 (2)专家组织机构 它是由若干专家组成一个开发机构,强调每个专家的才能,充分发挥每个专家的作用。 ,3.用户 常见的问题有: (1) 不积极,不配合。 (2) 求快求全。 (3) 功能变化。 对来自用户的这种变化要正确对待:要向用户解释软件工程的规律,并在可能的条件下部分或有条件地满足用户的合理要求。 4.控制 控制就是掌握被控制的对象,不让它超出规定范围活动,使活动都按预定的计划进行,向预期目标前进。控制包括进度、人员、经费和质量等控制。 5.文档资料 ,GIS的人员配置 1.GIS项目经理/技术组 (1)GIS应用实施规则。 (2)GIS产品规划。 (3)软硬件选择。 (4)与用户讨论/协商。 (5)与用户通信/联系。 (6)资金预算与筹集。 (7)向顾问组和总经理汇报。 2.数据库经理 (1)GIS数据库设计。 (2)数据库维护和更新。 (3)数据产品和地图产品规划。,(4)GIS数据库产品。 (5)空间数据质量控制。 (6)数据获取规划。 3.数字化操作员 (1)现有源地图编译。 (2)地图数字化。 (3)属性数据输入。 (4)野外摄影测量和遥感数据获取。 (5)数字化地图设计。 (6)数字化地图产品。,4.系统操作员 (1)硬件、软件和其他外设的运行。 (2)物资管理。 (3)程序和数据文件备份。 (4)对软件库的管理。 (5)支持用户请求。 (6)用户权限管理。 5.应用分析软件经理 (1)系统功能分析。 (2)分析现有软件功能。 (3)需要开发的功能规划设计。,(4)用户平台设计。 (5)应用功能开发方案设计。 6.程序编写员 (1)编写数据转换程序。 (2)应用分析软件编程。 (3)特定用户菜单开发。 (4)解决程序与数据文件之间的接口。,工程项目计划的目标是为项目负责人提供一个框架,使之能合理地估算软件开发所需资源、经费和开发进度,并控制软件项目开发过程按此计划进行。 软件计划最详尽地描述了软件过程,它包括采用的生命周期模型、开发组织的组织结构、责任分配、管理目标和优先级、所用的技术和CASE工具,以及详细的进度、预算和资源分配。整个计划的基础是工作量估算和完成期限估算。,14.2 软件工程计划管理,软件开发成本估算 1.成本估算方法 (1)自顶向下估算方法 自顶向下估算方法就是估算人员参照以前完成的项目所耗费的总成本,来推算将要开发的软件的总成本,然后把它们按阶段、步骤和工作单元进行分配。 (2)自底向上估计方法 自底向上估计方法是将待开发的软件细分,分别估算每一个子任务所需要的开发工作量,然后将它们加起来,得到软件的总开发量。,(3)差别估算方法 差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。 (4)专家估算法 1)协调人向各专家提供项目规格和估计表格; 2)协调人召集小组会各专家讨论与规模相关的因素; 3)各专家匿名填写迭代表格;,4)协调人整理出一个估计总结,以迭代表的形式返回专家; 5)协调人召集小组会,讨论较大的估计差异; 6)专家复查估计总结并在迭代表上提交另一个匿名估计; 重复4)-6), 直到达到一个最低和最高估计的一致。,(5)类推估算法 1)整理出项目功能列表和实现每个功能的代码行; 2)标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方; 3) 通过步骤1和2得出各个功能的估计值; 4) 产生规模估计。,2.成本估算模型 (1) 基本COCOMO模型 COCOMO(COnstructive COst MOdel)模型是Boehm提出的构造性成本模型。 基本COCOMO模型估算公式式中,E为开发所需的人力(人月),D为所需的开发时间(月),KLOC为估计提交的代码行数,ab, bb, cb和d b是指不同软件开发方式对应的值。,导出生产率(代码行/人月)和所需人员数的计算公式: 生产率 =(KLOC)/E 人员数 = E/D E为开发所需的人力(人月),D为所需的开发时间(月),KLOC为估计提交的代码行数。,(2)中级COCOMO模型,中级COCOMO模型估算公式为: 其中,E为开发所需的人力(人月),KLOC是估算的代码行数,不同的开发方式所对应的ai,bi值。,(3)Putnam成本估算经验模型 其中,L是源代码行数; K是开发需用的人力,以人年为单位(1个人年表示1个人工作1年); td是开发需用的时间(以年为单位); Ck是技术水平常数,它的典型值如下: 对于较差的开发环境Ck2500; 对于较好的开发环境Ck10000; 对于优越的开发环境Ck12500。,软件项目进度安排 1. Gantt 图 Gantt 图先将任务分解为子任务,然后用水平线段来描述各个任务及子任务的进度安排。,图14.1 Gantt 图,2.工程网络图 用具有时间标志的网状图来表示各个任务的分解情况,以及各个子任务之间在进度上的逻辑依赖关系,即工程网络图。 工程网络图用圆表示事件,有向弧或箭头表示子任务的进行,箭头上的数字称为权,表示子任务的持续时间,箭头下面括号中的数字表示该任务的机动时间。圆的左边部分中数字表示事件号,右上部分数字表示前一子任务结束或后一子任务开始的最早时刻,右下部分的数字表示前一子任务结束或后一子任务开始的最迟时刻。 工程网络图只有一个开始点和一个终止点,开始点没有流入箭头,称为入度为零。终止点没有流出箭头,称为出度为零。,图14.2工程网络图,基本思想 ISO9000的基本思想主要体现在下述几个方面。 强调质量并不是在产品检验中得到的,而是在生产的全过程中形成的。ISO9000-3阐述了供方和需方应该怎样进行有组织的质量管理活动,才能得到较为满意的软件产品;规定了从双方签订开发合同到设计、实现和维护的整个软件生命周期中应该实施的质量管理活动,但是,并没有规定具体的质量管理和质量检验的方法和步骤。,14.5 ISO 9000质量认证体系,为确保产品质量,ISO9000要求“在生产的全过程中,影响产品质量的所有因素都要始终处于受控状态”。 为使软件产品达到质量要求,ISO9000-3要求软件开发机构建立质量管理体系。首先要求明确供需双方的职责,针对所有可能影响软件质量的因素,都要做出如何加强管理和控制的决定。,ISO9000-3标准 ISO9000-3的全称是“质量管理和质量保证标准第三部分:在软件开发、供应和维护中的使用指南”。 ISO9000-3是一个与软件生命周期相关的、对开发过程各阶段提供质量保证的质量管理体系,由质量管理体系框架、质量管理体系的生命周期活动、质量管理体系的支持活动等部分组成。标准中规定的各项质量活动都要求以文档作为各阶段活动的结果,文档在标准中占有十分重要的地位,可以说ISO9000-3标准是文档驱动的。,质量管理体系框架 在这部分中规定了供需双方的管理职责,并要求供方建立一个用文件规定的质量管理体系,该体系应该是一个贯穿于整个软件生命周期的综合过程,以便在软件开发过程中保证质量,而不是在开发过程结束时才发现质量问题。标准强调,应该防止发生质量问题,而不是在发生了质量问题之后依靠纠正措施来解决问题。标准中还包括,内部质量审核步骤和纠正措施等内容。,质量管理体系的生命周期活动 通常,一个软件开发项目按照某种生命周期模型进行组织,并根据所采用的生命周期模型的特点来计划和实施与质量保证有关的活动。这部分按照软件生命周期过程描述了有关的质量管理活动,其中包括合同评审、需方的需求规格说明、开发计划、质量管理计划、设计与实现、测试和确认、验收、复制/交付和安装、维护等。,质量管理体系的支持活动 在标准中规定的支持活动有:配置管理;文档控制;度量;规则、惯例和约定;工具和技术;采购;配套的培训等活动。,基本思想 能力成熟度模型(Capability Maturity Model for Software)的基本思想是,因为问题是由我们管理软件过程的方法不当引起的,所以新软件技术的运用并不会自动提高生产率和软件质量。能力成熟度模型有助于软件开发组织建立一个有规律的、成熟的软件过程。改进后的过程将开发出质量更好的软件,使更多的软件项目免受时间和费用超支之苦。,14.6 CMM模型,软件过程包括各种活动、技术和工具,因此,它实际上既包括了软件生产的技术方面又包括了管理方面。CMM策略力图改进软件过程的管理,而在技术方面的改进是其必然的结果。 必须记住,对软件过程的改进不可能在一夜之间完成,CMM是以增量方式逐步引入变化的。CMM明确地定义了5个不同的成熟度等级,一个软件开发组织可用一系列小的改良性步骤向更高的成熟度等级迈进。,能力成熟度模型的结构 能力成熟度模型包括以下的组成成分。 (1)成熟度等级(Maturity Levels):一个成熟度等级是在朝着实现成熟软件过程进化途中的一个妥善定义的平台。五个成熟度等级构成了CMM的顶层结构。 (2)过程能力(Process Capability):软件过程能力描述,通过遵循软件过程能实现预期结果的程度。一个组织的软件过程能力提供一种“预测该组织承担下一个软件项目时,预期最可能得到的结果”的方法。,(3)关键过程域(Key Process Areas,KPA):每个成熟度等级由若干关键过程域组成。每个关键过程域都标识出一串相关的活动,当把这些活动都完成时所达到的一组目标,对建立该过程成熟度等级是至关重要的。关键过程域分别定义在各个成熟度等级之中,并与之关联在一起,例如,等级2的一个关键过程域是软件项目计划。 (4)目标(Goals):目标概括了关键过程域中的关键实践,并可用于确定一个组织或项目是否已有效地实施了该关键过程域。目标表示每个关键过程域的范围、边界和意图,例如,关键过程域“软件项目计划”的一个目标是,“软件估算已经文档化,供计划和跟踪软件项目使用。”,(5)公共特性(Common Features):CMM把关键实践分别归入下列五个公共特性之中:执行约定、执行能力、执行的活动、测量和分析以及验证实施。公共特性是一种属性,它能指示一个关键过程域的实施和规范化是否是有效的、可重复的和持久的。 (6)关键实践(Key Practices):每个关键过程域都用若干关键实践描述,实施关键实践有助于实现相应的关键过程域的目标。关键实践描述对关键过程域的有效实施和规范化贡献最大的基础设施和活动。例如,在关键过程域“软件项目计划”中,一个关键实践是“按照已文档化的规程制定项目的软件开发计划”。,图14.3 CMM结构,能力成熟度等级 CMM通过定义能力成熟度的五个等级,引导软件开发组织不断识别出其软件过程的缺陷,并指出应该做哪些改进,但是,它并不提供做这些改进的具体措施。 能力成熟度的五个等级从低到高是:初始级、可重复级、已定义级、已管理级和优化级。下面介绍能力成熟度的这五个等级。 1. 初始级 软件过程的特征是无序的,有时甚至是混乱的。几乎没有什么过程是经过定义的,项目能否成功完全取决于个人能力。,2. 可重复级 建立了基本的项目管理过程,以追踪成本、进度和功能性。必要的过程规范已经建立起来了,使得可以重复以前类似项目所取得的成功。 3. 已定义级 用于管理和工程活动的软件过程已经文档化和标准化,并且已经集成到整个组织的软件过程中。所有项目都使用文档化的、组织批

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论