[高等教育]软件工程_第1页
[高等教育]软件工程_第2页
[高等教育]软件工程_第3页
[高等教育]软件工程_第4页
[高等教育]软件工程_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、.第一章什么是软件?在运行中能提供所希望的功能和性能的指令集(即程序)。描述程序研制过程和方法使用的文档。GIS软件的主要特点:(1)存储技术。采用两种数据库:空间数据库和属性数据库(2)数据组织和处理模式。沿袭地图处理模式(3)系统组成。支持树型的系统结构和主-从工作模式,以图层为单位进行数据交换(4)空间数据管理。可处理二维空间数据,DEM数据,三维实体的表面显示(5)数据共享和功能共享。不同格式空间数据之间转换,实现有缝的数据共享GIS软件工程:就是在GIS软件的开发整个过程中,遵循一般软件开发的工程化原理和方法,并照顾到GIS软件开发的特殊规律和要求,对GIS软件从可行性研究,需求分析

2、,总体设计,详细设计,软件编制,软件测试,直到软件维护的各个阶段进行工程化规范的一门技术。软件开发的阶段:可行性分析,需求分析,总体设计,详细设计,编码,测试,维护。软件生存周期模型:瀑布式模型:将软件生存周期各活动规定为依线性顺序连接的若干阶段的模型。包含以下活动:软件需求分析。设计。代码生成。测试。维护软件生存周期模型:1瀑布模型的特点:(文档驱动的模型)(1)具有顺序性和依赖性(2).推迟实现的观点(3).质量保证的观点增量模型: 融合了瀑布模型的基本成分和原型的迭代特征。采用随着日程时间的进展而交错的线性序列。2增量模型融合了瀑布模型的基本成分,并且具有迭代特性。 例如,使用增量模型开

3、发字处理软件1. 基本的文件管理、编辑和文档生成功能。2. 更完善的编辑和文档生成能力。3. 实现拼写和文法检查功能。4. 完成高级的页面布局功能。3螺旋模型: 将瀑布模型和增量模型结合起来,加入风险分析的一种模型。优点 对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标; 减少了过多测试或测试不足; 维护和开发之间并没有本质区别。特点 风险驱动的主要适用于内部开发的大规模软件项目。4喷泉模型对软件复用和生存周期中多项开发活动的集成提供了支持,以面向对象的软件开发方法为基础,它适合面向对象的开发方法。喷泉模型的特点:§ 软件系统可维护性较好;

4、§ 各阶段相互重叠,说明了面向对象开发方法各阶段间的交叉和无缝过渡; § 整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代;§ 模型具有增量开发特性,即能做到分析一点、设计一点、实现一点,测试一点,使相关功能随之加入到演化的系统中。§ 模型是对象驱动的,对象是各阶段活动的主体,也是项目管理的基本内容。5智能模型是基于知识的软件开发模型,它把瀑布模型和专家系统综合在一起。(1)支持需求分析的专家系统。(2,)支持软件设计的专家系统。(3)支持测试的专家系统。(4,)支持维护的专家系统。GIS软件工程生存周期:指一个GIS软件从提出开发要求开始

5、直到该软件报废为止的整个时期。前 期 工 程:工程调研,可行性研究和项目计划,需求分析。设 计 工 程:总体设计,数据库设计,应用模型设计,详细设计。数 据 工 程 :数据预处理,数据采集,数据处理。工 程 实 施 :程序编制,测试,试运行。维 护 工 程 :数据库维护,软件维护和硬件维护。GIS软件的开发步骤:1 确定GIS开发计划2 GIS需求分析3 系统设计4 程序编码5 产品测试6 运行和维护第二章可行性研究的任务 :1. 技术可行性:分析利用现有的技术能否实现,能否解决系统中的技术难题,所开发的系统能否达到所要求的功能和性能,系统对技术人员的要求,现有的技术人员能否胜任,开发所需要的

6、软件与硬件能否如期得到等。2.经济可行性:分析成本收益与短期效益长远利益这两个方面。要作出投资的估算和系统投入运行后可能获得的经济效益或可节约的费用估算。3.社会因素的考虑 :主要考虑的是市场、政策与法律方面的问题。分析在系统开发的全部过程中可能出现和涉及的法律问题。4.开发方案的选择 :确定问题定义后,导出系统逻辑模型,并给出主要解决方案,每种方案应认真分析其可行性。2.3 成本效益分析是从经济角度评价一个项目是否值得开发。步骤:首先估算开发的成本,然后与取得的效益比较。效益估计(Benefit Estimation) 例:假设某软件生存周期为5年。现在投资20万元,平均年利率3%。从第一年

7、起,每年年底收入4.2万元,问该项目是否值得投资?其他系统费用总类繁多:§ 筹办费用§ 开办费用§ 与项目有关的费用§ 运行费用§ 其他费用第三章需求内容:(1) 功能需求:系统做什么?系统何时做什么?系统何时及如何修改或升级?(2) 性能需求:存储容量限制。执行速度、相应时间。吞吐量3) 数据需求:输入、输出数据的格式?接收、发送数据的频率?数据的准确性和精度?数据流量?数据需保持的时间?(4) 环境需求:硬件设备:机型、外设、接口(地点、分布、温度、湿度、磁场干扰等)。软件:操作系统,GIS操作平台和二次开发组件等,数据库(5) 可靠性需求

8、:故障恢复;备份能力.(6) 安全保密要求:需要对访问系统或系统信息加以控制吗?如何隔离用户之间的数据?用户程序如何与其它程序和操作系统隔离?数据保密。(7) 界面需求:什么颜色和样式?操作习惯?(8) 资源需求 软件运行时所需的数据、软件、内存空间等资源。 软件开发、维护所需的人力、支撑软件、开发设备等。(9) 软件成本消耗与开发进度需求 开发有规定的时间表吗? 软硬件投资有无限制?(10)预先估计以后系统可能达到的目标需求分析方法大体三类:问答分析法:比较适合于用户需求调查阶段。 虽写不成文章,但是简单易用很有实用 价值。 以用户为中心的需求分析方法建模分析法(结构化分析方法和面向对象的方

9、法)。 技术性比较强,写出来有学术味。比较 适合于产品需求定义阶段。第四章结构化分析方法的步骤:1模型化,建立当前系统的物理模型(怎么做)。2抽象化,抽象出当前系统的逻辑模型(做什么)。3实例化,建立目标系统的逻辑模型(具体化做什么)。.4具体化,为目标系统的逻辑模型作补充(做的更好)。面向对象(Object Oriented)的方法简称为OO方法。 面向对象的程序设计是以对象为基础,以消息驱动对象执行的程序设计技术。 OO的基本思路: OO方法是通过分析、研究实际应用中的实体、实体的属性及其相互关系,从中抽象出要解决问题的对象。再对具有相同属性和功能的对象进行更高级的抽象得到能够求解的对象类

10、。最后求解对象类,得到问题的解答。1) 对象和对象类对象是对客观世界中事物的一种抽象。是由数据(属性)及其之上的操作(行为)组成的封装体。 对象可以量化,可以区分,可以是具体的,也可以是概念化的。 对象是对象类的一个成员,有时也叫“实例”。对象类: 从对象的观点看,对象类(简称类)就是具有共同属性、共同操作性质的对象的集合。一个类实质上定义了一种对象类型,它描述了属于该类型的所有对象的性质。每个不同的对象则是所属类的一个实例(Instance)。 一个类可以包含许多不同的但性质相同的对象。在OO程序设计语言中可以直接定义、求解并实现类。消息和方法 消息是对象之间进行联系和通信的惟一方式,为了实

11、现对象的方法,消息中必须包括:目标对象名称、方法名称和变量、调用与选定方法对应的程序等信息。 对象的处理称为操作或方法。每个对象都有自己的属性和方法,对象自己不能改变自身的属性和实现自己的方法,这些行为是通过其它对象来实现的。3) 封装封装是面向对象方法的重要原则,有两个涵义:把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位(对象)。尽可能隐蔽对象的内部细节(信息隐蔽)。对象建模技术(Object Modelling Technique,OMT) ,以面向对象思想为基础,通过构造一组相关模型来获得关于问题的全面认识。OMT方法使用3种模型从不同角度来描述一个系统:(1)对象模型

12、描述系统对象、类和它们之间关系的静态结构,反映了系统的“数据”性质。(2)动态模型用对象的状态和事件描述了瞬时的、行为化的系统的“控制”性质。(3)功能模型描述系统内的数据变化,指明了如何用输入值得到输出值,即反映了系统的“功能”性质。3个模型之间的关系:(1)通过3个模型,系统以3视图的形式呈现给设计人员,以便设计者 采用统一的描述方法设计实现。(2)模型是可以独立地进行测试和理解的,但不是无关的、绝对独立 的。一个好的设计是指:实现了系统内部不同实质的分离,但又 相互补充,限制耦合。(3)三者关系:OM:操作的实体DM:何时做FM:做什么对每个object (class) 建立DM;

13、70; Action对应FM中的 process以及OM中的 method;FFM中的数据存储及数据的源/终点对应OM中的 object;M中的 process 对应OM中的method;ª FM中的数据流对应OM中的attribute,或是整个 object;ª FM中的 process 产生DM 中的 event;ªOM描述了FM中的动作对象、数据存储及数据流的结构。OMT方法的基本顺序:需求陈述>建立 Object Model>建立 Dynamic Model>建立 Function Model第五章模块独立性比较强的模块应是高内聚低耦合的

14、模块。耦合是模块之间的互相连接的紧密程度的度量。耦合的分类:1 数据耦合 (Data Coupling)一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。2控制耦合 (Control Coupling) 如果一个模块通过传送开关、标志、名字控制信息,明显地控制选择另一模块的功能,就是控制耦合。内聚是模块所执行任务的整体统一性的度量。模块内聚分类:1偶然性内聚(Coincidental Cohesion) 当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为偶然内聚模块,它是内聚程度。2逻辑内聚(Log

15、ical Cohesion)这种模块把几种逻辑上相关的功能组合到一个模块中,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。3 时间内聚(Classical Cohesion)时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。4 过程内聚(Procedural Cohesion) 使用流程图做为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。5通信内聚(Communication Cohesio

16、n)如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。通常,通信内聚模块是通过数据流图来定义的。6顺序性内聚:前一个处理动作所产生的输出数据是后一个处理动作的输入数据,称为顺序聚合。 7 功能内聚(Functional Cohesion) 一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。模块的扇出和扇入Ø 模块的扇出指一个模块拥有的直属下级模块的个数,一般扇出数控制在7以内。Ø 模块的扇入是指一个模块的直接上级模块的

17、个数。Ø 在设计中,扇入系数大,说明模块分解得好,通用性强,冗余度低,减少高扇出争取高扇入。 数据模型:是数据库系统中关于数据内容和数据之间联系的逻辑组织的形式表示。每一个具体的数据库都由一个相应的数据模型来定义。 E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。用E-R方法建立的概念结构模型称为E-R模型,或称为E-R图。v E-R图基本成分包含实体型、属性和联系。1:n联系的转换方法一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系

18、的码为n端实体集的码;另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。m:n联系的转换方法在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。GIS的应用领域有哪些? 1. 资源管理(Resource Management) 主要应用于农业和林业领域,解决农业和林业领域各种资源(如土地、森林、草场) 分布、分级、统计、制图等问题。主要回答“定位”和“模式”两类问题。2. 资源配置(Resou

19、rce Configuration)在城市中各种公用设施、救灾减灾中物资的分配、全国范围内能源保障、粮食供 应等到机构的在各地的配置等都是资源配置问题。GIS在这类应用中的目标是保证资 源的最合理配置和发挥最大效益。 3. 城市规划和管理(Urban Planning and Management) 空间规划是GIS的一个重要应用领域,城市规划和管理是其中的主要内容。例如,在大规模城市基础设施建设中如何保证绿地的比例和合理分布、如何保证学校、 公共 设施、运动场所、服务设施等能够有最大的服务面(城市资源配置问题)等。4. 土地信息系统和地籍管理(Land Information System

20、and Cadastral Applicaiton) 土地和地籍管理涉及土地使用性质变化、地块轮廓变化、地籍权属关系变化等许 多内容,借助GIS技术可以高效、高质量地完成这些工作。 5. 生态、环境管理与模拟(Environmental Management and Modeling)区域生态规划、环境现状评价、环境影响评价、污染物削减分配的决策支持、环 境与区域可持续发展的决策支持、环保设施的管理、环境规划等。 6. 应急响应(Emergency Response)解决在发生洪水、战争、核事故等重大自然或人为灾害时,如何安排最正确的人员 撤离路线、并配备相应的运输和保障设施的问题。7. 地学

21、研究与应用(Application in GeoScience)地形分析、流域分析、土地利用研究、经济地理研究、空间决策支持、空间统计分析、制图等都可以借助地理信息系统工具完成。ArcInfo系统就是一个很好的 地学分析应用软件系统。8. 商业与市场(Business and Marketing)商业设施的建立充分考虑其市场潜力。例如大型商场的建立如果不考虑其他商场 的分布、待建区周围居民区的分布和人数,建成之后就可能无法达到预期的市场 和服务面。有时甚至商场销售的品种和市场定位都必须与待建区的人口结构(年 龄构成、性别构成、文化水平)、消费水平等结合起来考虑。地理信息系统的空 间分析和数据库

22、功能可以解决这些问题。 房地产开发和销售过程中也可以利用GIS功能进行决策和分析。9. 基础设施管理(Facilities Management) 城市的地上地下基础设施(电信、自来水、道路交通、天然气管线、排污设施、 电力设施等)广泛分布于城市的各个角落、且这些设施明显具有地理参照特征的。 它们的管理、统计、汇总都可以借助GIS完成,而且可以大大提高工作效率。 10.选址分析(Site Selecting Analysis)根据区域地理环境的特点,综合考虑资源配置、市场潜力、交通条件、地形特征、环境影响等因素,在区域范围内选择最正确位置,是GIS的一个典型应用领域,充 分表达了GIS的空间分

23、析功能。11. 网络分析(Newwork System Analysis)建立交通网络、地下管线网络等的计算机模型,研究交通流量、进行交通规则、 处理地下管线突发事件(爆管、断路)等应急处理。 警务和医疗救护的路径优选、车辆导航等也是GIS网络分析应用的实例。 12. 可视化应用(Visualization Application) 以数字地形模型为基础,建立城市、区域、或大型建筑工程、著名风景名胜区的 三维可视化模型,实现多角度浏览,可广泛应用于宣传、城市和区域规划、大型工程管理和仿真、旅游等领域。 13. 分布式地理信息应用(Distributed Geographic Informati

24、on Application) 随着网络和Internet技术的发展,运行于Intranet或Internet环境下的地理信息 系统应用类型,其目标是实现地理信息的分布式存储和信息共享,以及远程空间导航等。v 空间数据库:GIS在计算机物理存储介质上存储的与应用相关的地理空间数据的总和。v 空间数据库管理系统:能够对物理介质上存储的地理空间数据进行语义和逻辑上的定义,提供必须的空间数据查询检索和存取功能,以及能够对空间数据进行有效的维护和更新的一套软件系统。第六章详细设计:又称为过程设计,其任务是根据总体设计方案确定的目标和阶段开发计划,紧密结合特定的硬件、基础软件和规范标准,进行子系统和数据

25、库的详细设计,用于具体指导系统的开发。 详细设计方法:1. 采用自顶向下、 逐步求精的程序设计方法。2. 使用三种基本控制结构构造程序。3. 主程序员的组织形式。盒图(N_S图):出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneider-man提出了盒图,又称为N_S图。特点: 没有箭头,不允许随意转移控制; 每个矩形框(Case中条件取值例外)都是一个功能域(即一个特定结构的作用域),结构表示明确; 局部及全程数据的作用域易见; 易表现嵌套关系(embedded structure)以及模块的层次结构。PAD(Problem Analysis Diagram)PA

26、D特点: 结构清晰,层次分明,易读; 支持逐步求精的设计思想; 容易将PAD自动转换为高级语言源程序。第七章 UML方法UML: 统一建模语言 Unified Modeling LanguageUML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。UML的模型是用图来表示的,共有 5 类10种图如下所示: (1) 用例图: 用于表示系统的功能,并指出各功能的操作者。 (2) 静态图: 包括类图、 对象图及包图, 表示系统的静态结构。 (3) 行为图: 包括状态图和活动图,用于描述系统的动态行为和对象之间的交互关系。 (4) 交互图: 包括顺序图和合作图,用于描述系统的对象之间

27、的动态合作关系。 (5) 实现图: 包括构件图和配置图,用于描述系统的物理实现。 细化的含义 有两个元素A, B,若B元素是A元素的详细描述, 则称, 元素之间的关系为元素细化元素。 细化关系表示了元素之间更详细一层的描述。 细化的表示 两个元素的细化关系用两个元素之间带空心三角形箭头的虚线来表示,箭头的方向由细化了的元素指向被细化的元素。 细化如下图。 依赖关系 1. 依赖关系的含义 有两个元素X, Y,若修改元素X的定义,可能引起对另一元素Y的定义的修改,则称元素Y依赖于元素X。 2. 依赖关系的表示 用一个带箭头的虚线来表示依赖关系。若Y元素依赖于X元素,则画一个由Y元素指向X元素的虚线

28、箭头。依赖关系如下图。 3. 依赖关系的使用 在UML中,在类图、包图、构件图和配置图中都会用到依赖关系。第八章集成测试 (Integration Testing)的分类:1、非渐增式测试 (Big-bang testing)2、渐增式测试 (Incremental testing) 逐个把未经过测试的模块组装到已经测试过的模块上去,进行集成测试。1. 黑盒法 该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。 等价划分启发式规则: (1)如果规定了输入数据的范围则可划分一个有效的等价类(输入数据在次范围),两个无效的等价类(输入数据小于最小值或大于最大值);(2)如果规定了输入数据必须遵循的规则,则可以划分出一个有效的等价类(符合规则)和若干个无效等价类(从各种不同角度违反规则);(3)如果规定了输入数据为整形,则可以划分出三个有效类(正整数、零和负整数)和一个无效类(非整数); (4)如果程序的处理对象是表格,则应该使用空表,以及含一项或多项的表;2. 白盒法 该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对

温馨提示

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

评论

0/150

提交评论