城市GIS城市地理信息系统软件工程项目管理介绍课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《城市GIS城市地理信息系统软件工程项目管理介绍课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 城市 GIS 地理信息系统 软件工程 项目 管理 介绍 课件
- 资源描述:
-
1、第五章第五章 城市地理信息系统软件工程城市地理信息系统软件工程(第三讲第三讲)教学内容教学内容:5.4 5.4 城市地理信息系统设计城市地理信息系统设计n教学时间:教学时间:2 2课时课时n教学方法:讲授法教学方法:讲授法 多媒体教学法多媒体教学法 案例法案例法n教学目的:教学目的:n1 1、让学生熟悉和掌握、让学生熟悉和掌握UGISUGIS在概要设计过程中在概要设计过程中需要完成的任务需要完成的任务;n2 2、让学生理解与掌握、让学生理解与掌握UGISUGIS系统设计的方法、系统设计的方法、数据库设计、过程设计、界面设计数据库设计、过程设计、界面设计教学重点:数据流图变换为系统结构图的方法U
2、GIS三种主要数据模型教学难点:数据存储、读取、查询和管理结构设计本次课教学所涉及的学术前沿:无缝数据库管理模型5.4 城市地理信息系统设计城市地理信息系统设计 系统设计是一个把系统需求变换成软件表示的过系统设计是一个把系统需求变换成软件表示的过程。在完成了系统分析之后,为了实现软件需求规格说程。在完成了系统分析之后,为了实现软件需求规格说明书的要求,必须将用户需求转化为对计算机系统的逻明书的要求,必须将用户需求转化为对计算机系统的逻辑定义,即所谓系统设计。最初这种表示只是描绘出系辑定义,即所谓系统设计。最初这种表示只是描绘出系统的总的框架统的总的框架,然后进一步细化然后进一步细化,在此框架中
3、填入细节在此框架中填入细节,把它加工成在程序细节上非常接近于源程序的软件表示。把它加工成在程序细节上非常接近于源程序的软件表示。从工程管理的角度来看,系统设计分两步完成。从工程管理的角度来看,系统设计分两步完成。首先做概要设计,将系统需求转化为数据结构和软件的首先做概要设计,将系统需求转化为数据结构和软件的系统结构。然后是详细设计,即过程设计。系统结构。然后是详细设计,即过程设计。从技术的角度来看,包括数据设计、系统结构、过从技术的角度来看,包括数据设计、系统结构、过程设计、界面设计。程设计、界面设计。5.4.1系统设计的目标和任务系统设计的目标和任务(一一)概要设计概要设计1 1、制定规范、
4、制定规范2 2、软件系统结构的总体设计、软件系统结构的总体设计3 3、处理方式设计、处理方式设计4 4、数据结构设计、数据结构设计5 5、可靠性设计、可靠性设计6 6、编写概要设计阶段的文档、编写概要设计阶段的文档7 7、概要设计评审、概要设计评审系统设计在软件开发中的位置 软件开发主要包括三个步骤:设计、实现(编码)和测试。系统分析阶段解决系统“做什么”的问题,而系统设计则解决“怎么做”的问题。设计编码测试数据域需求功能域及性能需求界面设计数据设计过程设计系统结构设计程序模块组装好的有效软件开发阶段的信息流开发阶段的信息流 系统结构设计系统结构设计定义软件系统各个主要成分之间定义软件系统各个
5、主要成分之间的关系;的关系;数据设计数据设计侧重于数据结构的定义;侧重于数据结构的定义;详细设详细设计计则是把结构成分转换成软件的过程性描述;则是把结构成分转换成软件的过程性描述;界面界面设计设计侧重于与用户交互的界面的设计,包括输入、侧重于与用户交互的界面的设计,包括输入、输出、显示等各类界面的风格和策略的确定。输出、显示等各类界面的风格和策略的确定。从工程管理的从工程管理的角度,系统设计分角度,系统设计分两步完成:两步完成:总体设总体设计计和和详细设计详细设计。总体设计总体设计详细设计详细设计数据设计数据设计系统结构系统结构过程设计过程设计界面设计界面设计管理管理观点观点技技术术观观点点总
6、体设计总体设计(概要设计概要设计)过程中需要完成的工作过程中需要完成的工作1 制定规范(标准设计)在进入软件开发阶段之初,应为软件开发制定共同遵守的标准,以便协调组内各成员的工作。(1 1)阅读和理解软件需求说明书,在给定预算)阅读和理解软件需求说明书,在给定预算范围内和技术现状下,确认用户的要求能否实现。范围内和技术现状下,确认用户的要求能否实现。若能够实现需要明确实现的条件,从而确定设计的若能够实现需要明确实现的条件,从而确定设计的目标,以及优先顺序。目标,以及优先顺序。(2 2)根据目标确定最合适的设计方案。)根据目标确定最合适的设计方案。(3 3)确定设计文档的编制标准,包括文档体系、
7、)确定设计文档的编制标准,包括文档体系、用纸及样式、记述详细程度、图形画法等。用纸及样式、记述详细程度、图形画法等。(4 4)确定代码体系、接口规约、命名规则等。)确定代码体系、接口规约、命名规则等。2 软件系统结构的总体设计 (1 1)采用某种设计方法,将一个复杂的系统按)采用某种设计方法,将一个复杂的系统按照功能划分成模块的层次结构;照功能划分成模块的层次结构;(2 2)确定每个模块的功能,建立与已确定的软)确定每个模块的功能,建立与已确定的软件需求的对应关系;件需求的对应关系;(3 3)确定模块间的调用关系;)确定模块间的调用关系;(4 4)确定模块间的接口,即模块间传递的信息。)确定模
8、块间的接口,即模块间传递的信息。设计接口的信息结构。设计接口的信息结构。(5 5)评估模块划分的质量及导出模块结构的规)评估模块划分的质量及导出模块结构的规则。则。3、处理方式设计1)确实为实现软件系统的功能需求所必需的算法,评)确实为实现软件系统的功能需求所必需的算法,评估算法的性能。估算法的性能。2)确定为满足软件系统的性能需求所必需的算法和模)确定为满足软件系统的性能需求所必需的算法和模块间的控制方式(性能设计)。块间的控制方式(性能设计)。性能主要有以下四个指标:性能主要有以下四个指标:A、周转时间;、周转时间;B、响应时间;、响应时间;C、吞吐量;、吞吐量;D、精度、精度3)确定外部
9、信号的接收发送方式。)确定外部信号的接收发送方式。4 数据结构设计 确定软件涉及的文件系统的结构以及数据库的确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计,模式、子模式,进行数据完整性和安全性的设计,(1 1)确定输入和输出文件的详细数据结构;)确定输入和输出文件的详细数据结构;(2 2)结合算法设计、确定算法所必须的逻辑数据)结合算法设计、确定算法所必须的逻辑数据结构及其操作;结构及其操作;(3 3)确定对逻辑数据结构所必需操作的程序模块,)确定对逻辑数据结构所必需操作的程序模块,限制和确定各个数据设计决策的影响范围;限制和确定各个数据设计决策的影响范围;
10、(4 4)确定操作系统或调度程序接口必须的控制表)确定操作系统或调度程序接口必须的控制表等数据的详细数据结构和使用规则;等数据的详细数据结构和使用规则;(5 5)数据的保护性设计)数据的保护性设计5、可靠性设计1)可靠性设计也叫质量设计。软件可靠性简言之是指程序和文档中的错误少。软件可靠性与硬件不同,软件越使用可靠性越高。2)软件在开发期间应当尽早找出差错,并在软件开发一开始就要确定软件可靠性和其它质量指标,考虑相应措施,以使得软件易于修改和易于维护。6 编写概要设计阶段的文档 概要设计阶段完成时应编写以下文档概要设计阶段完成时应编写以下文档 (1)概要设计说明书,包括系统目标、总体设)概要设
11、计说明书,包括系统目标、总体设计、数据设计、处理方式设计、运行设计等;计、数据设计、处理方式设计、运行设计等;(2)数据库设计说明书,包括所用数据库简介、)数据库设计说明书,包括所用数据库简介、数据模式设计、物理设计等。数据模式设计、物理设计等。(3)用户手册,对需求分析阶段编写的初步的)用户手册,对需求分析阶段编写的初步的用户手册进行审订;用户手册进行审订;(4)制定初步的测试计划,对测试的策略、方)制定初步的测试计划,对测试的策略、方法和步骤提出明确的要求。法和步骤提出明确的要求。7 概要设计评审 (1 1)可追溯性)可追溯性确认该软件设计是否覆盖了确认该软件设计是否覆盖了所有已确定的软件
12、需求,软件每一个成分是否可以所有已确定的软件需求,软件每一个成分是否可以追溯到某一项需求;追溯到某一项需求;(2 2)接口)接口分析软件各部分之间的联系,确分析软件各部分之间的联系,确认该软件内部接口与外部接口是否已经明确定义;认该软件内部接口与外部接口是否已经明确定义;(3 3)风险)风险确认软件设计在现有技术条件下确认软件设计在现有技术条件下和预算范围内是否能按时实现;和预算范围内是否能按时实现;(4 4)实用性)实用性确认该软件设计对于需求的解确认该软件设计对于需求的解决方案是否实用;决方案是否实用;(5 5)技术清晰度)技术清晰度确认该软件设计是否以一确认该软件设计是否以一种易于翻译成
13、代码的形式表达;种易于翻译成代码的形式表达;(6 6)可维护性)可维护性从软件维护角度出发,确认从软件维护角度出发,确认该软件设计是否考虑了方便未来的维护;该软件设计是否考虑了方便未来的维护;(7 7)质量)质量确认该软件设计是否表现出良好确认该软件设计是否表现出良好的质量特征;的质量特征;(8 8)各种选择方案)各种选择方案是否考虑过其他方案,是否考虑过其他方案,比较各种方案的标准是什么比较各种方案的标准是什么;(9 9)限制)限制评估对该软件的限制是否现实,评估对该软件的限制是否现实,是否与需求一致;是否与需求一致;(1010)其他具体问题)其他具体问题对于文档、可测试性、对于文档、可测试
14、性、设计过程等进行评估。设计过程等进行评估。(二)在详细设计过程中,需要完成的工作是:(二)在详细设计过程中,需要完成的工作是:1 1、确定软件各个组成部分内的算法以及各部、确定软件各个组成部分内的算法以及各部分的内部数据结构;分的内部数据结构;2 2、确定各个组成部分的逻辑过程;、确定各个组成部分的逻辑过程;3 3、针对各个功能,根据界面设计风格,设计、针对各个功能,根据界面设计风格,设计各类界面的样式;各类界面的样式;4 4、进行详细设计的评审。、进行详细设计的评审。详细设计详细设计5.4.25.4.2系统设计的方法系统设计的方法5.4.2.15.4.2.1系统结构图的基本组成系统结构图的
15、基本组成1 1、系统结构图主要由四种基本模块类型组成、系统结构图主要由四种基本模块类型组成1 1)传入模块)传入模块从下属模块取得数据,经过模块处理再给从下属模块取得数据,经过模块处理再给上级模块上级模块2 2)传出模块)传出模块从上级模块获得数据,经过模块处理再传从上级模块获得数据,经过模块处理再传给下属模块给下属模块3 3)变换模块)变换模块从数据模块取得数据,经过模块的特定处从数据模块取得数据,经过模块的特定处理,转换成其他形式再传送上级模块理,转换成其他形式再传送上级模块4 4)协调模块)协调模块对所有下属模块进行协调和管理的模块,对所有下属模块进行协调和管理的模块,这种模块一般在系统
16、结构图中较高层出现这种模块一般在系统结构图中较高层出现系统结构图系统结构图 系统结构图主要分为两种典型的系统结构形式变换型系统结构图和事务型系统结构图。具体而言,变换型系统结构是一种线性结构,可以明显地分为逻辑输入、主加工和逻辑输出,系统的变换分析过程主要分为三步,即取得数据、变换数据和输出数据,系统结构图也由输入、中心变换和输出组成。图530(a)中系统主模块为变换型系统结构图;事务型系统结构图指某个加工将它的输入分析成一串平行的数据流,分别执行后面的某些加工,如图5-30中虚线柜部分所示。在系统结构图中这两种类型往往交替使用。(a)修改后数据流程图修改后数据流程图5.4.2.2数据流图变换
17、为系统结构图的方法数据流图变换为系统结构图的方法 在系统设计中,往往对系统分析阶段的数据流程图进行转换来获得系统结构图,如从建设项目预审的数据流程图可获得其系统结构图530(b)。在系统结构设计时,首先确定系统总体结构是变换型系统结构图还是事务型系统结构图,对系统结构进行分解;然后,根据系统结构的形式对各个部分的数据流程图导出相应的系统结构图,组成初始系统结构图;最后,对初始系统结构图进行修改得到最终系统结构图。图图5.30 某市建设用地预审系统结构图某市建设用地预审系统结构图(b)(b)系统结构图系统结构图1变换分析设计方法变换分析设计方法 软件的数据流程图主要是变换型系统结构图,对数据流程
18、图主要也是进行变换分析。变换分析方法由如下4步组成。(1)重画数据流图。在需求分析阶段得到的数据流图侧重于描述系统如何加工数据,而重画数据流图的出发点是描述系统中的数据是如何流动的。(2)确定系统的逻辑输入、逻辑输出和中心变换部分。在数据流图上来区分变换型系统结构图的三个重要组成部分,这个工作建立在对系统规格说明书有明确理解和设计人员经验的基础上。变换分析设计方法变换分析设计方法(3)进行一级分解,设计系统模块结构的顶层和第一层。首先设计一个主模块,并用系统的名字为它命名,然后将它画在与中心变换相对应的位置上。作为系统的顶层,它的功能是调用下一层模块,完成系统所要做的各项工作。主模块设计好之后
19、,下面的程序结构就可按输入、中心变换和输出等分支来处理。程序结构的第一层可以这样来设计:为每一个逻辑输入设计一个输入模块,它的功能是为主模块提供数据;为每一个逻辑输出设计一个输出模块,它的功能是将主模块提供的数据输出;为中心变换设计一个变换模块,它的功能是将逻辑输入转换成逻辑输出。(4)进行二级分解,设计输入,中心变换,输出部分的中、下层模块。这一步工作是自顶向下,逐层细化,为第一层的每一个输入模块、输出模块、变换模块设计它们的从属模块。2事务分析设计方法 在数据流程图中有种数据流可以引发一个或多个处理,在数据流程图中有种数据流可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据
20、流就这些处理能够完成该作业要求的功能,这种数据流就叫做事务。对这类数据流程图进行变换建立系统结构叫做事务。对这类数据流程图进行变换建立系统结构图就是事务分析,与变换分析一样,也是从分析数据图就是事务分析,与变换分析一样,也是从分析数据流图开始,自项向下,逐步分解,建立系统结构图。流图开始,自项向下,逐步分解,建立系统结构图。(1)识别事务源识别事务源 确定数据流程图确定数据流程图(或局部数据流程图或局部数据流程图)具有事务型特征具有事务型特征后,首先确定事务源,即带有后,首先确定事务源,即带有“请求请求”性质的信息。性质的信息。图中数据流图中数据流“选择图形集选择图形集”就是一个事务源,它通过
21、就是一个事务源,它通过后面的加工后面的加工“土地权属分类土地权属分类”,对,对“土地图形集土地图形集”按按照权属分类处理。照权属分类处理。(2)确定适当的事务型结构确定适当的事务型结构 根据数据流程图的特性和模块划分理论,确定事务变换的根据数据流程图的特性和模块划分理论,确定事务变换的模块层次和相互关系。首先需要确定事务中心模块模块层次和相互关系。首先需要确定事务中心模块(主模块主模块),它位于其系统结构图的第一层,也称为主层它位于其系统结构图的第一层,也称为主层(P层层),图中,图中“土地土地权属分类权属分类”就是主模块;其次分析第二层次的模块,它主要是就是主模块;其次分析第二层次的模块,它
22、主要是由承担事务处理的加工转换而来的模块,所以又称为事务层由承担事务处理的加工转换而来的模块,所以又称为事务层(T层层),第二层模块只能是三类:取得事务、处理事务和给出结果,第二层模块只能是三类:取得事务、处理事务和给出结果,图中图中“国有用地审查国有用地审查”、“集体用地审查集体用地审查”、“耕地用地审查耕地用地审查”就是进行不同事务处理的并列模块,并在主模块的下沿以菱形就是进行不同事务处理的并列模块,并在主模块的下沿以菱形引出对这三个事务模块的选择。而在引出对这三个事务模块的选择。而在“建设用地审查建设用地审查”模块中模块中隐含了获得隐含了获得“土地图形集土地图形集”的模块,由于功能较为简
23、单,在图的模块,由于功能较为简单,在图中没有列出,同时,中没有列出,同时,“模板应用模板应用”则是对审查结果进行格式化,则是对审查结果进行格式化,然后给出建设用地审查报告,它们同属事务层。然后给出建设用地审查报告,它们同属事务层。(3)识别各种事务和它们定义的操作识别各种事务和它们定义的操作 通过问题定义和软件需求规格说明书找出所有事务及其操作所必需的全部信息,而对于系统内部产生的事务,必须仔细地定义它们的操作。即将各个事务模块下层的操作模决继续分解扩展,直至完成整个结构图。这些操作模块包括A层(活动层)和D层(细节层),在图530中没有画出。3系统结构图完善系统结构图完善 通过如上方法获得的
24、是初始结构图,还需要进行如下工作通过如上方法获得的是初始结构图,还需要进行如下工作完善,形成最终的系统结构图。完善,形成最终的系统结构图。(1)模块功能完善。除完成系统功能外,增加系统任务模块功能完善。除完成系统功能外,增加系统任务完成的状态,以及不能完成的原因,包括出错处理、完成完成的状态,以及不能完成的原因,包括出错处理、完成返回信息等部分。返回信息等部分。(2)消除重复功能,以改善系统结构。即通过不同的变消除重复功能,以改善系统结构。即通过不同的变量定义和数据类型描述,对功能相似的模块进行合并。量定义和数据类型描述,对功能相似的模块进行合并。(3)控制模块大小和子模块数。如果模块功能多,
25、过程控制模块大小和子模块数。如果模块功能多,过程复杂,子模块数多,程设计将非常复杂,这就必须对系统复杂,子模块数多,程设计将非常复杂,这就必须对系统进行分解,从而降低模块的复杂性。进行分解,从而降低模块的复杂性。(4)增加适当的说明。包括处理说明、接口说明、数据增加适当的说明。包括处理说明、接口说明、数据结构说明等内容。则会导致过结构说明等内容。则会导致过5.4.2.3 结构化设计的审查 一旦构造了数据流图及其相关的数据字典,必须对他们的正确与否进行检验。人们往往用人工的方式进行检验,经常会发现下列错误。(1)未标记的数据流。(2)丢失数据流,得不到某处理过程需要的数据信息。(3)纯记录性的数
展开阅读全文