软件工程的发展与启示

来源 :中国信息导报 | 被引量 : 0次 | 上传用户:nibeibei
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  20世纪六七十年代,计算机硬件技术有了很大的发展,为计算机的广泛应用创造了条件,并要求软件与之相适应。当时的软件生产具有个体化、作坊式特点,开发工具落后,开发平台单一,程序设计语言功能差。尤其是软件维护工作,耗费大量的人力、物力和计算机资源,许多程序的个体化特性使得它们无法修改和维护。有的干脆废弃原有系统不用,从头编写新软件。与此同时,软件的规模越来越大,结构越来越复杂,软件管理和维护困难,开发费用不断增加。这种软件开发技术、开发工具和生产方式落后的状况与计算机应用迅速普及和对软件的需求日益增加形成了尖锐的矛盾,由此而产生了“软件危机”。软件危机的产生使计算机软件专家认识到软件开发必须以新的方法作指导,原有的软件开发方法必须改变,他们决定把工程技术的思想引入软件开发领域,使软件开发走上工程学科的途径,以摆脱日益严重的软件危机。于是,美国和西欧的一些科学家在1968年的NATO(北大西洋公约组织)会议上第一次提出了“软件工程”这个名词,从此,软件工程作为一门学科正式诞生,人们开始了软件工程的研究。
  
  一、软件工程的成型与发展历程
  
  
  软件工程的初步成型首先是从软件工程过程开始
  的。为获得高质量的软件产品,软件工程过程必须科学、合理。这就涉及到软件生命周期的描述采用何种模型的问题。
  1970年,Royce提出了瀑布模型,一直到20世纪80年代末,瀑布模型都是被广泛采用的生命周期模型。后来,又相继推出快速原型模型、快速应用开发模型、渐增模型、螺旋模型、喷泉模型和智能模型等。概括地说,软件生命周期由软件定义、软件开发和运行维护等3个时期组成,每个时期又进一步划分成若干个阶段。生命周期模型规定了把生命周期划分成的阶段及各个阶段的执行顺序。但各种模型均有不同的长处和局限性。
  20世纪60年代末,K·W.Dijkstra提出了结构化程序设计的概念,为程序设计方法学奠定了基础;20世纪70年代末,美国的E.Youdon提出结构化分析方法,指出分析和设计比编码更重要。随后,结构化方法学开始形成并逐步规范。这一技术当时曾被软件界看成克服“软件危机”的灵丹妙药。而人们在实践中发现,面对大型软件系统,用结构化方法,系统的重用性、稳定性、扩充性都难以实现。20世纪70年代,面向对象方法应运而生,给软件工程增添了活力。这时,软件开发的两种基本思路和方法已经形成,即一种是面向过程(PO),另一种是面向对象(OO)。PO趋向于计算机世界的物理实现;OO则更接近于人们的认识习惯。虽然面向对象技术被普遍认为是一种好的开发工具,但是在它诞生之后的相当长一段时间里却停留在实验室内,很少有人采用此技术来开发大型软件,直到20世纪80年代中后期,一些学者和工程人士才注意到像Smalltalk和C++这样的语言。以后出现了许多应用面向对象技术的成功案例,但也不乏失败者。
  软件项目的分析设计需要建立模型,建模需要一定的工具或语言支撑。从1989年到1994年间,面向对象建模语言的数量从不到10种增加到50余种。虽然每种建模语言的创造者都在努力推广自己的方法,并在实践中不断完善,但是面向对象方法的用户并不了解不同建模语言的优缺点及它们之间的差异,面对众多的建模语言很难在实际工作中选择最适合其应用特点的建模语言,于是人们呼唤一种统一的建模语言。1994年开始,Booch和Rumbaugh开始致力于统一建模语言的研究,1995年,OOSE方法的创始人Jacobson也开始从事这项工作。经过3个人的共同努力,1996年推出了统一建模语言(UML)。对象管理组织OMG对UML的研究和应用给予了极大的支持,并在1997年11月将几经修改的UML正式作为基于面向对象技术的标准建模语言。此后,UML一直没有停止前进的步伐,不断推出新的版本,目前已成为可视化建模语言事实上的工业标准。
  1990年开始在基于面向对象技术的基础上发展了构件技术,它丰富了重用手段和方法,逐渐成为研究的热点。还有基于净室技术、敏捷技术、重构技术、人工智能技术的一些新型软件工程方法也相继进入研究及应用领域。1995年前后,互联网和图像化接口技术使软件工程发展到一个新水平。随着软件系统规模的扩大和功能的扩展,软件复杂程度也不断增长,数据和应用的动态性与分布性的增强也要求软件不仅要有被动响应信息需求的能力,而且能具备某种程度的智能,主动预测、适应甚至积极地寻找途径以支持用户的需求,能自动合作以完成更加复杂的功能。Agent技术走进软件工程领域,使该类问题的解决有了新的希望。在软件工程的发展历程中,特别值得一提的是计算机辅助软件工程(CASE)。CASE的研究和应用对软件工程过程自动化及其未来发展有着重要意义。在基于网络环境的软件工程开发平台中,CASE技术将越来越重要。
  
  二、软件工程学科的基本确立
  
  如果从学科意义上考察,软件工程在当时还有许多方法理论和实践问题未得到广泛和统一的认识,况且软件工程的定义、原理、方法等诸多基本问题都存在争议,研究软件工程的专家学者陆续提出了上百条关于软件工程的定义、准则或”信条”。1983年,IEEE给软件工程下了定义,即“软件工程是开发、运行、维护和修复软件的系统方法”。这个定义高度概括了软件工程具有的系统性。Fairly则从学科内涵的角度认为:“软件工程学是为了在成本限额以内按时完成开发和修改软件产品所需要的系统开发和维护技术及管理学科。”FritzBauer则强调:”软件工程是为了经济地获得可靠的且能在实际机器上有效地运行的软件而建立和使用的完善的工程化原则。”
  B.W.Boehm综合这些学者们的意见并总结了TRW公司多年开发软件的经验,于1983年提出了软件工程的7条基本原理:用分阶段的生命周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;结果应能清楚地审查;开发小组的人员应该少而精;承认不断改进软件工程实践的必要性。这些基本原理是确保软件产品质量和开发效率的原理的最小集合,在此之前提出的关于软件工程原理的各种表述都蕴涵在这些原理之中或由之派生。
  针对关于软件工程的各种论述,1993年IEEE进一步给出了一个更全面的定义。软件工程是:①把系统化的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程化应用于软件中;②研究①中提到的途径。
  软件工程学广泛地研究软件开发、管理与维护中使用的原则、方法和技术,提出了关于开发理论、开发方法、开发工具等方面的一系列研究课题。因此,软件工程学就是研究“如何借助科学的理论和现代工程技 术来指导软件的开发,从而达到用较少的投资获得高质量的、可靠的软件的目的”的科学。
  软件工程学的发展可以分为4个时期:,程序设计时期、软件时期、软件工程时期、后软件工程时期。现在是处于软件工程时期,至于后软件工程时期,人们可以设想会出现许多比现在更为人性化、科学化、高效化和智能化的软件开发环境和工具,”人件”;“智件”及其他先进的观念及方法将指导“软件”开发的全过程,人们在不断探索软件开发的新技术和新方法。总之,软件工程学还是一个处于发展中的学科。
  
  三、软件工程管理的规范化和标准化
  
  所谓软件工程管理,就是从工程学角度出发,对软件工程的项目范围、项目周期、产品质量、知识资源、人力资源和项目成本等六大要素进行管理,克服软件危机,规避软件风险,提高软件开发效益和质量,降低软件开发成本。通常意义上的过程管理是软件工程管理的主要内容之一。完整意义上的软件工程应该包括4方面内容,即方法与技术、工具与环境、标准与规范、组织与管理。
  20世纪70年代中期,软件工程管理引起广泛关注。20世纪80年代是软件产业化和软件工程规范化的开端。由于计算机硬件及其外部设备的迅猛发展和应用,软件很快发展为独立的产业。软件开发逐步走入专业化、规范化的轨道。程序设计的风格、习惯及其规范和标准也成为软件工程研究的范围。
  能力成熟度模型CMM的推出是软件工程发展史上的重大事件。这是软件工程管理研究的结果。美国CarnegieMellon大学软件工程研究所(CMU/SEl)主持研究与开发的CMM/PSP/TSP技术,为软件工程管理开辟了一条新的途径。
  
   四、启示与总结
  
  纵观软件工程的发展历史,我们可以得到以下启
  1.研究工程理论和实践需要有系统科学的思想
  软件工程的技术和方法贯穿着系统科学的基本思想。系统科学是一门探索系统的存在方式和运动变化规律的学问,是对系统本质的理性认识,是人们认识客观世界的一个知识体系。软件工程中的一些重要方法,如结构化方法、面向对象方法等都沿用了系统科学的思想方法。软件工程的发展趋势要求在集成和发展现有理论和方法的基础上继续深入研究其支撑理论体系,并建立新的理论基础。从系统论和工程系统论的角度进行研究有助于软件工程重大理论和实践问题的突破。
  2.软件工程管理任重道远
  大量事实表明,为了解决软件危机,既要有技术措施(方法、工具),又要有必要的组织管理措施。软件工程需要从管理和技术两方面研究如何科学、正确、合理地开发和维护软件。现有的软件项目开发大都还属于粗放型阶段,需要遵循软件工程的思想和方法向产业化和精细化的方向发展。软件工程过程包含一系列软件工程活动,如软件规格说明、软件开发、软件确认、软件演进等。研究软件过程的可视化管理和定量管理以及科学适用的经济分析技术是业内人土面临的迫切任务。
  3.软件工程的新技术新方法将不断涌现
  软件工程的发展历程告诉我们,科学技术的发展是没有止境的。软件工程的发展历史本身就是一个不断提出问题又不断解决问题的过程。从软件工程开发方法的进化来看,人们先是从面向一大堆数字信息(DO)到面向过程(PO),再从面向过程提升到面向对象(00),将来有可能从面向对象演进到面向事实(FO)。这一漫长的过程必然导致大量新技术新方法的不断涌现,从而推动软件工程的长足进步。
  
  参考文献
  
  1 仲萃豪.软件工程的成长之路.计算机世界,2000—1—3
  2 李春梅等.面向21世纪的软件工程.昆明理工大学学,2001,2(26)
  3 刘正高.软件工程化发展回顾与热点综述.质量与可靠性,2002,99(3):25—29
  4 Roger S.Pressman.Software Engineering——A Practition·er’s Approach,Fourth Edition,1997
  5 Broy·M,Software technology—models methods andscientific foundations.Information and’Software Tech-nology,1999,41(14):947—950
  6 张海藩.软件工程.北京:人民邮电出版社,2002
其他文献
一、我国信息管理人才教育的现状    1.高等教育蓬勃发展  上世纪80年代我国一些高校设立管理信息系统(简称MIS)专业之后,在全国150多所高校又陆续建立了经济信息管理、科技信息、信息学等专业。为满足对信息管理人才的需要,1998年高校专业目录调整时,将这些专业合并成为“信息管理与信息系统”专业。经过20多年的发展,目前已经形成了一个本科、硕士、博士与继续教育相结合的完整的专业教育体系,在推动
期刊
20世纪90年代以来,飞速发展的电子计算机和现代通信技术相结合,形成了全新的网络环境。它给信息资源建设带来了深刻的影响,使信息资源的结构发生了重要变化。网络环境下的信息资源,是包括传统文献、电子出版物和网络信息在内的涵盖范围较广的信息资源。因此,在网络环境下,对信息资源的评价不能仅以传统文献资源为对象,而且还要重视对电子出版物、网络信息等的评价。由于评价对象的变化,评价的标准也必须随之变化。   
期刊
国家“十五”重大科技成就展,于2005年9月18日在北京海淀展览馆向社会公众展示。为了使更多的观众都能分享国家“十五”重大科技成就,科技部网站同步开通了国家”十五”重大科技成就网络展。这个网络展,以新世纪、新科技、新成就为主题,介绍我国”十五”期间取得的400多项重大科技成就,其中重点展示了近40个亮点,整体风格,,灰宏大气,场景设计新颖独特,包括科技跨入新世纪、工业与高新技术、农业与社会发展、基
期刊
随着信息通信技术突飞猛进的发展和竞争与合作环境的形成,情报学的学科研究呈现出多元化、集成化、技术化、定量化和知识化的态势。那么,情报学科研究的主流和方向如何把握?对于这个问题,情报界研究者在以下几个方面出现了一些共同认知和视野聚焦:事实、数据、信息、知识、智慧和情报的内涵及相互关系;information science的含义以及对情报学的理解;情报学学科发展面临的挑战;情报学学科结构的变化;未来
期刊
城市信息化是指在国家信息化发展总体思路指导下,以城市为主体,在政治、经济、文化、科技、教育和社会生活各个领域广泛应用现代信息技术,完善城市服务功能,提高城市管理水平和运行效率,提高城市的生产力水平和竞争力,促进物质文明和精神文明建设,加速推进城市现代化的全过程。城市信息化水平测评始于20世纪60年代,比较有代表性的是一些知名学者和国际组织所设计的方法,例如:马克卢普法、波拉特模型、日本的信息化指数
期刊
今年是原全国政协委员、九三学社中央委员会常委、中国科学院化学学部委员(院士)、著名化学家、文献学家、科技情报事业奠基人袁翰青先生诞辰100周年。值此百年纪念之际,科技部中国科技信息研究所于9月2日在北京中国科技会堂召开了“纪念袁翰青先生百年诞辰座谈会”。中国科技信息研究所所长贺德方主持了这次会议。会上,中国科技信息研究所党委书记邢宪力介绍了袁翰青先生的生平事迹。参加会议的有科技部、全国政协、九三学
期刊
赛迪集团副总裁、赛迪网总裁徐东英IT垂直门户网站的发展趋势    中国的IT门户,是中国互联网产业最早的开拓者和尝试者。中国IT门户网站,从它诞生之日起就开始努力地尝试和探索符合自身定位和特点的商业模式。目前IT门户存在着这样几个特点:  第一,总体模式趋同,特色有所差异。作为以IT为核心的网站,现在几大IT门户网站都围绕资讯技术、产品、导购、数字娱乐形成了覆盖IT从低到高的全方位的频道布局,在垂
期刊
2004年12月14日,Google携手纽约公共图书馆和哈佛大学、斯坦福大学、密歇根大学、牛津大学的图书馆启动了数字图书馆计划,将馆藏图书馆数字化并引领其进入公共阅读领域,引起了全球瞩目。2004年10月11日,0CLC又宣布与GooIe合作,将其WorldCat中500多万条书目记录公开给GooIe,使用户可以在Google上直接检索到这些书目数据。为支持该计划,GOoIe还开发了一系列其他服务
期刊
提供搜索引擎服务是否侵犯著作权    关于搜索引擎是否构成著作权侵权,学术界仍存在争论。有学者以及大部分网络著作权人认为它是版权意义上的复制,通过某个搜索引擎检索到作品原文或者是链接路径,都属于对作品著作权人权利的侵害。也有人认为它是一种合理的使用,不构成法律纠纷。孰是孰非,笔者将通过比较两个相关案例进行推断。  这两个案例分别是北京国际广播电台的翻译刘京胜状告搜狐案[1]”和叶延滨起诉搜狐案[2
期刊
2005年中国互联网大会作为行业的年度盛会,以“拓展区域合作,把握产业机遇”为主题,致力于为两岸三地的互联网业界朋友搭建沟通的桥梁,这对于进一步加强业界的交流与合作、促进互联网产业健康发展都将发挥积极的促进作用,具有十分重要的意义。  下面,我主要从操作层面,围绕促进发展、鼓励竞争、保障安全、加强合作等方面,就行业主管部门如何引导互联网健康有序协调发展、如何拓展区域合作和把握产业机遇谈几点看法。 
期刊