当前位置:
文档之家› 城市GIS_城市地理信息系统软件工程项目管理
城市GIS_城市地理信息系统软件工程项目管理
(2)确定适当的事务型结构
根据数据流程图的特性和模块划分理论,确定事务变换的 模块层次和相互关系。首先需要确定事务中心模块(主模块), 它位于其系统结构图的第一层,也称为主层(P层),图中“土地 权属分类”就是主模块;其次分析第二层次的模块,它主要是 由承担事务处理的加工转换而来的模块,所以又称为事务层(T 层),第二层模块只能是三类:取得事务、处理事务和给出结果, 图中“国有用地审查”、“集体用地审查”、“耕地用地审查” 就是进行不同事务处理的并列模块,并在主模块的下沿以菱形 引出对这三个事务模块的选择。而在“建设用地审查”模块中 隐含了获得“土地图形集”的模块,由于功能较为简单,在图 中没有列出,同时,“模板应用”则是对审查结果进行格式化, 然后给出建设用地审查报告,它们同属事务层。
管理 观点
技 术 观 点
总体设计 详细设计 数据设计 系统结构 过程设计 界面设计
总体设计(概要设计)过程中需要完成的工作
1 制定规范(标准设计) 在进入软件开发阶段之初,应为软件开发制定 共同遵守的标准,以便协调组内各成员的工作。 (1)阅读和理解软件需求说明书,在给定预算 范围内和技术现状下,确认用户的要求能否实现。 若能够实现需要明确实现的条件,从而确定设计的 目标,以及优先顺序。 (2)根据目标确定最合适的设计方案。 (3)确定设计文档的编制标准,包括文档体系、 用纸及样式、记述详细程度、图形画法等。 (4)确定代码体系、接口规约、命名规则等。
5.4.2.3 结构化设计的审查
一旦构造了数据流图及其相关的数据字典,必须对他 们的正确与否进行检验。人们往往用人工的方式进行 检验,经常会发现下列错误。 (1)未标记的数据流。 (2)丢失数据流,得不到某处理过程需要的数据信 息。 (3)纯记录性的数据流,处理过程中的某些数据从 来未加以利用。 (4)在改进过程中未保持数据一致性。 (5)遗失处理过程。 (6)包含了控制信息。
5.4.3 空间数据库设计
一 空间数据库的体系结构
空间数据库软件一般是作为连接GIS客户端软 件和RDBMS的中间件而存在,这种思想与C/S网络模 式思想是一致的。 下面以ESRI的SDE(Spatial Database Engine) 为例说明空间数据库的体系结构。 客户端应用是最终用户运行的软件,它可以是 ArcView、MapObject或ArcInfo的应用,也可以是 用户为某一特定的工程开发的应用。
5、可靠性设计
1)可靠性设计也叫质量设计。软件可靠性简言 之是指程序和文档中的错误少。软件可靠性与 硬件不同,软件越使用可靠性越高。 2)软件在开发期间应当尽早找出差错,并在软 件开发一开始就要确定软件可靠性和其它质量 指标,考虑相应措施,以使得软件易于修改和 易于维护。
6 编写概要设计阶段的文档
3、处理方式设计
1)确实为实现软件系统的功能需求所必需的算法,评 估算法的性能。 2)确定为满足软件系统的性能需求所必需的算法和模 块间的控制方式(性能设计)。 性能主要有以下四个指标: A、周转时间; B、响应时间; C、吞吐量; D、精度 3)确定外部信号的接收发送方式。
4 数据结构设计
确定软件涉及的文件系统的结构以及数据库的 模式、子模式,进行数据完整性和安全性的设计, (1)确定输入和输出文件的详细数据结构; (2)结合算法设计、确定算法所必须的逻辑数据 结构及其操作; (3)确定对逻辑数据结构所必需操作的程序模块, 限制和确定各个数据设计决策的影响范围; (4)确定操作系统或调度程序接口必须的控制表 等数据的详细数据结构和使用规则; (5)数据的保护性设计
(a)修改后数据流程图
5.4.2.2数据流图变换为系统结构图的方法
在系统设计中,往往对系统分析阶段的数 据流程图进行转换来获得系统结构图,如从建 设项目预审的数据流程图可获得其系统结构图 5—30(b)。在系统结构设计时,首先确定系统 总体结构是变换型系统结构图还是事务型系统 结构图,对系统结构进行分解;然后,根据系 统结构的形式对各个部分的数据流程图导出相 应的系统结构图,组成初始系统结构图;最后, 对初始系统结构图进行修改得到最终系统结构 图。
(b)系统结构图
图5.30 某市建设用地预审系统结构图(b)
1.变换分析设计方法
软件的数据流程图主要是变换型系统结构图,对数据 流程图主要也是进行变换分析。变换分析方法由如下 4步组成。 (1)重画数据流图。在需求分析阶段得到的数据流图侧 重于描述系统如何加工数据,而重画数据流图的出发 点是描述系统中的数据是如何流动的。 (2)确定系统的逻辑输入、逻辑输出和中心变换部分。 在数据流图上来区分变换型系统结构图的三个重要组 成部分,这个工作建立在对系统规格说明书有明确理 解和设计人员经验的基础上。
(6)可维护性——从软件维护角度出发,确认 该软件设计是否考虑了方便未来的维护; (7)质量——确认该软件设计是否表现出良好 的质量特征; (8)各种选择方案——是否考虑过其他方案, 比较各种方案的标准是什么; (9)限制——评估对该软件的限制是否现实, 是否与需求一致; (10)其他具体问题——对于文档、可测试性、 设计过程等进行评估。
第五章 城市地理信息系统软件工程(第三讲)
教学内容:
5.4 城市地理信息系统设计
教学时间:2课时 教学方法:讲授法 多媒体教学法 案例法 教学目的: 1、让学生熟悉和掌握UGIS在概要设计过程中 需要完成的任务; 2、让学生理解与掌握UGIS系统设计的方法、 数据库设计、过程设计、界面设计
7 概要设计评审
(1)可追溯性——确认该软件设计是否覆盖了 所有已确定的软件需求,软件每一个成分是否可以 追溯到某一项需求; (2)接口——分析软件各部分之间的联系,确 认该软件内部接口与外部接口是否已经明确定义; (3)风险——确认软件设计在现有技术条件下 和预算范围内是否能按时实现; (4)实用性——确认该软件设计对于需求的解 决方案是否实用; (5)技术清晰度——确认该软件设计是否以一 种易于翻译成代码的形式表达;
教学重点:
数据流图变换为系统结构图的方法 UGIS三种主要数据模型
教学难点:
数据存储、读取、查询和管理结构设计 本次课教学所涉及的学术前沿: 无缝数据库管理模型
5.4 城市地理信息系统设计ห้องสมุดไป่ตู้
系统设计是一个把系统需求变换成软件表示的过 程。在完成了系统分析之后,为了实现软件需求规格说 明书的要求,必须将用户需求转化为对计算机系统的逻 辑定义,即所谓系统设计。最初这种表示只是描绘出系 统的总的框架,然后进一步细化,在此框架中填入细节, 把它加工成在程序细节上非常接近于源程序的软件表示。 从工程管理的角度来看,系统设计分两步完成。 首先做概要设计,将系统需求转化为数据结构和软件的 系统结构。然后是详细设计,即过程设计。 从技术的角度来看,包括数据设计、系统结构、过 程设计、界面设计。
概要设计阶段完成时应编写以下文档 (1)概要设计说明书,包括系统目标、总体设 计、数据设计、处理方式设计、运行设计等; (2)数据库设计说明书,包括所用数据库简介、 数据模式设计、物理设计等。 (3)用户手册,对需求分析阶段编写的初步的 用户手册进行审订; (4)制定初步的测试计划,对测试的策略、方 法和步骤提出明确的要求。
详细设计
(二)在详细设计过程中,需要完成的工作是: 1、确定软件各个组成部分内的算法以及各部 分的内部数据结构; 2、确定各个组成部分的逻辑过程; 3、针对各个功能,根据界面设计风格,设计 各类界面的样式; 4、进行详细设计的评审。
5.4.2系统设计的方法
5.4.2.1系统结构图的基本组成
1、系统结构图主要由四种基本模块类型组成 1)传入模块——从下属模块取得数据,经过模块处理再给 上级模块 2)传出模块——从上级模块获得数据,经过模块处理再传 给下属模块 3)变换模块——从数据模块取得数据,经过模块的特定处 理,转换成其他形式再传送上级模块 4)协调模块——对所有下属模块进行协调和管理的模块, 这种模块一般在系统结构图中较高层出现
变换分析设计方法
(3)进行一级分解,设计系统模块结构的顶层和第一层。首先设计 一个主模块,并用系统的名字为它命名,然后将它画在与中心 变换相对应的位置上。作为系统的顶层,它的功能是调用下一 层模块,完成系统所要做的各项工作。主模块设计好之后,下 面的程序结构就可按输入、中心变换和输出等分支来处理。程 序结构的第一层可以这样来设计:为每一个逻辑输入设计一个 输入模块,它的功能是为主模块提供数据;为每一个逻辑输出 设计一个输出模块,它的功能是将主模块提供的数据输出;为 中心变换设计一个变换模块,它的功能是将逻辑输入转换成逻 辑输出。 (4)进行二级分解,设计输入,中心变换,输出部分的中、下层模 块。这一步工作是自顶向下,逐层细化,为第一层的每一个输 入模块、输出模块、变换模块设计它们的从属模块。
2 软件系统结构的总体设计
(1)采用某种设计方法,将一个复杂的系统按 照功能划分成模块的层次结构; (2)确定每个模块的功能,建立与已确定的软 件需求的对应关系; (3)确定模块间的调用关系; (4)确定模块间的接口,即模块间传递的信息。 设计接口的信息结构。 (5)评估模块划分的质量及导出模块结构的规 则。
3.系统结构图完善
通过如上方法获得的是初始结构图,还需要进行如下工作 完善,形成最终的系统结构图。 (1)模块功能完善。除完成系统功能外,增加系统任务 完成的状态,以及不能完成的原因,包括出错处理、完成 返回信息等部分。 (2)消除重复功能,以改善系统结构。即通过不同的变 量定义和数据类型描述,对功能相似的模块进行合并。 (3)控制模块大小和子模块数。如果模块功能多,过程 复杂,子模块数多,程设计将非常复杂,这就必须对系统 进行分解,从而降低模块的复杂性。 (4)增加适当的说明。包括处理说明、接口说明、数据 结构说明等内容。则会导致过
2.事务分析设计方法
在数据流程图中有种数据流可以引发一个或多个处理, 这些处理能够完成该作业要求的功能,这种数据流就 叫做事务。对这类数据流程图进行变换建立系统结构 图就是事务分析,与变换分析一样,也是从分析数据 流图开始,自项向下,逐步分解,建立系统结构图。 (1)识别事务源 确定数据流程图(或局部数据流程图)具有事务型特征 后,首先确定事务源,即带有“请求”性质的信息。 图中数据流“选择图形集”就是一个事务源,它通过 后面的加工“土地权属分类”,对“土地图形集”按 照权属分类处理。