首页 > 人工智能 > 正文

软件开发技术的突破性进展

2009-04-24 08:42:32  来源:CIO 时代网

摘要: 六十年代开始就出现了“软件危机”,当时一个大型复杂软件,要花上千人年的工作量才能实现,而开发质量极差,常常可能包含成千上万个错误,因此首先要解决的问题,就是如何确保
关键词: 软件开发 技术进展

   六十年代开始就出现了“软件危机”,当时一个大型复杂软件,要花上千人年的工作量才能实现,而开发质量极差,常常可能包含成千上万个错误,因此首先要解决的问题,就是如何确保“程序的正确性”。荷兰的一位物理学家E.W.Dijkstra
    采用了数学或物理的解题思维方法,提出了一种称为“结构程序设计”的方法,应用于开发大型软件系统时称为“结构化分析和结构化设计”,这种方法延用了十多年的历史,形成了软件工程这门学科。然而,如何缩短开发周期、提高开发效率和质量、以及适应按需而变等问题,就成为软件工程中的核心问题,这就出现面向对象的开发方法。仅仅去年一年之内,在软件开发技术上产生了三大突破性成果:
    一。 基于“构件/构架的软件开发方法”趋向完美成熟
    C.A.R.Hoaro于1972年提出了数据抽象的模块,逐步发展成面向对象开发方法。这种方法的基本思想是知识重用,就是尽量重用现有的成果,从而可以提高开发质量和效果。到了90年代这种方法成了研究的热点,先后出现了许多学派,成为历史上着名的“OO大战”,在学术界讨论很热烈,但其成果并不理想,工程人员却远而望之,原因是:①技术要求较高,一般技术人员(编程人员)很难学会掌握。②由于概念上不统一很难建立起标准和规范。③在工程实施中有不少难点尚未解决好。因此只能在某些应用上被少数技术人员使用。
    为此,在面向对象方法基础上出现了构件技术,这种思想来自汽车制造业和建筑业中,采用流水线生产方式的预制件装配方式,它的预制件要求并不苛刻,而只要是重用就可以了,所以称为构件。在这个生产流水线上各阶段,可以由不同专业人员去完成,社会有了分工,效率和质量都有了保证,这种开发技术称为“基于构件的开发技术”。
    我们曾用这种方法开发了一个“财政信息系统”,然后应用到四川省和成都市财政厅,就可达到重用软件95%以上,正好像现在盖一个大厦,采用了预制件组装就可以大大提高开发效率、缩短开发时间、而且还能提高质量。
    当基于构件的开发方法用于开发分布式系统时,出现了比“构件重用”更重要的技术---软件体系结构和软件框架(简称构架)。在1998年日本京都召开的“基于构件的软件开发(CBSD)”国际专题学术会议上,一致认为软件开发方法离不开“构件和构架技术”。
    直到去年这种技术才完美成熟,由此软件危机获得了初步解决。
    二。 正在不断完善的UML(统一建模语言)
    有了有效的开发方法以后,近年来,国内各个软件开发公司或有关部门都为自己定位的方向或领域,建立起相应的开发平台和开发工具,其中最为成功的工具就是统一建模语言UML。数学家用数学符号来学习或推演数学、音乐家用了五线谱记录乐谱,软件工程师用的就是UML。
    UML是一种描述的语言,它将软件开发过程中出现的各种模型用可视化的图形来描述,它是由面向对象方法的三位奠基人坐在一起,统一了面向对象中的概念、补充了不足、引入用例(USE CASE)建模、构件和迭代开发等当前各种公认有效的技术,它体现了当前的技术汇总,由此称它为软件开发的一个里程碑,并获得国际标准化组织所认可,和各大公司支持。
    软件开发过程,实质上是从“用户需求”向“具体实现”的逐步过渡,其中间各步都是用某种模型来说明,模型可以更好地理解问题;使用模型可以与各类有关人员很好地交流和沟通;可以及时发现的问题、诊断和修正方案;可以作为中间成果的文件保留下来,为今后的知识重用;也可以作为开发阶段的依据。UML重要意义在于为今后发展奠定基础,其作用可说无法估量,它的意义己被大家所公认。 [Page]
    三。 正在发展的“分布式系统的面向服务的体系结构SOA”技术
    九十年代,随着计算机网络技术的普及,客户机/服务器计算机模式开始成为开发分布式系统的主流技术,如火车订票、通存通取等数据大集中系统,近年来又兴起3层/n层体系结构。但计算机系统软件并不支持这种工作方式。为此系统软件之上增加一层软件,称为中间件, 是分布式计算的基础。
    中间件技术使设计者能集中设计与应用有关的部分,大大简化了设计和维护工作。通过五、六年的大量应用和实践,中间件已有一批成熟的产品,并成为设计分布系统时不可缺少的软件。仅仅几年时间,中间件以迅雷不及掩耳的速度发展,每年的市场销售额均是成倍增长,现己有几十亿美元/年的份额。
    三层体系结构有力地提供了一种分布式系统的解决方案,实现了一种紧耦合的分布式系统,组成一个自成体系的单个应用软件。而如何将现有的多个应用软件,通过网络将其整合成一个新的集成系统,以能做更多更好的事。如电子商务的供应链、电子政务、数字地球、智能交通等。而早期的技术都无法解决。也是当前迫切要解决的技术。
    IBM自去年4月提出了SOA(面向服务的体系结构)解决方案,面向服务的体系结构是一类松耦合分布式系统的体系结构。这类系统是将异构平台上应用程序的不同功能部件(称为服务),通过这些服务之间定义好的接口和规范,以松耦合的方式整合在一起,即将多个现有的应用软件通过网络将其整合成一个新系统。
    SOA有二大目标:⒈ 多应用的整合,不但是能将各种各样的应用软件都能整合在一起,而且是松耦合的整合,也就是说,被整合的应用软件自身仍保持其自主独立,如香港政府已回归中国,但保持一国二制那样完全自治。⒉ 新增设的业务功能,应允许能适应变化。
    SOA仅仅是一种解决方案,是分布式系统的结构模型,而由于这种方案简单、实现方便,它的一出现就受到广泛的关注。目前所有国际着名的计算机公司,都卷入到这个方向,为此“解决方案”,开发相应的平台和工具,把自己公司的产品往SOA靠,SOA即将成为本世纪的热点。
    软件开发方法有了突破性进展,为中国软件行业的发展创造了机遇。
    近十多年,随着社会的需求,这门学科以一浪推一浪地迅速发展。而每前进一步,人们对客观世界的认知观就有了新的飞跃,特别是去年一年之内,软件开发方法有了三大突破性成果,为中国软件行业的发展创造了极好的机遇。
    八十年代初期,我国和印度几乎同时着手研究软件产业的发展。西方发达国家中软件权威也曾预言,中国和印度是发展软件产业最有潜力和优势的国家。但近十几年来,我国的软件工作者在非常困难的条件下,为了我国软件产业的形成和发展孜孜不倦地艰苦奋斗,取得了较大的进展。但是同发达国家相比,确实存在着相当大的差距,而且这种差距越来越大, 甚至同一些发展中国家相比也还存在较大的差距。
    然而计算机软件产业的发展,在当前的信息时代却关系到国家的前途和命运,一些发达国家,正是看到了软件和信息网络在当前和未来信息社会中的核心地位和作用,率先制定了“行动计划”(即“信息高速公路”),并由国家领导人具体负责组织实施,把计算机软件和信息网络推向全球经济和信息化的制高点,显然是企图通过高技术手段,实施对我国的控制。 [Page]
    随着我国的改革开放,计算机应用已经越来越普及并深入到经济、科技、金融、贸易、教育等各个领域和家庭之中;我国“金字号”工程也已陆续启动,为软件行业的发展创造了客规条件,而新技术的出现,使软件行业的发展,创造了极好的发展机遇。


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。