土地信息系统建设7.1 土地管理信息系统建设概述●系统建设的系统工程指导思想●系统建设的过程步骤●系统建设的组织准备7.1.1 系统建设的系统工程指导思想(1)●历史上土地信息系统建设中的不足:开发系统软件;数据的标准化和规范化;数据质量控制方法;文挡的规范和管理等,具体表现1、开发的软件与实际土地管理业务流程不符,(双方信息交流不充分)2、对系统建设成本和速度估计不很准确,实际成本比估计成本有可能高出一个数量级,实际速度比预期长数月(年)。
3、开发出的软件没有经过严格的测试,结果造成建库困难,可靠性差,效率低,维护成本高,4、数据结构、编码没有规范化、标准化,影响系统的接口与再开发。
7.1.1 系统建设的系统工程指导思想(2)●5、缺乏对系统建设中输入数据的质量控制认识和措施,以及对海量数据和变更数据的存储、维护、管理的认识,在系统建设中出现管理混乱等问题。
●6、文档资料管理混乱,缺乏必要的文档资料或文档资料不合格,对系统的二次开发和维护带来困难。
●7、系统的后期服务差,升级困难。
●8、系统使用人员对软件的维护和管理缺乏认识,甚至不会使用软件,系统建设处于瘫痪状态。
●系统建设应该是一种组织良好,管理严密,各类人员协同配合,共同完成的工程项目。
因此要解决系统建设中出现的各类问题,就要用系统工程的思想去指导系统建设。
7.1.1 系统建设的系统工程指导思想(3)●系统工程在系统科学体系中属于工程技术类,是一门新兴横向交叉科学,至今还没有统一的定义。
●钱学森(1978):系统工程是组织管理系统的规划、研究、设计、制造、实验和使用的科学方法,是一种对所有系统都具有普遍意义的科学方法。
●美国技术词典(1957):系统工程是复杂系统设计的科学,该系统由许多密切的元素组成。
设计该复杂系统时,应有明确的预定功能及目标,并协调各个元素之间及元素和整体之间的有机联系,以使系统能从整体上达到最优目标。
在设计系统时,要同时考虑到参与活动的人的因素及其作用。
●根据以上论点,大型复杂的系统建设,应以系统工程的思想去指导系统建设。
7.1.2 系统建设的过程步骤●1、系统分析时期●确定任务(目标);可行性研究;需求分析●2、系统开发时期●总体设计;详细设计;系统测试;数据库建立●3、系统维护:使用过程错误的改正;不同环境的适应;新模块的开发等7.1.3 系统建设的组织准备●成立土地管理部门和系统软件开发人员共同参加的部门●项目管理人员:项目设计、实施●系统开发人员:编程、测试、实施、运行、维护●土管部门(用户)技术人员:软件测试、维护、数据库建立、检核,为日后运行打下基础7.2 可行性研究(1)●本阶段的目的不是解决问题,而是确定问题是否可能或值得解决。
●根据系统分析人员对土地业务流程的调查,导出较粗略的系统逻辑模型,包括系统流程图和数据流程图,然后提出几种设计方案,分析各个方案的利弊,从而判断预定的目标能否实现,效益能否值得开发。
●具体从以下几个方面去考虑:7.2 可行性研究(2)●数据条件:●数据的类型、质量、精度和完备程度能否满足系统建设的要求●技术条件:●硬件、软件(通用、自己开发)、技术人员(系统开发、土地业务)能否满足系统建设的要求●经济条件:●硬件、软件、建库、编程、系统维护的费用7.2 可行性研究(3)●成本效益分析:经济/社会(决策的科技成份等)效益。
成本估计法估算成本●项目进度计划:7.2 可行性研究(4)其他:有关部门和用户的支持程度等7.3 系统需求分析(1)●调查研究●工作流程分析●数据流程分析●数据结构框架设计7.3 系统需求分析(2)●需求分析的基本任务是准确回答:系统必须做什么?即确定系统必须具有的功能和性质,通过分析实际工作的业务运行和数据流向,得出用系统流程图所定义的详细的系统逻辑模型。
注意潜在需求。
●可行性研究是在短时间内、以较小的成本粗略地(忽略细节)估计项目是否可行。
●所以两者不可替代。
7.3 系统需求分析(3)●需求分析实际上是一个继承与发展的过程。
●“继承”是首先要求全面调查、了解目前组织机构的常规工作,理解其间的运作及关键步骤。
继承的过程是一个学习和认识的过程。
以对各类数据内容和行为进行调查的方式为主。
●“发展”则是基于对现有数据和机构组织理解的基础之上,用新的观点和GIS技术来更有效的完成同样的日常任务。
有时这种发展只是简单的提高效率,而有时可能是天翻地覆的变化,甚至会引起整个机构全面改革,所以发展是一个改革和创新的过程,该过程以分析和创造为主。
●因此,需求分析是系统开发的基础,关系到系统建设的成败。
7.3 系统需求分析(4)●土地管理信息系统的需求分析必须由土地管理部门业务人员和软件开发系统分析员共同参与,使土管人员了解计算机对数据和业务的处理过程,开发人员了解土管业务。
最后对需求分析提交的文档进行严格的审查。
7.3.1 调查研究●目的:搞清系统相关工作的体制结构和业务流程,为系统框架和功能打下基础。
●方式:面谈、参观、问卷、索取资料、座谈等●内容:组织模式、各科职责范围,业务流程,数据流程、数据处理过程与数据要求、数据处理结果(表格、图件、报告、分析结果等);计算机软硬件,技术人员水平等7.3.2 工作流程分析●对现有的工作模式和运行过程进行调查、研究,并以方框图形式表达出来,依此作为确定系统功能的依据。
7.3.3 数据流程分析(1)●分析数据的流动和处理情况,通常用数据流程图来表示,以确定数据输入\输出的类型和作为总体设计阶段设计数据库的依据.7.3.3 数据流程分析(2)7.3.3 数据流程分析(3)●数据输入、输出清单●列出系统建设中所需的输入、输出的数据来源、格式,输出数据的格式等信息,作为总体设计数据库结构的依据。
7.3.4 数据结构框架设计●层次方框图Warnier图●法国计算机Warnier提出的表示信息层次结构图形工具,称为Warnier图IPO图●IPO图是输入/处理/输出图的缩写,它是IBM公司发展完善的一种图形工具。
●需求分析的结果是系统开发时期的基础,必须仔细验证它的正确性,系统开发人员必须和土地管理人员取得完全一致的意见,需求分析的文档应该被土地管理人员所确认。
7.4 总体设计●总体设计的基本目的是回答:“系统从总体上应该如何实现”这个问题。
●具体任务●1、设计软件的功能结构,即确定系统中每个程序由那些模块组成,以及这些模块间的相互关系。
●2、确定数据库的数据结构,数据内容。
●并将这些内容写成报告。
但功能结构和数据结构的每个元素仍处于黑盒子状态,这些具体内容将在以后详细设计。
7.4.1 设计方法●目前系统设计常用的三种方法:过程法(结构化分析)、原型法、面向对象法。
●1、过程法:70年代美国Yourdon公司提出。
主要工作步骤(1)理解当前(正在运行)系统,获得当前系统的“具体模型”;(2)从当前系统中抽象出当前系统逻辑模型;(3)分解目标系统与当前系统逻辑上的差异,建立目标系统逻辑模型;(4)为目标系统逻辑模型做补充,如人工界面要求等。
●这种方法强调自顶向下分段开发,在进入开发前必须对需求严格定义,以提高系统软件开发的成功率。
原型法(1)●实践表明,在系统建立之前很难仅仅依靠分析就建立起一套完整、一致、有效的应用需求,过程法的策略不能适应用户需求不断变化的情况,原型法打破了这种模式。
●基本思路:在系统建设的早期阶段,生成一个系统原型,然后将该原型提供给用户使用,再根据用户反馈的意见修正原型,补充新数据、数据结构和应用模型,再提交给用户使用。
即在设计过程中,包含一个再设计的过程。
原型法(2)●原型设计法的基本模型原型法(3)●系统原型是一个有待改进的早期版本,它的意义在于验证需求、设计方案和更好的与用户交流,这种设计思想对于较复杂和具有不确定性的确系统目标有较强的适应性,可以使设计与实施达到更为密切的结合。
●通常有三种类型:●(1)用于验证软件需求的原型:验证软件的功能。
●(2)用于验证设计方案的原型:验证设计的总体结构和关键算法。
●(3)用于演示出目标系统的原型:作为沟通各方的基础和实践的平台对象法●为了克服软件质量和软件生产率低下而发展起来的一种程序设计方法。
面向对象的基本特性:●(1)标识惟一性:每个对象(一条道路、一块旱地)都有自身的惟一标识●(2)分类性:将具有一致数据结构(属性)和行为(操作)的对象抽象成类,如线状地物类包含公路、渠林等对象。
●(3)多态性:指同一个操作可以有多个不同的类的行为。
●(4)继承性:指对有层次关系的属性和操作进行共享的一种方式,即子类的确一些属性和操作来源于它的父类。
如:道路是线状地物的子类,它的某些操作(如删除、显示)和属性(如宽度、权属)是线状地物共有的,所以仅在线状地物中定义它们,然后再遗传过来。
7.4.2 功能设计●这里的功能设计是指进行结构设计,具体的过程设计是详细设计阶段的任务。
●功能设计应尊循的几个基本原则● 1、模块化原理:把程序分成几个模块,使得程序容易测试,提高软件的可靠性●2、抽象:将问题抽象为高低层次,分别解决●3、信息隐蔽原理和局部化:隐蔽原理是指将某些模块中的一些信息对另一些模块进行屏蔽;局部化是指把一些关系密切的软件因素物理的放近。
●4、模块独立:模块间应尽量减少依赖,模块的独立程度可以由两个定性标准度量,即内聚和藕合。
内聚和藕合(1)●(1)藕合:耦合衡量不同模块彼此互相依赖的紧密程度。
●数据耦合:两个模块之间仅仅存在“数据”交换●控制耦合:两个模块之间存在控制信息交换●公共环境耦合:两个或多个模块通过公共数据环境相互作用,公共环境可以是全程变量、共享的通讯区、内存的公共覆盖区等。
●内容耦合:有下列情况者,属于内容耦合●一个模块访问另一个模块的内部数据●一个模块不通过正常入口而转到另一个模块内部●两个模块有一部分程序代码重叠(只可能出现在汇编程序中)●一个模块有多个入口(即一个模块有几种)●设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不使用内容耦合。
内聚和藕合(2)●(2)内聚:内聚衡量一个模块内部各个元素彼此结合的紧密程度。
●理想内聚的模块只做一件事情,设计时应尽量做到高内聚,中等内聚也可采用,低内聚不要使用。
7.4.3 数据结构设计●数据结构是指数据的逻辑关系,其内容包括:●1、数据库的数据内容:依据需求分析中数据流程图来确定,如从土地详查数据流程图可看出土地详查数据可分为图形与属性两部分。
●2、数据库模型:网状、层状和关系型;数据库中属性表与属性关系的设计(1)●(1)设计相互关联的表格数据库中属性表与属性关系的设计(2)●(2)数据的均衡化●将数据库中各关系表进行分解,使其变成更简单、更稳定的一套关系表的过程叫做数据库的均衡化。