第12章教件开发工具和环境 121软件开发工具 (1)业务系统规划工具:提供一个可导出特定信 息系统的“元模型”,使业务信息运行于企业的 各个部门。 (2)项目管理工具:借助这类工具,项目管理者 可以有效地估算软件项目所需的工作量、成本和 研制周期等,可以定义一个功能分解结构WBS, 并 制定可行的项目开发计划;基于需求跟踪项目的 开发情况;可采集度量数据,以此评价软件开发 效率和产品质量
第12章 软件开发工具和环境 12.1 软件开发工具 (1)业务系统规划工具:提供一个可导出特定信 息系统的“元模型” ,使业务信息运行于企业的 各个部门。 (2)项目管理工具:借助这类工具,项目管理者 可以有效地估算软件项目所需的工作量、成本和 研制周期等,可以定义一个功能分解结构WBS,并 制定可行的项目开发计划;基于需求跟踪项目的 开发情况;可采集度量数据,以此评价软件开发 效率和产品质量
第12章教件开发工具和环境 (3)支持工具:这类工具用于支持软件工程过程, 具体包括文档编制工具、系统软件工具、质量保证 工具、数据库管理工具和软件配置管理工具等。 (4)分析和设计工具:这类工具是用于建立待开发 系统的模型,并评价模型的质量,通过对模型进行 致性和有效性检査,保证分析与设计的完整性。 它除包括支持某种开发方法的工具外,还包括基于 规则体系的分析与设计机,它可使工具适用于各种 分析和设计方法。 )编程工具:这类工具包括用于支持大多数传统 编程语言的编译器、编辑器和调试器等,从工具输 出来看,4CL也属于这一类
第12章 软件开发工具和环境 (3)支持工具:这类工具用于支持软件工程过程, 具体包括文档编制工具、系统软件工具、质量保证 工具、数据库管理工具和软件配置管理工具等。 (4)分析和设计工具:这类工具是用于建立待开发 系统的模型,并评价模型的质量,通过对模型进行 一致性和有效性检查,保证分析与设计的完整性。 它除包括支持某种开发方法的工具外,还包括基于 规则体系的分析与设计机,它可使工具适用于各种 分析和设计方法。 (5)编程工具:这类工具包括用于支持大多数传统 编程语言的编译器、编辑器和调试器等,从工具输 出来看,4GL也属于这一类
第12章教件开发工具和环境 (6)测试与分析工具:常用的测试与分析工具包括 静态分析工具和动态测试工具 (7)原型工具:作为除瀑布式开发模式以外的另一 主要开发模式是原型开发模式,固其运用的灵活性 和用户需求反应的快捷性愈来愈受到重视,特别是 随着软件构件重用研究的深入,更增强了这种开发 模式的实用价值。 (8)维护工具:用于协助维护活动的完成,包括当 运行发现问题时,定位到相应的软件开发基线;软 件配置不完备时由源程序到分析与设计模型的逆转 换工具等
第12章 软件开发工具和环境 (6)测试与分析工具:常用的测试与分析工具包括 静态分析工具和动态测试工具。 (7)原型工具:作为除瀑布式开发模式以外的另一 主要开发模式是原型开发模式,固其运用的灵活性 和用户需求反应的快捷性愈来愈受到重视,特别是 随着软件构件重用研究的深入,更增强了这种开发 模式的实用价值。 (8)维护工具:用于协助维护活动的完成,包括当 运行发现问题时,定位到相应的软件开发基线;软 件配置不完备时由源程序到分析与设计模型的逆转 换工具等
第12章软件开发工具和环境 122软件开发环境 、按解决的问题分类 1、程序设计环境 2、系统合成环境 3、项目管理环境
第12章 软件开发工具和环境 12.2 软件开发环境 一、按解决的问题分类 1、程序设计环境 2、系统合成环境 3、项目管理环境
第12章软件开发工具和环境 工、按现有软件开发环境的演变趋向分类 1、以语言为中心的环境 2、面向结构的环境 3、工具箱环境 4、基于方法的环境
第12章 软件开发工具和环境 二、按现有软件开发环境的演变趋向分类 1、以语言为中心的环境 2、面向结构的环境 3、工具箱环境 4、基于方法的环境
第12章软件开发工具和环境 竿、按集成化程度分类 第一代 (1)建立在操作系统之上(如W和UNIX等)。 (2)工具间通过一个公用框架集成。 (3)现有工具不经大的修改即可加入,由调用过程 来使用这些工具。 (4)工具所使用的文件结构不变,而且成为环境文 件库的一部分。 (5)从人一机界面来看,这类环境主要采用单色、 低分辨率的文字终端,图形能力较差,多数使用菜 单技术
第12章 软件开发工具和环境 三、按集成化程度分类 1、 第一代 (1)建立在操作系统之上(如VMS和UNIX等)。 (2)工具间通过一个公用框架集成。 (3)现有工具不经大的修改即可加入,由调用过程 来使用这些工具。 (4)工具所使用的文件结构不变,而且成为环境文 件库的一部分。 (5)从人—机界面来看,这类环境主要采用单色、 低分辨率的文字终端,图形能力较差,多数使用菜 单技术
第12章教件开发工具和环境 2、第二代 (1)具有真正的数据库,而不是文件库,有时称为 信息库,多数采用ER模式或ERA模式。 (2)工具集成在更低的层次上,工具和文件都作为 实体保存在数据库中,而不是简单地看作一种独 立的成分。 (3)现有的工具不能随意放入,要作适当修改或定 制。 (4)人一机界面采用高分辨率、点阵式工作站,具 有多窗口、图形等功能,采用鼠标装置
第12章 软件开发工具和环境 2、第二代 (1)具有真正的数据库,而不是文件库,有时称为 信息库,多数采用E—R模式或E—R—A模式。 (2)工具集成在更低的层次上,工具和文件都作为 实体保存在数据库中,而不是简单地看作一种独 立的成分。 (3)现有的工具不能随意放入,要作适当修改或定 制。 (4)人—机界面采用高分辨率、点阵式工作站,具 有多窗口、图形等功能,采用鼠标装置
第12章教件开发工具和环境 3、第三代 (1)建立在知识库系统上。 (2)顺序调用独立工具的概念完全被集成化的工具 集所替代,用户不再需要在任务之间来回切换不同 的工具 (3)采用形式化方法,软件重用等新技术 (4)由多个工具控制的多窗口技术被单个工具操纵 的多窗口技术所替代
第12章 软件开发工具和环境 3、 第三代 (1)建立在知识库系统上。 (2)顺序调用独立工具的概念完全被集成化的工具 集所替代,用户不再需要在任务之间来回切换不同 的工具。 (3)采用形式化方法,软件重用等新技术。 (4)由多个工具控制的多窗口技术被单个工具操纵 的多窗口技术所替代
第12章软件开发工具和环境 4123软件开发工具和环境的应用及发展 智能化、网络化、一体化、标准化是软件开发工具 发展的几个方向。 1智能化 所谓智能化,具体地说就是在软件开发工具的研 究与使用中引用人工智能、神经网络等技术,使得 软件开发工具对于不确定性的信息、模糊信息具有 更强的处理能力。由于在软件开发工作中,存在着 大量不确定的因素,人们常常需要用知识与经验来 加以补充或加工。而如何利用现代化的信息手段更 加科学地处理、管理和利用这种知识与经验,正是 人工智能等科学的研究内容
第12章 软件开发工具和环境 12.3 软件开发工具和环境的应用及发展 智能化、网络化、一体化、标准化是软件开发工具 发展的几个方向。 1.智能化 所谓智能化,具体地说就是在软件开发工具的研 究与使用中引用人工智能、神经网络等技术,使得 软件开发工具对于不确定性的信息、模糊信息具有 更强的处理能力。由于在软件开发工作中,存在着 大量不确定的因素,人们常常需要用知识与经验来 加以补充或加工。而如何利用现代化的信息手段更 加科学地处理、管理和利用这种知识与经验,正是 人工智能等科学的研究内容
第12章教件开发工具和环境 2.网络化 与网络技术的结合使软件开发工具的发展更加网 络化现在开发软件,尤其是大型软件,通常都要考 虑到它的网络功能,既考虑它是否能够应用于网络 之上。对应于软件开发的这种发展趋势,软件开发 工具也需要具备网络功能,以适应于新的开发要求 和环境。其实,在较具规模的软件开发中,即使所 开发的软件不应用于网络之上,开发项目组在考虑 软件开发工具时,为提高工作效率和更好地管理项 目小组的工作进度、成本情况等,所选择的开发环 境和软件开发工具一般都具有网络功能,以便于信 息的交流和共享
第12章 软件开发工具和环境 2.网络化 与网络技术的结合使软件开发工具的发展更加网 络化现在开发软件,尤其是大型软件,通常都要考 虑到它的网络功能,既考虑它是否能够应用于网络 之上。对应于软件开发的这种发展趋势,软件开发 工具也需要具备网络功能,以适应于新的开发要求 和环境。其实,在较具规模的软件开发中,即使所 开发的软件不应用于网络之上,开发项目组在考虑 软件开发工具时,为提高工作效率和更好地管理项 目小组的工作进度、成本情况等,所选择的开发环 境和软件开发工具一般都具有网络功能,以便于信 息的交流和共享