




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
GIS软件工程GISSoftwareEngineering(四)教材:毕硕本等.地理信息系统软件工程的原理与方法.科学出版社.2004.参考材料:(1)李存珠.软件工程概论——传统方法学和面向对象软件工程.南京大学计算机科学与技术系.1999.(2)任一本软件工程书籍.——系统分析中使用结构化分析方法SA面向对象分析方法OOACoad分析方法OMT分析方法第4章 GIS软件工程的分析方法第一节结构化分析方法软件工程产生后,首先出现一、概述1.结构化方法——根据某种原理,使用一定工具,按照特定步骤的软件开发方法3部分组成:结构化分析(StructureAnalysis,SA)结构化设计(StructuredDesign,SD)结构化程序设计(StructuredProgramming,SP)2.发展历程结构化程序设计——1960s末,Dijkstra提出3种控制结构:顺序选择重复结构化设计——1970s中期,L.L.Constantine,E.Yourdon提出基于:数据流、功能分解、人工复审测试
结构化分析——1970s末,Demarco提出分析的对象——结构化的功能说明3.基本思想及其特点指导思想——自顶向下,逐步求精基本原则——抽象、分解特点使用最早,使用时间最长应用最广,特别适合数据处理支持工具最多,较成熟4.优点和存在问题优点简单、实用适合于瀑布模型,易掌握成功率高特别适合于数据处理领域,其他领域亦适用存在问题不太适应规模大、特别复杂的项目软件重用困难难以适应需求的变化难以解决维护问题二、结构化分析的方法1.自顶向下、逐层分解的分析策略2.描述工具数据流图数据字典结构化语言、判定表/树——描述数据流图中,不能再被分解的每个基本加工的处理逻辑3.SA分析步骤建立当前/现行系统的物理模型抽象出当前/现行系统的逻辑模型建立目标系统的逻辑模型作进一步的补充和优化——人机界面,出错处理,I/O格式,存储容量,响应时间等第二节面向对象基础一、面向对象概念1.面向对象的基本思想——对象:研究的事物、概念2.面向对象的基本概念对象对象的状态/属性和行为/操作类类的关系——IS-A,HAS-A消息和方法消息——对象之间的通信。调用对象的成员函数方法——类中操作/成员函数的实现3.面面向向对象象的特特征对象唯唯一性性分类性性继承性性多态性性4.面面向向对象象的要要素抽象封装性性(信信息隐隐蔽))共享性性同一类类中对对象的的共享享———该类类的数数据结结构、、行为为特征征同一应应用中中具有有继承承关系系的类类的共共享不同应应用中中类库库的共共享———软软件重重用强调对象结结构而非程程序结结构二、面面向对对象的的方法法1.面面向向对象象方法法的形形成——1980s,随随着OOP的成成熟而而形成成2.面面向向对象象的开开发方方法Booch方法法——1983,,Booch提提出基于::词法法分析析———名词词→对对象,,动词词→方方法Coad方方法——1989,,Coad和Yourdon提出出从大系系统中中总结结、升升华OMT方法法——1991,,JamesRumbaugh提出出面向对对象建建模技技术(ObjectModelingTechnique))将OO贯穿穿于软软件生生存周周期的的各阶阶段第三节节Coad分析析方法法基础::信息模模型化化技术术OOP语言言知识库库系统统组成::OOA———面向向对象象分析析OOD———面向向对象象设计计一、概概述1.系系统统需求求的变变动因因素和和稳定定因素素——分分析2.思思维维组织织模式式———人人类类典典型型的的思思维维过过程程::区分分出出现现实实世世界界特特定定的的客客体体及及其其属属性性区分分客客体体的的整整体体和和组组成成部部分分给出出不不同同种种类类客客体体的的表表示示3.面面向向对对象象分分析析方方法法的的表表示示———对对象象,,分分类类,,继继承承性性,,基基于于消消息息的的通通信信4.OOA的的任任务务任务务:形式式地地说说明明所所面面对对的的应应用用问问题题————对对象象,,规规则则、、约约束束明确确地地规规定定对对象象如如何何协协作作,,完完成成指指定定功功能能OOA的的结结果果———OOA概概念念模模型型OOA概概念念模模型型的的组组成成:5个层层次类与对象象——引引进类和和该类的的对象属性服务结构主题———类和对对象的特特定组合合表示5.OOA的的步骤5步:找到类和和对象——从应应用领域域开始确定结构构——IS-A结结构,HAS-A结构构定义主题题——相关关的类和和对象的的组合定义属性性定义服务务——确定定对象状状态,定定义类的的操作二、Coad分分析方法法1.对对象认定定简单的认认定方法法——1983,,Booch提提出——基于于:词法法名词——候选选对象动词——候选选方法((服务))实例:字处理系系统注意:这里提到到的对象象——OOP中中的类实例———实实例、对对象复杂系统统对象的的认定5个问题题:到什么地地方去找找候选对对象——寻找找对象的的范围::问题空间间文本———一切能能得到的的文字材材料图——能能收集到到的一切切图:块块结构图图、接口口图、系系统构件件图、数数据流图图、控制制流图找什么——可能能成为对对象的东东西:结构———分类结结构、组组装结构构其他系统统——外外部系统统、外界界的“终终结点””设备———需交互互的设备备事件———系统及及时观察察的、历历史的扮演的角角色———各种人人员在系系统中的的位置——系统统安装、运行行的物理位置置组织和单位———系统涉及及的人员所属属的单位考察候选对象象的什么——认定对象象需要记忆———系统是否有有必要记忆对对象的某些/全部成分??需要服务———系统是否有有必要对该对对象的行为提提供服务?多于一个属性性——只有一一个属性的对对象常应被看看成其他对象象的属性共有属性———对于一种对对象的所有实实例,能否认认定一组属性性?共有服务———对于一种对对象的所有实实例,能否认认定一组加工工?提出什么质疑疑记忆和服务的的必要性———必要则认定定单个实例———若拥有单个个实例的对象象与其他对象象存在共有属属性,则合并并为一个对象象派生结果———可通过计算算机得出值的的属性,不认认定怎样命名认定定的对象单数名词/形容词+名词词汇符合系统统主题、标准准可读的名字———基于内容容、内在本质质、确切意义义2.结构的的认定结构——多种对象象的组织方式式——反映问题题空间中复杂杂事物和复杂杂关系2种结构:分类结构———事物类别之之间的组织关关系组装结构———事物的整体体与成员之间间的关系问题:分类结构———用C++中中的什么关系系表示/构造造?组装结构认定分类结构构原则——先从:一一般→特特殊考虑后从:特殊殊→一一般考虑虑从一般到特特殊先认定对象象的一般含含义,然后后考虑其可可能的特殊殊性:是否可用不不同的属性性和服务来来描述?是否反映了了现实世界界中有意义义的特殊性性?是否在问题题空间之内内?令:共有属属性、服务务——一一般含义义的对象扩充充的的特特殊殊属属性性、、服服务务————特特殊殊含含义义的的对对象象从特特殊殊到到一一般般认定定对对象象的的某某种种特特殊殊含含义义后后,,再再从从特特殊殊向向一一般般考考虑虑::问题题空空间间是是否否存存在在其其他他对对象象与与该该对对象象具具有有共共有有的的属属性性/服服务务??若引引入入某某种种更更一一般般的的对对象象,,是是否否反反映映了了现现实实世世界界中中有有意意义义的的一一般般性性??若引入入某种种更一一般的的对象象,则则该对对象是是否存存在于于问题题空间间之中中?认定组组装结结构原则——先先从::整体体→→成成员考考虑虑后从::成员员→→整整体考考虑虑从整体体到成成员先认定定对象象是一一个整整体,,然后后考虑虑其可可能的的成员员:组成成员员是什么么?对于它的的一个成成员,系系统是否否必要记记录每个个实例/值?对于它的的一个成成员,每每个实例例是否都都有属性性来描述述?它的成员员是否反反映现实实世界中中存在的的成员??它的成员员是否限限定在目目标系统统之内??挖掘事物物的构成成细节从成员到到整体假定一个个对象可可能是另另一种对对象的成成员,考考虑:这种对象象适合什什么样的的组装关关系?还需要哪哪些对象象与这种种对象一一起构成成另一种种对象??对于这样样组装而而成的对对象,系系统是否否有必要要记录其其每一个个实例??这样组装装而成的的对象,,在现实实世界中中是否有有意义??这样组装装而成的的对象,,是否限限定在目目标系统统之内??将某些事事物纳入入某种含含义更广广、可作作为整体体看待的的事物之之中———聚集角角度3.认认定主题题主题——关于于OOA模型的的抽象、、概貌起控制作作用名词/名词词短语认定主题题的方法法:为每个主主题,追追加一个个主题为每种对对象,追追加一个个主题若当前主主题数目目超过7个,则则对已有有主题归归并归并原则则——2个个主题对对应的属属性、服服务存在在密切联联系主题之间间的联系系——消息关联联主题———单独的的层次,,各主题题有序号号4.定定义属性性属性———数据元元素———描述对对象/结构构的实例例5步骤::认定属性性3原则::对相应对对象/分类类结构的的每个实实例,是是否都适适用?在现实世世界中,,它与这这种事物物的关系系是否最最密切??认定的属属性应是是一种相相对的原子概念,不不依赖于于并列的的其他属属性就可可理解确定属性性的位置置——确定定属性与与特定对对象之间间的从属属关系,,针对分分类结构构中的对对象——继承观点认定和定定义实例例关联实例关联联——一个个实例集集合到另另一个实实例集合合的映射射4种实例例关联::——类类似于::ER图图中的实实体联系系1:11:m0:10:m重新修改改认定的的对象对属性和和实例关关联进行行说明——说明明属性的的名字字、描述述、约束束、范畴畴属性的类类型:定义型———标识、命命名各个实实例派生型———由其他属属性的数据据计算得到到参考型———与另一个个实例的属属性值关联联5.定义义服务服务——接收到到一条消息息后,所要要进行的加加工认定基础服服务3类:存在服务———最一般般的服务计算服务———一个实实例需要另另一个实例例加工的结结果时,所所需的服务务。监控服务———模型中中某些部件件需要快速速适时处理理时,所需需服务。认定辅助服服务对象生存史史——定义义基础服务务的顺序状态-事件件-响应———定义状状态的主要要状态,外外部事件及及其响应,,扩充服务务,消息关关联认定消息关关联消息关联———事件-响应和数数据流的一一种结合——表示一一种要发出出的消息和和收到到该消息后后作出的一一个响应——实例关关联之间的的一种映射射对服务进行行说明——主要说说明外部可可观察到的的行为6.对象象的规格说说明以对象为单单位的系统统规格说明明的模板:specification(对象象名)描述型属性((……)定义型属性((……)派生型属性((……)外部型属性((……)外部系统输出出(……)实例关联(………)状态事件响应应表(……))对象生存史图图(……)服务(……))服务(……))……Endspecification7.应用实实例“传感器”控控制系统问题陈述传感器控制系系统分析模型第四节OMT分析方方法一、OMT方方法的发展——1991,美国,通用电器公司提出通过构造一组模型——认识问题题对象模型(ObjectModel)———系统中静态的、结构构方面的特性动态模型(DynamicModel)———系统对象象之间的时间的、行为为的、控制方面的特性功能模型(FunctionalModel)——值值-值之间的的函数关系OMT分析软软件3方面::数据结构———对象模型按时间顺序的的操作——动动态模型改变的值———功能模型三、OMT方方法的分析过过程二、三种模型型介绍1.对象模模型对象模型的作作用——事件将发发生在什么上上面——描述系统统中对象的结构——对象的标标识,与其他他对象的关系系,属性,操操作对象模型的表表示——对象关系系图——对象象图2种对象图::类图实例图类的对象模型型符号——对象的结构信息关系——类之间的的联系多元性性——一一个类类的多多少个个实例例,可可能与与相关关类的的一个个实例例有关关多元性性的符符号表表示OMT对象象模型型中类类的3种基基本关关系相关关关系——什什么方方面相相关关关系系包容关关系——部部分-整体体关关系继承关关系抽象类类具体类类———子类类OMT建立立对象象模型型的步步骤::确定对对象类定义数据词词典——类类,属属性,,关系系的描描述增加类类之间间的关系增加对对象、、联系系的属性用继承组织、、简化化对象象类用场景测测试访问路路径如需要要,则则重复复上述述5步步基于::相近近关系系、相相关功功能,,将成组组的对对象组组成模块对象模模型的的2部部分::对象模模型图图数据词词典2.动动态态模型型——与与时间间有关关的模模型动态模模型的的作用用——事事件将将什么么时间间发生生——描描述系系统中中与时间有关的方方面——操作作执行的的顺序包括:引起变化化的事件事件的序列定义事件件序列上上下文的的状态事件和状状态的主次主要概念念事件——一个个对象给给另一个个对象的的单个消息息状态——对象象所拥有有的属性值和连接关系系场景——一个个特定过过程中发发生的一系列事事件抓住了““控制流”特性,,即系统统中的各各个操作作发生的的顺序,,而对这这些操作作到底做做什么,,作用在在什么上上面,以以及如何何实现都都不必关关心——对象象的控制信息事件跟踪踪图——表示示一系列列事件和和交换事事件的对对象垂直线——每个个对象水平箭头头——一个个事件———对应应对象模模型中的的操作——从发发送对象象指向接接收对象象打电话者者接电话者者状态图——表示示一个类类的事件件、状态态、状态态转移方式式不同的状状态图,,通过共共享的事事件组成成——动动态模型型状态——结点点事件箭头线——状态态转移活动——代表表事件完完成的一个操作作,与状态态相关对应功能能模型中中的功能行为——一个瞬时时操作,与事件件相关活动的关键字字do:转移上行为的关键字/建立动态态模型的的步骤::准备备带带交交互互序序列列的的场景景确定定对对象象之之间间的的事事件件,,为为每每个个场场景景,,准准备备一一个个事件件跟跟踪踪图图为每每个个系系统统,,准准备备一一个个事件件流流图图为每每个个具具有有重重要要动动态态行行为为的的类类,,准准备备一一个个状态图检验状态图图之间共享事件的一致性、、完备性3.功能能模型功能模型的的作用——事件将将发生什么表示怎样从从输入值得得到输出值值,包括::函数、映映射、约束束和功能性性依赖描述系统做做什么,而而对如何做做和何时做做不感兴趣趣功能模型的的组成——多个数数据流图数据流图组组成:转换数据的的过程——通过对对象的操作作实现移动数据的的数据流生产和消费费数据的角色对象被动存储数数据的数据存储对对象——对对象象的操作建立功能模模型的步骤骤:确定输入、输出出值用数据流图图表示功能的依赖赖性描述每个功能做什么么确定限制指定优化原则4、三个模模型之间的的关系——待解决决问题的3个方面对象模型——数据结构——动态模模型、功能能模型的操作——动态模模型中的事件——功能模模型中的函数动态模型——对象的的控制结构功能模型——对象模模型中操作、动态模型型中动作——激发的的函数三、OMT方法的分分析过程OMT组成成的3个阶阶段/方面面:分析系统设计对象设计分析阶段关关心的问题题——对要操操作的应用用和领域的理解和模型化分析阶段的的输入——问题陈陈述,可以来回多多次分析阶段的的输出——3个形形式化模型型:对象模型——静态结结构——对对象-对象象之间的的关系动态模型——交互顺顺序——动动态的控制制结构功能模型——数据转转换——根根据约束的的数据,函函数性转换换第五节面面向对象的的开发过程程——根据::生存期组组织管管理开发一、应用生生存期瀑布模型——面向过程项目的标准生存期期模型螺旋模型喷泉模型传统生存期期模型需改改进二、类生存存期OO强调——软件重重用——软件部件└软件局部部的设计、实现现重用单元——类类生存期开始类的定义——给出类类的实例的的操作、数据表示类的公有界界面——类的职责———公有成成员函数定义手段——类的规规格说明└定义:施施加于对象象存储的数数据上的一组组操操作作不需需::操操作作实实现现((编编码码))问题::类有那那些访访问权权限的的成员员函数数?类的设设计与与实现现既存类类的重重用——从从:资资源库库从既存存类进进行演演化——渐渐进式式演化化——派派生::新增增、保留留、重重定义义渐进式式设计计渐进式式实现现渐进式式测试试从废弃弃型进进行开开发设计——数数据存存储,,私有有函数数实现——变变量、、操作作界面面支持界界面操操作的的函数数测试———单单个类类求精和和维护护———定义义、实实现分分离开始三、应应用开开发过过程6个步步骤::(1))分分析析阶阶段段2个个步步骤骤::论域域分分析析———开开发发::问问题题论论域域的的模模型型应用用/系系统统分分析析———细细化化::论论域域分分析析阶阶段段得得到到的的信信息息集中中::当当前前要要解解决决的的问问题题(2))高高层层设设计计———纯纯OO环环境境中中,,系系统统设设计计与与类类设设计计————同同一一过过程程一般般::分分开开————便便于于分分阶阶段段工工作作———设设计计应应用用的的顶顶层层视视图图,,表表示示各各个个类类的的要要求求└类类的的界界面面————表表示示::系系统统(3))类类的的开开发发———给给出出各各个个类类的的实实现现(4))实例例的建建立(5))组装装测试试——所所有类类组装装成系系统,,测试试(6))维护护——定定位故故障,,类中中增加加新行行为。。分离———类的实实现与规格说说明四、系系统体体系结结构——通通过::成分对对象和对象之之间的的关系系实现第六节节面面向对对象的的分析析过程程一、概概述面向对对象分分析过过程的的组成成论域分分析——问问题/应用用领域域应用分分析——目目标系系统面向对对象分分析产产生的的分析析文档档——更更加深深入地地描述述:问题论论域——清清晰、、精确确的定定义传统的的过程程性分分析文文档———面面向::功能能系统———一一组服服务OO的的分析析文档档———论域域的概念的高层层抽象象问题——一一组相相互作作用的的实体体二、论论域分分析论域分分析的的作用用——给给出::论域知知识抽抽象的高层层表示示———问题题领域域常超出出:当当前应应用的的范围围,比比当前前目标标系统统更广广泛论域分分析的的边界界——可可模糊,越广广泛越越好论域分分析的的目的的标识基本概概念——每每个概概念的的完全全信息息识别论域特特征将基本本概念念集成成到论论域的的模型中———概念念之间间的关关系1、语语义数数据模模型(SemanticDataModels)语义模模型的的起源源——关关系数数据模模型,,实体体-联联系模模型((E-R))的扩扩展——表表达:(1)问题论论域的的内涵涵(2))复杂杂对象象(3))对象象之间间的关关系语义模模型与与OO分析析的映映射关关系语义模模型的的3层层模型型(1))外部部模型型层——用户对问题题的理理解反映::应用用的外外部现现实世世界的的视图图(2))概念念模型型层——系系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版豪华别墅木地板设计与施工一体化合同
- 二零二五年度合作社农产品品牌建设合作协议范本
- 二零二五版农村宅基地使用权转让合同样本
- 2025版典当公司个人消费贷款合同样本
- 2025版建筑门窗安装工程创新技术与项目管理合同
- 二零二五年度电商物流管理专员劳动合同规范书
- 2025版电动滑板车二手买卖与品牌授权及售后服务合同
- 2025年度文化产业投资合同协议书
- 山东省成武县2026届中考适应性考试语文试题含解析
- 2026届天津市和平区二十一中中考二模语文试题含解析
- GA/T 852.1-2009娱乐服务场所治安管理信息规范第1部分:娱乐服务场所分类代码
- 建设项目办理用地预审与选址意见书技术方案
- 历年托福词汇题汇总440题有答案
- 湘少版英语六年级下册全册教案
- 10kV中压开关柜知识培训课件
- 山东省临沂市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 泰丰集团解郁丸-更安全更全面的抗抑郁纯中药制剂课件
- 急性冠脉综合征抗栓治疗合并出血多学科专家共识
- GB∕T 20984-2022 信息安全技术 信息安全风险评估方法
- 汽车吊施工方案(完整常用版)
- 检测中心运营方案
评论
0/150
提交评论