软件工程复习资料(二)

上传人:奇异 文档编号:191271279 上传时间:2021-08-13 格式:DOCX 页数:9 大小:62.71KB
返回 下载 相关 举报
软件工程复习资料(二)_第1页
第1页 / 共9页
软件工程复习资料(二)_第2页
第2页 / 共9页
软件工程复习资料(二)_第3页
第3页 / 共9页
软件工程复习资料(二)_第4页
第4页 / 共9页
软件工程复习资料(二)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《软件工程复习资料(二)》由会员分享,可在线阅读,更多相关《软件工程复习资料(二)(9页珍藏版)》请在金锄头文库上搜索。

1、立身以立学为先,立学以读书为本软件工程:软件工程是用科学知识和技术原理来定义,开发,维护软的一门学科。即:将用户的需求转化成有效的软件解决方案的一系列活动。GIS软件工程特点:1)存储技术,采用两种数据库:空间数据库和属性数据库2)数据组织和处理模式:沿袭地图处理模式3)系统组成:支持树型的系统结构,以图层为单位进行数据交换4)空间数据管理:可处理二维空间数据,DEM数据,三维实体的表面显示5)数据共享和功能共享:不同格式空间数据之间转换,实现有缝的数据共享GIS软件工程是在GIS软件的开发整个过程中,遵循一般软件开发的工程化原理和方法,并照顾到GIS软件开发的特殊规律和要求,对 GIS软件从

2、可行性研究,需求分析,总体设计,详细设计,软件编制,软件测试,直到软件维护的各个阶段进行工程化规范的一门技术。GIS软件工程的特色系统复杂度大数据在系统中具有特别地位系统表达方式复杂系统更新速度快系统维护工作量大易操作性要求高软件开发的阶段可行性分析,需求分析,总体设计,详细设计,编码,测试,维护。GIS软件工程生存周期:指一个GIS软件从提出开发要求开始直到该软件报废为止的整个时期。前期工程设计工程数据工程工程实施维护工程软件生存周期模型:描述软件开发过程中各种活动如何进行的模型。瀑布式模型:将软件生存周期各活动规定为依线性顺序连接的若干阶段的模型。包含以下活动:软件需求分析设计代码生成测试

3、维护特点:具有顺序性和依赖性推迟实现的观点质量保证的观点增量模型:融合了瀑布模型的基本成分和原型的迭代特征。采用随着日程时间的进展而交错的线性序列。螺旋模型:将瀑布模型和增量模型结合起来,加入风险分析的一种模型。优点对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;减少了过多测试或测试不足;维护和开发之间并没有本质区别。特点风险驱动的主要适用于内部开发的大规模软件项目。喷泉模型:对软件复用和生存周期中多项开发活动的集成提供了支持,以面向对象的软件开发方法为基础,它适合面向对象的开发方法。特点:软件系统可维护性较好;各阶段相互重叠,表明了面向对象开发方

4、法各阶段间的交叉和无缝过渡;整个模型是一个迭代的过程,包括一个阶段内部的迭代和跨阶段的迭代;模型具有增量开发特性,即能做到分析一点、设计一点、实现一点,测试一点,使相关功能随之加入到演化的系统中。模型是对象驱动的,对象是各阶段活动的主体,也是项目管理的基本内容。智能模型是基于知识的软件开发模型,它把瀑布模型和专家系统综合在一起。该模型在各个开 发阶段都利用了相应的专家系统来帮助软件人员完成开发工作。为此,建立了各个阶段的知识库,将模型、相应领域知识和软件工程知识分别存入数 据库。以软件工程知识为基础的生成规则构成的专家系统与包含应用领域知识规则的其他专家 系统相结合,构成该应用领域的开发系统。

5、GIS软件的开发步骤:1确定GIS开发计划2 GIS需求分析3系统设计4程序编码5产品测试6运行和维护可行性研究-可行性研究的步骤 确定系统的规模和目标分析现有系统导出高层逻辑模型导出和评价各种方案推荐可行的方案GIS项目开发计划:1分解系统,将功能分为独立的小任务。GIS具有自己的特点:数据入库,空间分析等。2对任务分类,确定任务性质。3确定各个任务所需要的资源,落实各种资源。4组合任务,形成计划。系统分析一需求内容1)功能需求系统做什么?系统何时做什么?系统何时及如何修改或升级?(2)性能需求存储容量限制执行速度、相应时间吞吐量(3)数据需求输入、输出数据的格式?接收、发送数据的频率?数据

6、的准确性和精度?数据流量?数据需保持的时间?(4)环境需求硬件设备:机型、外设、接口(地点、分布、温度、湿度、磁场干扰等)软件:操作系统GIS操作平台和二次开发组件等数据库5)可靠性需求故障恢复备份能力(6)安全保密要求需要对访问系统或系统信息加以控制吗?如何隔离用户之间的数据?用户程序如何与其它程序和操作系统隔离?数据保密7)界面需求在么颜色和样式?操作习惯?(8)资源需求软件运行时所需的数据、软件、内存空间等资源。软件开发、维护所需的人力、支撑软件、开发设备等。9)软件成本消耗与开发进度需求开发有规定的时间表吗?软硬件投资有无限制?(10)预先估计以后系统可能达到的目标逆向需求说明软件系统

7、不应该做什么。理论上有无限多个逆向需求, 我们应该仅选取能够澄清需求且消除可能发生的误解的那 些逆向需求。结构化分析方法:用特定的符号和工具,按照一定的结构将需求表示出来。结构化分析方法特点采用简单的易读的符号三种基本结构自顶向下逐步求精的设计方法结构化分析方法的描述工具数据流图:是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出以及把逻辑输入转换为逻辑输出所需要的加工。数据字典:描述软件系统的信息流程和加工,SA方法使用数据字典对这些成分进行详细说明。数据流图中的数据流名、数据存储名、数据项名、基本加工名的严格定义的集合构成了数据字典描述加工逻辑的结构化语言,判定表,判定树

8、是基本加工条目中的一项重要内容,有三种工具来描述加工逻辑:结构化语言,判定表,判定树。三种表达工具的比较三种工具各有优缺点,所以在不同的情况下,使用三种不同的工具。从掌握这项工具的难易程度看,判断树最容易被初学者接受,易于掌握;结构化语言的难度居 中;而判断表的难度最高。对于逻辑验证,判断表最好,它能够把所有的可能性全部考虑到,能够澄清疑问;结构化语言较好;而判断树不如这两项工具。从直观表达逻辑来看,判断树最好,它用图形表达,一目了然,易于和用户讨论;结构化语言居中;而判断表的表达能力最低。作为程序设计资料,结构化语言和判断表最好,而判断树却不如这两项工具。对于可修改性,结构化语言的可修改性较

9、高;判断树居中;而判断表的可修改性最低。面向对象(Object Oriented)的方法简称为 OO方法。面向对象的程序设计是以对象为基础,以消息驱动对象执行的程序设计技术。对象一一是对客观世界中事物的一种抽象。是由数据(属性)及其之上的操作(行为)组成的封装体对象类从对象的观点看,对象类(简称类)就是具有共同属性、 共同操作性质的对象的集合。一个类实质上定义了一种对象类型,它描述了属于该类型的所有对象的性质。Coad分析方法:通过研究与特定应用有关的对象以及对象与对象之间的结构与相互作用上来分析和解决问题。OOA方法5个步骤1确定类和对象2确定结构3定义主题4定义属性和实例关联5定义服务OM

10、T对象建模技术(Object Modelling Technique),以面向对象思想为基础,通过构造一组 相关模型来获得关于问题的全面认识。OMT方法使用3种模型从不同角度来描述一个系统:(1)对象模型一一描述系统对象、类和它们之间关系的静态结构,反映了系统的“数据”性质。(2)动态模型一一用对象的状态和事件描述了瞬时的、行为化的系统的“控制”性质。(3)功能模型一一描述系统内的数据变化,指明了如何用输入值得到输出值,即反映了系统的“功能”性质。对象模型对象模型是通过描述系统中的对象、对象间的关系、标识类中对象的属性、操作来表示系统的静态组织结构。对象模型是3种模型中最重要的模型。面向对象的

11、设计技术强调的是围绕对象,而不是围绕功能来构筑系统。动态模型动态模型描述系统中与时间有关的方面以及操作执行的顺序,包括引起变化的事件,事件的序列,定义事件序列上下文的状态以及事件和状态的主次。动态模型是用“状态图”和“事件追踪图”表示。一个动态模型可由多个状态图表组成。基本概念:事件、脚本和事件追踪、状态、触发条件与事件、动作(操作)功能模型功能模型描述了系统中要发生什么。功能模型考虑如何从输入值得到输出值,而不考虑参加计算的数据按什么时序执行。功能模型采用数据流图描述,一个功能模型由多个分层的数据流图组成。3个模型之间的关系:(1)通过3个模型,系统以3视图的形式呈现给设计人员,以便设计者采

12、用统一的描述方法设计实现。(2)模型是可以独立地进行测试和理解的,但不是无关的、绝对独立的。一个好的设计是指:实现了系统内部不同实质的分离,但又 相互补充,限制耦合。(3)三者关系:OM:操作的实体 DM:何时做 FM:做什么结构化设计的基本特点通过自顶向下分解和层次组织的方法来简化系统,产生模块结构运用一系列的图表工具。为使系统设计流程易于理解,结构化设计使用了两种主要的图表工具:伪码和结构图。伪码描述的是模块的处理逻辑, 用来表达程序的设计思路;结构图用于描述软件的总体结构,采用自顶向下、层次组织的方法。象的集合,或者是单独命名件系统划分若干模块的并且与其它的模块的模块:在程序中数据说明、

13、可执行语句等程序对和编址的元素。模块化:指解决一个复杂问题时自顶向下逐层把软 过程。模块独立性,:是指软件系统中每个模块只完成系统要求的独立的子功能 联系最少且接口简单。耦合是模块之间的互相连接的紧密程度的度量。内聚是模块所执行任务的整体统一性的度量。模块独立性比较强的模块应是高内聚低耦合的模块。模块的分解分解是指把一个模块分解成若干个从属于它的下层模块。一般按功能分解,分解到成为一个小的功能单一的模块为止。一般一个模块内包含的语句在3050条左右较好(指高级语言)。模块的扇出和扇入模块的扇出 指一个模块拥有的直属下级模块的个数,一般扇出数控制在7以内。模块的扇入是指一个模块的直接上级模块的个

14、数。在设计中,扇入系数大,说明模块分解得好,通用性强,冗余度低,减少高扇出争取高扇入。程序流程图(PFG, Program Flow Graph)又称为程序框图,它是历史最悠久使用最广泛的描述 软件设计的方法,然而它也是用得最混乱的一种方法。主要优点:对控制流程的描绘很直观,便于初学者掌握。主要缺点:1 .程序流程图本质不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不 去考虑程序的全局结构。2 .程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。3 . 程序流程图不易表示数据结构。N_S图 盒图 :出于要有一种不允许违背结构程序设计精神的图形工具的考虑,Nassi和Shneider-man提出了盒图,又称为 N_S图。(W)特点:没有箭头,不允许随意转移控制;每个矩形框(Case中条件取值例外)都是一个功能域(即一个特定结构的作用域),结构表示明 确;局部及全程数据的作用域易见;易表现嵌套关系(embedded structure)以及模块的层次结构。PAD图顺序型选择型MHILE重复型UNTIL重复型多分支选择型(CASE 型)PAD特点:结构清晰,层次分明,易读;支持逐步求精的设计思想;容易将PAD自动转换为高级语言源 程序。判定表 &判定树(Decision Tabl

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号