第十部分软件工具与开发环境教学课件.ppt

上传人:sccc 文档编号:5330406 上传时间:2023-06-26 格式:PPT 页数:28 大小:318.53KB
返回 下载 相关 举报
第十部分软件工具与开发环境教学课件.ppt_第1页
第1页 / 共28页
第十部分软件工具与开发环境教学课件.ppt_第2页
第2页 / 共28页
第十部分软件工具与开发环境教学课件.ppt_第3页
第3页 / 共28页
第十部分软件工具与开发环境教学课件.ppt_第4页
第4页 / 共28页
第十部分软件工具与开发环境教学课件.ppt_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《第十部分软件工具与开发环境教学课件.ppt》由会员分享,可在线阅读,更多相关《第十部分软件工具与开发环境教学课件.ppt(28页珍藏版)》请在三一办公上搜索。

1、1,第十章软件工具与开发环境,10.1 软件工具10.2 软件开发环境10.3 集成化项目支持环境10.4 CASE环境。,2,10.1软件工具(1),一.软件工具 1.软件工具:是指为支持计算机软件及其文档的开发、维护、模拟、移植或管理而研制的程序系统。2.软件工具的范围(1)传统工具:文本编辑程序、汇编程序、解释程序和编译程序等;(2)支持软件生存周期各阶段的需求分析、设计、编码、测试、维 护等工具和管理工具。3.软件工具作用:辅助软件人员进行软件开发或维护过程中某一或几 个环节的工作,有效提高软件的生产率和质量。二.软件工具的发展过程 1.软件工具的发展经历了从简单工具到复杂工具、从手工

2、工具到自动 工具、从支持程序设计阶段的工具到支持软件开发全过程的工具、从单个工具到工具集成的演变过程。,3,10.1软件工具(2),2.软件工具的几个发展阶段,程序设计,程序系统,软件工程,软件产品,手工作业方式,在这阶段从框图到编码几乎没有软件工具支持。,机器指令、汇编指令。,各种高级语言的编译程序,各种程序语言的调试工具。,排错程序、静态分析和动态跟踪工具等。,重视软件开发各阶段支持工具的研制和应用。随着结构化程序设计、模块化程序设计等技术的广泛应用,出现了一大批软件工具或系统。,需求分析工具、软件设计工具、文档化工具、代码自动生成工具、测试工具、源代码管理工具及项目管理工具等。,软件开始

3、成为一种工业化的产品时,开始使用设计规格语言来编写软件设计说明书,以自动生成方式来生产软件。目前进一步发展为以需求规格描述语言来书写用户需求规格书,通过自动化工具从软件资源库中选取程序模块和数据模块,自动结合,生成界面,从而得到满足用户需求的软件产品。,4,10.1软件工具(3),三.软件工具的分类,1.按软件生命周期的阶段分类,需求分析,定义需求规格。,数据流图绘制与分析工具、状态转换图绘制与分析工具、面向对象的模型和分析工具、快速原型构造工具、数据字典与数据库工具等。,软件设计,描述设计结果形成设计软件规格。,HIPO图、PDL(程序设计语言)或PAD(问题分析图)支持工具等。,编码,提供

4、各种便利的编程作业环境。,集成化的程序员工作平台。主要包括:各种正文编辑器和常规的编译程序、汇编程序、连结程序及符号调试器等。,软件测试,支持整个测试过程,支持整个测试过程包括选择测试用例生成测试程序与测试数据、测试的执行、测试结果的评价及添加测试数据等。,静态分析器、动态覆盖率测试器、测试用例生成器、测试报告生成器及环境模拟器等。,软件维护,软件的各种维护。,反汇编程序、反编译程序、程序结构分析器、源程序格式化工具、文档生成工具、源程序至PAD(问题分析图)或流程图的自动转换工具等。,5,10.1软件工具(4),2.按软件功能分类,系统描述,基本软件的编程语言。,辅助系统管理人员完成项目开发

5、人员和成本估算、项目开发计划、项目资源分配与调度、软件质量保证、软件配制管理和版本控制、风险分析、项目状态报告和追踪等工作。,环境模拟,对实际环境进行模拟或借助工具进行故障状态的环境模拟。,调试测试,查明系统故障原因,并进行恢复。,性能评价,测试系统是否达到设计性能指标,及设计的性能指标是否合理,还可得到系统调试所必需的性能参数。,在系统发生故障时,迅速得到分析判断故障原因所需的各种信息,帮助系统维护人员迅速排除故障。,运行维护,一般软件工具,从软件开发到维护的全过程中,支持源程序、数据文件的管理和维护以及文档化的工具。,6,10.1软件工具(5),四.软件工具的评价原则 1.易用性:友好的用

6、户界面,用户乐于使用。2.对开发方法的支持:能满足预期的任务和功能需求,且能 支持完成该任务所遵循的方法学。3.稳健性:具备自检测机制,即使在故障情况下也不会导致严 重后果.4.性能:能使资源得到充分有效的利用。5.工具结构柔性:工具结构是柔软的、可修改的和可扩充的。,7,10.2软件开发环境(1),一.软件开发环境:将一组相关的软件工具按照一定的软件开发方法、软件生 产和维护模型有机的组合起来,为特定的领域所使用,以支持从需求分 析、设计、编码、测试直到维护的整个软件生命周期的计算机辅辅助开 发程序系统。软件开发环境有人也称为“软件工程环境”、“CASE环境”。二.软件开发环境的分类,1.按

7、解决的问题分类,程序设计环境,如何将规格说明转换为可运行的程序,属于局部编程的范畴。,UNIX设计环境、Ada程序设计环境(APSE)等。,系统合成环境,将多个子系统集成一个大系统,属于全局编程的范畴。,接口控制:模块相连和资源共享问题的描述和制约;版本控制:对系统的各个版本的描述和生成。,项目管理环境,解决由于软件产品规模大、开发周期长、参加人员多等而造成的管理问题,属于多方编程的范畴。,由记录和维护系统开发的状态信息,文档的集成和分发组成。,8,10.2软件开发环境(2),2.按技术发展方向分类,以语言为中心的环境,提供一套适合于一种语言的工具集。通常是高交互式的,对系统集成只提供有限支持

8、,适于探索性的软件开发。如INTERLISP程序设计环境(开发LISP程序)、Cedar环境(以Meas/Cedar语言为中心)、APSE程序设计环境(以Ada语言为中心),面向结构化的环 境,为用户提供一种以编辑器为核心的支持交互式语法结构、语义分析、程序执行和调试的用户程序设计环境。用户只能在结构化的元素上操作,用户看到的不是通常的源程序文本,而是抽象的语法树。,工具箱环 境,在某种OS基础上通过一组小的实用工具构成,虽然各工具之间往往相互独立,但系统提供统一的用户命令界面及工具之间统一的数据交换方式。工具箱中各工具之间是相互独立的,用户可根据需要进行灵活的增加和裁减。工具箱环境中一般除了

9、包括支持编码阶段的工具(如编辑程序、编译程序、汇编程序、连结程序调试程序等)外,还可包括支持大型软件开发方面的工具。由于工具箱环境具有较强的通用性和灵活性,因而目前商品化的算机系系统上配置的软件环境大多属于这一类。如:UNIX程序设计环境、及VAX/VNS SET、PCDE、APCE等程序设计环境。,9,10.2软件开发环境(3),3.按集成化程度分类,建立在OS之上,如UNIX、VMS等;,环境数据库建立在DBS之上,如DB2 ORACLK、SYBASE、INFOMIX等;,建立在知识库系统上,向智能化方向发展;,工具之间通过一个公用框架进行集成;现有工具不需经过大的修改即可加入;,工具集成

10、在更基本的层次上;现有工具不能随意加入,需作适当的修改和定制;,通过OS的命令语言接口或程序调用接口使用这些工具;,顺序调用分立工具的方式完全被集成化的工具所代替,用户不需要在任务之间来回切换不同的工具;,工具使用统一的文件结构,并成为环境信息库的一部分,采用形式化方法、面向对象的方法和软件重用等新技术;,人机界面采用单色、低分辨的文字终端,图形能力差,使用菜单技术;,人机界面采用高分辨率图形显示终端,支持鼠标,具有多窗口、图标、对话框等功能。,由多个工具控制的多窗口技术被单个工具控制的多窗口技术所代替。,工具和文档都作为实体统一放在环境数据库中;用户根据任务,从数据库中依次调用所需要的工具;

11、,10,10.2软件开发环境(4),命令语言解释程序,交互式人机界面,(1)屏幕管理:包括屏幕布局和 动态控制两方面的功能;(2)对话管理;(3)错误信息显示和处理;(4)用户支持;(5)相关设施服务;(6)智能化交互系统。见右图。,三.软件开发环境的构成和主要特征 1.软件开发环境的构成:交互式人机界面、工具集及软件 环境数据库。如右图:,2.交互式人机界面:人机界面(也称用户界面或人机对话)是用户与计算机系统之间相互交流的中间媒介。它包括以下几个方面:,11,10.2软件开发环境(5),3.工具集(1)软件工具是构成软件开发环境的基本成分。(2)包含在软件开发环境中的工具不是各自封闭和分离

12、的,而是与某种软件 开发方法或某种软件加工模型相适应,并以一种综合的、一致的和整体 连贯的形态来支持软件开发的全过程。4.软件环境数据库(又称软件工程数据库或项目数据库)(1)软件环境数据库是用于支持软件项目的大型数据库。(2)软件环境数据库中主要存储软件开发过程中产生的有关产品或半成品的 数据及各种项目数据,如源程序、测试数据和各种文档等。(3)软件环境数据库构成软件开发和维护过程中所有项目数据的集中化的存 储设施,是集成化软件开发环境的核心组成部分,也是各个软件工具之间 共享数据及相互连结的统一媒介。(4)软件环境数据库基本上属于专用的工具型数据库,其中需要存储、管理 和维护的软件项目数据

13、与一般信息管理有很大的区别。,12,10.2软件开发环境(6),5.软件环境数据库除具备一般事务处理数据库的特征外,还具有适应 软件开发环境的一些特征。主要包括以下几个方面:,13,10.3集成化项目支持环境(1),一.集成化项目支持环境IPSE(Integrated Project Support Environment)是上世 纪后期各个发达国家在研制软件工程环境过程中,把开发集成化的项目作为重点,推出的产品。使软件工程环境逐渐走向成熟,朝着实用化、产品化和标准化的方 向发展。我国在这方面也取得了很大的成绩,推出了“青鸟算机辅辅助软件工程”等产品。二.IPSE的基本组成 IPSE是一种多级

14、的层次结构,包括核心层、基本层、应用层至少三个层次(下页)。1.核心层:在最里面,包括:(1)由宿主机和操作系统构成的虚拟机;(2)环境数据库(或文件数据库)及其支持软件(如数据库管理系统或文件管理系 统),环境数据库是核心层的核心,它既要存放项目的各种开发文档与管理文 档,又要承担各种工具之间的信息交换,它是环境研究的重点;(3)以及从工具到系统(含数据库)的接口。2.基本层:包括软件开发所需的最小限度工具,又称最小支持环境。一般包括:(1)常用的编译、编辑、调试、连结/装配、配置管理等实用程序;(2)命令解释程序和支持用户的一些操作工具,如:菜单生成系统、图形系统、多 窗口系统等。,14,

15、10.3集成化项目支持环境(2),工具与系统界面,环境数据库与文件数据库,主机硬件与操作系统,核心层,基本层,IPSE的典型结构图,连接程序,测试程序,装入程序,运行程序,命令解释程序,各种语言编译 程序,调试程序,操作支持工具,配置管理,编辑程序,应用层,快速原型开发 工具,需求分析工具,维护管理工具,美化打印工具,测试分析工具,各种方法开发工具,其它工具,用户界面,15,10.3集成化项目支持环境(3),3.应用层:包括支持生存周期内各个阶段活动的工具,及支持不同系统开发 方法学的工具,内容比较灵活,可根据开发者的需要增删。三.IPSE的特征 1.集成化和相互兼容的工具集;2.支持项目的管

16、理和控制;3.支持配置管理;4.支持多种语言的软件开发;5.支持硬件开发;6.允许宿主机和目标机使用分布式系统。四.IPSE的分代 按照工具的集成化程度及环境内公共数据的不同组织形式,IPSE分为三代。第一代的代表是UNIX环境,以文件库为核心,在文件库的基础上集成工具集;第二代以数据库为核心,其工具集具有更高的集成度和统一协调的用户界面;第三代是建立在知识库基础上的集成环境,其工具集能完全实现任务的来回切换,不再需要用户的干预。,16,10.3集成化项目支持环境(4),三代IPSE的主要特征和比较,以文件库为核心。,以数据库为核心。,以知识库为核心。,各工具有自己独立的文件结构,共同组成环境

17、文件库。,工具和文件都是环境数据库的实体,不再视为独立的成分。,只有集成化的工具集,不再存在分立的工具。,能部分实现由一个工具到另一个工具的切换。,具有统一与和谐的用户界面。,完全自动任务切换,不需要用户的干预。,支持软件全生存周期的活动。,支持软件全生存周期的活动,并支持一种以上的程序设计方法学。,支持包括软硬件在内的应用系统全生存周期的开发活动,包括大规模集成电路的设计。,不支持分布式应用。,支持分布式应用。,支持分布式应用。,采用菜单技术。,配备高分辨率彩显,有图标和多窗口功能,使用鼠标器。,多窗口技术,大量使用鼠标器,最终用户仅需使用命令语言。,17,10.4CASE环境(1),一.C

18、ASE概述 1.CASE是计算机辅助软件工程(Computer-Aided Software Engineering)的简称。2.简单的说,可以将CASE理解为:CASE=软件工程+自动化工具 3.CASE的概念可以从不同角度给予解释:,是一组工具和方法的结合。,辅助软件生存周期各个阶段的软件开发。,辅助软件开发的任何计算机技术。,在软件开发和维护过程中,提供计算机辅助支持;引入工程化方法。,是软件开发方法、软件开发管理和软件工具等方面多年研究和发展的产物。,把软件开发技术、方法和软件工具集成为一个统一而一致的框架。,是种类繁多的软件开发和系统集成的产品和软件工具的集合。,支持软件开发方法,提

19、高软件开发效率,增进软件产品的质量。,18,10.4CASE环境(2),CASE工具,环 境,工 作 台,工 具,二.CASE工具分类 CASE工具可以理解为除OS外的所有软件工具的总称。1.按对软件过程的支持范围 CASE工具分为三类:(1)工具:支持单个任务;(2)工作台:支持某一软 件过程或一个过程中 的某些活动;(3)环境:支持某些软件 过程及相关的大部分 活动。如图:,19,10.4CASE环境(3),2.按对软件过程的支持活动CASE工具分类如下表所示,数据流图工具,实体-关系模型工具,状态转换图工具,数据字典工具,面向对象建模工具,分析、验证需求定义规约工具,程序结构图设计工具,

20、面向对象设计工具,HIPO图工具,PDL(设计程序语言)工具,PAD(问题分析图)工具,代码转换工具,正文编辑程序,连接程序,语法制导编辑程序,变化管理工具,版本管理工具,静态分析程序,动态覆盖率测试程序,测试结果分析程序,测试报告生成程序,测试用例生成程序,测试管理工具,符号调试程序,应用生成程序,第四代语言,OO程序设计环境,源程序流程图转换工具,源程序PAD转换工具,程序理解工具,文档分析工具,程序结构分析程序,20,10.4CASE环境(4),三.工作台:是一组工具集,支持象设计、实现或测试等特定的软件开发阶段。它是通过共享文件、共享仓库或共享数据结构来集成。,由支持程序设计的一组工具

21、组成。,支持软件过程的分析和设计阶段。,支持特定的应用和组织结构。具有较好的开放性。,支持在一种机器上开发的软件,而在别的其它系统上运行所开发的软件。,支持配置管理。,支持高质量的文档制作。,支持项目管理活动。,将编辑器、编译器和调试器集成在一个宿主机上构成的程序设计工作台。,支持结构化方法的工作台,支持面向对象方法的分析和设计工作台。,交叉编辑器、目标机模拟器、从宿主机到目标机上下载的通信软件包,及远程运行的监控程序。,版本管理工具、改变跟踪工具、系统装配工具。,字处理器、单面印刷系统、图表图像编辑器、文档浏览器等。,项目规划和质量、开支评估和预算追踪工具等。,21,10.4CASE环境(5

22、),源程序,结构化编辑器,已编译代码,利用语法树和符号表作为共享数据来进行工具集成。,1.程序设计工作台:支持程序开发的一组工具,结构如下图所示:,程序库,22,10.4CASE环境(6),市场上通常将程序设计语言工作台作为包括附加工具的语言编辑器来出售。如:Basic,C,C+,Pascal,Lisp,Smalltalk等。,上图中程序设计工作台中的CASE工具功能由下表所示,将源代码转换成目标码。创建一个抽象语法树(AST)和一个符号表。,结合嵌入的程序设计语言,对AST中程序的语法表示进行编辑。,将已编译的程序的目标代码模块连接起来。,在可执行程序执行之前将其加载到计算机内存。,产生一个

23、交叉引用列表,显示所有的程序名是在那里声明和使用的。,扫描AST,根据嵌入的格式规则打印源文件程序。,分析源文件代码,找到未初始化的变量、不能执行到的代码、未调用的函数和过程等异常。,产生带附注的源文件代码列表,附注上标有程序运行时每个语句执行的次数或生成有关程序分支和循环的信息,统计处理器的使用情况。,允许用户来控制程序的执行次序,显示执行期间的程序状态。,23,10.4CASE环境(7),结构化图表制作工具,设计分析和检查工具,代码生成器,查询语言设施,数据字典,报告生成设施,图表创建工具,移入/移出设施,这些工具通过一个共享仓库(中央信息仓库)集成。,2.分析和设计工作台:支持软件的分析

24、和设计阶段(在这阶段系统模型已建立,如数 据库模型,实体关系模型)。(1)它支持特定的设计或分析方法,如面向对象的分析;(2)它是更通用的图表编辑系统,能处理大多数图表类型;(3)它提供的方法和指南,能进行一些自动图表检查工作。它可能包括的工具如下图所示:,而该仓库一般是工作台开发者专有的,因而分析和设计工作台通常也是封闭式的环境。,24,10.4CASE环境(8),由于其封闭性,分析和设计工作台的缺陷:(1)移入/移出受到限制,与其它工作台互换数据时会发生问题;(2)不能裁剪和修改一个设计计划,用户通常不可能用自己的规则取代一个原有规则;(3)工作台自己提供的配置管理系统可能与一个组织机构中

25、使用的系统不兼容。,上图中分析和设计工作台中的CASE工具功能由下表所示,创建数据流图、结构图、实体关系图等。,进行分析,并报告错误和异常情况。,允许设计者查询仓库,找到与设计相关的信息。,维护系统中所用的实体信息。,从中央存储器中取得信息并自动生成系统文档。,允许中央仓库和其它软件开发互换信息。,从中央存储器中取得设计信息,自动生成代码和代码框架。,25,10.4CASE环境(9),规 约,3.测试工作台:支持软件的测试阶段。它可能包括的工具如下图所示:,26,10.4CASE环境(10),大型系统的测试依赖于被开发的应用程序。因此,更改测试工作台以适应每个系统的测试计划是不可避免的。,上图

26、中测试工作台中包括的工具功能由下表所示,管理程序测试的运行和测试结果报告。,生成被测数据的测试数据。,产生对所期待测试结果的预测。,提供报告定义和测试结果的生成设施。,比较程序测试的结果和以前测试的结果,报告它们之间的差别。,将代码加到一个程序中以计算每条语句被执行的次数。,提供各种不同的模拟器,如模拟多个同时进行用户交互的目标模拟器,I/O模拟器等。,27,第十章 小 结,现代的软件开发,一刻也离不开开发环境。支持生存周期各阶段软件开发活动的各种工具,是环境中最活跃的部分。从早期的零散工具到初具规模的UNIX工具箱,到完全集成化的IPSE的工具集,反映了软件开发环境的巨大变化。良好的软件支持

27、环境,已成为提高软件开发效率和软件质量的重要条件。改善开发环境从根本上来说是为了简化对计算机的使用,使计 算机向着适应人的方向转化。尽量简化用户的工作,是今后环 境发展的必然趋势。,28,第十章 习 题,1.软件工具是什么?按照软件生存周期可将其分为几类?2.评价软件工具的原则?3.什么是软件开发环境?按技术发展方向分为哪几类环境?4.工具箱类软件工具的基本特点?5.软件开发环境的组成与各成分的作用?6.软件开发环境数据库在软件开发中的作用?7.集成化项目支持环境IPSE的主要特征是什么?8.CASE的含义是什么?9.CASE工具一般分为几类?有什么区别?10.工作台实现软件工具集成的方式?,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号