介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
第五章 城市地理信息系统软件工程(第一讲)教学内容: 5.1 城市地理信息系统软件工程概论 5.2 城市地理信息系统规划 教学时间:2课时 教学方法:讲授法 多媒体教学法 协作学习法 教学目的: 1、让学生了解和掌握计算机软件经历了哪三个主要发展阶段以 及各个阶段特性; 2、让学生熟悉和掌握软件生成期及软件生存期模型; 3、让学生理解和掌握地理信息系统软件工程特色和城市地理信 息系统软件工程特色的区别和联系 4、让学生理解和掌握城市地理信息系统规划的原则、可行性分 析以及制定开发计划的原则、方法等
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
教学重点: 1、城市地理信息系统软件工程生存期及生存期模型; 2、GIS与UGIS软件工程特色的区别与联系 教学难点: 1、城市地理信息系统规划的可行性分析及制定开发计划 本次课教学所涉及的学术前沿: 智能模型 SOA
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
5.1 城市地理信息系统软件工程概论5.1.1 软件工程概论概论 1、软件工程的发展历程与软件危机 软件是程序以及开发、使用和维护所需要的所有文档。 软件工程是研究大规模程序设计的方法、工具和管理 的工程科学。 软件工程的目标在于研究一套科学的工程方法,并与 此相适应,发展一套方便的工具系统,力求用较少的投资 获得高质量的软件。 计算机软件经历了三个主要发展阶段(表5.1) 1)程序设计阶段 2)程序系统阶段 3)软件工程阶段
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
时期 特点
程序设计
程序系统
软件工程
软件所指主要程序设计语言 软件工作范围 需求者 开发软件的组织 软件规模 质量的决定因素 开发技术和手段
程序汇编、机器语言 程序编写 程序设计者 个人 小型 个人程序技术 子程序、程序库
程序及说明书高级语言,即2GL 包括设计和测试 少数用户 开发小组 中小型 小组技术水平 结构化程序设计
程序、文档、数据软件语言,包括3GL,4GL 软件生存期 市场用户 开发小组及大中型软件开发 机构 大中小型 管理水平 数据库、开发工具、开发环 境、工程化开发方法、标准 和规范、网络及分布式开发 专职维护人员 向高速、大容量、微型化及 网络化方向发展 开发技术有进步,但未获突 破性进展,未完全摆脱软件 危机
维护责任者 硬件特征 软件特征
程序设计者 价格高、存储容量 小、工作可靠性差 完全不受重视
开发小组 降价,速度、容量及工作 可靠性有明显提高 软件技术的发展不能满足 需要,出现软件危机
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
为了解决“软件危机”,人们主要从哪两个方面探索?
1、从管理的角度,希望实现软件开发过程的工程化,如 “瀑布式”生命周期模型 2、对软件开发过程中分析、设计的方法的研究 案例成果:(1)20世纪70年代
风靡一时的结构化开发方法,即以过程化、 模块化、封装为基础的PO(Process-Oriented,面向过程的开 发或结构化方法); (2)20世纪80年代后期,OO(Object-Oriented,面向对 象),它建立在对象、类、通信的基础上,是人们对现实世界的 更高层次的抽象,具有封装性(Encapsulation)、继承性 (Inheritance)、多态性(Polymorphism)特性; (3)21世纪,OS(Service-Oriented,面向服务)技术与方法
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
面向服务的体系结构面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将 应用程序的不同功能单元(称为服务)通过 这些服务之间定义良好的接口和契约联系起 来。接口是采用中立的方式进行定义的,它 应该独立于实现服务的硬件平台、操作系统 和编程语言。这使得构建在各种这样的系统 中的服务可以以一种统一和通用的方式进行 交互。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
面向服务的优点 ﹡编码灵活性 可基于模块化的低层服务、采用不同组合方式创 建高层服务,从而实现重用,这些都体现了编码的灵 活性。此外,由于服务使用者不直接访问服务提供者, 这种服务实现方式本身也可以灵活使用。 ﹡明确开发人员角色 例如,熟悉BES的开发人员可以集中精力在重用访问 层,协调层开发人员则无须特别了解BES的实现,而 将精力放在解决高价值的业务问题上。 ﹡支持多种客户类型 借助精确定义的服务接口和对XML、Web服务标 准的支持,可以支持多种客户类型,包括PDA、手机 等新型访问渠道。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
面向服务的优点 ﹡更易维护 服务提供者和服务使用者的松散耦合关系及对开放标 准的采用确保了该特性的实现。 ﹡更好的伸缩性 依靠服务设计、开发和部署所采用的架构模型实现伸 缩性。服务提供者可以彼此独立调整,以满足服务需求。 ﹡更高的可用性 该特性在服务提供者和服务使用者的松散耦合关系上 得以体现。使用者无须了解提供者的实现细节,这样服务 提供者就可以在WebLogic集群环境中灵活部署,使用 者可以被转接到可用的例程上。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
面向服务的优点
SOA可以看作是B/S模型、XML/Web Service技术之后的自然延伸。SOA将能够 帮助我们站在一个新的高度理解企业级架构 中的各种组件的开发、部署形式,它将帮助 企业系统架构者以更迅速、更可靠、更具重 用性架构整个业务系统。较之以往,以SOA 架构的系统能够更加从容地面对业务的急剧 变化。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
软件工程的概念Boehm:运用现代科学技术知识来设计并构造计算机程序 及为开发、运行和维护这些程序所必需的相关文件资料。 IEEE:软件工程是开发、运行、维护和修复软件的系统方法。 Fritz Bauer:建
立并使用完善的工程化原则,以较经济的 手段获得能在实际机器上有效运行的可靠软件的一系列 方法。 目前比较认可的一种定义认为: 软件工程是研究和应用如何以系统性的、规范化的、 可定量的过程化方法去开发和维护软件,以及如何把经 过时间考验而证明正确的管理技术和当前能够得到的最 好的技术方法结合起来。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
2、软件生存期(Software Life Cycle)1)规划(Planning) 2)需求分析和定义(Requirement Analysis and Definition) 3)软件设计(Software Design) 4)程序编写(Coding Programming) 5)软件测试(Testing) 6)运行/维护(Running/Maintenance)
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
3、软件生存期模型(Software Life Cycle Model)
1)瀑布模型(Waterfall Model) 2)螺旋模型(Spiral Model) 3)喷泉模型(Water Fountain Model) 4)智能模型(Intelligence Model)
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
瀑布模型(Waterfall Model)
是一个项目开发架构,开发过程是通过 设计一系列阶段顺序展开的,从系统需求分 析开始直到产品发布和维护,每个阶段都会 产生循环反馈,因此,如果有信息未被覆盖 或者发现了问题,那么最好 “返回”上一 个阶段并进行适当的修改,项目开发进程从 一个阶段“流动”到下一个阶段,这也是瀑 布模型名称的由来。包括软件工程开发、企 业项目开发、产品生产以及市场销售等构造 瀑布模型。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
软件工程瀑布模型
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
瀑布模型
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
螺旋模型(Spiral Model) 螺旋模型采用一种周期性的方法来进行系统开发。 这会导致开发出众多的中间版本。使用它,项目经 理在早期就能够为客户实证某些概念。该模型是快 速原型法,以进化的开发方式为中心,在每个项目 阶段使用瀑布模型法。这种模型的每一个周期都包 括需求定义、风险分析、工程实现和评审4个阶段, 由这4个阶段进行迭代。软件开发过程每迭代一次, 软件开发又前进一个层次。采用螺旋模型的软件过 程如下图所示:螺旋模型基本做法是在“瀑布模型” 的每一个开发阶段前引入一个非常严格的风险识别、 风险分析和风险控制,它把软件项目分解成一个个 小项目。每个小项目都标识一个或多个主要风险, 直到所有的主要风险因素都被确定。
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
螺旋模型
介绍城市地理信息的概念及其分类;城市地理信息的地位和作用;城市地理信息研究的意义;城市地理信息的基本特征;理解和城市地理信息与地理信息的关系;从而进一步阐述城市地理信息研究的历史和现状;城市地理信息研究的进展和未来的发展趋势。
螺旋模型