由于VLSI的迅速发展,RISC的控制器又很简单,这就使RISC能集成在一个芯片上。CISC控制器需占芯片面积50%以上,而RISC的控制器仅占6 - 10%,这使RISC芯片具有极高的性能。到九十年代RISC技术被引入了到PC机内,使同样功能的计算机成本只有CISC的一半不到。随着VLSI进一步发展,已使巨型机上使用的并行处理技术能融入到RISC中。一方面采用新材料、新工艺,进一步提高主频,另一方面采用了超级流水线技术、并行流水线技术和超长指令字VLIM技术,极大地提高了RISC芯片的并行处理能力,使RISC进入了具有划时代的时期。软件作用和价值牢固地树立起来了。人工智能、知识工程、专家系统以及神经网络领域的研究得以发展与深化。软件市场在世界范围内比较快的速度增长,在美国犹他州已出现以软件为主的第二高技术产业区。目前软件的发展速度已超过硬件产业,占信息产业的主导地位。美国垄断世界软件市场的格局,一时很难发生变化。微软公司软件巨头比尔.盖茨在五年前已成为美国首富,现在又是世界首富。随着市场分割,过去反控制反垄断的竞争也被分解了。IBM公司成为大型机之首;Intel公司是计算机芯片之王,也可以称为计算机硬件之王;Microsoft公司成为微机软件之冠。但是希望成为大型机软件之王的竞争仍然在继续。软件特性体现为:软件进入结构化生产时期,以结构化分析和设计,结构化评审,结构化程序设计以及结构化测试为特征;从八十年代中期开始,软件生产进入以过程为中心的开发阶段;从1995年开始,逐步进入以软件过程,面向对象和构件重用等技术为基础的软件工业化生产时代。
此阶段软件业绩为:1)软件重用技术软件重用的目的是使非结构化、非标准化程序变为结构化、标准化,并形成大量能重用的计算机构件和模块。软件重用技术使软件的开发基本上变成了搭积木,把需要的对象和功能模块拼起来即可。它节省了大量的人力与物力,减少了重复开发。这种技术可以应用在数据库管理和信息系统管理上,Microsoft Access等软件均采用此软件技术,它们集成了大量应用的基本构件和模块便于重用。
只有可维护性软件才有可能最大限度地重用,而重用部分越多,维护成本越低,效率就越高。不可维护性到可维护性软件的重构是维护方法学的关键。最大限度地重用现存软件是软件维护方法学的重要思想原则。可重用是可维护性的基本属性和最大特征。就软件重用而言,可有四个层次的重用:(1)开发过程重用主要指开发规范、开发方法及工具、软件标准等的重用,也称为开发支持环境重用。(2)软件构件重用 这里软件构件指文档、程序及数据。应该将软件构件可重用性作为主要设计指导思想。(3)用户业务知识重用用户现存系统的业务处理过程、特定专业领域的需求特征等知识的重用。(4)市场知识重用应用领域标准、行业标准、市场规律知识的重用。
2)面向对象技术 八十年代中期以来,各个领域的发展和变化越来越快,对应用软件不断提出新的功能要求,这就使以功能为基础的软件体系改动较大,甚至推倒重来。八十年代末发现,使用面向对象技术能极大的提高软件的可维护性。而且它还有很多其他的优点,例如提高软件开发率,提高软件的可靠性和安全性等等。面向对象技术获得了极大欢迎,终于成为九十年代软件界最大的热点。随着发展,面向对象技术形成了OOP(面向对象编程)、OOD(面向对象设计)、OOA(面向对象分析),成为完整的软件开发方法学。现实世界中的事物抽象到问题空间就称为对象。在面向对象技术中,对象被定义为“对一组信息和在其上的操作”,其中的信息就是数据,它反映的是对象的属性状态,操作则是对对象的处理。面向对象系统就是由对象组成的复杂系统,系统中所有对象的状态共同构成系统的状态,对象总是从一个初始状态出发,在对象之间的相互作用过程中不断改变着自身的状态。一个对象请求另一个对象执行某一处理或回答某些信息的要求称为“消息”,对象与对象之间的相互作用就是通过消息来实现的。 面向对象技术的最大优点就是软件的可维护性好。
3)集成工具与CASE技术今天,已将过去单个的工具集成在一个系统中,用于软件开发,形成了集成工具。例如,我们经常使用的字处理工具,它只有一个工具菜单,但是却包含拼写检查、语法检查、词库和字词计数等功能。我们期待用于软件开发的系统收集了所有必需的工具,它必须支持文本和图像,也含有相关的数据库,能自动移植并进行计算机低层设计等。编程系统不仅含有编译程序,还应该支持编辑、调试与测试,最好能支持程序建立并在建立过程中检测它们的结构。而CASE技术,即称谓“支持软件工程方法学的计算机辅助手段”。它为实现从软件工程诞生起就面临着如何组织人员进行集体作业和如何逐步代替人进行编程的两大任务。而且首先是解决前者———确定有次序、有效率、科学的工程作业方法,然后才能一步步用计算机取代各工程阶段的人工编程。软件工程的最终目的就在于软件自动化。CASE技术有两个突出特点,使开发支持工具与开发方法学统一和结合起来,通过实现分析、设计、程序开发与维护的自动化,提高整个软件开发工程的效率。如果方法驱动器理论得以实现,软件自动化将成为现实。尽管目前真正实现的还仅限于方法指导系统,但CASE的迅速发展仍超出了辅助软件工程的范围。综上所述,CASE的发展有待于软件工程方法的发展。它不仅给传统软件工程方法以新生,也推动着各种软件工程方法的演变、合并和淘汰,为新软件工程方法理论实用化开辟着道路。所以今后的软件工程应是“方法学+CASE技术”,两者共同协助开发人员控制和管理软件。当方法驱动器理论变为现实后,CASE与软件自动化可能会变成同义词。虽然今天的软件自动化尚不完全,但为了区别传统软件工程,我们以更明确的CASE软件工程概念来表述CASE与软件工程方法学的结合。
4)图形用户界面用户界面一般是由菜单窗口和对话框等元素构成,它为用户提供了一个使用软件交互过程的环境,它提高了软件的使用效率,灵活便捷,并且易于修改维护程序,充分体现了“所见即所得”图形界面的现代软件设计风格,使用户能以简单自然的方式与软件系统交流信息;提供对键盘及鼠标两种输入设备的双重支持;引导用户正确、快速、方便地使用软件系统;易学易懂,尽可能地减少用户必须记忆的信息。八十年代图形技术有了迅速的发展,出现了不少优秀的图形软件工具,例如,X-Windows、Microsoft Windows 和Macintosh Windows都是建立在图形用户界面的技术上,他们提供了图形交互所需的各种手段与方法。Auto CAD是又一个优秀的图形软件工具。它提供了图形显示控制、图形编辑和存储以及三维绘图、三维动态显示、阴影与透视等功能。随着图形用户界面的成功,不少高级语言也增加了图形功能,使这种可视化编程日益广泛与流行。 5)多媒体技术它是曾经被炒得沸沸扬扬的话题,也是计算机科学在九十年代的一个热点。多媒体技术是将文字、声音、图形、视频图象集成在一起的技术。它包括多媒体计算机原理、多媒体数据库、多媒体通信和多媒体表现技术等等。它的一个重要方面是将图像、图形、声音、文字等集成一体,再按1比10或1比30压缩比进行图象数据压缩,最后以高质量再现给用户。由于多媒体技术提供了更多的交互手段,给人以更多的方便,所以有着极其广阔的应用前景,如电视、电子游戏、电子报刊、电视会议等等。正因为如此,多媒体技术不仅是计算机科学的热点,而且也是国民经济以及社会生活许多领域的热点。
然而在整个计算机发展历史过程中,软件领域仍然存在一些问题,相对于微处理器芯片和内存设备而言,计算机软件只是在不断发展而没有进行大的改革。例如,编程人员都知道,自从第一台IBM和第一个Intel电子芯片问世以来,硬件结构的软件部分──指令集和中断结构就没有发生大的变化。在程序设计语言中也没有大的变革,现在用得最多的语言仍然是十五年前C和C++,甚至是四十年前的FORTRAN和COBOL语言。第四代语言并没有达到某些人预先声称“无需程序员的编程”的功能。整个软件领域发展限制在一个应用领域──数据库上。不过也有一些希望的象征。面向对象程序设计是一项新的技术,前景看好,它以一种完全不同方法来构造软件;客户/服务器技术和Internet/Intranet技术,它们大大地推动了软件行业的改革。Internet的TCP/IP协议使成千上万个不同的操作系统和应用程序能相互通信,使得网络访问容易,浏览众多的数据库和站点信息,从而产生了较大经济效益和社会效益。当谈起计算机软件的现代历史,Internet/Intranet将作为人- 机通信原理的里程碑,而WWW、HTML、VRM和Java将是这个里程碑的组成部分。软件行业的成功,尤其是1995年以来的迅速崛起的Internet/Intranet技术为主的网络软件以及数据库挖掘、人工智能、神经网络等软件,为人类进入二十一世纪奠定了坚实的基础。新世纪将是一个更全面的信息化时代,计算机的普及与使用将会更广更宽,从而对计算机软件的需求更高,本世纪的成果与经验,将带入下一世纪,并不断被软件人员发展、完善,以适应新世纪人类的需要,并发扬光大。
结束语 计算机软件的发展如今仍是方兴未艾,尤其是网络软件、HTML和Java语言,这将给人类社会带来翻天覆地的大变化,了解她的昨天,掌握她的今天,就能把握与预测她的明天,并期盼着二十一世纪软件业将会有更美好的发展与未来。