欢迎来到天天文库
浏览记录
ID:50331641
大小:67.50 KB
页数:5页
时间:2020-03-08
《上海市中考满分作文-试论软件工程的历史与发展趋势.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、试论软件工程的历史与发展趋势论文摘要:软件是一种特殊的产品,随着其规模和复杂性的提高、使用范围的扩大,需要从技术和管理两方面对软件的开发过程进行控制。从软件工程这门学科和技术出现的背景出发,回顾了软件工程在近40年来理论、方法和实践中的成果。最后结合Intemet技术和平台的挑战,初步讨论了软件工程需要面对的新挑战。论文关键词:软件危机;构件;体系结构;软件项目管理;中间件1软件工程的出现1・1软件危机20世纪屮期,计算机刚被从军用领域转向民用领域使用,那时编写稈序的T作被视同为艺术家的创作。当
2、时的计算机硬件非常昂贵,编稈人员追求的是如何在有限的处理器能力和存储器空间约朿下,编写出执行速度快、体积小的稈序。稈序屮充满了各种各样让人迷惑的技巧。这时的软件生产非常依赖于开发人员的聪明才智。到了20批纪6()年代,计算机的应川范围得到较大扩展,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求。这就是所谓的“软件危机J为解决这个问题,1968年NATO会议上首次提出“软件工稈M(SotfwraeEngineeirng)f
3、4、开发从“艺术"和“个体行为响“T稈"和“群体协同工作"转化。其基本思想是丿、'、/「丿IJ计算机科学理论和技术以及T程管理原则和方法,按照预算和进度,实现满川户要求的软件产品的定义、开发、发布和维护的工程。从此也诞生了一门新的学科——软件工程。迄今为之,为了达到最初设定的目标,软件工稈界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过稈屮的若干问题。但是,由于软件固有的复杂性、易变性和不可见性,软件开发周期长、代价高和质量低的问题依然存在。DEEE在2002年发表的报告指出,即使是IT5、产业最发达的美国,在2(X)1年美国木土公司开发的软件产品屮平均每1()0()行代码屮有0.37个错误,对于美国之外的其他国家,这个比例更高。1.2软件与其他产品的差异软件是一种特殊的产品,人们通常看到的是它的载体,而真正具有意义的是载体上的计算机或信息。软件既不同于通常的精神产品,也不同于常见的物质产品。作家的作品是一种精神产品,它没冇使川价值却可以供人阅读欣赏。若把软件也看成是一种作品,却发现其价值在于供人们使用,无人喜欢读它的源代码。软件也与传统的丁业产品不同。丁•业产品在设计好Z后,主要6、的成木是原材料成木、生产过稈的开销等,但生产任何软件的主要成木是设计、实现软件时的成木,以及软件投入使用后的维护成本,在生产线上制造软件的成木非常低。用户购买某种商品后,就拥冇了该商品的所有权和使用权。可是用户买来的软件却只拥有它的有限“使用权二丁业产品会随着使用而磨损、报废,但软件在使川过程不会有任何磨损,在相同的硬件条件下川户1年前使用的软件和5年示使用该软件无任何并别。传统的工业产品在车间里生产,生产过程可见、可触摸,也容易衡量生产过程屮的消耗和进展。可是软件的开发过程在人的大脑里,很难度7、量其进度。所谓的“软件T程"就是要这种过稈“可视化"、“定量化",把看不见的思维活动变成看得见的“文档”或者其他看得见的东西O2软件工程方法和技术30多年来,软件T程的研究和实践取得了长足的进展,尽管忖前离彻底解决“软件危机”还有相当的并距(对是否能彻底解决目前也存在争议),但软件工程的方法对软件产业的发展还是起到了很人的推动作用。从20世纪60年代以来,陆续出现了结构化稈序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践屮。目前8、软件工程屮主要使用的方法和技术可以分成技术和管理两类。2.I技术的角度主要包括:软件开发范型、软件设计方法。软件开发范型关注软件工程的方向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工稈的“途径",即研究怎样完成从高层概念模粮到低层概念模粮的映射。软件工程理论在实践屮应用时重点放在软件复川上。参考目前成熟的工业产品的开发模式,软件复用可以在软件开发屮避免重复劳动,它以已有的成果为基础,充分利用过去开发应用系统屮积累的知识和经验,将开发的重点集屮于新应用的特有构成成分上。通过使用软件9、复用技术,开发应用系统时可以充分利用已有的开发成果,消除软件生命周期屮的许多重复劳动,提高软件开发的效率。同时,复用高质量的己冇成果,可以避免重新开发时引入的错谋,从而提高软件质量。实现软件复用的关键技术包括软件构件技术(softwarecomponenttechnology)a领域工程(domainen—gineering)>软件体系结构(softwarearchitecture)等。软件构件是指应用系统屮可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件。目前,构件的概
4、开发从“艺术"和“个体行为响“T稈"和“群体协同工作"转化。其基本思想是丿、'、/「丿IJ计算机科学理论和技术以及T程管理原则和方法,按照预算和进度,实现满川户要求的软件产品的定义、开发、发布和维护的工程。从此也诞生了一门新的学科——软件工程。迄今为之,为了达到最初设定的目标,软件工稈界已经提出了一系列的理论、方法、语言和工具,解决了软件开发过稈屮的若干问题。但是,由于软件固有的复杂性、易变性和不可见性,软件开发周期长、代价高和质量低的问题依然存在。DEEE在2002年发表的报告指出,即使是IT
5、产业最发达的美国,在2(X)1年美国木土公司开发的软件产品屮平均每1()0()行代码屮有0.37个错误,对于美国之外的其他国家,这个比例更高。1.2软件与其他产品的差异软件是一种特殊的产品,人们通常看到的是它的载体,而真正具有意义的是载体上的计算机或信息。软件既不同于通常的精神产品,也不同于常见的物质产品。作家的作品是一种精神产品,它没冇使川价值却可以供人阅读欣赏。若把软件也看成是一种作品,却发现其价值在于供人们使用,无人喜欢读它的源代码。软件也与传统的丁业产品不同。丁•业产品在设计好Z后,主要
6、的成木是原材料成木、生产过稈的开销等,但生产任何软件的主要成木是设计、实现软件时的成木,以及软件投入使用后的维护成本,在生产线上制造软件的成木非常低。用户购买某种商品后,就拥冇了该商品的所有权和使用权。可是用户买来的软件却只拥有它的有限“使用权二丁业产品会随着使用而磨损、报废,但软件在使川过程不会有任何磨损,在相同的硬件条件下川户1年前使用的软件和5年示使用该软件无任何并别。传统的工业产品在车间里生产,生产过程可见、可触摸,也容易衡量生产过程屮的消耗和进展。可是软件的开发过程在人的大脑里,很难度
7、量其进度。所谓的“软件T程"就是要这种过稈“可视化"、“定量化",把看不见的思维活动变成看得见的“文档”或者其他看得见的东西O2软件工程方法和技术30多年来,软件T程的研究和实践取得了长足的进展,尽管忖前离彻底解决“软件危机”还有相当的并距(对是否能彻底解决目前也存在争议),但软件工程的方法对软件产业的发展还是起到了很人的推动作用。从20世纪60年代以来,陆续出现了结构化稈序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践屮。目前
8、软件工程屮主要使用的方法和技术可以分成技术和管理两类。2.I技术的角度主要包括:软件开发范型、软件设计方法。软件开发范型关注软件工程的方向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工稈的“途径",即研究怎样完成从高层概念模粮到低层概念模粮的映射。软件工程理论在实践屮应用时重点放在软件复川上。参考目前成熟的工业产品的开发模式,软件复用可以在软件开发屮避免重复劳动,它以已有的成果为基础,充分利用过去开发应用系统屮积累的知识和经验,将开发的重点集屮于新应用的特有构成成分上。通过使用软件
9、复用技术,开发应用系统时可以充分利用已有的开发成果,消除软件生命周期屮的许多重复劳动,提高软件开发的效率。同时,复用高质量的己冇成果,可以避免重新开发时引入的错谋,从而提高软件质量。实现软件复用的关键技术包括软件构件技术(softwarecomponenttechnology)a领域工程(domainen—gineering)>软件体系结构(softwarearchitecture)等。软件构件是指应用系统屮可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件。目前,构件的概
此文档下载收益归作者所有