您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第八章 软件开发工具与环境
本文由elminya贡献ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。第八章、第八章、软件开发工具与环境1)计算机辅助软件工程CASE)计算机辅助软件工程(Computer-AidedSoftwareEngineering))CASE=软件工程+自动化工具CASE是一组工具和方法的集合。是辅助软件开发是一组工具和方法的集合。是一组工具和方法的集合的任何计算机技术,其含义为:的任何计算机技术,其含义为:在软件开发和/或维护中提供计算机辅助支持;或维护中,在软件开发和或维护中,提供计算机辅助支持;在软件开发和/或维护中引入工程化方法。或维护中,在软件开发和或维护中,引入工程化方法。2)CASE工具)工具狭义地说,是一类特殊的软件工具,用于辅助开发、狭义地说,是一类特殊的软件工具,用于辅助开发、分析、测试、维护另一计算机程序和/或文档或文档。分析、测试、维护另一计算机程序和或文档。广义地说,是除了OS之外的所有软件工具的总称之外的所有软件工具的总称。广义地说,是除了之外的所有软件工具的总称。CASE系统系统工具编辑器编译器文件比较器工作台分析和设计多方法工作台单方法工作台编程多语言工作台特定语言工作台环境测试集成环境以过程为中心的环境3)CASE工作台)工作台?CASE工作台是一组工具,支持像分析、设计或测试等工作台是一组工具,支持像分析、工作台是一组工具特定软件开发阶段。特定软件开发阶段。?工作台将一组工具组装(通过共享文件、数据结构和工作台将一组工具组装(通过共享文件、数据结构和/或数据仓库等实现集成),并使这组工具可以协同工作。或数据仓库等实现集成),并使这组工具可以协同工作。),并使这组工具可以协同工作?开放式工作台与封闭式工作台开放式工作台:开放式工作台:提供集成机制公有数据集成标准或协议程序设计工作台源程序调用结构化编辑器编辑交叉引用调用语言编译器程序库连接器可执行程序加载器语法树符号表已编译代码按格式打印静态分析器格式化文件列表程序报告交互式调试器用户可执行程序执行报告动态分析器语言编译器:将源代码程序转换为目标码。期间,语言编译器:将源代码程序转换为目标码。期间,创建一个抽象语法树(和一个符号表。创建一个抽象语法树(AST)和一个符号表。?结构化编辑器:结合嵌入的程序设计语言知识,对结构化编辑器:结合嵌入的程序设计语言知识,AST中的程序语法进行编辑。中的程序语法进行编辑。中的程序语法进行编辑?连接器:将已编译的程序目标码模块连接起来。连接器:将已编译的程序目标码模块连接起来。?加载器:在可执行程序执行之前,将之加载计算机加载器:在可执行程序执行之前,内存。内存。?交叉引用:产生一个交叉引用表,显示所有程序名交叉引用:产生一个交叉引用表,是在哪里声名和引用的。是在哪里声名和引用的。?按格式打印:扫描按格式打印:扫描AST,根据嵌入的格式规则,打,根据嵌入的格式规则,印源文件程序。印源文件程序。静态分析器:分析源文件代码,找到诸如未初始化的静态分析器:分析源文件代码,变量,不能执行的代码,未调用的函数和过程等异常。变量,不能执行的代码,未调用的函数和过程等异常。?动态分析器:产生带附注的一个源文件代码列表,标动态分析器:产生带附注的一个源文件代码列表,有程序运行时每个语句执行的次数,有程序运行时每个语句执行的次数,以及有关程序分支和循环的信息,并统计的使用情况等。和循环的信息,并统计CPU的使用情况等。的使用情况等?交互式调试器:允许用户来控制程序的执行次序,并交互式调试器:允许用户来控制程序的执行次序,显示执行期间的程序状态。显示执行期间的程序状态。一个设计和分析工作台数据字典结构化图表制作工具报告生成设施代码生成器中央信息仓库查询语言设施图表创建工具设计、设计、分析和检查工具移入/移出设施移入移出设施数据字典:维护系统设计中所用的实体信息。数据字典:维护系统设计中所用的实体信息。?代码生成器:从中央信息仓库中获取设计信息,自动生成代码生成器:从中央信息仓库中获取设计信息,代码或代码框架。代码或代码框架。?结构化图表制作工具:用来创建数据流图、结构图、实体结构化图表制作工具:用来创建数据流图、结构图、关系图等。它们不仅是绘图工具,关系图等。它们不仅是绘图工具,而且可以确认图表中各实体的类型;并获取实体的有关信息,实体的类型;并获取实体的有关信息,存放于中央信息仓库中。库中。?设计、分析和检查工具:分析设计信息,并报告错误和设计、分析和检查工具:分析设计信息,异常情况。异常情况。?报告定义和生成工具:从中央信息仓库中获取信息,并自报告定义和生成工具:从中央信息仓库中获取信息,动生成系统文档。动生成系统文档。?移入移出设施:支持中央信息仓库和其它软件开发工具移入/移出设施移出设施:交换信息。交换信息。?仓库查询语言:允许设计人员查询中央信息仓库,找到与仓库查询语言:允许设计人员查询中央信息仓库,设计有关的设计信息。设计有关的设计信息。测试工作台测试数据生成器源代码测试管理器规约测试数据预测器动态分析器被测试的程序测试结果测试预估执行报告模拟器文件比较器报告生成器测试结果报告测试数据生成器:生成被测程序的测试数据。这可以是从测试数据生成器:生成被测程序的测试数据。一个数据库中选取数据,一个数据库中选取数据,也可能是使用模式来生成正确格式的随机数据。的随机数据。?测试管理器:管理程序测试的运行和测试结果的报告。其测试管理器:管理程序测试的运行和测试结果的报告。中包含对测试数据的跟踪,对预期结果的跟踪,中包含对测试数据的跟踪,对预期结果的跟踪,对被测程序的跟踪等。的跟踪等。?预测器:生成对所期待的测试结果的预测。预测器:生成对所期待的测试结果的预测。?报告生成器:提供报告定义,以及测试结果的生成设施。报告生成器:提供报告定义,以及测试结果的生成设施。文件比较器:比较程序测试的结果和预期的结果,并报告文件比较器:比较程序测试的结果和预期的结果,它们之间的差异。它们之间的差异。?动态分析器:计算每条语句的执行次数,生成被测程序执动态分析器:计算每条语句的执行次数,行轮廓,特定点程序状态,语句覆盖情况等。行轮廓,特定点程序状态,语句覆盖情况等。?模拟器:模拟器:目标模拟器:是脚本驱动的程序,目标模拟器:是脚本驱动的程序,模拟多个同时进行的用户交互。用户交互。I/O模拟器:模拟程序的输入和输出,这意味着事务次序模拟器:模拟程序的输入和输出,模拟器的时标是可重复再现的。的时标是可重复再现的。??????4)软件工程环境)Wasserman五级模型五级模型(1990)五级模型APSE模型模型一个环境的层次模型大型软件开发环境青鸟系统定义:定义:软件工程环境以软件工程为依据,支持大型软件生产的系统。以软件工程为依据,支持大型软件生产的系统。具有以下特征:具有以下特征:?SEE强调支持软件生产的全过程;强调支持软件生产的全过程;强调支持软件生产的全过程?强调大型软件的工业化生产;强调大型软件的工业化生产;?以集成和剪裁作为主要技术途径;以集成和剪裁作为主要技术途径;?标准化。标准化。定义:软件开发环境定义:支持软件产品开发的软件系统。支持软件产品开发的软件系统。它由软件工具和环境集成机制构成,前者用以软件开发的相关过程、境集成机制构成,前者用以软件开发的相关过程、活动和任务,后者为工具集成和软件开发、和任务,后者为工具集成和软件开发、维护及管理提供统一的支持。统一的支持。五级模型(1990)(1)Wasserman五级模型)五级模型?平台集成:工具运行在相同的硬件操作系统平台上。平台集成:工具运行在相同的硬件/操作系统平台上操作系统平台上。?数据集成:工具使用共享数据结构,工具之间可以数据集成:工具使用共享数据结构,交换数据。数据集成的方式有:交换数据。数据集成的方式有:共享文件:所有工具识别一个单一的文件格式。共享文件:所有工具识别一个单一的文件格式。例如字符流文件。例如字符流文件。工具1工具共享文件转换过滤器工具2工具共享数据结构:工具使用一个认可的数据结构,共享数据结构:工具使用一个认可的数据结构,即各工具应将该数据结构的细节“硬化”到工具中。各工具应将该数据结构的细节“硬化”到工具中。词法、词法、语法分析器更新结构编辑器被使用被使用静态分析器更新代码生成器被使用语法树符号表调用动态分析器被使用被使用交互调试器被使用被使用交叉引用按格式打印通过共享数据结构的集成共享数据仓库:工具围绕一个对象管理系统进行集成。共享数据仓库:工具围绕一个对象管理系统进行集成。包含描述实体和关系的共享数据模型。该OMS包含描述实体和关系的共享数据模型。包含描述实体和关系的共享数据模型OMS模式模式工具1工具工具2工具工具3工具对象管理系统通过OMS集成集成通过表示集成(用户界面集成):意指系统中的工具使用表示集成(用户界面集成):):意指系统中的工具使用共同的风格以及采用共同的用户交互标准集。共同的风格以及采用共同的用户交互标准集。实现表示集成的方式:实现表示集成的方式:窗口系统集成:工具使用相同的窗口系统。从而,窗口系统集成:工具使用相同的窗口系统。从而,具有一致的窗口外观,以及一致的窗口操作命令。具有一致的窗口外观,以及一致的窗口操作命令。命令集成:各工具对相似的功能使用同样格式的命令。命令集成:各工具对相似的功能使用同样格式的命令。包括:文本命令格式与参数,菜单格式和位置,包括:文本命令格式与参数,菜单格式和位置,图符样式等。图符样式等。交互集成:交互集成:意指在所有子系统中提供相同的直接操纵界面的操作,如选择、删除等。界面的操作,如选择、删除等。控制集成:支持环境中的一个工具对另一工具的访问。控制集成:支持环境中的一个工具对另一工具的访问。包括:启动、停止以及调用另一工具提供的服务。包括:启动、停止以及调用另一工具提供的服务。工具1工具控制接口工具2工具工具3工具控制接口控制接口消息服务器通过消息传递的控制集成--每一个工具提供一个控制接口,通过该接口可以访问该工具。每一个工具提供一个控制接口,通过该接口可以访问该工具。每一个工具提供一个控制接口--当一个工具需要与另一工具通信时,构造一个消息,并发送到当一个工具需要与另一工具通信时,构造一个消息,当一个工具需要与另一工具通信时消息服务器。消息服务器。--消息服务器将这一消息传送给被调用的工具。消息服务器将这一消息传送给被调用的工具。消息服务器将这一消息传送给被调用的工具过程集成:意指过程集成:意指CASE系统嵌入了关于过程活动、系统嵌入了关于过程活动、系统嵌入了关于过程活动约束以及支持这些活动所需的工具等知识。约束以及支持这些活动所需的工具等知识。CASE系统可以辅助用户调用相应工具完成有关活动,系统可以辅助用户调用相应工具完成有关活动,并检查活动的结果。检查活动的结果。活动调用过程翻译机用户提议CASE工具工具结果过程模型过程集成(2)APSE模型)模型软件工程环境”“软件工程环境”这一概念首先是由Buxton于1980年提出的。年提出的。这一概念首先是由于年提出的在美国国防部支持下,提交了一组支持Ada程序在美国国防部支持下,提交了一组支持程序设计环境(设计环境(APSE)的需求)MAPSEKAPSE编译器APSEAPSE模型模型外壳配置管理连接加载器测试器其中:是核心。其中:KAPSE是核心。是核心扩展OS,提供环境的基础设施;并有一个扩展,提供环境的基础设施;公共的工具接口,公共的工具接口,支持增量开发一个完整的SEE。。增量开发一个完整的APSE是环境的一个最小集,是环境的一个最小集,是环境的一个最小集即基本上是一个程序设计工作台(3)一个环境的层次模型)为了使软件工程环境可以根据项目需要,提供不同的为了使软件工程环境可以根据项目需要,支持,则环境必须能够接纳更多的支持,则环境必须能够接纳更多的CASE工具工具必须能够按需要增加新的设施这意味着:环境是一组服务的集合。这意味着:环境是一组服务的集合。工具(工作台)工具(工作台)应用框架
本文标题:第八章 软件开发工具与环境
链接地址:https://www.777doc.com/doc-922148 .html