3.3国际地理信息标准体系3.3.1ISO/TC211的标准体系1、地理信息标准框架模型涉及:地理数据的定义、采集、分析、访问、表达和传输,地理信息的管理方法、工具、地理信息服务五大主题框架和参考模型的主要内容涉及全部地理信息标准的基本内容地理信息服务定义编码格式和基于地图学的可视化表达方法数据管理部分涉及数据质量原理、评价和度量的描述数据模型和算子主要是关于地球基本形状及地理要素和空间特征的模型化专用标准2、地理信息概念建模方法和原则概念模型现实世界的抽象描述。任何科学理论中有它的研究对象,这些对象构成一个不空的集合,称为论域。论域中的元素,即所谓的研究对象,称为个体,一个理论还要研究个体之间的关系以及作用于个体的函数。ISO19000概念模式建立的原则(1)论域中所有相关结构和行为规则都要在概念模式中描述;(2)概念模式只包括与论域有关的结构和行为;(3)概念模式中的所有陈述必须按UML的语义和语法规则作为标准的组成部分进行阐述和解释;(4)概念模式中信息应使用一套形式定义的概念模式语言的语法规则来表达;(5)国际标准中定义的规范性结构应有自描述功能。3、地理信息标准的概念参考模型(1)域参考模型确定在ISO191000系列标准中用于计算目的的地理信息表达、组织、存储、交换分析的主要概念,包括高抽象层次的域参考模型、应用模式、空间对象、参考系、数据质量、元数据和通用要素。3.3.2OGC的标准体系抽象规范和执行规范1、抽象规范编写抽象规范的目的是为了建立一个概念模型,并证明该模型可以用来创建实现规范。包括基本模型和抽象模型两类。SFSSimpleFeaturesInterfaceStandard详见OGC标准介绍3.4我国地理信息标准体系3.4.1国家技术标准体系1、建设新型的国家技术标准体系的必要性2、新型国家技术标准体系的总体架构、建设思路和主要内容3、国家技术标准基本体系存在的问题及其原因4、新型国家技术标准体系的建设指导思想、总体目标、基本原则、主要任务、构成要素、主要内容、3.4.2我国地理信息标准体系研究国家测绘地理信息局制定的测绘地理信息国家标准1、研究进程2、制定地理信息标准体系的意义和作用3、制定地理信息标准体系的目标4、制定地理信息标准体系的主要依据5、地理信息标准体系的编制原则6、地理信息标准体系的编制过程7、地理信息标准体系结构和内容⑴我国自20世纪70年代以来,计算机辅助技术有了初步发展,数字化地理信息有了一定的积累,逐步认识到地理信息共享标准和立法研究的重要性。⑵1983年国家开始立项,正式开展我国地理信息规范标准和共享研究,于1984年出版了《蓝皮书》。⑶1986-1990年“资源与环境信息系统国家国家规范标准研究”列入国家“七五”科技攻关项目。⑷1991-1995年的“八五”期间,对城市地理信息系统标准化进行立项研究在这期间,地理信息标准化工作取得的进步和成绩主要反映在:⑴对标准化的认识有了很大的进步。⑵制定了一批国家和部门的地理信息标准。⑶在国家、省(区)和城市三个层次上,研制了一组地理信息标准、规范和指南。⑷出版了一批引导地理信息标准化工作的国家级报告或专业书刊。⑸逐步开展了国际合作与竞争,注意吸取国际先进经验与教训,提高国家地理信息标准化水平。2.1.1建模的意义模型是对现实的简化,建模是为了更好地理解系统。模型帮助我们按照实际情况或需求对系统可视化;(掌握不了文字,画幅画代替)模型允许我们详细说明系统的结构、行为;模型给出了一个构造系统的模板;模型对我们作出的决策进行文档化。(先有文档,再有代码)2.1.2建模的原理选择创建什么模型对如何动手解决问题和如何形成解决方案有意义深远的影响。三只小猪盖房子摩天大厦每一种模型可以在不同的精度级别上表示。最好的模型可以让你根据观察的角色及原因选择它的详细程度。对每个系统最好用一组几乎独立的模型去处理。飞机模型2.1.3选择UML使用UML建立对象模型来映射现实世界UML实现业务域到计算机世界的完整、有序的映射2.1.3选择UMLUML--UnifiedModelingLanguageUnified组合了当前最好的面向对象软件建模方法GradyBooch,JamesRumbaugh,IvarJacobson,UML三位主要贡献者1.OMT(JamesRumbaugh)2.TheBoochmethod(GradyBooch)3.OOSE(IvarJacobson)2.1.3选择UMLModeling用于表达现实的简化视图,以便于面向对象软件系统的设计与实现LanguageUML主要是遵循精确语法的图形语言(还包括规则约束扩展机制)2.1.3选择UMLUML目标:提供全面的建模语言(为所有事情所有人),便于开发组所有成员交流与通信。2.1.3选择UMLUnifiedModelingLanguage其它方法Booch'91OMT-1OOSEBooch'93OMT-2UnifiedMethod0.8UML0.9&0.91UML1.0UML1.1UML1.3UML1.4(使用非常多的一个版本)UML1.5UML2.0UML合作伙伴意见2.2UML的发展历史9596.6和96.1097.197.999.601.903.3最新OMGP67的特点统一的标准,已经被OMG接受为标准建模语言面向对象,支持面向对象开发可视化,表示能力强独立于开发过程,可以适用于不同软件过程概念明确,表示简洁,结构清晰,容易学习掌握理解UML的特点UML是一种语言遵循特定的规则允许创建各种模型并不告诉设计者需要创建哪些模型,自己不断总结探索并不提供开发过程,即:什么时候该创建什么图,这个模型怎么用,UML并不给出指导,由UnifiedProcess给出,UnifiedProcess不是本课程重点。软件工程三要素:方法(UML)、工具(rose)、过程(UnifiedProcess)UML是可视化语言UML是图形化语言图形便于交流(一幅图抵上千文字)理解UML的特点UML是用于构造系统或理解系统的语言UML既支持正向工程,又支持反向工程UML是文档化语言将所构造的系统用图形方式记录下来便于新程序员跟进开发产品新版本时很有用2.4UML的构成基本构造块规则公共机制2.4.1基本构造块事物(元素)thing模型中最具代表性成分的抽象关系relationship事物之间的联系图diagram相关事物的集合事物(Thing)P68结构事物(structuralthing)类(class)接口(interface)协作(collaboration)用例(usecase)主动类(activeclass)构件(component)节点(node)事物(Thing)行为事物(BehavioralThing)交互(interaction)状态机(statemachine)事物(Thing)分组事物(GroupThing)包(package)注释事物(Annotationalthing)注解(note)关系(relationship)关联(association)泛化(generalization)实现(realization)依赖(dependency)图(diagram)用例图(usecasediagram)顺序图(sequencediagram)协作图(collaborationdiagram)类图(classdiagram)对象图(objectdiagram)活动图(activitydiagram)状态图(statechartdiagram)构件图(componentdiagram)部署图(deploymentdiagram)用例图(usecasediagram)类图(classdiagram)顺序图(sequencediagram)协作图(collaborationdiagram)活动图(activitydiagram)描述多个对象状态的变化状态图(statechartdiagram)仅描述一个对象构件图(componentdiagram)部署图(deploymentdiagram)2.4.2通用机制规范说明(specification)元素语义的文本描述,用来描述细节,图则是可视化描述修饰(adornment)对标准的表示符号增加细节描述2.4.2通用机制通用划分(commondivision)类和对象接口和实现2.4.2通用机制扩展机制(extensibilitymechanism)版型(stereotype)根据已有的元素修订的新元素。2.4.2通用机制扩展机制(extensibilitymechanism)标记值(taggedvalue){}模型元素附加的命名信息,任何元素都可使用。有时候和注解起到相同作用。2.4.2通用机制扩展机制(extensibilitymechanism)约束(constraint){}语义文字描述的语义限制2.5UML的体系结构4+1视图模型逻辑视图(LogicalView)实现视图(ImplementationView)进程视图(ProcessView)部署视图(LogicalView)用例视图(UseCaseView)表示系统功能性需求表示系统的概念设计和子系统结构等说明代码的结构说明系统中并发执行和同步情况定义硬件结点的物理结构2.5UML的体系结构用例视图(UML是用例驱动的)描述系统的功能需求逻辑视图表示系统的概念设计和子系统结构进程视图(并发视图)系统中并发执行和同步的情况实现视图系统构件、代码的组成结构部署视图系统硬件节点的物理结构视图是UML中图的组合用户还可根据需要自己定义视图2.6UML的应用领域UML最常用的是进行软件系统建模企业信息系统银行金融服务电信、交通、零售基于Web的服务UML还可以描述非软件系统,如机构组成或工作流等UML可以应用于系统开发的各个阶段2.7支持UML的工具RationalRose(市场占用率较高)SybasePowerDesignerMicrosoftvisioBorlandTogether……2.8一个UML的例子importjava.awt.Graphics;classHelloWorldextendsjava.applet.Applet{publicvoidpaint(Graphicsg){g.drawString(“Hello,World!”,10,10);}}HelloWorld类图1类注释HelloWorld类图2继承关系依赖关系HelloWorld构件图