计算机辅助软件工程(Computer Aided Software Engineering,CASE)原来是指用来支持MIS开发的、由各种计算机辅助软件和工具组成的一个大型综合性软件开发环境,随着各种工具及软件技术的发展、完善和不断集成,逐步由单纯的辅助开发工具环境转化为一种相对独立的方法。
产生
自20世纪40年代
电子数字计算机出现之后,软件开发一直约束了计算机的广泛应用。为缓解“软件危机”。60年代末提出了软件工程的概念.要求人们采用工程的原则、方法和技术开发、维护和管理软件,从此产生了一门新的学科.即
软件工程。
制造业、建筑业的发展告诉我们,当采用有力的工具辅助人工劳动时.可以极大地提高
劳动生产率.并可有效地改善工作质量。在需求的驱动下.并借鉴其他业界发展的影响.人们开始了计算机辅助软件工程的研究。早在80年代初,就涌现出许多支持软件开发的软件系统。从此.术语CASE被软件工程界普遍接受,并作为软件开发自动化支持的代名词。
从狭义范围来说,CASE是一组工具和方法的集合.可以辅助软件生存周期各个阶段的软件开发。广义地说,CASE是辅助软件开发的任何计算机技术,其中主要包含两个含义:一是在软件开发和维护过程中提供计算机辅助支持;二是在软件开发和维护过程中引人工程化方法。
从学术研究的角度来讲,CASE吸收了
CAD、
操作系统、
数据库、
计算机网络等许多研究领域的原理和技术.把软件开发技术、方法和软件工具等集成为一个统一而一致的框架。由此可见.CASE是多年来在软件开发方法、软件开发管理和软件工具等方面研究和发展的产物。
分类
CASE系统所涉及的技术有两类,一类是支持软件开发过程本身的技术,如支持规约、设计、实现及测试等。采用这类技术的CASE系统研制时间较长,已有许多产品上市;另一类是支持软件开发过程管理的技术,如支持建模、过程管理等。这类技术不很成熟,采用这类技术的CASE系统会调用前一类技术的CASE系统。
从CASE系统产生方式来看,还有一种特殊的
CASE技术,即元.CASE技术。元-CASE技术是生成CASE系统的生成器所采用的技术。该生成器可用来创建支持软件开发过程活动及过程管理的CASE系统,此类CASE技术尚处于探索阶段。
功能作用
(1)CASE的功能
一般情况下,CASE工具应该具有以下几个功能。
①用户通过CASE工具具能创建软件开发各阶段所需的图表。
②收集有关图表上的对象以及对象之间关系的信息,以便建立一个完整的信息集合。
③在一个中央资源库中,应将图表所表示的语义而不是图标本身存储起来。
④根据准确性、一致性、完整性检查图表。
⑤使用户能以图表来描述条件、循环、CASE结构和其他结构化程序结构。
⑥使用户能以多种图表类型表示一个分析或设计的不同方面。
⑦实施结构化的模型和设计,尽可能达到准确和一致。
⑧协调多个图表上的信息,检查信息的一致性,并集中检查信息的准确性、一致性和完整性。
(2)CASE的作用
归纳起来,CASE有三大作用,这些作用从根本上改变了软件系统的开发方式。CASE的作用如下所示。
①一个具有快速响应、专用资源和早期查错功能的交互式开发环境。
②对软件的开发和维护过程中的许多环节实现了自动化。
③通过一个强有力的图形接口。实现了直观的程序设计。
集成机制
CASE的集成机制主要有:
①平台集成,工具运行在相同的硬件/操作系统平台上。
②数据集成,工具使用共享数据模型来操作。
③表示集成,工具提供相同的用户界面和交互方式。
④控制集成,工具激活后能控制其他工具的操作。
⑤过程集成,系统嵌入了有关软件过程的知识,根据
软件过程模型辅助用户启动各种软件开发活动。
CASE技术的发展依赖于
软件工程方法学的发展,同时CASE技术的发展又促进着软件工程方法学的进一步发展。今后的软件工程应该是“方法学+CASE技术”。而且,随着CASE技术在软件工程中的作用不断扩大和深化,在今后的软件工程领域,CASE技术将有可能占据主导地位。
环境
计算机辅助软件工具提供了产生图表的自动图形工具、屏幕和报告生成器、数据字典、扩充报告工具、分析和检查工具、
代码生成器和文档生成器。多数计算机辅助软件工程工具是基于一个或者多个流行的
结构化方法。一些正在开始支持面向对象的开发。一般来说,一个完整的计算机辅助软件工程环境主要包括以下几个内容:
(1)信息储存器(Information repository);
(2)系统模式建立和模拟工具(System modehng and simulation tools);
(3)系统分析/设计工具(System analysis and design tools);
(4)程式编写工具(Programming tools);
(5)测试与品质保证工具(Testing and OA tools);
(6)专业管理工具(Project management tools);
(7)反转工程工具(Re·engineering tools)等。
特点
与其他管理信息系统开发方法相比,
CASE方法具有下列特点:
①解决了从客观世界对象到软件系统的直接影射,支持系统开发的全过程。
②自动检测的方法大大提高了软件的质量。
③软件的各部分可以重复使用。
④简化了分析设计图表和程序编写工作。
⑤加速了系统开发过程且系统功能比较完善。
⑥简化了软件开发的管理和维护。
⑦自动生成统一的标准化文档。