地理信息系统软件工程考试_第1页
地理信息系统软件工程考试_第2页
地理信息系统软件工程考试_第3页
地理信息系统软件工程考试_第4页
地理信息系统软件工程考试_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

地理信息系统软件工程考试复习资料1.GIS软件工程定义GIS软件工程在GIS软件开发的整个过程中,遵循一般软件开发的工程化原理和方法,并照顾到GIS软件开发的特殊规律和要求,对GIS软件从问题定义、可行性研究、需求分析、总体设计、详细设计、软件编制、软件测试,直到软件维护的各个阶段,进行工程化规范的一门技术。软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。GIS软件工程的2方面内容:软件开发技术研究:软件开发方法、软件开发过程、软件开发工具和环境。软件开发管理研究:软件管理学、软件经济学、软件心理学。2.GIS系统获得流程: 3.GIS软件工程的特色GIS与其他信息系统的最大区别是它能够处理具有空间特征的对象,GIS软件工程特点:系统复杂度大数据在系统中具有特别的地位、系统表达方式复杂、系统更新速度快、系统维护工作量大、易操作性要求高84.典型的软件过程模型有哪些?典型的软件过程模型有:瀑布模型(waterfall model)演化模型(evolutionary model)增量模型(incremental model)原型模型(prototyping model)螺旋模型(spiral model)喷泉模型(water fountain model)基于构件的开发模型(component-based development model)形式方法模型(formal methods model)5.典型的演化模型有哪些?增量模型、原型模型、螺旋模型。6.瀑布模型的组成阶段 (P11)瀑布模型:是将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型。包括:可行性分析、项目开发计划、需求分析、总体设计、详细设计、编码、测试和维护。7.软件生命周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。8.Agile方法的价值观有哪些?个人和交互高于过程和工具、可运行软件高于详尽的文档、与客户协作高于合同(契约)谈判、对变更及时做出反应高于遵循计划9.12XP方法的4个价值观有哪些?交流(Communication)、简单(Simplicity)、反馈(Feedback)、勇气(Courage)10.可行性分析定义可行性分析是对建立系统的必要性和实现目标的可能性,从社会因素、技术因素和经济因素三大方面进行分析,以确定用户实力、系统环境、原始数据、数据流、存储空间、软件系统、经费预算,以及时间分析和效率分析等。11.可行性研究的目的是什么?其核心是什么?用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。核心:值得?12.系统分析定义系统分析是应用系统论的思想和方法,确定系统的开发对象,把复杂的对象分解成简单的组成部分,找出这些部分的基本属性和彼此间的关系13.系统分析阶段的基本任务是什么?系统分析阶段的基本任务是:系统分析员与用户在一起,充分了解用户的要求,并把双方的理解用软件需求规格说明书表达出来。14.系统分析的过程包括什么?问题的识别(调研阶段的可行性分析报告和项目开发计划-确定系统的要求)分析与综合(需求整理-给出解决方案)编制需求分析的文档(需求规格说明书)需求分析评审(复查功能需求等)15.需求工程的定义需求工程:一般指应用已证实有效的原理、方法,通过合适的工具和记号,系统地描述出待开发系统及其行为特征和相关约束,通常是一些过程的集合:需求获取、需求分析和编写软件规格说明书(SRS)及验证。16. 需求工程中涉及的三类角色需求者、分析员、实现者需求者:包括用户和使用者,以及需求或对系统起决定性作用的主管。系统分析员:其工作是通过适当的引导、规格说明、鉴定和证实技术来提供一个需求者所要的对该系统的精确描述;系统分析员是完成需求分析的主体。开发者:由设计人员、编程人员和项目管理者组成。一旦需求规格说明产生,由开发者来构造系统。系统分析员是用户和程序设计人员的中介,负责沟通用户和开发人员的认识和见解,起着桥梁的作用。17.需求分析的定义需求分析:是开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求称述转化为完整的需求定义,再由需求定义转换到相应的形式功能规格说明的过程。初步用户手册在需求分析阶段编写18.GIS软件工程调研时,现状调查的5(6)种方法现状调查的目的是学习、了解机构内现有的运作,通常可以采用:1面谈;2电话访谈;3参观;4问卷;5索取有关的资料并加以学习和理解;6GIS专题报告等方式。19数据流程图定义?基本元素包括什么?所谓数据流程图指从数据传递和加工的角度,以图形的方式刻画数据流从输入输出移动变化过程。基本元素包括:数据流(data flow)、加工(process)、文件(file)、源或宿(source or sink)20数据字典:关于数据信息的集合。它是数据流图中所有要素严格定义的场所,这些要素包括数据流、数据流的组成、文件、加工小说明及其它应进入字典的一切数据,其中,每个要素对应数据字典中的一个条目。21.数据流图与数据字典是密不可分的,两者结合起来构成软件的逻辑模型(分析模型)数据流图(功能):描述系统由哪几部分组成、各部分之间的联系等数据字典(功能):描述数据流程图中的数据流、数据存储、处理过程和外部实体。22.GIS结构化分析及其方法的分析策略是什么?结构化方法就是利用一般系统工程分析法和有关结构概念,把他们应用于GIS的分析,采用自上而下,划分模块,逐步求精的一种系统分析方法。分析策略:自顶向下、逐层分解的分析策略结构化方法组成:结构化分析(Structure Analysis,SA)结构化设计(Structure Design,SD)结构化程序设计( Structure Programming ,SP)SA方法的分析步骤是首先调查了解当前系统的工作流程,然后获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型,作进一步补充和优化23.结构分析法的优缺点【优点】1简单、使用2适合于瀑布模型,易为开发者掌握3成功率较高4特别适合于数据处理领域中的应用,对其他领域的应用也基本使用。【缺点】1对于规模大的项目,特别复杂的应用不太适应2难于解决软件重用的问题3难于适应需求的变化4难于彻底解决维护问题24.面向对象的方法面向对象的方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。面向对象=对象(object) + 类(classification)+ 继承(inheritance) + 通信(communication with messages) 可以说,采用这四个概念开发的软件系统是面向对象的。对象(object):对象是人们要研究的任何事物,不仅能表示具体的事物,还能表示抽象的规则、计划或事件。每个对象可用它自己的一组属性和它可以执行的一组操作来表征类:具有相同或相似性质的对象的抽象就是类封装性:是指所有软件部件内部都有明确的范围以及清楚的外部边界。每个软件部件都有友好的界面接口,软件部件的内部实现与外部可访问性分离。25.GIS软件工程的分析方法有哪些?1.结构化分析方法SA2.面向对象分析方法OOA:面向对象开发方法的三个主要流派:Booch方法、Coad分析方法、OMT分析方法26.OMT方法包括哪3个基本模型?各自的作用是什么?三个模型之间的关系是什么?对象模型: 描述静态结构, 定义做事情的实体功能模型: 描述处理(数据变换),指明系统应“做什么”动态模型: 描述交互过程, 规定什么时候做三个模型之间的关系:对象模型、动态模型和功能模型都包含了同样的概念、数据、序列和操作,但它们描述了系统的不同方面。对象模型描述了动态模型、功能模型所操作的数据结构,其中的操作对应于动态模型中的事件和功能模型中的函数。动态模型描述了对象的控制结构,告诉我们哪些决策是依赖于对象值,哪些引起对象的变化,并激活了函数。功能模型描述了由对象模型中操作和动态模型中动作所激活的函数,而函数作用在对象模型说明的数据上。功能模型还表示了对象值的约束。27、论域分析论域分析是软件开发的一个基本组成部分,它给出一组抽象,这组抽象是论域知识的高层表示,它常常超出当前应用的范围,可以用来作为特定系统需求开发的参考。论域主要思想是把考虑的领域放宽一些,把相关的概念都标识到,以帮助更好地掌握应用的核心知识。当用户改变对他们对系统的需要时,范围广泛的分析可以帮助预测这些变化。28.软件总体设计主要包含的两个阶段是什么?软件体系结构设计阶段和软件结构设计阶段总体设计: 系统总体设计的目的是回答“系统应如何实现”的问题。29. GIS软件工程的设计过程,设计的顺序(P116)总体设计 - 数据库设计 - 应用模型设计 - 详细设计30 软件系统结构图深度,宽度,扇出,扇入(P140)深度:指结构图控制的层次,也是模块的层数。宽度:指一层中最大的模块个数。扇出:指一个模块直接下属模块的个数。扇入:指一个模块直接上属模块的个数。在软件结构化设计中,好的软件结构设计应该力求做到:顶层扇出较高,中间层扇出较少,底层模块高扇入构件技术:是指通过组装一系列可复用的软件构件来构造软件系统的软件技术。通过运用构件技术,开发人员可以有效的进行软件复用,减少重复开发,缩短软件的开发时间,降低软件的开发成本。 31 E-R模型3个基本成分:实体、属性、关系32 模块:模块:是指具有一定功能的可以用模块名调用的一组程序语句,如函数、子程序等。模块是软件的组成部分,所有模块组成整体,可以满足问题的要求。模块化:指解决一个复杂问题时自顶而下逐层把软件系统划分若干模块的过程。33耦合定义?耦合:模块间联系(相互依赖)强弱的度量34内聚度定义内聚度:是模块所执行任务的整体统一性的度量。标志一个模块内部各成分彼此结合的紧密程度。 软件设计中划分模块的一个准则是:高内聚低耦合35详细设计的任务是确定什么? 详细设计:又称为过程设计,其任务是根据总体设计方案确定的目标和阶段开发计划,紧密结合特定的硬件、基础软件和规范标准,进行子系统和数据库的详细设计,用于具体指导系统的开发。详细设计的任务是确定每个模块具体执行过程36 详细设计工具有哪些?详细设计工具: (1) 图形工具(流程图、盒图、问题分析图(PAD 图) (2) 表格工具(判定表、判定树) (3) 语言工具:过程设计语言PDL软件详细设计主要采用的方法是:结构化程序设计37.界面设计的三条黄金规则是什么?1、置用户于控制之下2、减少用户的记忆负担3、保持界面一致 38 GIS软件的基本界面样式有哪些?1、基于命令行的GIS界面2.基于窗口的GIS界面3、菜单驱动的GIS界面4、基于对话框的GIS界面5、采用数据流程图的GIS图形界面39.GIS软件工程的设计方法有哪些?1.GIS软件结构化设计方法2.面向数据结构的设计方法,如,Jackson设计方法3.面向对象设计方法:GIS软件面向对象Booch设计方法;GIS软件面向对象Coad设计方法;GIS软件面向对象OMT设计方法;GIS软件面向对象UML设计方法结构化设计方法:结构化设计(Structured Design,简称SD)是将结构化分析得到的数据流图映射成软件体系结构的一种设计方法强调模块化、自顶向下逐步求精、信息隐蔽、高内聚低耦合等设计准则分为概要(总体)设计和详细设计两大步骤40.软件设计的基本原理包括哪些内容?模块化:指解决一个复杂问题时自顶而下逐层把软件系统划分若干模块的过程。或则说是一种将复杂系统分解为更好的可管理模块的方式。模块:是指具有一定功能的可以用模块名调用的一组程序语句,如函数、子程序等。模块是软件的组成部分,所有模块组成整体,可以满足问题的要求。抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。 信息隐蔽:信息隐蔽是在设计确定模块时,使得一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说,是不能访问的。简单地说是将模块实现自身功能的细节与数据隐蔽起来。模块间仅交换为完成系统功能所必须的信息。模块独立性:每个模块只完成系统要求的独立的子功能。面向对象设计:面向对象程序设计(英语:Object-oriented programming,缩写:OOP), 或(英语:Object-oriented Design ,缩写:OOD),指一种程序设计范型,同时也是一种程序开发的方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。 “面向对象的设计”里面的“面向”是个形象的翻译,其实本意是“基于”对象的设计,是一种程序设计方法,这之前的程序设计方法是“基于”过程的,编程就是指定计算机运行的详细过程,有顺序、分支、循环三种基本机构。“基于”对象的程序设计颠覆了那个传统,程序设计者的人物是规定程序处理的各个对象的属性和方法,以及对象对事件的响应,设定好这些以后程序就完工了,然后交给系统和用户自行运作,结果可能有无限种可能。这样的程序设计方法,设计者设计时主要面对各类对象,所以叫做“面向对象的设计”。 主要概念:类:具有相同或相似性质的对象的抽象就是类。对象指的是类的实例。方法(Method,可看成能力)是定义一个类可以做的,但不一定会去做的事。继承:继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。封装性:是指所有软件部件内部都有明确的范围以及清楚的外部边界。每个软件部件都有友好的界面接口,软件部件的内部实现与外部可访问性分离。多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。40.两种典型系统结构形式是什么?变换型 系统结构图事务型 系统结构图41.UML图形表示的5类10种图有哪些?各用于哪个阶段?各自的作用是什么?用例图系统的功能、各功能的操作者静态图类图、对象图、包图 描述:系统静态结构行为图状态图、活动图 描述:系统的动态行为、对象之间的交互关系交互图顺序图、合作图 描述:对象之间的动态合作关系实现图构件图、配置图 描述:系统物理实现42.GIS的数据源有哪些?1地图2遥感影像数据3统计数据4实测数据5数字数据6各种文字报告和立法文件43.数据在GIS软件工程中的地位数据是GIS的核心,也是GIS投资最大的部分44空间数据的三大基本特征是什么?空间特征、时间特征、专题特征45.地理数据标准化和规范化的基本内容有哪些?统一的空间定位框架、统一的数据分类标准、统一的数据编码系统、统一的数据记录格式、统一的数据采集原则和统一的数据测试标准。46.编码的直接产物是什么?它有哪三类类型?编码的基础是什么? 直接产物是代码;有数字型、字母型、数字和字母混合型三类;而分类分级则是编码的基础。47.GIS中代码的种类有哪两种类型?各自的作用是什么?有两种代码,一种是分类码,一种是标识码 48.程序编制的一般要求是什么?1、尽量使用GIS基础软件的编程资源2、注意系统配置要求3、良好的程序设计风格4、程序容错性强5、采用版本控制管理程序编码49、GIS软件实施阶段的准备工作有哪些?1、硬件准备硬件设备包括计算机、输入输出设备、存储设备、辅助设备(稳压电源、空调设备等)、通信设备等等,要购置、安装、调试这些设备。这方面的工作要花费大量的人力、物力,持续相当长的时间。2、软件准备软件设备包括系统软件、数据库管理系统以及一些应用程序。这些软件有些需要购买,有些需要组织人力编写,这需要相当多的人力、物力和时间。编写程序是这一阶段的主要任务之一。3、人员培训主要指用户的培训,用户包括主管人员和业务人员。系统投入运行后,他们将在系统中工作。这些人多数来自现行系统,精通业务,但往往缺乏计算机知识。为保证系统调试和运行顺利进行,应根据他们的基础,提前进行培训,使他们适应,并逐步熟悉新的操作方法。有时,改变旧的工作习惯比软件的更换更为困难。4、数据准备数据的收集、整理、录入是一项既繁琐,劳动量又大的工作。而没有一定基础数据的准备,系统调试不能很好地进行。一般说来,确定数据库物理模型之后,就应进行数据的整理、录入。这样既分散了工作量,又可以为系统调试提供真实的数据。50.软件测试的含义软件测试是指利用人工或自动的方法执行和评价各个模块的过程。其目的在于验证模块是否满足规定的要求,查看期望的结果与获得的结果之间有无差别,以便 最大限度地找出系统在实际运行中可能出现的错误和问题。51.软件的测试步骤单元测试 集成测试 确认测试 系统测试首先对每一个程序模块进行单元测试,消除程序模块内部在逻辑上和功能上的错误和缺陷。再对照软件设计进行集成测试,检测和排除子系统(或系统)结构上的错误。随后再对照需求,进行确认测试。最后从系统全体出发,运行系统,看是否满足要求。单元测试的方法由于被测试的模块往往不是独立的程序,它处于整个软件结构的某一层上,被其他模块调用或调用其他模块,其本身不能单独运行,因此在单元测试时,需要为被测试模块设计驱动模块和桩模块。驱动模块的作用是用来模拟被测模块的上级调用模块,功能比真正的上级模块简单,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接受被测试模块的测试结果并输出。桩模块用来代替被测试模块所调用的模块,其作用是返回被测试模块所需的信息。测试用例的2个组成部分输入数据和预期的输出数据软件测试的方法: 可以分为静态测试方法和动态测试方法软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是静态测试动态测试是指通过运行程序发现错误,一般意义上的测试大多是指动态测试。常用动态测试法:黑盒测试、白盒测试52.什么是白盒测试、黑盒测试?黑盒测试(又称行为测试)把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能需求。白盒测试(又称为结构测试)把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确地工作。53.什么是软件维护?是指软件系统交付使用以后,为了改正错误或满足新的需要而修改软件的过程 软件维护从内容上包含哪些主要工作:数据维护、硬件维护、软件维护。软件维护有改正性维护、适应性维护、完善性维护和预防性维护四类。在整个软件维护阶段所花费的全部工作中,完善性维护所占比例最大54.软件可维护性的定义软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。55.软件容错技术中冗余技术的4种类型结构冗余、信息冗余、时间冗余、冗余附加技术56.软件容错、冗余技术的定义及类型;容错就是当由于种种原因在系统中出现了数据、文件损坏或丢失时,系统能够自动将这些损坏或丢失的文件和数据恢复到发生事故以前的状态,使系统能够连续正常运行的一种技术。也即对某些无法避开的差错,使其影响减至最小的技术。实现容错技术的主要手段是冗余.冗余技术:冗余技术:冗余技术又称储备技术,它是利用系统的并联模型来提高系统可靠性的一种手段。冗余分为:工作冗余和后备冗余。工作冗余:是一种两个或以上的单元并行工作的并联模型。平时,由各处单元平均负担工作,因此工作能力有冗余。后备冗余:平时只需一个单元工作,另一个单元是冗余的,用于待机备用。57、软件维护可以分为哪四种类型?1)改正性维护这是指由于发现系统中的错误而引起的维护。工作内容包括诊断问题与修正错误。2)适应性维护这是指为了适应外界环境的变化而增加或修改系统部分功能的维护工作。例如,新的硬件系统问世,操作系统版本更新,应用范围扩大。为适应这些变化,应用型GIS需要进行维护。3)完善性维护这是指为了改善系统功能或应用户的需要而增加新的功能的维护工作。系统经过一个时期的运行之后,某些地方效率需要提高,或者使用的方便性还可以提高,或者需要增加某些安全措施等等。这类维护工作占维护工作的绝大部分。4)预防性维护这是主动性的预防措施。对一些使用寿命较长,目前尚能正常运行,但可能要发生变化的部分进行维护,以适应将来的修改或调整。58.影响维护工作量的因素主要有哪六种?系统的规模程序设计语言系统年龄数据库技术的应用先进的软件开发技术其它一些因素59.对软件可维护性影响的主要因素有哪些?各自的含义是什么?可理解性:指理解软件的结构、接口、功能和内部过程的难易程度。 可测试性:指测试和诊断软件(主要指程序)中错误的难易程度。可修改性:指修改软件(主要指程序)的难易程度。可移植性:指程序转移到一个新的计算环境的难易程度。可靠性:指软件正确执行的概率。60.提高可维护性的方法有哪些?确定质量管理目标和优先级使用提高软件质量的技术和工具保证软件质量审查方法 选择可维护性高的程序设计语言改进程序文档61.McCall提出了表明软件质量的11个质量特性。它们是正确性、可靠性、可使用性、完整性、可维护性、灵活性、可移植性、可复用性、效率、可测试性、互联性62.GIS标准化的基本原则是什么?(1)必须贯彻国家标准(2)积极采用国际标准(3)同其他领域标准化相协调一致63.软件工程标准的层次常用划分标准1 国际标准2 国家标准3 行业标准4 地方标准5 企业标准6 项目规范64.软件管理的具体内容包括对:开发人员、组织机构、户管理、配置管理、控制、文档资料软件开发在需求分析、设计、编码、测试这几个阶段所需不同层次的技术人员大致是:高级、中高级、初级、中高级65.软件度量方法分哪两类?(1)直接度量方法 包括产生的代码行数、执行速度、存储量大小和错误数等。 (2)间接度量方法 包括功能性、复杂性、可靠性、可维护性和其他的许多质量特性。66.软件的质量可以从哪几个方面进行度量?正确性可维护性完整性安全性可使用性67.软件成熟度:是指一个具体的软件过程被明确定义、管理、度量、控制和其实效的程度。68.成本估算:成本估算主要是对软件开发成本进行估算。对于一个大型的GIS项目,由于项目的复杂性,开发成本的估算不是一件简单的事,要进行一系列的估算处理。主要成本估算方法类比估算法(自顶向下的估算方法)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论