当前位置: 主页 > 建站知识 > 软件开发

软件工程和计算机软件与理论-计算机维修工中级理论

发布时间:2023-03-28 22:05   浏览次数:次   作者:佚名

一、软件工程简介二、软件生存期三、软件生存期模型四.数据管理设计五、界面设计第六章 软件工程第六章 软件工程(一)、背景——软件危机(二)、基本概念一、软件工程简介第六章 软件工程(一)、背景——软件危机60年代的软件危机给软件行业带来了巨大的冲击。软件工程提出了一系列理论、原则、方法以及工具,试图解决软件危机。第六章 软件工程第六章 软件工程软件危机主要表现在 :增加成本 ,延时现象经常发生 ;“已完成”的软件系统与要求不符 , 返工 ;软件系统错误经常出现 ;软件难以维护 ;缺少必要的文档与帮助系统 , 使用困难。第六章 软件工程软件工程的几条基本原理:用分阶段的生命周期计划严格管理软件开发进程;阶段性测试评审。利用现代程序设计技术 ,提高软件开发过程的可见性 ,代码易理解性 ,使易于维护;结果要能清楚地审查。即软件开发过程的透明性和开放性;开发人员应少而精;承担软件持续服务的义务。第六章 软件工程(二)、基本概念计算机软件工程应用计算机科学、数学及管理科学等原理,借鉴传统工程的原则、方法,创建软件以达到提高质量,降低成本的目的。

从学科角度来看,软件工程是一门指导计算机软件开发和维护的工程学科。第六章 软件工程规划Planning需求分析和定义Requirement Analysis and Definition软件设计Software Design程序编写Coding Programming软件测试Testing运行/维护Running/Maintenance二、软件生存期Soft Life Cycle同任何事物一样,软件也有孕育、诞生、成长、成熟、衰亡的生存过程,周而复始,即所谓的计算机软件的生存期第六章 软件工程系统工程周期示意图第六章 软件工程规划总目标,给出功能,性能、可靠性以及接口等方面的要求。主要任务:制定工程发展战略可行性分析总体方案,项目开发计划第六章 软件工程需求分析和定义对待开发软件提出的需求进行分析并给出详细的定义——做什么。第六章 软件工程软件设计把各项需求转换成一个相应的体系结构。各模块都和某些需求相对应 ——怎么做。总体设计和详细设计,总体设计确定系统的总体结构框架;而详细设计要具体地描述如何具体地实现系统,通常可以依据详细设计的结果进行编码。

注重 GIS工程总体设计,把错误隐患消灭在工程前期。据对美国 1977年以来的5OO个 GIS系统调查表明,15%的项目在实施过程中流过产,或完成了系统根本无法使用 (Demarco and Lister,1 987),25%的项目根本不能完成 (Jones,1992 ),而这些项目的失败都不是技术的问题,而主要是项目的计划、规划和管理的问题,经验表明软件工程和计算机软件与理论,虽然有计划地开发系统不能保证其成功性,但没有计划而开发的系统肯定是失败的。第六章 软件工程程序编写是软件实现阶段。要确定程序设计语言,要求编写高质量的源程序代码第六章 软件工程软件测试软件测试是指按照特定规程,发现软件错误的过程。测试活动分为单元测试,集成测试,确认测试和系统测试。示例C:%5CDocuments%20and%20Settings%5Csxl%5C%E6%A1%8C%E9%9D%A2%5C%E6%B5%8B%E8%AF%95%E9%A1%B9%E7%9B%AE%E4%B8%8E%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B%E5%AF%B9%E7%85%第六章 软件工程运行/维护软件开发完成交付用户使用软件工程和计算机软件与理论,进入运行/维护阶段,仍需对软件进行修改,称为软件维护,分为:改正性维护适应性维护完善性维护预防性维护第六章 软件工程三、软件生存期模型软件生存期模型是软件开发全部过程、活动和任务的结构框架,清晰、直观的表达软件开发过程,明确规定要完成的主要活动和任务,可作为软件项目工作的基础。

第六章 软件工程随着软件工程的实践,相继提出了一系列开发模型:瀑布模型;演化模型;螺旋模型;喷泉模型;智能模型。第六章 软件工程瀑布模型规定了自上而下、相互衔接的固定次序。在瀑布模型中,将各项活动规定为依照固定顺序连接的若干阶段工作,形如瀑布流水。规划需求分析软件设计程序编写软件测试运行/维护第六章 软件工程瀑布模型的特征是:每一阶段接受上一阶段的工作结果作为输入;其工作输出传入下一阶段;每一阶段工作都要进行评审,得到确认后,才能继续下阶段工作。瀑布模型较好地支持结构化软件开发,但是缺乏灵活性,无法通过软件开发活动澄清本来不够确切的需求。第六章 软件工程演化模型主要针对事先不能完整定义需求的软件开发。用户可以先给出核心需求,当开发人员将核心需求实现后,用户提出反馈意见,以支持系统的最终设计和实现。第六章 软件工程螺旋模型把整个项目分成多期工程,保证各原型能满足运行的需要。不断完善,避免投资风险。螺旋模型是在瀑布模型以及演化模型的基础上,加入风险分析所建立的模型。在每一次演化过程中,都经历四个方面的活动:制定计划——确定软件目标,选定实施方案,弄清项目开发的限制条件。

风险分析——分析所选方案,考虑如何识别和消除风险。实施工程——实施软件开发。客户评估——评价开发工作,提出修正建议。第六章 软件工程螺旋模型示意图系统……原型1原型2原型:评审系统:维护测试编程规划需求分析设计原型n第六章 软件工程喷泉模型体现了软件复用和生存期中多项开发活动的集成,即面向对象的方法。喷泉模型体现了软件开发过程中所固有的迭代和无间隙的特征。迭代是指软件某一部分的开发活动需要多次重复。相关功能在每次迭代中随之加入演进的系统。无间隙是指在开发活动,即分析、设计和编码之间不存在明显的界限,第六章 软件工程 喷泉模型演化维护确认实现设计分析软件设计与实现方法• 结构化方法是软件工程产生以后首先提出来的软件开发方法,来源于模块化思想,它通过至上而下、逐层细化的方法将系统划分为一个个模块,其次采取的策略是分解和抽象• 面向对象方法是一种围绕客观世界的概念来组织模型的全新的思考方式,它是一种运用对象、类、继承、封装、聚合、消息传送和多态性等概念来构造系统的软件开发方法第六章 软件工程智能模型也称基于知识的软件开发模型,综合了上述若干模型,并把专家系统结合在一起。

第六章 软件工程四、数据管理设计目的是确定在数据管理系统中存储和检索数据的基本结构,其原则是要隔离数据管理方法的影响。第六章 软件工程三种主要的数据管理方法:普通文件管理关系型数据库管理系统面向对象的数据库管理系统第六章 软件工程在GIS软件中,需管理的数据主要包括:空间几何体数据、时间数据,结构化的非空间属性数据以及非结构化的描述数据。为了实现对这些数据的管理,通常的方案包括:全部采用文件管理、文件结合关系数据库管理、全部采用关系数据库管理、采用面向对象数据库管理第六章 软件工程全部采用文件管理将所有的数据都存放于一个或多个文件中。优点:灵活,缺点:增加了属性数据管理的开发量,且不利于数据共享。第六章 软件工程文件结合关系数据库管理用文件存储空间数据,用关系数据库管理系统管理属性数据。空间数据:通过文件进行管理;时间数据:是结构化的,用数据库进行管理;结构化非空间属性数据:用数据库进行管理;非结构化的描述数据:用数据库管理。第六章 软件工程(a) 文件管理空间数据 (b) 关系数据库管理属性数据第六章 软件工程全部采用关系数据库管理不定长的空间几何体坐标数据以二进制数据块的形式被关系数据库管理,即坐标数据被集成到RDBMS中,形成空间数据库。

第六章 软件工程空间数据库数 据 库 访 问 接 口空间模型服务GIS应用 GIS应用 GIS应用RDBMSGIS空间数据访问接口集成化的GIS数据管理第六章 软件工程优点:一个地物对应于数据表中的一条记录,避免查找“连接关系”。提供了一致的访问接口(SQL)操作分布的海量数据,支持多用户并发访问,安全性控制和一致性检查,便于实现数据共享。缺点存储效率低下,需开发空间数据访问接口,对SQL进行扩展。第六章 软件工程采用面向对象数据库管理可扩充对象数据库中的数据类型以支持空间数据,并允许定义对于这些几何体的基本操作,也可以由对象数据库管理系统“无缝”地支持。第六章 软件工程采用OO-DBMS进行GIS数据管理空间数据库数据库访问接口空间模型服务GIS应用 GIS应用 GIS应用OO-DBMSGIS空间模型服务第六章 软件工程提供了对于各种数据的一致访问接口及部分空间模型服务,不仅数据共享,且空间模型服务也可共享,使GIS软件开发可将重点放在数据表现以及复杂的专业模型上。目前对象数据库管理系统远未成熟,许多的技术问题仍需要进一步的研究。第六章 软件工程(一)、界面设计原则(二)、 GIS界面设计中的要素(三)、GIS界面样式五、界面设计第六章 软件工程(一)、界面设计原则系统界面是人机交互的接口,包括人如何命令系统以及系统如何向用户提交信息。

设计用户界面的策略由以下几点构成对人分类描述人和他们的任务脚本设计命令层 设计详细的交互继续做原型设计用户界面类根据图形用户界面进行设计第六章 软件工程第六章 软件工程界面需允许用户选择并检索相应的空间数据,操作这些数据,并且表现分析的结果。在GIS中要考虑的是以下几个要素:数据选择、数据表现、数据处理、SQL(二)、 GIS界面设计中的要素第六章 软件工程1、数据选择选择数据采用的过滤器可能包括空间的和非空间的属性,或者是两者的结合,可通过输入命令语句,菜单选择,填充表单,或直接的操作来选择数据。第六章 软件工程2、数据表现好的数据表现形式有利于用户直接操作以进行进一步的分析,在GIS中,主要考虑其图形显示。一些图形显示的变量有:多边形轮廓:颜色,灰度,黑白;线型;多边形填充:颜色,灰度,黑白;填充模式;线:颜色,灰度,黑白;线型;符号:颜色,灰度,黑白;形状;大小等。第六章 软件工程数据处理由一系列空间的和非空间的操作组成,一个设计良好的界面使实现这些操作更加容易。3、数据处理第六章 软件工程创建:据给定图形实体及相应属性,创建空间对象;删除:删除一个选定的空间对象;更新:只显示最后一次操作的结果;叠合:相当于集合操作中的并运算;集合:根据选择的对象形成一个集合;求交:相当于集合操作中的交运算;求差:相当于集合操作中的差运算;转换:对地物进行比例、移动、仿射变换等操作;检查点:设检查点,对后面工作不满意,退到该点;回送:返回上一个检查点的状态;提交:将处理结果传给数据库,并更新之。

第六章 软件工程4、SQL传统的SQL不能处理空间查询,须进行扩展第六章 软件工程空间关系和标准SQL分开输入的空间查询界面第六章 软件工程1、基于命令行的GIS界面2、菜单驱动的GIS界面3、采用数据流图的GIS图形用户界面(三)、GIS界面样式第六章 软件工程1、基于命令行的GIS界面使用文本语言,用户要了解可使用选项并记忆各命令或不断查找帮助文档。需开发一个命令行解释器,各功能模块之间关系较为简单。长处是可用批命令文件或者脚本文件进行多步操作。第六章 软件工程对于GIS软件,采用命令行界面时,需有一个图形窗口以显示操作结果,这样命令行界面起到控制台作用。使用命令行界面来实现批量的、流程化的、耗时的数据处理。第六章 软件工程基于命令行的GIS界面第六章 软件工程2、菜单驱动的GIS界面按照层次,列出操作,用户可通过键盘或鼠标,来选择并执行一个操作。界面友好,便于掌握,但对高级用户,显得不够灵活且效率低下。第六章 软件工程Windows环境下菜单驱动的GIS界面第六章 软件工程3、采用数据流图的GIS图形用户界面在基于数据流图的用户界面中,用户可以通过“拖放”图标操作来实现相应的操作适用于数据流清晰,较简单的系统;其缺点是实现较为困难。第六章 软件工程采用数据流图的GIS图形用户界面