1、GIS二次开发期末复习题修改 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#GIS二次开发期末复习题修改一选择题1封装是指把对象的(A)结合在一起,组成一个独立的对象。A 属性和操作 B 信息流 C 信息和事件 D 数据的集合2封装是一种(C)技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。 A 工程化 B 系统维护 C 信息隐蔽 D 生产对象 3面向对象方法中的(D)机制使子类可以自动地拥有(复制)父类全部属性和操作 A 约束 B 对象映射 C 信息隐蔽 D 继承 4使得在多个类中能够定义同一个操作或属性名,冰镇每一个类中有不同的实现的一种
2、方法是(B) A 继承 B 多态性 C 约束 D 接口5UML的软件以(A)为中心,以系统体系结构为主线,采用循环迭代渐增的方式进行开发 A 用例 B 对象 C 类 D 程序 6UML的(B)模型图是由类图、对象图、包图、构件图和配置图组成 。 A 用例 B 静态 C 动态 D 系统 7UML的(C)模型图由活动图、顺序图、状态图和合作图组成. A 用例 B 静态 C 动态 D 系统8UML的最终产物就是最后提交的可执行的软件系统和(D) A 用户手册 B 类图 C 动态图 D 响应的软件文档资料9在UML的需求分析建模中,(B)模型图必须与用户反复交流并加以确认。A 配置 B 用例 C 包
3、D 动态10可行性研究分析包括经济可行性分、析技术可行性分析和(B)。 A 风险可行性分析 B 法律可行性分析 C 资源可行性分析 D 效益可行性分析 11UML的客户需求分析模型包括(A)模型、类图、对象图和活动图组成。 A 用例 B 静态 C 动态 D 系统12UML客户需求分析使用的CRC卡上“责任”一栏的内容主要描述类的(C)和操作。 A 对象成员 B 关联对象 C 属性 D 私有成员13UML客户需求分析产生的用例模型描述了系统的(D)。 A 状态 B 体系结构 C 静态结构 D 功能要求14在UML的需求分析建模中,用例模型必须与(B)反复交流并加以确认。 A 软件生产商 B 用户
4、 C 软件开发人员 D 问题领域专家 15在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(A) A 活动图 B 状态图 C 配置图 D 构件图 16活动图中的分劈和同步接合图符是用来描述(A) A 多进程的并发处理行为 B 对象的时序 C 类的关系 D 系统体系结构框架 17UML的系统分析进一步要确立的三个系统模型是(B)、对象动态模型和系统功能模型。 A 数据模型B 对象静态模型 C 对象关系模型 D 体系结构模型18类和对象都由属性,它们的差别是:类描述了属性的类型,而对象的属性必须由(C) A 正负号B 动作C 具体值D 私有成员19UML系统分析阶段产生的包图描述了系
5、统的(B)A状态B 系统体系层次结构C 静态模型D 功能要求20“对象容器”设计模式对有限的对象进行管理,它不能(B)。A查找对象B 修改对象C 创建对象D 删除对象21UML系统设计的一般步骤包括系统对象设计,系统体系结构设计和系统设计的(C)和审查等。 A 建模 B 完善 C 优化 D迭代22顺序图和合作图主要用于对用例图中(C)的建模,用它们来描述用例图的行为。A 数据流 B 控制流 C 消息流 D 数据字典 23数据图的模型元素有(A),消息,链接等,这些模型元素表示某个用例中的若干个对象和对象之间所传递的消息,来对系统的行为建模。A 对象 B 箭线 C 活动 D 状态 24顺序图描述
6、(D)对象之间消息的传递顺序。A 某个 B 单个 C 一个类产生的 D 一组 25顺序图和合作图建立了UML面向对象过程中的对象动态(A)模型。 A 交互 B 状态 C 体系结构 D 软件复用26状态图可以表现(B)在生存期的行为,所经历的状态序列,引起状态转移的事件以及因状态转移二引起的动作。A 一组对象 B 一个对象 C 多个执行者 D 几个子系统27状态图描述一个对象在不同(A)的驱动下发生的状态迁移。 A 事件 B 对象 C 执行者 D 数据28一个(D)迁移图符可以有多个源状态或目标状态,它们可以把一个控制分解为并行运行的并发线程,或将多个并发线程结合成单个线程。A 状态 B 对象
7、C 活动 D 同步并发29活动图中动作状态之间的迁移不是靠(B)触发的,当活动状态中的活动完成是迁移就被触发。 A 对象 B 事件 C 执行者 D 系统30状态图和活动图建立了UML 面向对象开发过程中的对象动态(B)模型。 A 交互 B 状态 C 体系结构 D 软件复用31UML可以描述硬件之间的互联关系,也能描述硬件单元上的(B)系统的分布A 对象 B 软件 C 系统体系结构 D数据 32(B)是对系统的用例、类、对象、结构以及相互间的交互和协作进行描述A 系统体系结构 B软件(逻辑)体系结构 C硬件(物理)体系结构 D系统框架33(D)硬件系统体系结构要对系统的构件、结点的配置进行描述。
8、A软件(逻辑)体系结构B系统体系结构C系统框架D硬件(物理)体系结构34(A)是软件系统体系结构中定义的概念和功能在物理体系结构中的实现。A构件 B结点 C软件 D模块35(C)由结点和结点之间的联系组成,描述了处理器、设备和软件构件欲行时的体系结构。A构件图 B状态图 C配置图 D顺序图36(D)的基本元素有结点、构件、对象、连接、依赖等。A构件图 B状态图 C顺序图 D配置图二填空题1软件生存周期由(软件定义)、(软件开发)和(软件使用、维护和更新)三部分组成。 2软件开发模型有(瀑布模型)、(渐增模型)、(演化模型)、(螺旋模型)和(智能模型)等5种主要模型。3面向对象技术采用以类为中心
9、的(封装)、(继承)、(多态)等不仅支持软件复用,而且使软件维护共作可靠有效,可实现系统的柔性制造4UML的优点是(唯一性)、(连续性)、(维护性)、(复用性)和(逐步完善)。5UML分析和设计模型由三类模型图表示。三类模型图是:(用例)模型图、(构件)模型图和(配置)模型图。 6UML开发过程是一种二维结构软件开发过程,软件项目开发过程流包括的核心工作内容是:(分析)、(设计)、(实现)、(测试)和(配置) 7UML中的五个不同的视图可以完整地描述出所建造的系统,这五种视图是(用例)视图、(逻辑)视图、(构件)视图、(进程)视图和(配置)视图。8UML软件开发过程需求分析阶段产生的模型由三类
10、模型图表示。它们是:(用例)模型图、(静态)模型图和(动态)模型图。9在用例图中以实线方框表示系统的范围和边界,在系统边界内描述的是(用例),在边界外描述的(执行者)。10用例模型中的执行者可以是(“人”执行者)也可以是(“外部”执行者)。 14.用例模型中的用例之间的关联有(使用)关联、(扩展)关联、(包含)关联和(继承)关联。11在UML软件开发过程系统分析阶段产生的对象模型由三种模型。它们分别是:对象的(静态)模型、对象的(动态)模型和对象的(系统功能处理)模型。12在UML的对象类图中,类之间的关系由(依赖)、(细化)、(关联)、(聚集)和(继承)5种13共享聚集的“部分”对象可以是任
11、意“整体”对象的一部分,表示食物的整体/部分挂席较弱的情况,“整体”端的重数应该是(n)。14组合聚集是指“整体”拥有它的“部分”,它具有强的物主身份,表示食物的整体/部分关系较强的情况。“部分”生存在“整体”中,不可分离,它们一“整体”一起存在或小王。“整体”的重数必须是(1)15在UML软件开发过程产生的对象动态模型中消息有四种类型,它们是(简单)消息,(同步)消息,(异步)消息和(返回)消息。16(顺序)图和(合作)图用来表达对象之间的交互,是描述一组对象如何合作完成某个行为的模型化工具。 17(被动对象)是一个必须由其他对象发来的消息进行出发才执行动作的对象。18交互图描述系统中对象见
12、的交互行为。每一个交互都有(发送者)和(接收者),它们可以是整个系统,一个子系统,一个用例,一个对象类或一个操作。19顺序状态表明状态之间的迁移是(串行)的,即一个接一个顺序迁移。 20状态图还可以符合迁移的(同步并发)迁移图符来表示并发子状态。 21状态图中的进程是一个(动作流),能够与其他进程并发执行。 22在活动图中,(虚箭线)也称为对象流,对象流表示动作状态或活动状态与对 象之间的关联。 23活动图既可以描述对象的动态行为,还可以用来描述(用例)。24活动图中活动状态的迁移(不是)由事件进行触发,一个活动执行完毕(自动)进入下一个活动状态。 25状态图和活动图描述系统中某个(系统对象)
13、的一系列状态变化.三名词解释1UML是统一建模语言(UML是 Unified Modeling Language的缩写),是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。2COM是组件式对象模型(Component Object Model)的英文缩写,是组件之间相互接口的规范,是OLE(Object Linking & Embedding)和ActiveX共同的基础,其作用是使各种软件构件和应用软件能够用一种统一的标准方式进行交互。 3组件是一个可重用且接口符合特定标准的模块(Module),它是由一组处理过程、数据封装
14、和用户接口组成的业务对象。4GIS组件:遵循COM接口,具有GIS空间信息处理功能,用于进行二次开发的二进制模块。这种特定的组件称为GIS组件。5类是一组具有相同属性和相同操作的对象的集合,是对象的抽象,它抽象地描述了属于该类的全部对象的属性和操作。6封装是把对象的属性和方法组装成一个独立的单元,并尽可能隐蔽对象的内部细节。封装是面向对象编程中的一个重要原则是。它有两个含义:一是把对象的全部属性和方法结合在一起,形成一个不可分割的独立单元。二是尽可能隐蔽对象的内部细节,对外形成一个边界。7继承性继承是指子类可以自动拥有其父类的全部属性与操作,即一个类可以定义为另一个更一般的类的特殊情况。8消息
15、:通常由消息名、接收消息的对象标示名、调用操作名、输入信息、输出信息等组成。9多态性:是指同一个消息被不同的对象接收时,可产生不同的动作或执行结果。10用例模型是表达系统外部事物(执行者)与系统之间交互的可视化工具。11执行者是指在系统外部与系统交互的人或其他系统,他以某种方式参与系统内用例的执行。12用例:是系统所提供的一个功能(或者系统提供的某一特定用法)的描述。用例捕获某些用户可见的需求,实现一个具体的用户目标。13对象(Object):是面向对象的基本单位。是一个拥有属性、行为和标识符的实体。对象是类的实例,对象的属性和行为在类的定义中定义。14属性(Attribute)描述对象的特征
16、,在具体环境中属性有其确切的对应值。15方法(Method)作为类的一部分进行定义,可以用来改变对象的属性,或用来接收来自其他对象的信息以及向其它对象发送信息。16面向对象(Object Orientation)是一种软件开发方法,它包括利用对象进行抽象和封装的类、通过消息进行的通信、对象的生命周期、类层次结构和多态技术等。17抽象类(Abstract Class):不能用于创建对象,但可以用来指定子类。(通过类型继承)。 特点:不可创建,不可实例化;把一些类共同的属性和方法提取出来,用其它类来继承。18组件类(CoClass):可以直接创建对象,用New关键字创建对象或者从别的对象获得运行实
17、例。特点:可创建的;实例化。19投影坐标系统(Projection coordinate system)它是将三维地理坐标系统上的经纬网投影到二维平面地图上使用的坐标系统。20地理坐标系统(Geographic Coordinate System),它可以称为真实世界坐标系,是确定地物在地球上位置的坐标系,以经纬度为地图的存储单位。 21原型法开发人员在初步了解用户需求的基础上构造一个应用系统模型,即原型,用户和开发人员在此基础上共同反复探讨和完善原型,直到用户满意为止。原型法开发信息系统包括以下几个阶段:(1)确定用户的基本需求(2)开发初始原型(3)利用原型来提炼用户需求(4)修正和改进原
18、型22生命周期法:就是要求将信息系统的开发工作,从开始到结束划分为若干个阶段,并预先规定好每个阶段的任务,再按一定的准则来按部就班地逐一完成。23包图:对于一个复杂的大系统,对象类模型包含多个类图。为了完整清晰的描述对象类模型,常用包图来描述一个系统。24ArcEngine框架控件 ArcEngine组件对象模型中,ToolbarControl和TOCControl和MapControl称为框架控件,其中ToolbarControl和TOCControl被设计成和其它控件(MapControl等)协同工作,它起到构建GIS应用程序框架的作用。四简答题1简要说明组件式GIS开发的基本原理。组件式
19、软件技术是当今软件技术的潮流之一,即过去厂家提供了全部系统或者二次开发功能的软件,过渡到提供组件由用户自己再开发的方向上来。应用系统开发:如同将一堆各式各样的积木,根据需要把实现各种功能的“积木”搭建起来。组件式GIS开发,是GIS产业顺应组件式软件开发技术的产物,它的基本思想是把GIS的各大功能模块划分为若干组件(或控件),每个组件完成不同的功能。用户利用这些GIS组件可以GIS应用系统。2举例说明使用Geoprocesser托管调用ArcToolbox工具进行空间分析的方法。ArcGIS 支持通过代码完成既有工具箱中工具的调用,步骤如下:(1)构建一个Geoprocessor的类对象,由它
20、来执行Geoprocessing的工具;(2)构建一个Geoprocessing工具的类对象;(3)填写一些参数,参数分in和out,Required和Optional(4)调用GP的Execute方法执行即可。例如:用ArcToolBox的工具的DataMangementTools-Fields-AddField,给一个shp文件加个字段。AE中GP程序的写法:GeoprocessorGP=newGeoprocessor();AddFieldaddfield=newAddField();=”D:”;=“aaabbbbb”;=“LONG”;(addfield,null);3什么是结构化生命周期
21、法有哪些优缺点。将软件工程按其生命周期分成若干阶段,每个阶段有相对独立的任务,每个阶段与结束都规定了严格的质量标准。从而达到软件工程全过程的目的。优点:1)从系统整体出发,强调在整体优化的条件下“自上而下”地分析和设计,保证了系统的整体性和目标的一致性; 2)严格区分系统开发的阶段性;每一阶段的工作成果是下一阶段的依据,便于系统开发的管理和控制,以及技术文档的规范化。 缺点:1)要求在开发初期锁定功能要求。对用户素质或系统分析员和管理者之间的沟通能力有较高的要求;4软件危机的主要体现以及GIS系统开发注意问题。阶段主要内容开发软件对软件开发成本和进度的估计不准确软件质量不高用户接受度不高软件产
22、品开发效率低相关的技术档资料不完备维护软件软件可维护性、重用性和可扩展性不高数据不能得到及时的更新系统需求变更所要求的系统升级不能得到实施网络安全维护得不到贯彻执行5举例说明使用C#结合ArcGIS Engine构建地图应用程序。(1) 新建一个Windows窗体应用程序(文件-新建-项目-Windows窗体应用程序)(2) 在点了确定之后,在VS2010的工具箱中找到和ArcGIS Engine相关的控件(3) 然后添加Toc,Map,Toolbar控件。许可控件是首选的,否则无法使用(4) 添加地图文档(Map控件-右键-属性)(5) Toolbar控件和Toc控件与Map控件的关联(6)
23、 在Toolbar中进行设置(Toolbar控件-右键-属性-Item选项),添加工具命令(8)运行应用程序会出现错误,然后在Main函数中6简要说明AE与AO联系与区别。联系:ArcEngine包括核心AO(ArcObject)的功能,是对AO中的大部分接口、类等进行封装所构成的嵌入式组件。AE中的组件接口、方法、属性与AO是相同的区别:开发环境:AO必须依赖ArcGISDesktop桌面平台,即购买安装了ArcGISDesktop的同时,安装AO,才能利用其进行开发;AE是独立的嵌入式组件,不依赖ArcGISDesktop桌面平台,直接安装AE Runtime和Developer Kit
24、后,即可利用其在不同开发语言环境下开发功能:AO的功能更强大,AE的功能相对弱些,AE不具备AO的少部分功能。五绘图题1. 绘图说明GIS数据流程图的基本元素基本成分名称备注对数据的加工(处理)输入数据在此进行变换产生输出数据,要注明加工的名字数据源或宿数据输入的源点或数据输出的汇点,要注明源点和汇点的名字数据流被加工的数据与流向,应给出数据流名字,可用名词或动词性短语命名数据存储需用名名词或名词性短语命名2. 绘图说明GIS需求分析用例图的基本元素基本成分名称备注参与者参与者不是特指人,是指系统以外的,在使用系统或与系统交互中所扮演的角色。因此参与者可以是人,可以是事物,也可以是时间或其他系
25、统等等。用例用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者的价值的可观察结果数据流箭头用来表示参与者和系统通过相互发送信号或消息进行交互的关联关系包系统边界系统包含的功能与系统不包含的功能之间的界限六论述题1试述GIS系统设计三种方法并对其进行比较设计方法特性结构化生命周期法原型法面向对象开发方法开发思想划分六个阶段,并规定它们自上而下,相互衔接的固定次序借助原型(它反映了最终系统的部分重要特性)来辅助软件开发将客观世界看成相互联系的事物(即对象)组成,以对象为单元进行设计开发开发过程线性、固定次序简单到复杂、部分到全面线性、迭代性和无间隙性开发模式整体开发模
26、式。下一阶段开始前完成上一阶段所有细节非整体开发模式。推迟某些阶段的细节工作,从而较早产生工作软件非整体开发模式,分析阶段由底向上提取对象,实现阶段自顶向下建立对象驱动机制文档驱动需求的可变性和模糊性对象作为驱动可见性开发过程系统不可见通过试用原型进行沟通开发过程系统不可见优点是一种较为成熟和完善的管理模式,整体性好具有一定灵活性和可修改性;增进了开发人员和用户对系统需求的理解 与人类思维方法一致,便于描述客观世界;开发的软件性能稳定、易于重用和维护缺点缺乏灵活性;难修改和维护;模块重用性差;开发周期长整体性差;由于不断对原型进行修改完善,工作的重复率高,工作量大对象和实体设计存在盲目性;对象
27、间的消息传递不能完整体现系统总体功能;系统结构性较差适用性功能和性能明确完整、无重大变化的软件开发需求不明确,设计方案有一定风险的中小型软件开发数据结构复杂、事物联系密切的软件开发2试述GIS常用的开发模式优缺点、适用范围。(1) 独立开发模式:也称底层开发,指不依赖于任何GIS工具软件,从空间数掘的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用一种程序设计语言(如C+、Java等),在一定的操作平台上编程实现。 优点:无须依赖任何商业GIS工具软件,可以在某些情况下减少开发成本,功能上不受限制。 缺点:开发难度较高,延长开发周期,往往因受时间和财力的限制,使其在
28、功能上很难与商业化的GIS工具软件相比。适用范围:一般的应用型GIS很少采用这种开发方式,它主要存在于GIS发展初期(很多大型的工具型GIS都是由原来的应用型GIS发展来的,例如国内的MapGIS)。但在一些特殊部门(如:军事、研究单位等),由于安全机密性和特殊的功能需要,独立开发方式被广泛地采用。 (2) 宿主型开发模式:也称单纯/扩展式二次开发,指完全借助于GIS平台软件提供的开发语言进行应用系统开发,开发出自己的针对不同应用领域的应用程序。 优点:省时省心,可以快速达到使用者的目的,不需要使用者具有专业的GIS二次开发能力,也大大缩短了开发周期、减少精力与财力的投入。 缺点:VBA,作为
29、编程语言功能相对很弱,用来开发应用程序无论从界面到功能上都仍然不尽如人意。 适用范围:一般的应用型GIS也很少采用这种开发方式,它主要应用于简单的功能扩展。当用户购买GIS软件后,如发现某些功能不能完全满足自己的需要,可以利用该GIS软件提供的宏语言来扩展功能。 (3) 集成二次开发模式:指将GIS平台软件提供的动态链接库(DLL)或组件与通用软件开发工具(如Visual Studio .NET、Eclipse、Visual C+、Visual Basic、C#、Java等)进行集成,开发满足特定需求的应用GIS系统。优点:不但可以简化开发难度,节约开发成本,也基本克服了功能实现单一的弊端。
30、缺点:一定程度上还是局限于所选用的GIS二次开发平台,购买GIS二次开发平台也要花费较大的费用。所以需要合理选取GIS二次开发平台及其提供的功能模块。适用范围:这种应用型GIS开发方式被广泛的应用到各行业,已成为GIS应用系统开发的主流方式。3试述为什么面向对象方法比传统方法在稳定性方面要好。传统的软件开发以算法为核心,开发过程基于功能分析和功能分解用传统方法所建立起来的软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改。事实上,用户需求变化大部分是针对功能的,因此这样的软件系统是不稳定的。面向对象方法基于构造问题领域的对象模型,以对象为中心构造软件系统。它的基本作法是用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。当对系统的功能需求变化时并不会引起软件结构的整体变化,仅仅只需要作一些局部性的修改。总之,由于现实世界中的实体是相对稳定的,因此,对象为中心构造的软件系统也是比较稳定的。4试述结构化方法的组成,并说明各组成部分的基本任务、功能及描述方式。结构化方法由SA 法(Structured Analysis),SD 法(StructuredDesign)和SP 法(Structured Program)组成。SA,SD,SP 法相互衔接,形成了一整套开发方法。若将SA、SD 法结
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1