GIS需求分析

GIS需求获取


需求获取是软件开发活动的第一步,获得正确的需求描述是成功软件的前提。一般而言,用户需求分为两类,功能性需求和非功能性需求,前者定义了系统做什么,包括输入、输出以及其间的转换;后者定义了系统工作时的特性,如效率、可靠性、安全性、可维护性、可移植性等等要求。具体的需求获取内容包括:

1)物理环境,物理设备的位置以及其分布的集中程度;

2)接口,与其它软件系统的接口以及对数据格式的要求;

3)用户或人的因素,包括系统用户熟练程度,使用系统需要接受的训练;

4)功能,系统要完成什么,性能如何;

5)文档,需要哪些文档以及其针对的读者;

6)数据,数据格式、数据精度、数据量、接收和发送数据的频率;

7)资源,使用系统需要的设备,开发需要的人力资源、计算机资源、时间表;

8)安全性,对访问信息的控制程度,数据的备份等;

9)质量保证,对系统的可靠性要求,平均系统出错时间,可移植性,可维护性等。

在地理信息系统需求获取过程中,其内容是基本一致的,只是在数据、组织等方面要进行额外的考虑。

1)数据

数据在一个GIS应用系统中,占有举足轻重的位置。进行需求获取时,与数据有关的因素包括,

(1.1)数据的输出样式:包括屏幕显示、Web发布、出版、工程图等;

(1.2)输出数据的内容和要求:输出数据要包括哪些内容,数据的精度,比例尺等;

(1.3)数据的分布性:数据是集中管理还是分布管理;

(1.4)现有的纸质地图:现有的纸质地图的内容,其比例尺、时效性、是否涉及保密;

(1.5)现有的电子数据:数据形式(栅格/矢量/属性数据库)、数据格式、完整性、精度、投影方式、比例尺等因素。

(1.6)数据录入:数据量大小,输入设备,包括数字化仪、扫描仪,软件的支持程度,进行数据录入的人员数目,能否在预定时间内完成数据录入;

(1.7)数据购买:数据量以及价格;

2)人员

因为应用地理信息系统一般是针对专业领域的,在进行需求获取时不仅要考虑一般用户,而且要听取领域专家的意见,将他们的理论、经验模型化,并在系统中完成。

3)组织

现有的组织机构,有关部门的职责,业务流程,GIS如何在其业务流程中体现以及因为应用GIS所引起的可能的组织机构的变化。

进行需求获取的方式是多种多样的,包括面谈、电话访谈、参观、问卷、获取领域相关资料等。在地理信息系统开发中,由于GIS的概念、功能等还没有被用户深入理解并接受,采用GIS专题报告可以很好地激励用户提出需求。如果时间和资金允许,开发原型系统也可以更好地挖掘用户需求 [5]_

GIS需求规约


在需求获取阶段,得到了用自然语言描述的用户需求,但是其中存在着不一致性和二义性,这些问题要通过需求规约解决。目前有许多方法用于支持需求规约,如功能分解方法,数据流方法,信息模型方法(实体关系模型),面向对象方法。每种方法都有相应的概念体系、符号表现和工具支持。

需求规约的结果是形式化或半形式化的,系统的需求报告,它必须完整地刻画问题域,能够适应需求变化,此外,它必须满足用户、分析人员、设计开发人员进行交流的需要,换言之,需求需求报告中的符号、描述,对于各类相关人员,其意义是一致的。

正如一再强调的,面向对象的分析方法很好地解决了问题空间理解、需求易变性、交流等方面的问题。将通用的面向对象分析方法应用于GIS,固然可以描述系统需求,但是由于GIS更加关注于空间对象和空间模型,在GIS中要经常处理一些特定的空间对象类以及特定的空间关系(拓扑关系、方位关系、度量关系等),对基本的面向对象方法进行特化扩展,采用特定的符号来表示这些类以及关系,可以使需求报告的表述更加简捷,便于信息交流。

对Coad/Yourdon方法的扩展——GeoOOA(部分,George KÖsters)

GeoOOA区分了基本类以及四个地理类类型,下面是GeoOOA的类符号:

../../_images/img_113.png

图16-9:基本类和GeoOOA类

一些服务包括读写操作以及几何体标准服务赋予了GeoOOA类,如计算面积,长度,关系检测等等。

地理类形成层次化的一般——特殊关系,栅格类为区域类的特例,而区域,线,点是抽象地理类的特化。

GeoOOA同时提供了拓扑的整体——部分结构原语,它们只是适用于空间对象,整体部分结构又可以分为:覆盖(Covering),包含(Containing),分割(Partition)。

  • 覆盖:整体对象和部分对象属于相同的空间类,整体几何体被部分几何体的联合所覆盖;

  • 包含:整体几何体包含部分几何体;

  • 分割:是一种包含结构,但是有两个特性,即,整体几何体和部分几何体属于同一个类,并且部分几何体形成对整体的分割。

三种原语的图形表示如下:

1)覆盖 2)包含 3)分割

../../_images/img_24.png

图16-10:GeoOOA 中的整体部分关系

举一个例子说明这三种整体——部分关系,在一个省级行政区(区域类)内,有许多电视台站(点类),每个电视台站有其覆盖范围(区域类),省又分为许多县级区划(区域类),由于台站的覆盖范围之间存在重合,并且一般而言,所有台站的覆盖范围要比省的范围大,所以省行政区和覆盖范围形成覆盖整体——部分关系,而省行政区与台站为包含整体——部分关系,省行政区和县行政区是分割整体——部分关系。

采用GeoOOA,用图形就直接表述了空间关系,减少了需求报告中文本规约的数量。