GIS软件工程11GIS软件工程管理课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•软件项目进度安排
1. Gantt 图 Gantt 图先将任务分解为子任务,然后用水平 线段来描述各个任务及子任务的进度安排。
图14.1 Gantt 图
2.工程网络图 用具有时间标志的网状图来表示各个任务的分 解情况,以及各个子任务之间在进度上的逻辑依赖关 系,即工程网络图。 工程网络图用圆表示事件,有向弧或箭头表示 子任务的进行,箭头上的数字称为权,表示子任务的 持续时间,箭头下面括号中的数字表示该任务的机动 时间。圆的左边部分中数字表示事件号,右上部分数 字表示前一子任务结束或后一子任务开始的最早时刻 ,右下部分的数字表示前一子任务结束或后一子任务 开始的最迟时刻。 工程网络图只有一个开始点和一个终止点,开
基本COCOMO模型估算公式式中,E为开发所需 的人力(人月),D为所需的开发时间(月), KLOC为估计提交的代码行数,ab, bb, cb和d b是 指不同软件开发方式对应的值。
导出生产率(代码行/人月)和所需人员数的计算 公式:
生产率 =(KLOC)/E
人员数 = E/D
E为开发所需的人力(人月),D为所需的开发时 间(月),KLOC为估计提交的代码行数。
软件开发人员应具备的条件:
(1) 软件开发人员应经过初始入门职业教育或学 历教育,并具有后续的技能发展潜力。
(2) 通过软件开发资格证书,确保开发人员达到 最基本知识、技能的要求;
(3) 在软件职业执照制度下,建立终身的职业发 展体系;
(4) 通过软件专业组织,规范软件职业道德。
软件开发人员应当坚持以下八项原则:
(1) 公众:软件开发人员应当以公众利益为目标; (2) 用户和雇主:在保持与公众利益一致的原则 下,软件开发人员应注意满足用户和雇主的最高利益;
(3) 产品:软件开发人员应当努力保证软件开发 的高质量、低成本以及合理的进度;
(4) 判断:对受他们评估的软件或文档,保持职 业的客观性。
(5) 管理:软件开发人员必须保证对从事或建议 的项目做出现实和定量的估算,包括成本、进度、人 员、质量和输出,并对估算的不确定性做出评估;
(5)类推估算法
1)整理出项目功能列表和实现每个功能的代码行; 2)标识出每个功能列表与历史项目的相同点和不同 点,特别要注意历史项目做得不够的地方; 3) 通过步骤1和2得出各个功能的估计值; 4) 产生规模估计。
2.成本估算模型 (1) 基本COCOMO模型 COCOMO(COnstructive COst MOdel)模型是 Boehm提出的构造性成本模型。
(2)中级COCOMO模型
类型 产品属性 计算机属性
人员属性
项目属性
成本因素
1. 所要求的软件可靠性 2. 数据库规模 3. 产品复杂性
4. 执行时间约束 5. 主存限制 6. 虚拟机的易变性 7. 计算机周转时间
8. 分析员能力 9. 应用领域中实践经验 12. 程序员能力 12. 虚拟机使用经验 12. 程序语言使用经验
•
在这部分中规定了供需双方的管理职责,并要求供 方建立一个用文件规定的质量管理体系,该体系应该是 一个贯穿于整个软件生命周期的综合过程,以便在软件 开发过程中保证质量,而不是在开发过程结束时才发现 质量问题。标准强调,应该防止发生质量问题,而不是 在发生了质量问题之后依靠纠正措施来解决问题。标准 中还包括,内部质量审核步骤和纠正措施等内容。
始点没有流入箭头,称为入度为零。终止点没有流出 箭头,称为出度为零。
图14.2工程网络图
14.5 ISO 9000质量认证体系
•
ISO9000
强调质量并不是在产品检验中得到的,而是在生产 的全过程中形成的。ISO9000-3阐述了供方和需方应该 怎样进行有组织的质量管理活动,才能得到较为满意的 软件产品;规定了从双方签订开发合同到设计、实现和 维护的整个软件生命周期中应该实施的质量管理活动, 但是,并没有规定具体的质量管理和质量检验的方法和 步骤。
1.24 - 0.82 1.24 - 0.83 1.23 - 1.12
中级COCOMO模型估算公式为:
其中,E为开发所需的人力(人月),KLOC是估算 的代码行数,不同的开发方式所对应的ai,bi值。
(3)Putnam成本估算经验模型
L
Ck
K1/
t3 4/3 d
其中,L是源代码行数; K是开发需用的人力,以人年为单位(1个人年表示1 个人工作1年); td是开发需用的时间(以年为单位); Ck是技术水平常数,它的典型值如下: 对于较差的开发环境Ck=2500; 对于较好的开发环境Ck=10000; 对于优越的开发环境Ck=12500。
(4)专家估算法 1)协调人向各专家提供项目规格和估计表格;
2)协调人召集小组会各专家讨论与规模相关的因素;
3)各专家匿名填写迭代表格;
4)协调人整理出一个估计总结,以迭代表的形式返 回专家;
5)协调人召集小组会,讨论较大的估计差异;
6)专家复查估计总结并在迭代表上提交另一个匿名 估计;
重复4)-6), 直到达到一个最低和最高估计的一 致。
(1)项目从本质上看是临时的任务,而不是一直进 行的某个过程。项目在结束时一般会有成果。
(2)项目通常有非常明确的、可以判别的起点和终 点。也就是说,项目是有严格的时间要求的,它必须 在一定的时间内完成。
(3)项目一般是由用户提出,由项目经理充实内容, 然后组成项目小组完成项目。但有时也有例外。
(4)有些项目是“实验性的”,比如进行某项开发 以满足某行业一种需要或为了某个战略目标,这种项 目不能保证会有结果,因为它属于开创性的工作。
(5)项目的目的是为了产生前所未有的新东西。因 此,项ຫໍສະໝຸດ 不能重复前人成果,必须进行发明创造。
(6)所有的项目在时间、成本和质量方面都受到严 格的要求和约束。所有的项目必须在一定的时间内、 有限的资源下高质量地完成。
• 软件工程管理的内容:
1.开发人员 软件开发人员分为:项目负责人、系统分析员、高 级程序员、程序员、初级程序员、资料员和其他辅助 人员。
(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)数据产品和地图产品规划。
第14章 GIS软件工程管理
• 基本内容 软件工程管理的内容、人员配置、软件工程的
计划管理、ISO9000质量认证体系等。 • 教学要求:
重点掌握成本估算模型和软件项目进度安排。 • 重点:
COCOMO估算模型。
14.1 概述
• 项目:
人们通常把一次性的、不重复的、有开始和结束时 间限制的一类任务称为项目,它和另一类持续不断一 直进行的、重复的、周期性的工作是不同的,项目是 一系列活动的集合。这些活动被有机地组合在一起, 完成一系列的任务,从而实现一个完整的目标。项目 具有以下显著特点:
•
在标准中规定的支持活动有:配置管理;文档控制; 度量;规则、惯例和约定;工具和技术;采购;配套的 培训等活动。
14.6 CMM模型
•
能力成熟度模型(Capability Maturity Model for Software)的基本思想是,因为问题是由我们管理软件 过程的方法不当引起的,所以新软件技术的运用并不会 自动提高生产率和软件质量。能力成熟度模型有助于软 件开发组织建立一个有规律的、成熟的软件过程。改进 后的过程将开发出质量更好的软件,使更多的软件项目 免受时间和费用超支之苦。
软件计划最详尽地描述了软件过程,它包括采 用的生命周期模型、开发组织的组织结构、责任 分配、管理目标和优先级、所用的技术和CASE工 具,以及详细的进度、预算和资源分配。整个计 划的基础是工作量估算和完成期限估算。
• 软件开发成本估算
1.成本估算方法
(1)自顶向下估算方法 自顶向下估算方法就是估算人员参照以前完成的 项目所耗费的总成本,来推算将要开发的软件的总成 本,然后把它们按阶段、步骤和工作单元进行分配。
(4)用户平台设计。 (5)应用功能开发方案设计。 6.程序编写员 (1)编写数据转换程序。 (2)应用分析软件编程。 (3)特定用户菜单开发。 (4)解决程序与数据文件之间的接口。
14.2 软件工程计划管理
工程项目计划的目标是为项目负责人提供一个 框架,使之能合理地估算软件开发所需资源、经 费和开发进度,并控制软件项目开发过程按此计 划进行。
为确保产品质量,ISO9000要求“在生产的全 过程中,影响产品质量的所有因素都要始终处于 受控状态”。
为使软件产品达到质量要求,ISO9000-3要求 软件开发机构建立质量管理体系。首先要求明确 供需双方的职责,针对所有可能影响软件质量的
• ISO9000-3标准
ISO9000-3的全称是“质量管理和质量保证标准第三
13. 现代程序设计方法 14. 软件工具的使用 15. 开发进度限制
成本因素系数取值范围
0.75 -1.40 0.94 - 1.16 0.70 - 1.65
1.00-1.66 1.0-1.56 0.87-1.30 0.87-1.15
1.46 - 0.71 1.29 - 0.82 1.42 - 0.70 1.21 - 0.90 1.14 - 0.95
(2)自底向上估计方法 自底向上估计方法是将待开发的软件细分,分别 估算每一个子任务所需要的开发工作量,然后将它们 加起来,得到软件的总开发量。
(3)差别估算方法 差别估算是将开发项目与一个或多个已完成的类似 项目进行比较,找出与某个相类似项目的若干不同之处, 并估算每个不同之处对成本的影响,导出开发项目的总 成本。
(4)GIS数据库产品。 (5)空间数据质量控制。 (6)数据获取规划。 3.数字化操作员 (1)现有源地图编译。 (2)地图数字化。 (3)属性数据输入。 (4)野外摄影测量和遥感数据获取。 (5)数字化地图设计。 (6)数字化地图产品。
4.系统操作员 (1)硬件、软件和其他外设的运行。 (2)物资管理。 (3)程序和数据文件备份。 (4)对软件库的管理。 (5)支持用户请求。 (6)用户权限管理。 5.应用分析软件经理 (1)系统功能分析。 (2)分析现有软件功能。 (3)需要开发的功能规划设计。
ISO9000-3是一个与软件生命周期相关的、对开发过 程各阶段提供质量保证的质量管理体系,由质量管理体 系框架、质量管理体系的生命周期活动、质量管理体系 的支持活动等部分组成。标准中规定的各项质量活动都 要求以文档作为各阶段活动的结果,文档在标准中占有 十分重要的地位,可以说ISO9000-3标准是文档驱动的。