版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022/11/1512.1环境GIS设计的目标和任务2.2环境GIS总体框架设计2.3环境GIS数据库设计2.4环境GIS开发技术路线2.5环境GIS工程开发与实现2.6环境GIS实用技术第二章环境GIS设计与开发2022/11/1112.1环境GIS设计的目标和任务第二12022/11/1522.5环境GIS工程开发与实现环境GIS系统分析GIS软件工程思想软件危机与软件工程环境GIS设计模式环境GIS系统设计环境GIS系统实施环境GIS系统维护2022/11/1122.5环境GIS工程开发与实现22022/11/153软件危机与软件工程在1960年代,软件规模不断增长,但在开发中没有把软件开发作为一个系统工程来考虑,认为软件开发就是写程序并设法使之运行,忽视软件分析的重要性,轻视软件维护。最终导致软件危机。2022/11/113软件危机与软件工程在1960年代,软件32022/11/154软件危机的主要表现:对软件开发成本和进度的估计不准确;产品不符合用户的实际需要;软件产品的质量往往靠不住;软件常常是不可维护的。
2022/11/114软件危机的主要表现:42022/11/155软件危机的原因软件规模的不断增长;没有把软件开发作为一个系统工程来考虑,认为软件开发就是写程序并设法使之运行,忽视软件分析的重要性,轻视软件维护。2022/11/115软件危机的原因52022/11/1561968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,在此以后,软件开发逐步采用软件工程方法。2022/11/1161968年北大西洋公约组织的计算机科学62022/11/157软件工程的定义:关于软件工程目前有很多定义。1983年IEEE(国际电子电气工程师协会)给出的定义为“软件工程是开发、运行、维护和修复软件的系统方法”。软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。2022/11/117软件工程的定义:72022/11/158软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。2022/11/118软件工程是从管理和技术两方面研究如何更82022/11/159B.W.Boehm在1983年提出了软件工程的如下准则:用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精不断改进软件工程的实践2022/11/119B.W.Boehm在1983年提出92022/11/1510国家重大基础研究计划项目(973计划)需求工程——对复杂系统的软件工程的基础研究(2007CB310800)项目实施时间为2007年—2011年项目首席科学家:李德毅院士2022/11/1110国家重大基础研究计划项目(973计划102022/11/1511项目背景传统的软件工程,强调软件自身的顶层设计、结构、功能和实现,而网络化软件不仅考虑单个软件,更强调软件间的交互作用。传统软件工程中需求分析仅仅是其中的一个环节,而网络时代的用户需求基于语义网络的资源聚合性和动态性越来越强,软件工程向需求工程倾斜的趋势日益明显,规模化定制成为软件产业的基本样式。针对确定领域(企业)的用户、确定需求与确定目标的传统软件需求工程方法已难以满足大众用户的要求。因此,迫切需要研究网络化软件复杂系统的需求工程。2022/11/1111项目背景传统的软件工程,强调软件自身112022/11/1512项目拟解决的关键科学问题“服务大众的网络化软件需求的元描述”。即针对大众用户个性化与多元化的需求差异,研究发现大众需求的共性规律与个性化服务机理,采用统一的需求描述方法,建立需求元模型,指导领域建模、大众需求获取、建模、验证与管理,提供创新的理论与方法。围绕关键科学问题,拟从大众需求的系统整合、大众服务的即时呈现、验证示范研究等三个方面,研究支持网络化软件随需而变、协同应变的需求工程理论与方法。2022/11/1112项目拟解决的关键科学问题“服务大众的122022/11/1513系统设计的模式1.结构化的系统设计模式
结构化系统分析方法指利用一般系统工程分析法和有关结构概念,把它们应用于地理信息系统的设计,采用自上而下划分模块,逐步求精的系统分析方法。包括如下要点:在研制地理信息系统的各个阶段都要贯穿系统的观点。从总体出发按照自上而下,一层一层地完成系统的研制,这是结构化思想的核心。地理信息系统设计的基本原则是首先进行调查研究,掌握必要的数据,否则就不可能进行系统分析。用结构化的方法构筑地理信息系统的逻辑模型。结构化分析和设计还包括系统结构上的变化和功能上的改变,以及面向用户的观点。2022/11/1113系统设计的模式1.结构化的系统设132022/11/15141)通过访问用户,调查用户的需求和数据源,确定系统的目的、要求和规定;2)描述和评价与系统设计过程有关的资源和限定因素,例如现有的硬件、软件和有关的政治和法律因素;3)说明和评价所拟定的不同系统,这些系统能够满足所规定的要求;4)对拟定的系统作最后的评价,从中选择一个运行的系统。系统设计模式下,各阶段的主要任务2022/11/11141)通过访问用户,调查用户的需求和数142022/11/1515强调对用户的调查和系统功能需求的分析。在系统设计的各个阶段都要写成有关的文件,以便进行评价,以及用户要参与系统的设计,以免系统设计的失误。该设计模式是假定系统的大部分组成(除了硬件以外,包括所有的软件和数据库)都要由系统设计人员来完成,有时甚至包括处理空间数据的某个专门的硬件。系统设计模式的主要特点2022/11/1115强调对用户的调查和系统功能需求的分析152022/11/1516
2、结构化的系统评价模式
自从结构化的系统设计模式诞生以来,地理信息系统的开发已经取得很大的进展。现在,不但有许多处理空间数据的重要软件,而且有现成的系统和空间数据库,因此对原来的地理信息系统设计模式有了一定修改,形成了结构化的系统评价模式。2022/11/1116
2、结构化的系统评价模式162022/11/1517结构化的系统评价模式
强调对现有的各个组成部分(包括硬件、软件和数据库)进行深入、认真的评价,以研究其满足系统功能的程度,保证所设计系统的使用可靠,及有效地处理数据和使用周期长等要求。结构化的系统评价模式下,各阶段的主要任务1)目的与任务指出该系统的目的,谁是主要的用户,以及如何使用该系统。关于任务,要说明所要完成的工作。2022/11/1117结构化的系统评价模式172022/11/15182)概念的定义介绍系统的各个主要组成部分,分别按照输入、输出、主要的过程和数据库,来说明系统的基本结构,包括主要模块、系统开发的主要资源、主要的限制条件等。3)功能的要求具体说明该系统要做什么,对每一种功能要求都要说明。(1)输入(来源、数据、频率);(2)输出(格式、数据量、用户);(3)功能需要的处理步骤;(4)功能成功的实现所需要的条件;(5)功能生成的数据。2022/11/11182)概念的定义182022/11/1519(1)系统的正常操作条件;(2)重点测试,包括最坏情况和极端操作情况;(3)逻辑测试,指检查各种可能的逻辑条件;(4)线路测试。(5)硬件、软件和数据库的测试,是对系统进行总体评价的最后阶段。4)性能测定对每个组成部分分别进行测试。具体测试的内容包括:硬件、软件模块、数据库的质量控制等。2022/11/1119(1)系统的正常操作条件;4)性能测192022/11/15201)完整的需求定义和规范说明;2)综合的质量保证措施和计划;3)严格的设计过程和管理控制。3、软件工程设计模式用工程方法来研究软件和进行地理信息系统的设计,以保证系统的功能标准和质量指标。“软件工程”的设计方法主要设计内容2022/11/11201)完整的需求定义和规范说明;3、软202022/11/1521环境GIS的设计模式
生命周期法;原型法;面向对象法2022/11/1121环境GIS的设计模式
生命周期法;212022/11/1522生命周期法软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生命周期。生命周期法的主要思想就是将设计过程视为一个生命周期,也就是相互连接的几个阶段,每个阶段有相对独立而明确的任务,要产生相应的文档。系统设计按阶段进行,预先规定每一阶段的开发目标和任务,然后按照一定的准则顺序开发实施。2022/11/1122生命周期法软件产品从形成概念开始,经222022/11/1523瀑布模型传统的开发模型是瀑布模型,各阶段的工作自顶向下从抽象到具体顺序进行,就象奔腾不息的瀑布,一泻千里,总是从高处依次流到低处。2022/11/1123瀑布模型传统的开发模型是瀑布模型,各232022/11/1524
瀑布模型(线形顺序模型)可行性研究与计划需求分析设计编码运行维护测试定义阶段开发阶段维护阶段2022/11/1124瀑布模型(线形顺序模型)可行性研242022/11/1525瀑布模型的特点:阶段间具有顺序性和依赖性推迟实现的观点质量保证的观点
每个阶段结束前完成文档审查,及早改正错误。2022/11/1125瀑布模型的特点:252022/11/1526瀑布模型的缺点瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。它要求在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但在实际情况中,除了个别我们比较熟悉的软件,我们很难在软件建立之前确定出有效的应用模型。
2022/11/1126瀑布模型的缺点262022/11/1527某些类型的系统需求是模糊的项目参与者之间存在通信鸿沟预先定义的需求可能是过时的
2022/11/1127某些类型的系统需求是模糊的272022/11/1528首先建立一个能反映用户主要需求的原型系统,让用户使用该系统,然后根据用户的意见快速修改系统,再让用户使用。这样,对原型系统的反复试用和改进,最终建立起完全符合用户需要的新系统。
这种途径的动态性质要求开发者和用户在很长的一段时间进行信息交流。原型模型2022/11/1128首先建立一个能反映用户主要需求的原型282022/11/1529建造/修改原型用户测试运行原型听取用户意见原型模型(快速成型模型)2022/11/1129建造/修改原型用户测试听取用原型模型292022/11/1530人们曾经提出过若干种基于演化原型法的软件开发模型,比较著名的是Boehm提出的螺旋模型和Gilb提出的渐增模型。Boehm提出的螺旋模型:分析,建原型,评价与修改;设计,建原型,评价与修改;程序设计,检原型,评价与修改。Gilb提出的渐增模型:完成一部分分析工作;完成一部分设计工作;完成一部分程序设计工作;建原型并评价;重复上述过程。2022/11/1130人们曾经提出过若干种基于演化原型法的302022/11/1531传统瀑布模型适于以下特点的软件开发:在开发时期内没有或很少有需求变化;对应用领域很熟悉(例如,扩充已存在的系统);低风险项目(例如,对项目和开发环境很熟悉);除了在早期阶段,用户对开发工作参与很少;要求使用面向过程的编程语言。
2022/11/1131传统瀑布模型适于以下特点的软件开发:312022/11/1532螺旋模型适于以下特点的软件开发:在项目开发的早期需求可能有变化;对应用领域较熟悉;中等风险项目(例如,对目标和开发环境较熟悉);用户不同程度地参与整个项目的开发过程;使用面向对象语言或第四代语言。2022/11/1132螺旋模型适于以下特点的软件开发:322022/11/1533渐增模型适于以下几种特点的软件开发:在整个开发过程中需求都可能有变化;对应用领域不熟悉;高风险项目;用户完全参与到整个开发过程中;使用面向对象语言或第四代语言。
2022/11/1133渐增模型适于以下几种特点的软件开发:332022/11/1534设计方法特性结构化生命周期法原型法面向对象的方法开发思想划分六个阶段,并规定它们自上而下,相互衔接的固定次序借助原型(它反映了最终系统的部分重要特性)来辅助软件开发将客观世界看成相互联系的事物(即对象)组成,以对象为单元进行设计开发开发过程线性、固定次序简单到复杂、部分到全面线性、迭代性和无间隙性开发模式整体开发模式。下一阶段开始前完成上一阶段所有细节非整体开发模式。推迟某些阶段的细节工作,从而较早产生工作软件非整体开发模式,分析阶段由底向上提取对象,实现阶段自顶向下建立对象驱动机制文档驱动需求的可变性和模糊性以对象作为驱动可见性开发过程系统不可见通过试用原型进行沟通开发过程系统不可见优点是一种较为成熟和完善的管理模式,整体性好具有一定灵活性和可修改性;增进了开发人员和用户对系统需求的理解与人类思维方法一致,便于描述客观世界;开发的软件性能稳定、易于重用和维护缺点缺乏灵活性;难修改和维护;模块重用性差;开发周期长整体性差;由于不断地对原型进行修改完善,工作的重复率高,工作量大对象和实体设计存在盲目性;对象间的消息传递不能完整体现系统总体功能;系统结构性较差适用性功能和性能明确完整、无重大变化的软件开发需求不明确,设计方案有一定风险的中小型软件开发数据结构复杂、事物联系密切的软件开发返回2022/11/1134设计方法结构化生命周期法原型法面向对342022/11/1535GIS设计方法的选择传统的GIS分析设计方法是结构化生命周期法,根据上文对几种基本方法的比较,可以知道结构化生命周期法具有较为成熟和完善,整体性好等特点,是较为常用的GIS软件设计方法,但是结构化生命周期法缺乏灵活性、开发周期长,且对系统需求要求较高,而在实际的GIS设计过程中,系统的需求是在系统设计过程中逐步明确的,因此,采用结构化生命周期法进行GIS设计开发往往会出现重复性劳动、开发周期长、用户的接受度低等问题。
2022/11/1135GIS设计方法的选择传统的GIS分析352022/11/1536为了解决系统需求不确定性的问题,开始将原型法应用于GIS设计,采用原型法确定系统的需求。缺点:系统的整体性差,重复劳动多。因此,原型法常用于小型GIS软件设计.在大型GIS软件设计中,采用原型法与其它方法相结合,其中,原型法主要用来确定系统的需求。通常,采用原型法进行软件设计有两种方式:一种是抛弃型原型法,设计原型确定系统需求,抛弃原型,从头开始系统的设计开发;另一种则是设计原型来验证需求,在此基础上根据用户意见对原型进行修改,将原型逐步完善成为成熟系统。
2022/11/1136为了解决系统需求不确定性的问题,开始362022/11/1537面向对象技术发展起来后,考虑到GIS所处理的空间数据是现实世界实体的反映,采用面向对象技术进行实体的表达和系统的开发,与人类思维方法一致,便于描述客观世界,开发的软件性能稳定、易于重用和维护。因此,面向对象设计方法在GIS设计中具有很大的优势,但是面向对象设计方法目前仍不成熟和完善。GIS设计方法的选择2022/11/1137面向对象技术发展起来后,考虑到GIS372022/11/1538基于GIS应用的特点以及GIS应用的多样化,GIS设计方法的选择需要考虑多方面的因素,包括系统规模的大小、系统应用类型、系统需求明确程度等。通常,小型GIS软件设计常采用原型法进行开发;而大型GIS软件设计多采用结构化生命周期法或是面向对象方法进行开发,考虑到GIS设计需求不确定性特点,通常也在需求分析阶段应用原型法来确认用户需求。
返回2022/11/1138基于GIS应用的特点以及GIS应用的382022/11/15392.5环境GIS工程开发与实现GIS软件工程思想软件危机与软件工程环境GIS开发模式环境GIS系统分析环境GIS系统设计环境GIS系统实施环境GIS系统维护2022/11/11392.5环境GIS工程开发与实现392022/11/1540系统分析阶段要回答的中心问题是系统“做什么”,即明确系统功能,这个阶段的成果是系统的逻辑模型。系统设计要回答的中心问题是系统“怎么做”,即如何实现系统方案书规定的系统功能,在这一阶段,要根据实际的技术条件、经济条件和社会条件,确定系统的实施方案,即系统的物理模型。2022/11/1140系统分析阶段要回答的中心问题是系统“402022/11/1541GIS系统设计的阶段和步骤进行大量仔细的调查工作和准备工作以了解和掌握有关部门已作了些什么,有什么文献可供参考等。了解这些情况是为了评估现有系统的性能及这些系统是否适合应用部门要完成的任务等。在获取大量可供使用的资料后,在明确系统目标的基础上,从系统观点出发,对地理事物进行分析和综合,确立地理信息系统建立的过程。2022/11/1141GIS系统设计的阶段和步骤进行大量仔412022/11/15422022/11/1142422022/11/1543系统设计主要步骤2022/11/1143系统设计主要步骤432022/11/1544总体设计用户需求系统目标总体结构系统配置系统功能经费和管理
系统设计详细设计代码设计数据库设计功能模块设计用户界面设计输入输出设计2022/11/1144总体设计系统设计详细设计442022/11/1545系统设计首先是总体设计,即确定实现系统的技术方案,并对整个系统进行功能分解,明确各个功能之间的关系;在总体设计之后,就要对系统进行详细设计,包括代码设计、数据库设计、用户界面设计、输入设计、输出设计等。2022/11/1145系统设计首先是总体设计,即确定实现系452022/11/1546系统的总体设计是系统建设中最重要的总控文件,在进行总体设计时,务必坚持系统工程的设计思想和方法,把握方向,在重大问题上给予定性考虑,着重确定原则,避免过早陷入细节问题而忽略总揽全局。
(1)系统总体设计2022/11/1146系统的总体设计是系统建设中最重要的总462022/11/1547总体设计的目的是回答“系统应如何实现”。其主要任务是划分出组成的各物理元素的构成、联系,及其定义描述,并且根据系统确定的应用目标,配置适当模型和数量的硬件、软件、确定计算机的运行环境。根据系统的数据模型、应用和分析模型、数据处理模型等,对数据标准和质量要求等,做出相应定义和规定。
(2)系统总体设计的任务2022/11/1147总体设计的目的是回答“系统应如何实现472022/11/1548标准化
系统的标准化有两层涵义:一是指系统设计应符合GIS的基本要求和标准;二是指数据类型、编码、图式符号应符合现有的国有标准和行业规范。系统性
属性数据库管理系统,图形数据库管理子系统及应用模型子系统有机结合为一体,各种参数可互相传输。兼容性
数据具有可交换性,选择标准的数据格式和设计合适的数据格式变换软件,实现与不同的GIS、CAD、各类数据库之间的数据共享。实用性
系统数据组织灵活,可以满足不同应用分析的需求。系统真正做到能够解决用户所关心的问题,为生产实践、科研教学服务。可扩充性
考虑到应用型GIS发展,系统设计时应采用模块化结构设计,模块的独立性强,模块增加、减少或修改均对整个系统影响很小,便于对系统改进、扩充,使系统处于不断完善过程中。(3)系统总体设计的原则2022/11/1148标准化
系统的标准化有两层涵义482022/11/1549(4)系统总体设计系统实现方案
一个系统的实现可以有多种方案,包括开发方法、选用的开发平台、采用的开发语言等。对地理信息系统来说,有三种基本的开发方法:二次开发,即在已有的GIS支撑软件环境中,利用该软件所带的开发语言进行开发。如在ArcView中利用该软件所带的AVENUE语言开发。该方法可以直接利用原有软件的功能,开发比较方便,但不够灵活,不能脱离支撑软件单独运行。2022/11/1149(4)系统总体设计系统实现方案
492022/11/1550组件开发,利用工业标准的开发语言并结合GIS组件软件进行开发,如在VB开发环境下,调用MapObjects组件。该方法开发的系统不依赖任何平台,可单独运行,但在使用组件软件时,涉及软件版权。底层开发,所有模块都是自主开发,开发的系统具有自主知识产权。可以是先开发组件,然后在组件基础上进一步开发。2022/11/1150组件开发,利用工业标准的开发语言并结502022/11/1551对每一种开发方法,还要进一步确定所用的软件平台、开发语言等。另外,对一些特殊类型的GIS,它们的实现又涉及到具体的技术方案,如WebGIS的实现方法有CGI方法、服务器应用程序接口方法、插件方法、JavaApplet方法以及ActiveX方法等。2022/11/1151对每一种开发方法,还要进一步确定所用512022/11/1552地理信息系统的功能通常分三个部分:基本功能、扩展功能和专题功能。基本功能通常包括:图层操作(如增加图层、删除图层等)、地图操作(如地图放大、地图缩小、地图漫游等)、查询选择(如属性查询、条件查询、空间查询等)以及比例尺显示、坐标显示等。扩展功能通常包括:数据编辑(如属性数据编辑、空间数据编辑等)、空间分析(如空间叠置分析、缓冲区分析、网络分析等)、数据转换(如坐标转换、格式转换等)。专题功能是根据用户的业务需求而开发的功能,如电力管理的地理信息系统中一般有线路管理、变配电站管理、实时监控管理等功能模块。2022/11/1152地理信息系统的功能通常分三个部分:基522022/11/1553系统功能模块的分解是按层次来进行,首先,把整个系统看成是一个模块,按功能分解成若干个第一层模块,这些模块互相配合,共同完成整个系统的功能;然后按功能再分解第一层的各个模块;依次下去,直到每个模块都十分简单。功能模块的划分有利于问题解决及分工协作。2022/11/1153系统功能模块的分解是按层次来进行,532022/11/1554上海市商业地理信息系统地图显示文件管理信息查询数据库维护数据分析属性查询条件查询开窗查询空间查询显示对话框按输入条件查询显示查询结果2022/11/1154上海市商业地理地图显示文件管理信息查542022/11/1555ThankYou.2022/11/1155ThankYou.552022/11/15562.1环境GIS设计的目标和任务2.2环境GIS总体框架设计2.3环境GIS数据库设计2.4环境GIS开发技术路线2.5环境GIS工程开发与实现2.6环境GIS实用技术第二章环境GIS设计与开发2022/11/1112.1环境GIS设计的目标和任务第二562022/11/15572.5环境GIS工程开发与实现环境GIS系统分析GIS软件工程思想软件危机与软件工程环境GIS设计模式环境GIS系统设计环境GIS系统实施环境GIS系统维护2022/11/1122.5环境GIS工程开发与实现572022/11/1558软件危机与软件工程在1960年代,软件规模不断增长,但在开发中没有把软件开发作为一个系统工程来考虑,认为软件开发就是写程序并设法使之运行,忽视软件分析的重要性,轻视软件维护。最终导致软件危机。2022/11/113软件危机与软件工程在1960年代,软件582022/11/1559软件危机的主要表现:对软件开发成本和进度的估计不准确;产品不符合用户的实际需要;软件产品的质量往往靠不住;软件常常是不可维护的。
2022/11/114软件危机的主要表现:592022/11/1560软件危机的原因软件规模的不断增长;没有把软件开发作为一个系统工程来考虑,认为软件开发就是写程序并设法使之运行,忽视软件分析的重要性,轻视软件维护。2022/11/115软件危机的原因602022/11/15611968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,在此以后,软件开发逐步采用软件工程方法。2022/11/1161968年北大西洋公约组织的计算机科学612022/11/1562软件工程的定义:关于软件工程目前有很多定义。1983年IEEE(国际电子电气工程师协会)给出的定义为“软件工程是开发、运行、维护和修复软件的系统方法”。软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。2022/11/117软件工程的定义:622022/11/1563软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。2022/11/118软件工程是从管理和技术两方面研究如何更632022/11/1564B.W.Boehm在1983年提出了软件工程的如下准则:用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应该少而精不断改进软件工程的实践2022/11/119B.W.Boehm在1983年提出642022/11/1565国家重大基础研究计划项目(973计划)需求工程——对复杂系统的软件工程的基础研究(2007CB310800)项目实施时间为2007年—2011年项目首席科学家:李德毅院士2022/11/1110国家重大基础研究计划项目(973计划652022/11/1566项目背景传统的软件工程,强调软件自身的顶层设计、结构、功能和实现,而网络化软件不仅考虑单个软件,更强调软件间的交互作用。传统软件工程中需求分析仅仅是其中的一个环节,而网络时代的用户需求基于语义网络的资源聚合性和动态性越来越强,软件工程向需求工程倾斜的趋势日益明显,规模化定制成为软件产业的基本样式。针对确定领域(企业)的用户、确定需求与确定目标的传统软件需求工程方法已难以满足大众用户的要求。因此,迫切需要研究网络化软件复杂系统的需求工程。2022/11/1111项目背景传统的软件工程,强调软件自身662022/11/1567项目拟解决的关键科学问题“服务大众的网络化软件需求的元描述”。即针对大众用户个性化与多元化的需求差异,研究发现大众需求的共性规律与个性化服务机理,采用统一的需求描述方法,建立需求元模型,指导领域建模、大众需求获取、建模、验证与管理,提供创新的理论与方法。围绕关键科学问题,拟从大众需求的系统整合、大众服务的即时呈现、验证示范研究等三个方面,研究支持网络化软件随需而变、协同应变的需求工程理论与方法。2022/11/1112项目拟解决的关键科学问题“服务大众的672022/11/1568系统设计的模式1.结构化的系统设计模式
结构化系统分析方法指利用一般系统工程分析法和有关结构概念,把它们应用于地理信息系统的设计,采用自上而下划分模块,逐步求精的系统分析方法。包括如下要点:在研制地理信息系统的各个阶段都要贯穿系统的观点。从总体出发按照自上而下,一层一层地完成系统的研制,这是结构化思想的核心。地理信息系统设计的基本原则是首先进行调查研究,掌握必要的数据,否则就不可能进行系统分析。用结构化的方法构筑地理信息系统的逻辑模型。结构化分析和设计还包括系统结构上的变化和功能上的改变,以及面向用户的观点。2022/11/1113系统设计的模式1.结构化的系统设682022/11/15691)通过访问用户,调查用户的需求和数据源,确定系统的目的、要求和规定;2)描述和评价与系统设计过程有关的资源和限定因素,例如现有的硬件、软件和有关的政治和法律因素;3)说明和评价所拟定的不同系统,这些系统能够满足所规定的要求;4)对拟定的系统作最后的评价,从中选择一个运行的系统。系统设计模式下,各阶段的主要任务2022/11/11141)通过访问用户,调查用户的需求和数692022/11/1570强调对用户的调查和系统功能需求的分析。在系统设计的各个阶段都要写成有关的文件,以便进行评价,以及用户要参与系统的设计,以免系统设计的失误。该设计模式是假定系统的大部分组成(除了硬件以外,包括所有的软件和数据库)都要由系统设计人员来完成,有时甚至包括处理空间数据的某个专门的硬件。系统设计模式的主要特点2022/11/1115强调对用户的调查和系统功能需求的分析702022/11/1571
2、结构化的系统评价模式
自从结构化的系统设计模式诞生以来,地理信息系统的开发已经取得很大的进展。现在,不但有许多处理空间数据的重要软件,而且有现成的系统和空间数据库,因此对原来的地理信息系统设计模式有了一定修改,形成了结构化的系统评价模式。2022/11/1116
2、结构化的系统评价模式712022/11/1572结构化的系统评价模式
强调对现有的各个组成部分(包括硬件、软件和数据库)进行深入、认真的评价,以研究其满足系统功能的程度,保证所设计系统的使用可靠,及有效地处理数据和使用周期长等要求。结构化的系统评价模式下,各阶段的主要任务1)目的与任务指出该系统的目的,谁是主要的用户,以及如何使用该系统。关于任务,要说明所要完成的工作。2022/11/1117结构化的系统评价模式722022/11/15732)概念的定义介绍系统的各个主要组成部分,分别按照输入、输出、主要的过程和数据库,来说明系统的基本结构,包括主要模块、系统开发的主要资源、主要的限制条件等。3)功能的要求具体说明该系统要做什么,对每一种功能要求都要说明。(1)输入(来源、数据、频率);(2)输出(格式、数据量、用户);(3)功能需要的处理步骤;(4)功能成功的实现所需要的条件;(5)功能生成的数据。2022/11/11182)概念的定义732022/11/1574(1)系统的正常操作条件;(2)重点测试,包括最坏情况和极端操作情况;(3)逻辑测试,指检查各种可能的逻辑条件;(4)线路测试。(5)硬件、软件和数据库的测试,是对系统进行总体评价的最后阶段。4)性能测定对每个组成部分分别进行测试。具体测试的内容包括:硬件、软件模块、数据库的质量控制等。2022/11/1119(1)系统的正常操作条件;4)性能测742022/11/15751)完整的需求定义和规范说明;2)综合的质量保证措施和计划;3)严格的设计过程和管理控制。3、软件工程设计模式用工程方法来研究软件和进行地理信息系统的设计,以保证系统的功能标准和质量指标。“软件工程”的设计方法主要设计内容2022/11/11201)完整的需求定义和规范说明;3、软752022/11/1576环境GIS的设计模式
生命周期法;原型法;面向对象法2022/11/1121环境GIS的设计模式
生命周期法;762022/11/1577生命周期法软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生命周期。生命周期法的主要思想就是将设计过程视为一个生命周期,也就是相互连接的几个阶段,每个阶段有相对独立而明确的任务,要产生相应的文档。系统设计按阶段进行,预先规定每一阶段的开发目标和任务,然后按照一定的准则顺序开发实施。2022/11/1122生命周期法软件产品从形成概念开始,经772022/11/1578瀑布模型传统的开发模型是瀑布模型,各阶段的工作自顶向下从抽象到具体顺序进行,就象奔腾不息的瀑布,一泻千里,总是从高处依次流到低处。2022/11/1123瀑布模型传统的开发模型是瀑布模型,各782022/11/1579
瀑布模型(线形顺序模型)可行性研究与计划需求分析设计编码运行维护测试定义阶段开发阶段维护阶段2022/11/1124瀑布模型(线形顺序模型)可行性研792022/11/1580瀑布模型的特点:阶段间具有顺序性和依赖性推迟实现的观点质量保证的观点
每个阶段结束前完成文档审查,及早改正错误。2022/11/1125瀑布模型的特点:802022/11/1581瀑布模型的缺点瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。它要求在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但在实际情况中,除了个别我们比较熟悉的软件,我们很难在软件建立之前确定出有效的应用模型。
2022/11/1126瀑布模型的缺点812022/11/1582某些类型的系统需求是模糊的项目参与者之间存在通信鸿沟预先定义的需求可能是过时的
2022/11/1127某些类型的系统需求是模糊的822022/11/1583首先建立一个能反映用户主要需求的原型系统,让用户使用该系统,然后根据用户的意见快速修改系统,再让用户使用。这样,对原型系统的反复试用和改进,最终建立起完全符合用户需要的新系统。
这种途径的动态性质要求开发者和用户在很长的一段时间进行信息交流。原型模型2022/11/1128首先建立一个能反映用户主要需求的原型832022/11/1584建造/修改原型用户测试运行原型听取用户意见原型模型(快速成型模型)2022/11/1129建造/修改原型用户测试听取用原型模型842022/11/1585人们曾经提出过若干种基于演化原型法的软件开发模型,比较著名的是Boehm提出的螺旋模型和Gilb提出的渐增模型。Boehm提出的螺旋模型:分析,建原型,评价与修改;设计,建原型,评价与修改;程序设计,检原型,评价与修改。Gilb提出的渐增模型:完成一部分分析工作;完成一部分设计工作;完成一部分程序设计工作;建原型并评价;重复上述过程。2022/11/1130人们曾经提出过若干种基于演化原型法的852022/11/1586传统瀑布模型适于以下特点的软件开发:在开发时期内没有或很少有需求变化;对应用领域很熟悉(例如,扩充已存在的系统);低风险项目(例如,对项目和开发环境很熟悉);除了在早期阶段,用户对开发工作参与很少;要求使用面向过程的编程语言。
2022/11/1131传统瀑布模型适于以下特点的软件开发:862022/11/1587螺旋模型适于以下特点的软件开发:在项目开发的早期需求可能有变化;对应用领域较熟悉;中等风险项目(例如,对目标和开发环境较熟悉);用户不同程度地参与整个项目的开发过程;使用面向对象语言或第四代语言。2022/11/1132螺旋模型适于以下特点的软件开发:872022/11/1588渐增模型适于以下几种特点的软件开发:在整个开发过程中需求都可能有变化;对应用领域不熟悉;高风险项目;用户完全参与到整个开发过程中;使用面向对象语言或第四代语言。
2022/11/1133渐增模型适于以下几种特点的软件开发:882022/11/1589设计方法特性结构化生命周期法原型法面向对象的方法开发思想划分六个阶段,并规定它们自上而下,相互衔接的固定次序借助原型(它反映了最终系统的部分重要特性)来辅助软件开发将客观世界看成相互联系的事物(即对象)组成,以对象为单元进行设计开发开发过程线性、固定次序简单到复杂、部分到全面线性、迭代性和无间隙性开发模式整体开发模式。下一阶段开始前完成上一阶段所有细节非整体开发模式。推迟某些阶段的细节工作,从而较早产生工作软件非整体开发模式,分析阶段由底向上提取对象,实现阶段自顶向下建立对象驱动机制文档驱动需求的可变性和模糊性以对象作为驱动可见性开发过程系统不可见通过试用原型进行沟通开发过程系统不可见优点是一种较为成熟和完善的管理模式,整体性好具有一定灵活性和可修改性;增进了开发人员和用户对系统需求的理解与人类思维方法一致,便于描述客观世界;开发的软件性能稳定、易于重用和维护缺点缺乏灵活性;难修改和维护;模块重用性差;开发周期长整体性差;由于不断地对原型进行修改完善,工作的重复率高,工作量大对象和实体设计存在盲目性;对象间的消息传递不能完整体现系统总体功能;系统结构性较差适用性功能和性能明确完整、无重大变化的软件开发需求不明确,设计方案有一定风险的中小型软件开发数据结构复杂、事物联系密切的软件开发返回2022/11/1134设计方法结构化生命周期法原型法面向对892022/11/1590GIS设计方法的选择传统的GIS分析设计方法是结构化生命周期法,根据上文对几种基本方法的比较,可以知道结构化生命周期法具有较为成熟和完善,整体性好等特点,是较为常用的GIS软件设计方法,但是结构化生命周期法缺乏灵活性、开发周期长,且对系统需求要求较高,而在实际的GIS设计过程中,系统的需求是在系统设计过程中逐步明确的,因此,采用结构化生命周期法进行GIS设计开发往往会出现重复性劳动、开发周期长、用户的接受度低等问题。
2022/11/1135GIS设计方法的选择传统的GIS分析902022/11/1591为了解决系统需求不确定性的问题,开始将原型法应用于GIS设计,采用原型法确定系统的需求。缺点:系统的整体性差,重复劳动多。因此,原型法常用于小型GIS软件设计.在大型GIS软件设计中,采用原型法与其它方法相结合,其中,原型法主要用来确定系统的需求。通常,采用原型法进行软件设计有两种方式:一种是抛弃型原型法,设计原型确定系统需求,抛弃原型,从头开始系统的设计开发;另一种则是设计原型来验证需求,在此基础上根据用户意见对原型进行修改,将原型逐步完善成为成熟系统。
2022/11/1136为了解决系统需求不确定性的问题,开始912022/11/1592面向对象技术发展起来后,考虑到GIS所处理的空间数据是现实世界实体的反映,采用面向对象技术进行实体的表达和系统的开发,与人类思维方法一致,便于描述客观世界,开发的软件性能稳定、易于重用和维护。因此,面向对象设计方法在GIS设计中具有很大的优势,但是面向对象设计方法目前仍不成熟和完善。GIS设计方法的选择2022/11/1137面向对象技术发展起来后,考虑到GIS922022/11/1593基于GIS应用的特点以及GIS应用的多样化,GIS设计方法的选择需要考虑多方面的因素,包括系统规模的大小、系统应用类型、系统需求明确程度等。通常,小型GIS软件设计常采用原型法进行开发;而大型GIS软件设计多采用结构化生命周期法或是面向对象方法进行开发,考虑到GIS设计需求不确定性特点,通常也在需求分析阶段应用原型法来确认用户需求。
返回2022/11/1138基于GIS应用的特点以及GIS应用的932022/11/15942.5环境GIS工程开发与实现GIS软件工程思想软件危机与软件工程环境GIS开发模式环境GIS系统分析环境GIS系统设计环境GIS系统实施环境GIS系统维护2022/11/11392.5环境GIS工程开发与实现942022/11/1595系统分析阶段要回答的中心问题是系统“做什么”,即明确系统功能,这个阶段的成果是系统的逻辑模型。系统设计要回答的中心问题是系统“怎么做”,即如何实现系统方案书规定的系统功能,在这一阶段,要根据实际的技术条件、经济条件和社会条件,确定系统的实施方案,即系统的物理模型。2022/11/1140系统分析阶段要回答的中心问题是系统“952022/11/1596GIS系统设计的阶段和步骤进行大量仔细的调查工作和准备工作以了解和掌握有关部门已作了些什么,有什么文献可供参考等。了解这些情况是为了评估现有系统的性能及这些系统是否适合应用部门要完成的任务等。在获取大量可供使用的资料后,在明确系统目标的基础上,从系统观点出发,对地理事物进行分析和综合,确立地理信息系统建立的过程。2022/11/1141GIS系统设计的阶段和步骤进行大量仔962022/11/15972022/11/1142972022/11/1598系统设计主要步骤2022/11/1143系统设计主要步骤982022/11/1599总体设计用户需求系统目标总体结构系统配置系统功能经费和管理
系统设计详细设计代码设计数据库设计功能模块设计用户界面设计输入输出设计2022/11/1144总体设计系统设计详细设计992022/11/15100系统设计首先是总体设计,即确定实现系统的技术方案,并对整个系统进行功能分解,明确各个功能之间的关系;在总体设计之后,就要对系统进行详细设计,包括代码设计、数据库设计、用户界面设计、输入设计、输出设计等。2022/11/1145系统设计首先是总体设计,即确定实现系1002022/11/15101系统的总体设计是系统建设中最重要的总控文件,在进行总体设计时,务必坚持系统工程的设计思想和方法,把握方向,在重
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省劳动协议样式
- 2024版数据采集服务合同范本
- 购销合同范本汇编
- 证券交易委托协议书范例
- 土地转让合同协议书示范文本
- 供货合同补充协议案例
- 宾馆转让协议范本
- 招投标项目合作合同
- 上海市超市熟食产品流通安全协议
- 集团短信服务合同样本
- 成立分公司计划书
- 化肥农药减量增效问卷调查表
- 消防系统停水应急预案范本
- 过敏性结膜炎课件
- XX学校推广应用“国家中小学智慧教育平台”工作实施方案
- 2023年贵州黔东南州直事业单位遴选工作人员42人笔试参考题库(共500题)答案详解版
- 初三九年级英语英语英语语法填空附答案附解析
- 2022年广西建筑工程质量检测中心限公司第一批次人才招聘(79人)上岸笔试历年难、易错点考题附带参考答案与详解
- 书屋业务管理及管理知识培训
- 儿科肺炎喘嗽护理查房
- GB/T 16739.1-2023汽车维修业经营业务条件第1部分:汽车整车维修企业
评论
0/150
提交评论