十章软件工具与开发环境.ppt
《十章软件工具与开发环境.ppt》由会员分享,可在线阅读,更多相关《十章软件工具与开发环境.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、十章软件工具与开发环境 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望10.1软件工具软件工具(1)(1)一一.软件工具软件工具 1.1.软件工具软件工具:是指为支持计算机软件及其文档的开发、维护、模拟、:是指为支持计算机软件及其文档的开发、维护、模拟、移植或管理而研制的程序系统。移植或管理而研制的程序系统。2.2.软件工具的软件工具的范围范围 (1)(1)传统工具传统工具:文本编辑程序、汇编程序、解释程序和编译程序等;文本编辑程序、汇编程序、解释程序和编译程序等
2、;(2)(2)支持软件生存周期支持软件生存周期各阶段的需求分析、设计、编码、测试、维各阶段的需求分析、设计、编码、测试、维 护等护等工具工具和和管理工具管理工具。3.3.软件工具软件工具作用作用:辅助软件人员进行软件开发或维护过程中某一或几:辅助软件人员进行软件开发或维护过程中某一或几 个环节的工作,有效提高软件的生产率和质量。个环节的工作,有效提高软件的生产率和质量。二二.软件工具的软件工具的发展发展过程过程 1.1.软件工具的发展经历了从简单工具到复杂工具、从手工工具到自动软件工具的发展经历了从简单工具到复杂工具、从手工工具到自动 工具、从支持程序设计阶段的工具到支持软件开发全过程的工具、
3、工具、从支持程序设计阶段的工具到支持软件开发全过程的工具、从单个工具到工具集成的演变过程。从单个工具到工具集成的演变过程。210.110.1软件工软件工具具(2)(2)2.2.软件工具的几个发展阶段软件工具的几个发展阶段 阶段应 用代表性工具程序程序设计设计程序程序系统系统软件软件工程工程软件软件产品产品 手工作业方式手工作业方式,在这阶段从框图到编在这阶段从框图到编码几乎没有软件工具支持。码几乎没有软件工具支持。机器指令、机器指令、汇编指令。汇编指令。各种高级语言的编译程序各种高级语言的编译程序,各种程序各种程序语言的调试工具。语言的调试工具。排错程序、静态分析和动态跟排错程序、静态分析和动
4、态跟踪工具等。踪工具等。重视软件开发各阶段支持工具的研重视软件开发各阶段支持工具的研制和应用。随着结构化程序设计、模制和应用。随着结构化程序设计、模块化程序设计等技术的广泛应用,出块化程序设计等技术的广泛应用,出现了一大批软件工具或系统。现了一大批软件工具或系统。需求分析工具、软件设计工需求分析工具、软件设计工具、文档化工具、代码自动生具、文档化工具、代码自动生成工具、测试工具、源代码管成工具、测试工具、源代码管理工具及项目管理工具等。理工具及项目管理工具等。软件开始成为一种工业化的产品时软件开始成为一种工业化的产品时,开始使用设计规格语言来编写软开始使用设计规格语言来编写软件设计说明书件设计
5、说明书,以自动生成方式来生产软件。目前进一步发展为以需求以自动生成方式来生产软件。目前进一步发展为以需求规格描述语言来书写用户需求规格书,通过自动化工具从软件资源库规格描述语言来书写用户需求规格书,通过自动化工具从软件资源库中选取程序模块和数据模块,自动结合,生成界面,从而得到满足用中选取程序模块和数据模块,自动结合,生成界面,从而得到满足用户需求的软件产品。户需求的软件产品。310.1软件工具软件工具(3)(3)阶段功 能工 具三三.软件工具的分类软件工具的分类1.1.按软件生命周期的阶段分类按软件生命周期的阶段分类需求需求分析分析定义需求规格。定义需求规格。数据流图绘制与分析工具、状态转换
6、图绘制与分析工具、数据流图绘制与分析工具、状态转换图绘制与分析工具、面向对象的模型和分析工具、快速原型构造工具、数据字面向对象的模型和分析工具、快速原型构造工具、数据字典与数据库工具等。典与数据库工具等。软件软件设计设计 描述设计结果形描述设计结果形成设计软件规格。成设计软件规格。HIPO HIPO图、图、PDL(PDL(程序设计语言程序设计语言)或或PAD(PAD(问题分析图问题分析图)支持工支持工具等。具等。编码编码 提供各种便利的提供各种便利的编程作业环境。编程作业环境。集成化的程序员工作平台。主要包括:各种正文编辑器和集成化的程序员工作平台。主要包括:各种正文编辑器和常规的编译程序、汇
7、编程序、连结程序及符号调试器等。常规的编译程序、汇编程序、连结程序及符号调试器等。软件软件测试测试支持整个测试过程支持整个测试过程 支持整个测试过程包括选择测试用例生成测试程序与测试数据、测试的执行、测试支持整个测试过程包括选择测试用例生成测试程序与测试数据、测试的执行、测试结果的评价及添加测试数据等。结果的评价及添加测试数据等。静态分析器、动态覆盖率测试器、测试用例生成器、测静态分析器、动态覆盖率测试器、测试用例生成器、测试报告生成器及环境模拟器等。试报告生成器及环境模拟器等。软件软件维护维护软件的各种维护。软件的各种维护。反汇编程序、反编译程序、程序结构分析器、源程序反汇编程序、反编译程序
8、、程序结构分析器、源程序格式化工具、文档生成工具、源程序至格式化工具、文档生成工具、源程序至PAD(PAD(问题分析图问题分析图)或流程图的自动转换工具等。或流程图的自动转换工具等。410.1软件工具软件工具(4)(4)开发技术支持工具项目管理工具2.2.按软件功能分类按软件功能分类系统描述系统描述基本软件的编程语言。基本软件的编程语言。辅助系统管理人员完成项目开发人辅助系统管理人员完成项目开发人员和成本估算、项目开发计划、项目员和成本估算、项目开发计划、项目资源分配与调度、软件质量保证、软资源分配与调度、软件质量保证、软件配制管理和版本控制、风险分析、件配制管理和版本控制、风险分析、项目状态
9、报告和追踪等工作。项目状态报告和追踪等工作。环境模拟环境模拟 对实际环境进行模拟或借助工具对实际环境进行模拟或借助工具进行故障状态的环境模拟。进行故障状态的环境模拟。调试测试调试测试查明系统故障原因,并进行恢复。查明系统故障原因,并进行恢复。性能评价性能评价 测试系统是否达到设计性能指标,测试系统是否达到设计性能指标,及设计的性能指标是否合理,还可及设计的性能指标是否合理,还可得到系统调试所必需的性能参数。得到系统调试所必需的性能参数。在系统发生故障时,迅速得到分在系统发生故障时,迅速得到分析判断故障原因所需的各种信息,析判断故障原因所需的各种信息,帮助系统维护人员迅速排除故障。帮助系统维护人
10、员迅速排除故障。运行维护运行维护一一般般软软件件工工具具 从软件开发到维护的全过从软件开发到维护的全过程中,支持源程序、数据文程中,支持源程序、数据文件的管理和维护以及文档化件的管理和维护以及文档化的工具。的工具。510.1软件工具软件工具(5)(5)四四.软件工具的评价原则软件工具的评价原则 1.1.易用性易用性:友好的用户界面,用户乐于使用。友好的用户界面,用户乐于使用。2.2.对开发方法的支持对开发方法的支持:能满足预期的任务和功能需求,且能:能满足预期的任务和功能需求,且能 支持完成该任务所遵循的方法学。支持完成该任务所遵循的方法学。3.3.稳健性稳健性:具备自检测机制具备自检测机制,
11、即使在故障情况下也不会导致严即使在故障情况下也不会导致严 重后果重后果.4.4.性能性能:能使资源得到充分有效的利用。能使资源得到充分有效的利用。5.5.工具工具结构柔性结构柔性:工具结构是柔软的、可修改的和可扩充的。工具结构是柔软的、可修改的和可扩充的。610.210.2软件开发环软件开发环境境(1)(1)一一.软件开发环境软件开发环境:将一组相关的软件工具按照一定的软件开发方法、软件生将一组相关的软件工具按照一定的软件开发方法、软件生 产和维护模型有机的组合起来,为特定的领域所使用,以支持从需求分产和维护模型有机的组合起来,为特定的领域所使用,以支持从需求分 析、设计、编码、测试直到维护的
12、整个软件生命周期的计算机辅辅助开析、设计、编码、测试直到维护的整个软件生命周期的计算机辅辅助开 发程序系统。软件开发环境有人也称为发程序系统。软件开发环境有人也称为“软件工程环境软件工程环境”、“CASE“CASE环境环境”。二二.软件开发环境的软件开发环境的分类分类 1.1.按按解决的问题解决的问题分类分类面向功 能环境工具程序设程序设计环境计环境 如何将规格说明转换为可运行的程如何将规格说明转换为可运行的程序序,属于局部编程的范畴。属于局部编程的范畴。UNIX UNIX设计环境、设计环境、AdaAda程序设计环程序设计环境境(APSE)(APSE)等。等。系统合系统合成环境成环境 将多个子
13、系统集成一个大系统,属将多个子系统集成一个大系统,属于全局编程的范畴。于全局编程的范畴。接口控制接口控制:模块相连和资源共享模块相连和资源共享问题的描述和制约;版本控制问题的描述和制约;版本控制:对对系统的各个版本的描述和生成。系统的各个版本的描述和生成。项目管项目管理环境理环境 解决由于软件产品规模大、开发周解决由于软件产品规模大、开发周期长、参加人员多等而造成的管理问期长、参加人员多等而造成的管理问题,属于多方编程的范畴。题,属于多方编程的范畴。由记录和维护系统开发的状态信由记录和维护系统开发的状态信息,文档的集成和分发组成。息,文档的集成和分发组成。710.210.2软件开发环软件开发环
14、境境(2)(2)2.2.按按技术发展方向技术发展方向分类分类技术特 点以语言以语言为中心为中心的环境的环境 提供一套适合于一种语言的工具集。通常是高交互式的提供一套适合于一种语言的工具集。通常是高交互式的,对系统集成只提供有对系统集成只提供有限支持,适于探索性的软件开发。如限支持,适于探索性的软件开发。如INTERLISPINTERLISP程序设计环境程序设计环境(开发开发LISPLISP程序程序)、CedarCedar环境环境(以以Meas/Cedareas/Cedar语言为中心语言为中心)、APSEAPSE程序设计环境程序设计环境(以以AdaAda语言为中心语言为中心)面向结面向结构化的构
15、化的环环 境境 为用户提供一种以编辑器为核心的支持交互式语法结构、语义分析、程序执为用户提供一种以编辑器为核心的支持交互式语法结构、语义分析、程序执行和调试的用户程序设计环境。用户只能在结构化的元素上操作,用户看到的行和调试的用户程序设计环境。用户只能在结构化的元素上操作,用户看到的不是通常的源程序文本,而是抽象的语法树。不是通常的源程序文本,而是抽象的语法树。工具箱工具箱环环 境境 在某种在某种OSOS基础上通过一组小的实用工具构成,虽然各工具之间往往相互独立,基础上通过一组小的实用工具构成,虽然各工具之间往往相互独立,但系统提供统一的用户命令界面及工具之间统一的数据交换方式。但系统提供统一
16、的用户命令界面及工具之间统一的数据交换方式。工具箱中各工具之间是相互独立的,用户可根据需要进行灵活的增加和裁减。工具箱中各工具之间是相互独立的,用户可根据需要进行灵活的增加和裁减。工具箱环境中一般除了包括支持编码阶段的工具工具箱环境中一般除了包括支持编码阶段的工具(如编辑程序、编译程序、如编辑程序、编译程序、汇编程序、连结程序调试程序等汇编程序、连结程序调试程序等)外,还可包括支持大型软件开发方面的工具。外,还可包括支持大型软件开发方面的工具。由于工具箱环境具有较强的通用性和灵活性,因而目前商品化的算机系系统由于工具箱环境具有较强的通用性和灵活性,因而目前商品化的算机系系统上配置的软件环境大多
17、属于这一类。如:上配置的软件环境大多属于这一类。如:UNIXUNIX程序设计环境、及程序设计环境、及VAX/VNS SETVAX/VNS SET、PCDEPCDE、APCEAPCE等程序设计环境。等程序设计环境。810.210.2软件开发环境软件开发环境(3)(3)3.3.按按集成化程度集成化程度分类分类集成第一代第二代第三代基础 集成方式 调用方式 工具结构 界面 建立在建立在OS之上,如之上,如UNIX、VMS等;等;环境数据库建立在环境数据库建立在DBS之上,之上,如如DB2ORACLK、SYBASE、INFOMIX等;等;建立在知识库系统上,向建立在知识库系统上,向智能化方向发展;智能
18、化方向发展;工具之间通过一个公用框工具之间通过一个公用框架进行集成;现有工具不需架进行集成;现有工具不需经过大的修改即可加入;经过大的修改即可加入;工具集成在更基本的层次上;工具集成在更基本的层次上;现有工具不能随意加入,需作现有工具不能随意加入,需作适当的修改和定制;适当的修改和定制;通过通过OSOS的命令语言接口的命令语言接口或程序调用接口使用这些或程序调用接口使用这些工具;工具;顺序调用分立工具的方式顺序调用分立工具的方式完全被集成化的工具所代替,完全被集成化的工具所代替,用户不需要在任务之间来回用户不需要在任务之间来回切换不同的工具;切换不同的工具;工具使用统一的文件结构,工具使用统一
19、的文件结构,并成为环境信息库的一部分并成为环境信息库的一部分 采用形式化方法、面向对象采用形式化方法、面向对象的方法和软件重用等新技术;的方法和软件重用等新技术;人机界面采用单色、低分人机界面采用单色、低分辨的文字终端,图形能力差,辨的文字终端,图形能力差,使用菜单技术;使用菜单技术;人机界面采用高分辨率图形人机界面采用高分辨率图形显示终端,支持鼠标,具有多显示终端,支持鼠标,具有多窗口、图标、对话框等功能。窗口、图标、对话框等功能。由多个工具控制的多窗口由多个工具控制的多窗口技术被单个工具控制的多窗技术被单个工具控制的多窗口技术所代替。口技术所代替。工具和文档都作为实体工具和文档都作为实体统
20、一放在环境数据库中;统一放在环境数据库中;用户根据任务,从数据库用户根据任务,从数据库中依次调用所需要的工具;中依次调用所需要的工具;910.210.2软件开发环境软件开发环境(4)(4)命令语言解释程序命令语言解释程序命令处理程序集命令处理程序集高级输入程序高级输入程序显示服务程序显示服务程序图形设备驱动程序图形设备驱动程序输入设备驱动程序输入设备驱动程序交互式人机界面交互式人机界面工工具具1 1工工具具2 2工工具具n n软件环境数据库软件环境数据库(1)(1)屏幕管理屏幕管理:包括屏幕布局和包括屏幕布局和 动态控制两方面的功能;动态控制两方面的功能;(2)(2)对话管理;对话管理;(3)
21、(3)错误信息显示和处理;错误信息显示和处理;(4)(4)用户支持;用户支持;(5)(5)相关设施服务;相关设施服务;(6)(6)智能化交互系统。智能化交互系统。见右图。见右图。三三.软件开发环境的构成和主要特征软件开发环境的构成和主要特征 1.1.软件开发环境的构成软件开发环境的构成:交互式人机界面、工具集及软件交互式人机界面、工具集及软件 环境数据库。如右图:环境数据库。如右图:2.2.交互式人机界面交互式人机界面:人机界面人机界面(也称用户界面或人机对话也称用户界面或人机对话)是用户与计算机系统之间相互交流的中间媒介。是用户与计算机系统之间相互交流的中间媒介。它包括以下几个方面它包括以下
22、几个方面:1010.210.2软件开发环软件开发环境境(5)(5)3.3.工具集工具集 (1)(1)软件工具是构成软件开发环境的软件工具是构成软件开发环境的基本成分基本成分。(2)(2)包含在包含在软件开发环境中的工具软件开发环境中的工具不是各自封闭和分离的,而是与某种软件不是各自封闭和分离的,而是与某种软件 开发方法或某种软件加工模型相适应,并以一种综合的、一致的和整体开发方法或某种软件加工模型相适应,并以一种综合的、一致的和整体 连贯的形态来支持软件开发的全过程。连贯的形态来支持软件开发的全过程。4.4.软件环境数据库软件环境数据库(又称软件工程数据库或项目数据库又称软件工程数据库或项目数
23、据库)(1)(1)软件环境数据库是用于软件环境数据库是用于支持软件项目支持软件项目的大型数据库。的大型数据库。(2)(2)软件环境数据库中主要软件环境数据库中主要存储存储软件开发过程中产生的有关产品或半成品的软件开发过程中产生的有关产品或半成品的 数据及各种项目数据,如源程序、测试数据和各种文档等。数据及各种项目数据,如源程序、测试数据和各种文档等。(3)(3)软件环境数据库构成软件开发和维护过程中所有项目数据的集中化的存软件环境数据库构成软件开发和维护过程中所有项目数据的集中化的存 储设施储设施,是集成化是集成化软件开发环境的核心组成部分软件开发环境的核心组成部分,也是各个软件工具之间也是各
24、个软件工具之间 共享数据共享数据及及相互连结相互连结的统一媒介。的统一媒介。(4)(4)软件环境数据库基本上软件环境数据库基本上属于专用的工具型数据库属于专用的工具型数据库,其中需要存储、管理其中需要存储、管理 和维护的软件项目数据与一般信息管理有很大的区别。和维护的软件项目数据与一般信息管理有很大的区别。1110.210.2软件开发环软件开发环境境(6)(6)1 对项目数据(产品、资源、计划中的结构化、非结构化或半结构化数据)的存取和维护功能。2对项目数据的追踪和查询功能。3支持多种用户视图。4可对项目数据提供多种形式的报表输出。5支持内部元素和功能元素的可重用性。6提供各种历史信息的收集和
25、归档。7提供支持配置管理的机制。8具有较完善的数据完整性和安全性保证措施。9提供与外部环境的接口。10具有合理的响应时间和运行性能。5.5.软件环境数据库除具备一般事务处理数据库的特征外,还具有软件环境数据库除具备一般事务处理数据库的特征外,还具有适应适应 软件开发环境的一些特征软件开发环境的一些特征。主要包括以下几个方面:。主要包括以下几个方面:1210.310.3集成化项目支持环境集成化项目支持环境(1)(1)一一.集成化项目支持环境集成化项目支持环境IPSEIPSE(Integrated Project Support Environment)(Integrated Project Su
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 工具 开发 环境
限制150内