此阶段软件业绩为:
1)软件重用技术
软件重用的目的是使非结构化、非标准化程序变为结构化、标准化,并形成大量能重用的计算机构件和模块。软件重用技术使软件的开发基本上变成了搭积木,把需要的对象和功能模块拼起来即可。它节省了大量的人力与物力,减少了重复开发。这种技术可以应用在数据库管理和信息系统管理上,Microsoft Access等软件均采用此软件技术,它们集成了大量应用的基本构件和模块便于重用。
只有可维护性软件才有可能最大限度地重用,而重用部分越多,维护成本越低,效率就越高。不可维护性到可维护性软件的重构是维护方法学的关键。最大限度地重用现存软件是软件维护方法学的重要思想原则。可重用是可维护性的基本属性和最大特征。
就软件重用而言,可有四个层次的重用:
(1)开发过程重用
主要指开发规范、开发方法及工具、软件标准等的重用,也称为开发支持环境重用。
(2)软件构件重用
这里软件构件指文档、程序及数据。应该将软件构件可重用性作为主要设计指导思想。
(3)用户业务知识重用
用户现存系统的业务处理过程、特定专业领域的需求特征等知识的重用。
(4)市场知识重用
应用领域标准、行业标准、市场规律知识的重用。
2)面向对象技术
八十年代中期以来,各个领域的发展和变化越来越快,对应用软件不断提出新的功能要求,这就使以功能为基础的软件体系改动较大,甚至推倒重来。八十年代末发现,使用面向对象技术能极大的提高软件的可维护性。而且它还有很多其他的优点,例如提高软件开发率,提高软件的可靠性和安全性等等。面向对象技术获得了极大欢迎,终于成为九十年代软件界最大的热点。随着发展,面向对象技术形成了OOP(面向对象编程)、OOD(面向对象设计)、OOA(面向对象分析),成为完整的软件开发方法学。
现实世界中的事物抽象到问题空间就称为对象。在面向对象技术中,对象被定义为“对一组信息和在其上的操作”,其中的信息就是数据,它反映的是对象的属性状态,操作则是对对象的处理。面向对象系统就是由对象组成的复杂系统,系统中所有对象的状态共同构成系统的状态,对象总是从一个初始状态出发,在对象之间的相互作用过程中不断改变着自身的状态。一个对象请求另一个对象执行某一处理或回答某些信息的要求称为“消息”,对象与对象之间的相互作用就是通过消息来实现的。
面向对象技术的最大优点就是软件的可维护性好。
3)集成工具与CASE技术
今天,已将过去单个的工具集成在一个系统中,用于软件开发,形成了集成工具。例如,我们经常使用的字处理工具,它只有一个工具菜单,但是却包含拼写检查、语法检查、词库和字词计数等功能。我们期待用于软件开发的系统收集了所有必需的工具,它必须支持文本和图像,也含有相关的数据库,能自动移植并进行计算机低层设计等。编程系统不仅含有编译程序,还应该支持编辑、调试与测试,最好能支持程序建立并在建立过程中检测它们的结构。
而CASE技术,即称谓“支持软件工程方法学的计算机辅助手段”。它为实现从软件工程诞生起就面临着如何组织人员进行集体作业和如何逐步代替人进行编程的两大任务。而且首先是解决前者———确定有次序、有效率、科学的工程作业方法,然后才能一步步用计算机取代各工程阶段的人工编程。软件工程的最终目的就在于软件自动化。
CASE技术有两个突出特点,使开发支持工具与开发方法学统一和结合起来,通过实现分析、设计、程序开发与维护的自动化,提高整个软件开发工程的效率。如果方法驱动器理论得以实现,软件自动化将成为现实。尽管目前真正实现的还仅限于方法指导系统,但CASE的迅速发展仍超出了辅助软件工程的范围。
综上所述,CASE的发展有待于软件工程方法的发展。它不仅给传统软件工程方法以新生,也推动着各种软件工程方法的演变、合并和淘汰,为新软件工程方法理论实用化开辟着道路。所以今后的软件工程应是“方法学 CASE技术”,两者共同协助开发人员控制和管理软件。当方法驱动器理论变为现实后,CASE与软件自动化可能会变成同义词。虽然今天的软件自动化尚不完全,但为了区别传统软件工程,我们以更明确的CASE软件工程概念来表述CASE与软件工程方法学的结合。
