首页 理论教育 面向对象的多层次计算机辅助软件工程

面向对象的多层次计算机辅助软件工程

时间:2023-08-22 理论教育 版权反馈
【摘要】:计算机辅助软件工程,是自20世纪60年代末软件工程的概念提出来后,在20世纪80年代初期出现的被软件工程界普遍接受的术语,并作为软件开发自动化支持的代名词。要追溯CASE技术的发展历史是离不开软件工程的发展的。这使得彼此孤立的工具开始有了信息交换环境的支持,推动了从分析到设计的软件工程上游阶段开发工具的一体化,即CASE上游工具的集成。表3-3CASE工具的功能分类及软件产品实例续表Microsoft Visio是目前国内用得最多的CASE工具之一。

面向对象的多层次计算机辅助软件工程

计算机辅助软件工程(Computer Aided Software Engineering,CASE),是自20世纪60年代末软件工程的概念(要求采用工程的原则、方法和技术开发、维护软件)提出来后,在20世纪80年代初期出现的被软件工程界普遍接受的术语,并作为软件开发自动化支持的代名词。因此,可以简单地把CASE理解为CASE=软件工程+自动化工具(佟玉军等,2002)。如果说,起源于20世纪60年代后期的“软件工程”经过20多年的发展,完成了将软件开发从“手工作坊”的软件开发方式转变为“工程化”的作业方式,这是软件生产的第一次变革的话,那么,以CASE代替仍然处于手工作业方式的软件工程开发方法,可以说是软件生产的第二次变革。CASE技术的意义不仅在于使得软件工程过程自动化,它还关系到软件工程的进一步发展。

软件工程方法学有可能有突破性发展的一些技术和方法学领域,如面向对象方法学、软件重用技术、原型化和模拟仿真技术可视化开发技术、第四代语言等等,都需要CASE的支持。CASE这个术语是1986年才开始使用的。但是,由于软件工程从一开始就是软件工程方法学与相应工具的集成,所以,实际上,早在CASE这个术语使用之前,CASE就已经存在,只是20世纪80年代中期以来它的发展越来越快,作用也越来越大罢了。

要追溯CASE技术的发展历史是离不开软件工程的发展的。20世纪70年代以前的软件工程成果主要是在程序开发方面确定了结构化方法及其标准。20世纪70年代以后,为了解决程序员不足的“人员恐慌”的问题,不仅进一步改进了软件工程开发方法学,而且开始出现了以简化程序编制工作为宗旨的第四代语言(4GL),大大提高了编程效率

以下是从进入20世纪80年代开始,CASE技术发展的四个时期的简要描述(王国军等,1999):

第一个时期:20世纪80年代初期。这一时期从软件自动化工具的特点而言,可称其为“孤立型”,即各工具大多是孤立存在,彼此没有信息交换,且以分析、设计阶段的辅助工具为主。例如,文档自动生成器、图表自动生成器等。

第二个时期:20世纪80年代中期。这一时期最重大的成果是系统信息中心库(Repository)概念的引入。这使得彼此孤立的工具开始有了信息交换环境的支持,推动了从分析到设计的软件工程上游阶段开发工具的一体化,即CASE上游工具的集成。人们将这一特征的CASE称为“扩充型”的CASE。

第三个时期:20世纪80年代后期。这一时期有代表性的是把应用程序开发、维护自动化与项目管理工具结合起来,重视标准化的“接口型”的工具集成环境。

第四个时期:20世纪90年代初期开始到现在。这一时期明确了CASE的最终目标是“以结构化方法学为基础,统一使用开发支持工具,实现软件开发全过程的自动化”,开始逼近终点的全面挑战。例如,在解决软件工程各阶段间信息交换和信息一致性问题上引入了“百科全书”(Encyclopedia),在使结构化方法可视化上使用图形工具,在软件工程开发方法学与CASE工具统一化上,使用了人工智能(Artificial Intelligence,AI)技术,等等。总之,90年代以后软件工程与CASE的基本动向就是二者的统一,即方法学和自动化工具的统一,故称为“统一型”。(www.xing528.com)

CASE工具是指能实现上述功能的综合软件开发环境。从提供的功能、支持的软件工程过程,以及对工具集成的角度进行分类,CASE工具可分为十三类(Sommerville,2007)(表3-3)。

表3-3 CASE工具的功能分类及软件产品实例

续表

Microsoft Visio是目前国内用得最多的CASE工具之一。它是一种用来分析和设计面向对象软件系统的强大的工具,故本书采用其进行数据模型的表达与建立。Microsoft Visio支持UML的所有建模元素。同时,也支持Booch和OMT标记。使用Microsoft Visio不但可以进行面向对象的分析、设计的正向开发过程,还能通过从源代码中提取接口、类声明信息来获取源码中的模型信息,即对软件进行逆向工程。目前,Microsoft Visio已经被广泛地应用于通信金融,以及企业信息系统的分析和设计。

Microsoft Visio支持的开发语言有Java、ANSI C++、Visual C++、Visual Basic、PowerBuilder、COM等,在第三方工具的支持下,还可以支持Delphi等语言的正向与反向工程。Microsoft Visio还能支持关系型数据库逻辑模型的生成,包括Oracle8、Sybase、SQL Server和ANSI SQL等。

通过使用Microsoft Visio建模,可以使开发效率大为提高。同时,Microsoft Visio本身可以检查模型的一致性,而且Microsoft Visio模型也是一种很好的文档组织方式。在Microsoft Visio中,可以对每个事物进行必要的说明,如果需要,还可以通过链接到外部文件或者Internet,来对事物进行说明。在下面的分析和设计中,都是采用Microsoft Visio作为工具。但同时我们也应看到,Microsoft Visio毕竟只是一种工具,建模的关键还在于思想和方法,以及能否解决实际问题。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈