case技术可以简单地定义为
软件开发的自动化,其本质是设计一套集成化的、优质的、高效率的工具,用以连接和自动完成软件开发中所有阶段的技术工作和管理工作。case的重点是解决整个开发过程中的生产效率问题,力求通过计算机技术本身来自动完成软件开发,以终终
克服软件危机。
目前,case已从支持结构化方法、原型开发方法、面向对象方法发展到支持知识工程的处理语言,从单个的工具软件集合发展到大型综合性软件开发环境,因而它是软件工具、软件技术和软件方法相结合的产物。
软件开发环境的定义尚无标准,但比较一致的看法可归结为如下几个方面。
(1)它是一个完备化的体系,不但能够支持软件开发从分析到维护的各个阶段的活动,还能够支持各阶段的管理和协调工作,并具有一致的用户界面和文档生成系统。
(2)它是一个通用的系统,能够适应不同的软硬件环境、开发方法、开发语言、开发目的和产品类
(3)它是一个实用的系统,易学易用,支持各种自然语言处理,支持交互式和分布式协作开发,并很大可能地减少资源开销。
(4)它是一个自动(或半自动)的开发系统,各个阶段的文档可以自动跟踪和交换,并采用
一定的人工智能技术,配备支持开发的专家系统。
近年来软件开发环境的发展很快,许多国家都投入了人力、财力从事这方面的研究,如美国的starsi、英国的alvey、日本的,我国中科院系统的0/1等,都在这方面作了卓有成效的探索和实践。
需要指出的是,目前越来越多的人将case看成是一个支持软件开发的工具系统,有的甚至把它看成是一门全新的方法学。由于case对整个软件开发的全面支持,导致了软件开发方法学从技术、方法到观念的变化,使case演变成了一种独特的、以自动化开发环境为基础的软件
开发方法学。case动摇了传统方法学研究的某些长期以来已为人们所接受的基础。
目前,正作为软件开发环境工具发展的case是一个广义的概念,而不是特指某几个特定的软件工具的组合体,因此,它没有具体的系统和结构。进一步,从发展的观点来看,它将会随着人们对信息处理规律的不断深入认识和计算机技术的不断进步而得到丰富和完善,因而今后也不会有一个确定的case模式。但就一个工程的开发过程来看,它所需要的辅助或支持是有一定规范和共性的,支持开发的case工具尽管形式各异,但都必须有其最基本的、有共性的核心功能结构,如图!)所示。
图中,最内层是基础软件层,这是case的技术基础,包括关系式数据库系统(RDBS)、第(代语言(4Gls)、图形系统及从各种分析设计图形到应用系统程序代码的自动转换等。
建立在此基础上的是case的内核层,一般统称为case库,它是整个case系统的核心,是连接基础层与工具层的纽带。在支持软件工程开发生命周期中,各种分析、设计、实现工作均由case工具层带到这一层来完成,并将分析设计结果建立各种数据库,产生相应的应用程序系
统,在整个case开发策略中具有无可比拟的重要作用。case库是一般传统字典系统的深化和发展,除了保留原有的存储实体(主要指数据和数据定义,如字段、记录、关系、数据库、格式、程序和规则等)功能外,还包括存储有关对象和方法的信息。这里的“对象”是指任何与软件开发和信息管理有关的内容,如模型、编码、档案、图形、表格、文件等;而“方法”