GIS软件工程第4章GIS软件工程的分析方法.ppt

上传人:夺命阿水 文档编号:241927 上传时间:2023-03-16 格式:PPT 页数:58 大小:5.39MB
返回 下载 相关 举报
GIS软件工程第4章GIS软件工程的分析方法.ppt_第1页
第1页 / 共58页
GIS软件工程第4章GIS软件工程的分析方法.ppt_第2页
第2页 / 共58页
GIS软件工程第4章GIS软件工程的分析方法.ppt_第3页
第3页 / 共58页
GIS软件工程第4章GIS软件工程的分析方法.ppt_第4页
第4页 / 共58页
GIS软件工程第4章GIS软件工程的分析方法.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《GIS软件工程第4章GIS软件工程的分析方法.ppt》由会员分享,可在线阅读,更多相关《GIS软件工程第4章GIS软件工程的分析方法.ppt(58页珍藏版)》请在课桌文档上搜索。

1、GIS软件工程,GIS Software Engineering(四),教材:毕硕本等.地理信息系统软件工程的原理与方法.科学出版社.2004.参考材料:(1)李存珠.软件工程概论传统方法学和面向对象软件工程.南京大学计算机科学与技术系.1999.(2)任一本软件工程书籍.,系统分析中使用结构化分析方法SA面向对象分析方法OOACoad分析方法OMT分析方法,第4章GIS软件工程的分析方法,第一节 结构化分析方法,软件工程产生后,首先出现一、概述1.结构化方法 根据某种原理,使用一定工具,按照特定步骤的软件开发方法 3部分组成:结构化分析(Structure Analysis,SA)结构化设计

2、(Structured Design,SD)结构化程序设计(Structured Programming,SP),2.发展历程结构化程序设计 1960s末,Dijkstra提出 3种控制结构:顺序选择重复结构化设计 1970s中期,L.L.Constantine,E.Yourdon提出 基于:数据流、功能分解、人工复审测试 结构化分析 1970s末,Demarco提出 分析的对象结构化的功能说明,3.基本思想及其特点指导思想 自顶向下,逐步求精基本原则 抽象、分解特点使用最早,使用时间最长应用最广,特别适合数据处理支持工具最多,较成熟,4.优点和存在问题优点简单、实用适合于瀑布模型,易掌握成功

3、率高特别适合于数据处理领域,其他领域亦适用存在问题不太适应规模大、特别复杂的项目软件重用困难难以适应需求的变化难以解决维护问题,二、结构化分析的方法1.自顶向下、逐层分解的分析策略2.描述工具数据流图数据字典结构化语言、判定表/树 描述数据流图中,不能再被分解的每个基本加工的处理逻辑,3.SA分析步骤建立当前/现行系统的物理模型抽象出当前/现行系统的逻辑模型建立目标系统的逻辑模型作进一步的补充和优化 人机界面,出错处理,I/O格式,存储容量,响应时间等,第二节 面向对象基础,一、面向对象概念1.面向对象的基本思想 对象:研究的事物、概念2.面向对象的基本概念对象对象的状态/属性和行为/操作类类

4、的关系IS-A,HAS-A消息和方法消息对象之间的通信。调用对象的成员函数方法类中操作/成员函数的实现,3.面向对象的特征对象唯一性分类性继承性多态性4.面向对象的要素抽象封装性(信息隐蔽)共享性同一类中对象的共享该类的数据结构、行为特征同一应用中具有继承关系的类的共享不同应用中类库的共享软件重用强调对象结构而非程序结构,二、面向对象的方法1.面向对象方法的形成 1980s,随着OOP的成熟而形成2.面向对象的开发方法Booch方法 1983,Booch提出 基于:词法分析名词对象,动词方法Coad方法 1989,Coad和Yourdon提出 从大系统中总结、升华OMT方法 1991,Jame

5、s Rumbaugh提出 面向对象建模技术(Object Modeling Technique)将OO贯穿于软件生存周期的各阶段,第三节 Coad分析方法,基础:信息模型化技术OOP语言知识库系统组成:OOA面向对象分析OOD面向对象设计,一、概述1.系统需求的变动因素和稳定因素 分析2.思维组织模式 人类典型的思维过程:区分出现实世界特定的客体及其属性区分客体的整体和组成部分给出不同种类客体的表示3.面向对象分析方法的表示 对象,分类,继承性,基于消息的通信,4.OOA的任务任务:形式地说明所面对的应用问题对象,规则、约束明确地规定对象如何协作,完成指定功能OOA的结果OOA概念模型OOA概

6、念模型的组成:5个层次类与对象引进类和该类的对象属性服务结构主题类和对象的特定组合表示,5.OOA的步骤 5步:找到类和对象 从应用领域开始确定结构 IS-A结构,HAS-A结构定义主题 相关的类和对象的组合定义属性定义服务 确定对象状态,定义类的操作,二、Coad分析方法1.对象认定简单的认定方法 1983,Booch提出 基于:词法 名词候选对象 动词候选方法(服务)实例:字处理系统,注意:这里提到的对象OOP中的类 实例 实例、对象,复杂系统对象的认定5个问题:到什么地方去找候选对象寻找对象的范围:问题空间文本一切能得到的文字材料图能收集到的一切图:块结构图、接口图、系统构件图、数据流图

7、、控制流图找什么可能成为对象的东西:结构分类结构、组装结构其他系统外部系统、外界的“终结点”设备需交互的设备事件系统及时观察的、历史的扮演的角色各种人员在系统中的位置系统安装、运行的物理位置组织和单位系统涉及的人员所属的单位,考察候选对象的什么认定对象需要记忆系统是否有必要记忆对象的某些/全部成分?需要服务系统是否有必要对该对象的行为提供服务?多于一个属性只有一个属性的对象常应被看成其他对象的属性共有属性对于一种对象的所有实例,能否认定一组属性?共有服务对于一种对象的所有实例,能否认定一组加工?提出什么质疑记忆和服务的必要性必要则认定单个实例若拥有单个实例的对象与其他对象存在共有属性,则合并为

8、一个对象派生结果可通过计算机得出值的属性,不认定怎样命名认定的对象单数名词/形容词+名词词汇符合系统主题、标准可读的名字基于内容、内在本质、确切意义,2.结构的认定 结构多种对象的组织方式 反映问题空间中复杂事物和复杂关系2种结构:分类结构事物类别之间的组织关系组装结构事物的整体与成员之间的关系,问题:分类结构用C+中的什么关系表示/构造?组装结构,认定分类结构原则先从:一般 特殊 考虑 后从:特殊 一般 考虑从一般到特殊 先认定对象的一般含义,然后考虑其可能的特殊性:是否可用不同的属性和服务来描述?是否反映了现实世界中有意义的特殊性?是否在问题空间之内?令:共有属性、服务 一般含义的对象 扩

9、充的特殊属性、服务特殊含义的对象从特殊到一般 认定对象的某种特殊含义后,再从特殊向一般考虑:问题空间是否存在其他对象与该对象具有共有的属性/服务?若引入某种更一般的对象,是否反映了现实世界中有意义的一般性?若引入某种更一般的对象,则该对象是否存在于问题空间之中?,认定组装结构原则先从:整体 成员 考虑 后从:成员 整体 考虑从整体到成员 先认定对象是一个整体,然后考虑其可能的成员:组成成员是什么?对于它的一个成员,系统是否必要记录每个实例/值?对于它的一个成员,每个实例是否都有属性来描述?它的成员是否反映现实世界中存在的成员?它的成员是否限定在目标系统之内?挖掘事物的构成细节从成员到整体 假定

10、一个对象可能是另一种对象的成员,考虑:这种对象适合什么样的组装关系?还需要哪些对象与这种对象一起构成另一种对象?对于这样组装而成的对象,系统是否有必要记录其每一个实例?这样组装而成的对象,在现实世界中是否有意义?这样组装而成的对象,是否限定在目标系统之内?将某些事物纳入某种含义更广、可作为整体看待的事物之中聚集角度,3.认定主题主题关于OOA模型的抽象、概貌 起控制作用 名词/名词短语认定主题的方法:为每个主题,追加一个主题为每种对象,追加一个主题若当前主题数目超过7个,则对已有主题归并 归并原则2个主题对应的属性、服务存在密切联系主题之间的联系消息关联 主题单独的层次,各主题有序号,4.定义

11、属性 属性数据元素描述对象/结构的实例5步骤:认定属性 3原则:对相应对象/分类结构的每个实例,是否都适用?在现实世界中,它与这种事物的关系是否最密切?认定的属性应是一种相对的原子概念,不依赖于并列的其他属性就可理解确定属性的位置 确定属性与特定对象之间的从属关系,针对分类结构中的对象 继承观点,认定和定义实例关联 实例关联一个实例集合到另一个实例集合的映射 4种实例关联:类似于:ER图中的实体联系1:11:m0:10:m重新修改认定的对象对属性和实例关联进行说明 说明属性的 名字、描述、约束、范畴 属性的类型:定义型标识、命名各个实例派生型由其他属性的数据计算得到参考型与另一个实例的属性值关

12、联,5.定义服务服务接收到一条消息后,所要进行的加工认定基础服务 3类:存在服务最一般的服务计算服务一个实例需要另一个实例加工的结果时,所需的服务。监控服务模型中某些部件需要快速适时处理时,所需服务。认定辅助服务对象生存史定义基础服务的顺序状态-事件-响应定义状态的主要状态,外部事件及其响应,扩充服务,消息关联认定消息关联 消息关联事件-响应和数据流的一种结合 表示一种要发出的消息 和 收到该消息后作出的一个响应 实例关联之间的一种映射对服务进行说明 主要说明外部可观察到的行为,6.对象的规格说明 以对象为单位的系统规格说明的模板:specification(对象名)描述型属性()定义型属性(

13、)派生型属性()外部型属性()外部系统输出()实例关联()状态事件响应表()对象生存史图()服务()服务()End specification,7.应用实例“传感器”控制系统问题陈述传感器控制系统 分析模型,第四节 OMT分析方法,一、OMT方法的发展 1991,美国,通用电器公司提出 通过构造一组模型认识问题对象模型(Object Model)系统中静态的、结构方面的特性动态模型(Dynamic Model)系统对象之间的时间的、行为的、控制方面的特性功能模型(Functional Model)值-值之间的函数关系OMT分析软件3方面:数据结构对象模型按时间顺序的操作动态模型改变的值功能模型

14、,三、OMT方法的分析过程,二、三种模型介绍1.对象模型对象模型的作用 事件将发生在什么上面 描述系统中对象的结构 对象的标识,与其他对象的关系,属性,操作对象模型的表示 对象关系图对象图2种对象图:类图实例图类的对象模型符号,对象的结构信息,关系 类之间的联系多元性 一个类的多少个实例,可能与相关类的一个实例有关多元性的符号表示,OMT对象模型中类的3种基本关系相关关系 什么方面相关 关系,包容关系 部分-整体 关系,继承关系,抽象类,具体类子类,OMT建立对象模型的步骤:确定对象类定义数据词典 类,属性,关系的描述增加类之间的关系增加对象、联系的属性用继承 组织、简化对象类用场景测试访问路

15、径 如需要,则重复上述5步基于:相近关系、相关功能,将成组的对象组成模块对象模型的2部分:对象模型图数据词典,2.动态模型 与时间有关的模型动态模型的作用 事件将什么时间发生 描述系统中与时间有关的方面 操作执行的顺序 包括:引起变化的事件事件的序列定义事件序列上下文的状态事件和状态的主次主要概念事件一个对象给另一个对象的单个消息状态对象所拥有的属性值和连接关系场景一个特定过程中发生的一系列事件,抓住了“控制流”特性,即系统中的各个操作发生的顺序,而对这些操作到底做什么,作用在什么上面,以及如何实现都不必关心,对象的控制信息,事件跟踪图表示一系列事件和交换事件的对象,垂直线每个对象,水平箭头一

16、个事件对应对象模型中的操作从发送对象指向接收对象,打电话者,接电话者,状态图表示一个类的事件、状态、状态转移方式 不同的状态图,通过共享的事件组成动态模型,状态结点,事件,箭头线状态转移,活动代表事件完成的一个操作,与状态相关 对应功能模型中的功能行为一个瞬时操作,与事件相关,活动的关键字do:,转移上行为的关键字/,建立动态模型的步骤:准备带交互序列的场景确定对象之间的事件,为每个场景,准备一个事件跟踪图为每个系统,准备一个事件流图为每个具有重要动态行为的类,准备一个状态图检验状态图之间共享事件的一致性、完备性,3.功能模型功能模型的作用 事件将发生什么表示怎样从输入值得到输出值,包括:函数

17、、映射、约束和功能性依赖描述系统做什么,而对如何做和何时做不感兴趣功能模型的组成多个数据流图数据流图组成:转换数据的过程通过对象的操作实现移动数据的数据流生产和消费数据的角色对象被动存储数据的数据存储对象,对对象的操作,建立功能模型的步骤:确定输入、输出值用数据流图表示功能的依赖性描述每个功能做什么确定限制指定优化原则,4、三个模型之间的关系 待解决问题的3个方面对象模型数据结构动态模型、功能模型的 操作动态模型中的事件 功能模型中的函数动态模型对象的控制结构功能模型对象模型中操作、动态模型中动作激发的函数,三、OMT方法的分析过程OMT组成的3个阶段/方面:分析系统设计对象设计分析阶段关心的

18、问题 对要操作的应用和 领域的理解和模型化分析阶段的输入 问题陈述,可以来回多次分析阶段的输出 3个形式化模型:对象模型静态结构对象-对象 之间的关系动态模型交互顺序动态的控制结构功能模型数据转换根据约束的数据,函数性转换,第五节 面向对象的开发过程,根据:生存期 组织管理开发一、应用生存期瀑布模型面向过程项目的 标准生存期模型螺旋模型喷泉模型传统生存期模型需改进,二、类生存期 OO强调 软件重用 软件部件 软件局部的 设计、实现重用单元 类类生存期,开始,类的定义 给出类的实例的 操作、数据表示类的公有界面 类的职责公有成员函数定义手段 类的规格说明 定义:施加于对象存储的数据上的一组操作

19、不需:操作实现(编码),问题:类有那些访问权限的成员函数?,类的设计与实现既存类的重用 从:资源库从既存类进行演化 渐进式演化 派生:新增、保留、重定义渐进式设计渐进式实现渐进式测试从废弃型进行开发设计 数据存储,私有函数实现 变量、操作界面 支持界面操作的函数测试单个类求精和维护定义、实现分离,开始,三、应用开发过程6个步骤:(1)分析阶段2个步骤:论域分析 开发:问题论域的模型应用/系统分析 细化:论域分析阶段得到的信息 集中:当前要解决的问题,(2)高层设计 纯OO环境中,系统设计 与 类设计 同一过程 一般:分开便于分阶段工作 设计应用的顶层视图,表示各个类的要求 类的界面表示:系统(

20、3)类的开发 给出各个类的实现(4)实例的建立(5)组装测试 所有类组装成系统,测试(6)维护定位故障,类中增加新行为。分离类的实现 与 规格说明,四、系统体系结构 通过:成分对象 和 对象之间的关系 实现,第六节 面向对象的分析过程,一、概述面向对象分析过程的组成论域分析问题/应用领域应用分析目标系统面向对象分析产生的分析文档更加深入地描述:问题论域清晰、精确的定义传统的过程性分析文档面向:功能 系统一组服务OO的分析文档论域的概念的高层抽象 问题一组相互作用的实体,二、论域分析论域分析的作用 给出:论域知识抽象的高层表示问题领域 常超出:当前应用的范围,比当前目标系统更广泛论域分析的边界

21、可模糊,越广泛越好论域分析的目的标识基本概念每个概念的完全信息识别论域特征将基本概念集成到论域的模型中概念之间的关系,1、语义数据模型(Semantic Data Models)语义模型的起源 关系数据模型,实体-联系模型(E-R)的扩展 表达:(1)问题论域的内涵(2)复杂对象(3)对象之间的关系语义模型与OO分析的映射关系,语义模型的3层模型(1)外部模型层 用户对问题的理解 反映:应用的外部现实世界的视图(2)概念模型层 系统的用户来识别,理解 反映:外部模型层标识的实体之间的关系交互关系 关系的重要属性实例连接 关系中一个实体的实例,对应于,该关系中其他实体实例的数目(3)内部模型层

22、实体的物理模型类设计 物理模型的2种属性:数据实体的状态服务实体的行为 2种服务:公有,私有,2、在语义数据模型中的关系常用:(1)一般化(Generalization)一组概念的共同元素 低层抽象是高层抽象的特殊化 高层抽象是低层抽象的一般化(2)聚合(Aggregation)一组实体的几个小的、简单的元素,组合成一个类(3)关联(Relationship)一个抽象,作为,其他抽象的容器 一个群集相互关联的实体群,每个实体独立地用在系统的不同地方3、标识对象和类 应用级别的对象,而非实现级别的,4、标识对象的方法 5种对象:(1)物理对象问题论域的实体,在陈述中直接寻找。如:学生(2)角色一

23、个实体的角色,一个类可同时扮演多个角色,该类是多重继承的。如:在职研究生具有:在职者角色、研究生角色 双重身份(3)事件表示:某些活动的出现,常为数据实体存储数据。如:航班事件保存:航班号、始发地、目的地、飞机型号 等信息(4)交互连接实体将一个类的特定实例,关联到另一个类的特定实例。如:学生-课程多个学生 选修 多门课程(5)规格说明对某些实体的需求,将多个简单对象合并成较复杂的对象。如:颜色对象红、绿、蓝 3个对象合并而成,5、标识关系 标识 问题论域中实体之间的交互关系 2种方式:(1)消息连接 标识 2个对象 之间的通信关系。如:学生-课程选课消息(2)交互对象实例连接 不依赖于2个对象的任何一方,而是通过单独的交互对象,进行连接,二、应用分析 针对目标系统应用分析的基础 问题论域模型 利用用户对目标系统的需求,限制论域模型,缩减论域模型的信息量 使用:程序设计语言 表示一个论域模型 可对应 多个应用系统应用分析的重点应用视图目标系统的视图类视图细化:每个类的 规格说明、操作,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号