软件工具与开发环境ppt课件_第1页
软件工具与开发环境ppt课件_第2页
软件工具与开发环境ppt课件_第3页
软件工具与开发环境ppt课件_第4页
软件工具与开发环境ppt课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、10.1 10.1 软件工具软件工具10.2 10.2 软件开发环境软件开发环境10.3 10.3 集成化工程支持环境集成化工程支持环境10.4 CASE10.4 CASE环境。环境。一一. .软件工具软件工具 1. 1.软件工具:是指为支持计算机软件及其文档的开发、维护、模拟、软件工具:是指为支持计算机软件及其文档的开发、维护、模拟、 移植或管理而研制的程序系统。移植或管理而研制的程序系统。 2. 2.软件工具的范围软件工具的范围 (1) (1)传统工具传统工具: :文本编辑程序、汇编程序、解释程序和编译程序等;文本编辑程序、汇编程序、解释程序和编译程序等; (2) (2)支持软件生存周期各

2、阶段的需求分析、设计、编码、测试、维支持软件生存周期各阶段的需求分析、设计、编码、测试、维 护等工具和管理工具。护等工具和管理工具。 3. 3.软件工具作用:辅助软件人员进展软件开发或维护过程中某一或几软件工具作用:辅助软件人员进展软件开发或维护过程中某一或几 个环节的任务,有效提高软件的消费率和质量。个环节的任务,有效提高软件的消费率和质量。二二. .软件工具的开展过程软件工具的开展过程 1. 1.软件工具的开展阅历了从简单工具到复杂工具、从手工工具到自动软件工具的开展阅历了从简单工具到复杂工具、从手工工具到自动 工具、从支持程序设计阶段的工具到支持软件开发全过程的工具、工具、从支持程序设计

3、阶段的工具到支持软件开发全过程的工具、 从单个工具到工具集成的演化过程。从单个工具到工具集成的演化过程。2.2.软件工具的几个开展阶段软件工具的几个开展阶段 阶段阶段应应 用用代表性工具代表性工具程序程序设计设计程序程序系统系统软件软件工程工程软件软件产品产品 手任务业方式手任务业方式, ,在这阶段从框图到编在这阶段从框图到编码几乎没有软件工具支持。码几乎没有软件工具支持。机器指令、机器指令、汇编指令。汇编指令。 各种高级言语的编译程序各种高级言语的编译程序, ,各种程序各种程序文语的调试工具。文语的调试工具。排错程序、静态分析和动态跟排错程序、静态分析和动态跟踪工具等。踪工具等。 注重软件开

4、发各阶段支持工具的研注重软件开发各阶段支持工具的研制和运用。随着构造化程序设计、模制和运用。随着构造化程序设计、模块化程序设计等技术的广泛运用,出块化程序设计等技术的广泛运用,出现了一大批软件工具或系统。现了一大批软件工具或系统。 需求分析工具、软件设计工需求分析工具、软件设计工具、文档化工具、代码自动生具、文档化工具、代码自动生成工具、测试工具、源代码管成工具、测试工具、源代码管理工具及工程管理工具等。理工具及工程管理工具等。 软件开场成为一种工业化的产品时软件开场成为一种工业化的产品时, ,开场运用设计规格言语来编写开场运用设计规格言语来编写软件设计阐明书软件设计阐明书, ,以自动生成方式

5、来消费软件。目前进一步开展为以以自动生成方式来消费软件。目前进一步开展为以需求规格描画言语来书写用户需求规格书,经过自动化工具从软件资需求规格描画言语来书写用户需求规格书,经过自动化工具从软件资源库中选取程序模块和数据模块,自动结合,生成界面,从而得到满源库中选取程序模块和数据模块,自动结合,生成界面,从而得到满足用户需求的软件产品。足用户需求的软件产品。阶段阶段功功 能能工工 具具三三. .软件工具的分类软件工具的分类1.1.按软件生命周期的阶段分类按软件生命周期的阶段分类需求需求分析分析定义需求规格。定义需求规格。 数据流图绘制与分析工具、形状转换图绘制与分析工具、数据流图绘制与分析工具、

6、形状转换图绘制与分析工具、面向对象的模型和分析工具、快速原型构造工具、数据字面向对象的模型和分析工具、快速原型构造工具、数据字典与数据库工具等。典与数据库工具等。软件软件设计设计 描画设计结果构描画设计结果构成设计软件规格。成设计软件规格。 HIPO HIPO图、图、PDL(PDL(程序设计言语程序设计言语) )或或PAD(PAD(问题分析图问题分析图) )支持工支持工具等。具等。编码编码 提供各种便利的提供各种便利的编程作业环境。编程作业环境。 集成化的程序员任务平台。主要包括:各种正文编辑器和集成化的程序员任务平台。主要包括:各种正文编辑器和常规的编译程序、汇编程序、连结程序及符号调试器等

7、。常规的编译程序、汇编程序、连结程序及符号调试器等。软件软件测试测试支持整个测试过程支持整个测试过程 支持整个测试过程包括选择测试用例生成测试程序与测试数据、测试的执行、测试支持整个测试过程包括选择测试用例生成测试程序与测试数据、测试的执行、测试结果的评价及添加测试数据等。结果的评价及添加测试数据等。 静态分析器、动态覆盖率测试器、测试用例生成器、测静态分析器、动态覆盖率测试器、测试用例生成器、测试报告生成器及环境模拟器等。试报告生成器及环境模拟器等。软件软件维护维护软件的各种维护。软件的各种维护。 反汇编程序、反编译程序、程序构造分析器、源程序反汇编程序、反编译程序、程序构造分析器、源程序格

8、式化工具、文档生成工具、源程序至格式化工具、文档生成工具、源程序至PAD(PAD(问题分析图问题分析图) )或流程图的自动转换工具等。或流程图的自动转换工具等。开发技术支持工具开发技术支持工具工程管理工具工程管理工具2.2.按软件功能分类按软件功能分类系统描画系统描画根本软件的编程言语。根本软件的编程言语。 辅助系统管理人员完成工程开发人辅助系统管理人员完成工程开发人员和本钱估算、工程开发方案、工程员和本钱估算、工程开发方案、工程资源分配与调度、软件质量保证、软资源分配与调度、软件质量保证、软件配制管理和版本控制、风险分析、件配制管理和版本控制、风险分析、工程形状报告和追踪等任务。工程形状报告

9、和追踪等任务。环境模拟环境模拟 对实践环境进展模拟或借助工具对实践环境进展模拟或借助工具进展缺点形状的环境模拟。进展缺点形状的环境模拟。调试测试调试测试查明系统缺点缘由,并进展恢复。查明系统缺点缘由,并进展恢复。性能评价性能评价 测试系统能否到达设计性能目的,测试系统能否到达设计性能目的,及设计的性能目的能否合理,还可及设计的性能目的能否合理,还可得到系统调试所必需的性能参数。得到系统调试所必需的性能参数。 在系统发生缺点时,迅速得到分在系统发生缺点时,迅速得到分析判别缺点缘由所需的各种信息,析判别缺点缘由所需的各种信息,协助系统维护人员迅速排除缺点。协助系统维护人员迅速排除缺点。运转维护运转

10、维护普普通通软软件件工工具具 从软件开发到维护的全过从软件开发到维护的全过程中,支持源程序、数据文程中,支持源程序、数据文件的管理和维护以及文档化件的管理和维护以及文档化的工具。的工具。四四. .软件工具的评价原那么软件工具的评价原那么 1. 1.易用性易用性: :友好的用户界面,用户乐于运用。友好的用户界面,用户乐于运用。 2. 2.对开发方法的支持:能满足预期的义务和功能需求,且能对开发方法的支持:能满足预期的义务和功能需求,且能 支持完成该义务所遵照的方法学。支持完成该义务所遵照的方法学。 3. 3.稳健性稳健性: :具备自检测机制具备自检测机制, ,即使在缺点情况下也不会导致严即使在缺

11、点情况下也不会导致严 重后果重后果. . 4. 4.性能性能: :能使资源得到充分有效的利用。能使资源得到充分有效的利用。 5. 5.工具构造柔性工具构造柔性: :工具构造是柔软的、可修正的和可扩展的。工具构造是柔软的、可修正的和可扩展的。一一. .软件开发环境软件开发环境: :将一组相关的软件工具按照一定的软件开发方法、软件生将一组相关的软件工具按照一定的软件开发方法、软件生 产和维护模型有机的组合起来,为特定的领域所运用,以支持从需求分产和维护模型有机的组合起来,为特定的领域所运用,以支持从需求分 析、设计、编码、测试直到维护的整个软件生命周期的计算机辅辅助开析、设计、编码、测试直到维护的

12、整个软件生命周期的计算机辅辅助开 发程序系统。软件开发环境有人也称为发程序系统。软件开发环境有人也称为“软件工程环境、软件工程环境、“CASE“CASE环境。环境。二二. .软件开发环境的分类软件开发环境的分类 1.1.按处理的问题分类按处理的问题分类面向面向功功 能能环境工具环境工具程序设程序设计环境计环境 如何将规格阐明转换为可运转的程如何将规格阐明转换为可运转的程序序, ,属于部分编程的范畴。属于部分编程的范畴。 UNIX UNIX设计环境、设计环境、AdaAda程序设计环程序设计环境境(APSE)(APSE)等。等。系统合系统合成环境成环境 将多个子系统集成一个大系统,属将多个子系统集

13、成一个大系统,属于全局编程的范畴。于全局编程的范畴。 接口控制接口控制: :模块相连和资源共享模块相连和资源共享问题的描画和制约;版本控制问题的描画和制约;版本控制: :对对系统的各个版本的描画和生成。系统的各个版本的描画和生成。工程管工程管理环境理环境 处理由于软件产品规模大、开发周处理由于软件产品规模大、开发周期长、参与人员多等而呵斥的管理问期长、参与人员多等而呵斥的管理问题,属于多方编程的范畴。题,属于多方编程的范畴。 由记录和维护系统开发的形状信由记录和维护系统开发的形状信息,文档的集成和分发组成。息,文档的集成和分发组成。2.2.按技术开展方向分类按技术开展方向分类技术技术特特 点点

14、以言语以言语为中心为中心的环境的环境 提供一套适宜于一种言语的工具集。通常是高交互式的提供一套适宜于一种言语的工具集。通常是高交互式的, ,对系统集成只提供有对系统集成只提供有限支持,适于探求性的软件开发。如限支持,适于探求性的软件开发。如INTERLISPINTERLISP程序设计环境程序设计环境( (开发开发LISPLISP程序程序) )、CedarCedar环境环境( (以以Meas/CedarMeas/Cedar言语为中心言语为中心) )、APSEAPSE程序设计环境程序设计环境( (以以AdaAda言语为中心言语为中心) )面向构面向构造化的造化的环环 境境 为用户提供一种以编辑器为

15、中心的支持交互式语法构造、语义分析、程序执为用户提供一种以编辑器为中心的支持交互式语法构造、语义分析、程序执行和调试的用户程序设计环境。用户只能在构造化的元素上操作,用户看到的行和调试的用户程序设计环境。用户只能在构造化的元素上操作,用户看到的不是通常的源程序文本,而是笼统的语法树。不是通常的源程序文本,而是笼统的语法树。工具箱工具箱环环 境境 在某种在某种OSOS根底上经过一组小的适用工具构成,虽然各工具之间往往相互独立,根底上经过一组小的适用工具构成,虽然各工具之间往往相互独立,但系统提供一致的用户命令界面及工具之间一致的数据交换方式。但系统提供一致的用户命令界面及工具之间一致的数据交换方

16、式。 工具箱中各工具之间是相互独立的,用户可根据需求进展灵敏的添加和裁减。工具箱中各工具之间是相互独立的,用户可根据需求进展灵敏的添加和裁减。 工具箱环境中普通除了包括支持编码阶段的工具工具箱环境中普通除了包括支持编码阶段的工具( (如编辑程序、编译程序、如编辑程序、编译程序、汇编程序、连结程序调试程序等汇编程序、连结程序调试程序等) )外,还可包括支持大型软件开发方面的工具。外,还可包括支持大型软件开发方面的工具。 由于工具箱环境具有较强的通用性和灵敏性,因此目前商品化的算机系系统由于工具箱环境具有较强的通用性和灵敏性,因此目前商品化的算机系系统上配置的软件环境大多属于这一类。如:上配置的软

17、件环境大多属于这一类。如:UNIXUNIX程序设计环境、及程序设计环境、及VAX/VNS SETVAX/VNS SET、PCDEPCDE、APCEAPCE等程序设计环境。等程序设计环境。3.3.按集成化程度分类按集成化程度分类集成集成第一代第一代第二代第二代第三代第三代根底根底 集成集成方式方式 调用调用方式方式 工具工具构造构造 界面界面 建立在建立在OSOS之上,如之上,如UNIXUNIX、VMSVMS等;等; 环境数据库建立在环境数据库建立在DBSDBS之上,之上,如如DB2 ORACLKDB2 ORACLK、SYBASESYBASE、INFOMIXINFOMIX等;等; 建立在知识库系

18、统上,向建立在知识库系统上,向智能化方向开展;智能化方向开展; 工具之间经过一个公用框工具之间经过一个公用框架进展集成;现有工具不需架进展集成;现有工具不需经过大的修正即可参与;经过大的修正即可参与; 工具集成在更根本的层次上;工具集成在更根本的层次上;现有工具不能随意参与,需作现有工具不能随意参与,需作适当的修正和定制;适当的修正和定制; 经过经过OSOS的命令言语接口的命令言语接口或程序调用接口运用这些或程序调用接口运用这些工具;工具; 顺序调用分立工具的方式顺序调用分立工具的方式完全被集成化的工具所替代,完全被集成化的工具所替代,用户不需求在义务之间来回用户不需求在义务之间来回切换不同的

19、工具;切换不同的工具; 工具运用一致的文件构造,工具运用一致的文件构造,并成为环境信息库的一部分并成为环境信息库的一部分 采用方式化方法、面向对象采用方式化方法、面向对象的方法和软件重用等新技术;的方法和软件重用等新技术; 人机界面采用单色、低分人机界面采用单色、低分辨的文字终端,图形才干差,辨的文字终端,图形才干差,运用菜单技术;运用菜单技术; 人机界面采用高分辨率图形人机界面采用高分辨率图形显示终端,支持鼠标,具有多显示终端,支持鼠标,具有多窗口、图标、对话框等功能。窗口、图标、对话框等功能。 由多个工具控制的多窗口由多个工具控制的多窗口技术被单个工具控制的多窗技术被单个工具控制的多窗口技

20、术所替代。口技术所替代。 工具和文档都作为实体工具和文档都作为实体一致放在环境数据库中;一致放在环境数据库中;用户根据义务,从数据库用户根据义务,从数据库中依次调用所需求的工具;中依次调用所需求的工具;命令言语解释程序命令言语解释程序命令处置程序集命令处置程序集高级输入程序高级输入程序显示效力程序显示效力程序图形设备驱动程序图形设备驱动程序输入设备驱动程序输入设备驱动程序交互式人机界面交互式人机界面工工具具1 1工工具具2 2工工具具n n软件环境数据库软件环境数据库(1)(1)屏幕管理屏幕管理: :包括屏幕规划和包括屏幕规划和 动态控制两方面的功能;动态控制两方面的功能; (2)(2)对话管

21、理;对话管理;(3)(3)错误信息显示和处置;错误信息显示和处置;(4)(4)用户支持;用户支持;(5)(5)相关设备效力;相关设备效力;(6)(6)智能化交互系统。智能化交互系统。 见右图。见右图。三三. .软件开发环境的构成和主要特征软件开发环境的构成和主要特征 1. 1.软件开发环境的构成软件开发环境的构成: :交互式人机界面、工具集及软件交互式人机界面、工具集及软件 环境数据库。如右图:环境数据库。如右图: 2. 2.交互式人机界面交互式人机界面: :人机界面人机界面( (也称用户界面或人机对话也称用户界面或人机对话) ) 是用户与计算机系统之间相互交流的中间媒介。是用户与计算机系统之

22、间相互交流的中间媒介。 它包括以下几个方面它包括以下几个方面: : 3. 3.工具集工具集 (1) (1)软件工具是构成软件开发环境的根本成分。软件工具是构成软件开发环境的根本成分。 (2) (2)包含在软件开发环境中的工具不是各自封锁和分别的,而是与某种软件包含在软件开发环境中的工具不是各自封锁和分别的,而是与某种软件 开发方法或某种软件加工模型相顺应,并以一种综合的、一致的和整体开发方法或某种软件加工模型相顺应,并以一种综合的、一致的和整体 衔接的形状来支持软件开发的全过程。衔接的形状来支持软件开发的全过程。 4. 4.软件环境数据库软件环境数据库( (又称软件工程数据库或工程数据库又称软

23、件工程数据库或工程数据库) ) (1) (1)软件环境数据库是用于支持软件工程的大型数据库。软件环境数据库是用于支持软件工程的大型数据库。 (2) (2)软件环境数据库中主要存储软件开发过程中产生的有关产品或半废品的软件环境数据库中主要存储软件开发过程中产生的有关产品或半废品的 数据及各种工程数据,如源程序、测试数据和各种文档等。数据及各种工程数据,如源程序、测试数据和各种文档等。 (3) (3)软件环境数据库构成软件开发和维护过程中一切工程数据的集中化的存软件环境数据库构成软件开发和维护过程中一切工程数据的集中化的存 储设备储设备, ,是集成化软件开发环境的中心组成部分是集成化软件开发环境的

24、中心组成部分, ,也是各个软件工具之间也是各个软件工具之间 共享数据及相互连结的一致媒介。共享数据及相互连结的一致媒介。 (4) (4)软件环境数据库根本上属于公用的工具型数据库软件环境数据库根本上属于公用的工具型数据库, ,其中需求存储、管理其中需求存储、管理 和维护的软件工程数据与普通讯息管理有很大的区别。和维护的软件工程数据与普通讯息管理有很大的区别。1 1 对工程数据对工程数据( (产品、资源、方案中的构造化、非构造化或半构造化产品、资源、方案中的构造化、非构造化或半构造化数据数据) )的存取和维护功能。的存取和维护功能。2 2对工程数据的追踪和查询功能。对工程数据的追踪和查询功能。3

25、 3支持多种用户视图。支持多种用户视图。4 4可对工程数据提供多种方式的报表输出。可对工程数据提供多种方式的报表输出。5 5支持内部元素和功能元素的可重用性。支持内部元素和功能元素的可重用性。6 6提供各种历史信息的搜集和归档。提供各种历史信息的搜集和归档。7 7提供支持配置管理的机制。提供支持配置管理的机制。8 8具有较完善的数据完好性和平安性保证措施。具有较完善的数据完好性和平安性保证措施。9 9提供与外部环境的接口。提供与外部环境的接口。1010具有合理的呼应时间和运转性能。具有合理的呼应时间和运转性能。5.5.软件环境数据库除具备普通事务处置数据库的特征外,还具有顺应软件环境数据库除具

26、备普通事务处置数据库的特征外,还具有顺应 软件开发环境的一些特征。主要包括以下几个方面:软件开发环境的一些特征。主要包括以下几个方面:一一. .集成化工程支持环境集成化工程支持环境IPSE(Integrated Project Support Environment)IPSE(Integrated Project Support Environment)是上世是上世 纪后期各个兴隆国家在研制软件工程环境过程中纪后期各个兴隆国家在研制软件工程环境过程中, ,把开发集成化的工程作为重点把开发集成化的工程作为重点, , 推出的产品。使软件工程环境逐渐走向成熟,朝着适用化、产品化和规范化的方推出的产品

27、。使软件工程环境逐渐走向成熟,朝着适用化、产品化和规范化的方 向开展。我国在这方面也获得了很大的成果向开展。我国在这方面也获得了很大的成果, ,推出了推出了“青鸟算机辅辅助软件工程青鸟算机辅辅助软件工程 等产品。等产品。二二.IPSE.IPSE的根本组成的根本组成 IPSE IPSE是一种多级的层次构造,包括中心层、根本层、运用层至少三个层次是一种多级的层次构造,包括中心层、根本层、运用层至少三个层次( (下页下页) )。 1. 1.中心层:在最里面,包括:中心层:在最里面,包括: (1) (1)由宿主机和操作系统构成的虚拟机;由宿主机和操作系统构成的虚拟机; (2) (2)环境数据库环境数据

28、库( (或文件数据库或文件数据库) )及其支持软件及其支持软件( (如数据库管理系统或文件管理系如数据库管理系统或文件管理系 统统) ),环境数据库是中心层的中心,环境数据库是中心层的中心, ,它既要存放工程的各种开发文档与管理文它既要存放工程的各种开发文档与管理文 档档, ,又要承当各种工具之间的信息交换又要承当各种工具之间的信息交换, ,它是环境研讨的重点;它是环境研讨的重点; (3) (3)以及从工具到系统以及从工具到系统( (含数据库含数据库) )的接口。的接口。 2. 2.根本层:包括软件开发所需的最小限制工具,又称最小支持环境。普通包括:根本层:包括软件开发所需的最小限制工具,又称

29、最小支持环境。普通包括: (1) (1)常用的编译、编辑、调试、连结常用的编译、编辑、调试、连结/ /装配、配置管理等适用程序;装配、配置管理等适用程序; (2) (2)命令解释程序和支持用户的一些操作工具命令解释程序和支持用户的一些操作工具, ,如如: :菜单生成系统、图形系统、多菜单生成系统、图形系统、多 窗口系统等。窗口系统等。工具与系统界面工具与系统界面环境数据库与环境数据库与文件数据库文件数据库主机硬件与主机硬件与操作系统操作系统中心层中心层根本层根本层IPSEIPSE的典型构造图的典型构造图衔接衔接程序程序测试程序测试程序装入程序装入程序运转运转程序程序命令解命令解释程序释程序各种

30、言各种言语编译语编译 程序程序调试调试程序程序操作支操作支持工具持工具配置配置管理管理编辑编辑程序程序运用层运用层快速原快速原型开发型开发 工具工具需求分需求分析工具析工具维护管维护管理工具理工具美化打美化打印工具印工具测试分测试分析工具析工具各种方法开发工具各种方法开发工具其它其它工具工具用户界面用户界面 3. 3.运用层运用层: :包括支持生存周期内各个阶段活动的工具包括支持生存周期内各个阶段活动的工具, ,及支持不同系统开发及支持不同系统开发 方法学的工具方法学的工具, ,内容比较灵敏内容比较灵敏, ,可根据开发者的需求增删。可根据开发者的需求增删。三三.IPSE.IPSE的特征的特征

31、1. 1.集成化和相互兼容的工具集;集成化和相互兼容的工具集; 2. 2.支持工程的管理和控制;支持工程的管理和控制; 3. 3.支持配置管理;支持配置管理; 4. 4.支持多种言语的软件开发;支持多种言语的软件开发; 5. 5.支持硬件开发;支持硬件开发; 6. 6.允许宿主机和目的机运用分布式系统。允许宿主机和目的机运用分布式系统。四四.IPSE.IPSE的分代的分代 按照工具的集成化程度及环境内公共数据的不同组织方式,按照工具的集成化程度及环境内公共数据的不同组织方式,IPSEIPSE分为三代。分为三代。 第一代的代表是第一代的代表是UNIXUNIX环境,以文件库为中心,在文件库的根底上

32、集成工具集;环境,以文件库为中心,在文件库的根底上集成工具集; 第二代以数据库为中心,其工具集具有更高的集成度和一致协调的用户界面;第二代以数据库为中心,其工具集具有更高的集成度和一致协调的用户界面; 第三代是建立在知识库根底上的集成环境,其工具集能完全实现义务的来回第三代是建立在知识库根底上的集成环境,其工具集能完全实现义务的来回切换,不再需求用户的干涉。切换,不再需求用户的干涉。特征特征第一代第一代第二代第二代第三代第三代中心中心工具工具集成集成 工具工具切换切换 生存生存周期周期 运用运用界面界面 三代三代IPSEIPSE的主要特征和比较的主要特征和比较以文件库为中心。以文件库为中心。以

33、数据库为中心。以数据库为中心。以知识库为中心。以知识库为中心。 各工具有本人独立的文各工具有本人独立的文件构造,共同组成环境文件构造,共同组成环境文件库。件库。 工具和文件都是环境工具和文件都是环境数据库的实体,不再视数据库的实体,不再视为独立的成分。为独立的成分。 只需集成化的工具集,只需集成化的工具集,不再存在分立的工具。不再存在分立的工具。 能部分实现由一个工具能部分实现由一个工具到另一个工具的切换。到另一个工具的切换。 具有一致与调和的用具有一致与调和的用户界面。户界面。 完全自动义务切换,不完全自动义务切换,不需求用户的干涉。需求用户的干涉。 支持软件全生存周期的支持软件全生存周期的

34、活动。活动。 支持软件全生存周期支持软件全生存周期的活动,并支持一种以的活动,并支持一种以上的程序设计方法学。上的程序设计方法学。 支持包括软硬件在内的支持包括软硬件在内的运用系统全生存周期的开运用系统全生存周期的开发活动,包括大规模集成发活动,包括大规模集成电路的设计。电路的设计。不支持分布式运用。不支持分布式运用。支持分布式运用。支持分布式运用。支持分布式运用。支持分布式运用。采用菜单技术。采用菜单技术。 配备高分辨率彩显,配备高分辨率彩显,有图标和多窗口功能,有图标和多窗口功能,运用鼠标器。运用鼠标器。 多窗口技术,大量运用多窗口技术,大量运用鼠标器,最终用户仅需运鼠标器,最终用户仅需运

35、用命令言语。用命令言语。看问题角度看问题角度含含 义义功功 能能狭义角度狭义角度 广义角度广义角度学术研讨学术研讨角角 度度 软件产业软件产业角角 度度 一一.CASE.CASE概述概述 1.CASE 1.CASE是计算机辅助软件工程是计算机辅助软件工程 (Computer-Aided Software Engineering) (Computer-Aided Software Engineering)的简称。的简称。 2. 2.简单的说简单的说, ,可以将可以将CASECASE了解为了解为: : CASE= CASE=软件工程软件工程+ +自动化工具自动化工具 3.CASE 3.CASE的概

36、念可以从不同角度给予解释的概念可以从不同角度给予解释: :是一组工具和方法的结合。是一组工具和方法的结合。 辅助软件生存周期各个阶段的软辅助软件生存周期各个阶段的软件开发。件开发。辅助软件开发的任何计算机技术。辅助软件开发的任何计算机技术。在软件开发和维护过程中,在软件开发和维护过程中,提供计算机辅助支持;提供计算机辅助支持;引入工程化方法。引入工程化方法。 是软件开发方法、软件开发管是软件开发方法、软件开发管理和软件工具等方面多年研讨和理和软件工具等方面多年研讨和开展的产物。开展的产物。 把软件开发技术、方法和软件工把软件开发技术、方法和软件工具集成为一个一致而一致的框架。具集成为一个一致而

37、一致的框架。 是种类繁多的软件开发和系统是种类繁多的软件开发和系统集成的产品和软件工具的集合。集成的产品和软件工具的集合。 支持软件开发方法,提高软件开支持软件开发方法,提高软件开发效率,增进软件产品的质量。发效率,增进软件产品的质量。CASECASE工具工具环环 境境工工 作作 台台工工 具具以过程为以过程为中心的环境中心的环境集成集成环境环境分析与设计分析与设计编程编程测试测试一方法一方法任务台任务台多方法多方法任务台任务台特定言语特定言语任务台任务台多言语多言语任务台任务台二二.CASE.CASE工具分类工具分类 CASE CASE工具可以了解为除工具可以了解为除OSOS外外的一切软件工

38、具的总称。的一切软件工具的总称。 1. 1.按对软件过程的支持范围按对软件过程的支持范围 CASE CASE工具分为三类:工具分为三类: (1) (1)工具工具: : 支持单个义务;支持单个义务; (2) (2)任务台:支持某一软任务台:支持某一软 件过程或一个过程中件过程或一个过程中 的某些活动;的某些活动; (3) (3)环境:支持某些软件环境:支持某些软件 过程及相关的大部分过程及相关的大部分 活动。活动。 如图:如图:编辑器编辑器文件文件比较器比较器编译器编译器支持支持典型工具典型工具支持支持典型工具典型工具支持支持典型工具典型工具需求需求分析分析编码编码工具工具维护维护与与了解了解概

39、要概要设计设计配置配置管理管理测试测试工具工具详细详细设计设计2.2.按对软件过程的支持活动按对软件过程的支持活动CASECASE工具分类如下表所示工具分类如下表所示数据流图工具数据流图工具实体实体- -关系模型工具关系模型工具形状转换图工具形状转换图工具数据字典工具数据字典工具面向对象建模工具面向对象建模工具分析、验证需求定义规分析、验证需求定义规约工具约工具程序构造图设计工具程序构造图设计工具面向对象设计工具面向对象设计工具HIPOHIPO图工具图工具PDL(PDL(设计程序文语设计程序文语) )工具工具PAD(PAD(问题分析图问题分析图) )工具工具代码转换工具代码转换工具正文编辑程序

40、正文编辑程序衔接程序衔接程序语法制导编辑程序语法制导编辑程序变化管理工具变化管理工具版本管理工具版本管理工具静态分析程序静态分析程序动态覆盖率测试程序动态覆盖率测试程序测试结果分析程序测试结果分析程序测试报告生成程序测试报告生成程序测试用例生成程序测试用例生成程序测试管理工具测试管理工具符号调试程序符号调试程序运用生成程序运用生成程序第四代言语第四代言语OOOO程序设计环境程序设计环境源程序源程序流程图转换工具流程图转换工具源程序源程序PADPAD转换工具转换工具程序了解工具程序了解工具文档分析工具文档分析工具程序构造分析程序程序构造分析程序任务台任务台支持的软件过程活动支持的软件过程活动例例

41、 子子程序设计程序设计 分析设计分析设计 测测 试试 交叉开发交叉开发 配置管理配置管理 文文 档档 工程管理工程管理 三三. .任务台:是一组工具集,支持象设计、实现或测试等特定的软件开发阶段。任务台:是一组工具集,支持象设计、实现或测试等特定的软件开发阶段。 它是经过共享文件、共享仓库或共享数据构造来集成。它是经过共享文件、共享仓库或共享数据构造来集成。 由支持程序设计的一组由支持程序设计的一组工具组成。工具组成。 支持软件过程的分析和支持软件过程的分析和设计阶段。设计阶段。 支持特定的运用和组织支持特定的运用和组织构造。具有较好的开放性。构造。具有较好的开放性。 支持在一种机器上开发支持

42、在一种机器上开发的软件,而在别的其它系的软件,而在别的其它系统上运转所开发的软件。统上运转所开发的软件。支持配置管理。支持配置管理。支持高质量的文档制造。支持高质量的文档制造。支持工程管理活动。支持工程管理活动。 将编辑器、编译器和调试器集成在一个宿主将编辑器、编译器和调试器集成在一个宿主机上构成的程序设计任务台。机上构成的程序设计任务台。 支持构造化方法的任务台,支持面向对象方法支持构造化方法的任务台,支持面向对象方法的分析和设计任务台。的分析和设计任务台。交叉编辑器、目的机模拟器、从宿主机到目的交叉编辑器、目的机模拟器、从宿主机到目的机上下载的通讯软件包,及远程运转的监控程机上下载的通讯软

43、件包,及远程运转的监控程序。序。版本管理工具、改动跟踪工具、系统装配工具。版本管理工具、改动跟踪工具、系统装配工具。 字处置器、单面印刷系统、图表图像编辑器、字处置器、单面印刷系统、图表图像编辑器、文档阅读器等。文档阅读器等。工程规划和质量、开支评价和预算追踪工具等。工程规划和质量、开支评价和预算追踪工具等。源程序源程序构造化编辑器构造化编辑器已编译代码已编译代码符号表符号表语法树语法树言语编译器言语编译器连结器连结器可执行程序可执行程序加载器加载器交互式调试器交互式调试器可执行程序可执行程序执行报告执行报告动态分析器动态分析器格式化源文件列表格式化源文件列表程序报告程序报告按格式打印按格式打

44、印交叉援用交叉援用静态分析器静态分析器用户用户调用调用调用调用编辑编辑 利用语法树和符利用语法树和符号表作为共享数据号表作为共享数据来进展工具集成。来进展工具集成。1.1.程序设计任务台:支持程序开发的一组工具,构造如以下图所示:程序设计任务台:支持程序开发的一组工具,构造如以下图所示:程序库程序库名名 称称功功 能能言语编译器言语编译器构造化编辑器构造化编辑器连连 结结 器器加加 载载 器器交交 叉叉 援用援用按格式打印按格式打印静态分析器静态分析器 动态分析器动态分析器 交互式调试器交互式调试器 市场上通常将程序设计言语任务台作为包括附加工具的言语编辑器来出卖。如:市场上通常将程序设计言语

45、任务台作为包括附加工具的言语编辑器来出卖。如:Basic,C,C+,Pascal,Lisp,SmalltalkBasic,C,C+,Pascal,Lisp,Smalltalk等。等。上图中程序设计任务台中的上图中程序设计任务台中的CASECASE工具功能由下表所示工具功能由下表所示将源代码转换成目的码。创建一个笼统语法树将源代码转换成目的码。创建一个笼统语法树(AST)(AST)和一个符号表。和一个符号表。结合嵌入的程序设计言语,对结合嵌入的程序设计言语,对ASTAST中程序的语法表示进展编辑。中程序的语法表示进展编辑。将已编译的程序的目的代码模块衔接起来。将已编译的程序的目的代码模块衔接起来

46、。在可执行程序执行之前将其加载到计算机内存。在可执行程序执行之前将其加载到计算机内存。产生一个交叉援用列表,显示一切的程序名是在那里声明和运用的。产生一个交叉援用列表,显示一切的程序名是在那里声明和运用的。扫描扫描ASTAST,根据嵌入的格式规那么打印源文件程序。,根据嵌入的格式规那么打印源文件程序。 分析源文件代码,找到未初始化的变量、不能执行到的代码、未调分析源文件代码,找到未初始化的变量、不能执行到的代码、未调用的函数和过程等异常。用的函数和过程等异常。 产生带附注的源文件代码列表,附注上标有程序运转时每个语句执产生带附注的源文件代码列表,附注上标有程序运转时每个语句执行的次数或生成有关

47、程序分支和循环的信息,统计处置器的运用情况。行的次数或生成有关程序分支和循环的信息,统计处置器的运用情况。允许用户来控制程序的执行次序,显示执行期间的程序形状。允许用户来控制程序的执行次序,显示执行期间的程序形状。构造化图表制造工具构造化图表制造工具设计分析和检查工具设计分析和检查工具代码生成器代码生成器查询言语设备查询言语设备数据字典数据字典报告生成设备报告生成设备图表创建工具图表创建工具移入移入/ /移出设备移出设备中央信息仓库中央信息仓库这些工具经过一个共享仓库这些工具经过一个共享仓库( (中央信息仓库中央信息仓库) )集成。集成。 2. 2.分析和设计任务台:支持软件的分析和设计阶段分

48、析和设计任务台:支持软件的分析和设计阶段( (在这阶段系统模型已建立,如数在这阶段系统模型已建立,如数 据库模型据库模型, ,实体关系模型实体关系模型) )。 (1) (1)它支持特定的设计或分析方法,如面向对象的分析;它支持特定的设计或分析方法,如面向对象的分析; (2) (2)它是更通用的图表编辑系统它是更通用的图表编辑系统, ,能处置大多数图表类型;能处置大多数图表类型; (3) (3)它提供的方法和指南,能进展一些自动图表检查任务。它提供的方法和指南,能进展一些自动图表检查任务。 它能够包括的工具如以下图所示:它能够包括的工具如以下图所示: 而该仓库普通是任务台开发者专有的,因此分析和

49、设计任务台通常也是封锁而该仓库普通是任务台开发者专有的,因此分析和设计任务台通常也是封锁式的环境。式的环境。名名 称称功功 能能图表编辑器图表编辑器设计分析和设计分析和检查工具检查工具仓库查询言语仓库查询言语数据字典数据字典报告生成设备报告生成设备移入移入/ /移出设备移出设备代码生成器代码生成器由于其封锁性,分析和设计任务台的缺陷:由于其封锁性,分析和设计任务台的缺陷:(1)(1)移入移入/ /移出遭到限制移出遭到限制, ,与其它任务台互换数据时会发生问题;与其它任务台互换数据时会发生问题;(2)(2)不能裁剪和修正一个设计方案,用户通常不能够用本人的规那么取代一个原有规那么;不能裁剪和修正一个设计方案,用户通常不能够用本人的规那么取代一个原有规那么;(3)(3)任务台本人提供的配置管理系统能够与一个组织机构中运用的系统不兼容。任务台本人提供的配置管理系统能够与一个组织机构中运用的系统不兼容。上图中分析和设计任务台中的上图中分析和设计任务台中的CASECASE工具功能由下表所示工具功能由下表所示创建数据流图、构造图、实体关系图等。创建数据流图、构造图、实体关系图等。进展分析,并报告错误和异常情况。进展分析,并报告错误和异常情况。允许设计者查询仓库,找到与设计相关的信息。允许设计者查询仓库,找到与设计相关的信息。维护系统中所用的实体信

温馨提示

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

评论

0/150

提交评论