软件工程的历史和发展趋势

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:levmg2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]软件工程自二十世纪六十年代末诞生以来,经历30 余年的坎坷,它已经成为计算机科学领域一门综合性和工程性的独立学科.随着其规模和复杂性的提高、使用范围的扩大,需要从技术和管理两方面对软件的开发过程进行控制。从软件工程这门学科和技术出现的背景出发,回顾了软件工程在近40年来理论、方法和实践中的成果,最后结合Internet技术和平台的挑战,初步讨论了软件工程需要面对的新挑战。
  [关键词]软件工程 历史 发展趋势
  中图分类号:O245 文献标识码:O 文章编号:1009―914X(2013)25―0588―01
  一、软件工程的出现
  20世纪中期,计算机刚被从军用领域转向民用领域使用,那时编写程序的工作被视同为艺术家的创作。当时的计算机硬件非常昂贵,编程人员追求的是如何在有限的处理器能力和存储器空间约束下,编写出执行速度快、体积小的程序。程序中充满了各种各样让人迷惑的技巧。到了20世纪60年代,计算机的应用范围得到较大扩展,对软件系统的需求和软件自身的复杂度急剧上升,传统的开发方法无法适应用户在质量、效率等方面对软件的需求。这就是所谓的“软件危机”。为迎接软件危机的挑战,人们进行了不懈的努力,软件工程的目标是研制开发与生产出具有良好的软件质量和费用合算的产品。为解决这个问题,1968年NATO会议上首次提出“软件工程”(SotfwraeEngineeirng)的概念,提出把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化。其基本思想是应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满用户要求的软件产品的定义、开发、发布和维护的工程。从此也诞生了一门新的学科——软件工程。于是出现了软件工程。
  二、软件工程的发展
  软件工程的发展大致上是沿着两个方向同时进行的。一是从管理的角度,希望实现软件开发过程的工程化。这方面最为著名的成果就是提出了大家都很熟悉的“瀑布式”生命周期模型。它是在60年代末“软件危机”后出现的第一个生命周期模型。如下所示:分析 → 设计 → 编码 → 测试 → 维护。后来,又有人针对该模型的不足,提出了快速原型法、螺旋模型、喷泉模型等对“瀑布式”生命周期模型进行补充。现在,它们在软件开发的实践中被广泛采用。软件工程发展的第二个方向,侧重与对软件开发过程中分析、设计的方法的研究。这方面的重要成果就是在70年代风靡一时的结构化开发方法,即PO(面向过程的开发或结构化方法)以及结构化的分析、设计和相应的测试方法。
  30多年来,软件工程的研究和实践取得了长足的进展,尽管目前离彻底解决“软件危机”还有相当的差距(对是否能彻底解决目前也存在争议),但软件工程的方法对软件产业的发展还是起到了很大的推动作用。从20世纪60年代以来,陆续出现了结构化程序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践中。目前软件工程中主要使用的方法和技术可以分成技术和管理两类。从技术的角度主要包括:软件开发范型、软件设计方法。软件开发范型关注软件工程的方向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工程的“途径”,即研究怎样完成从高层概念模型到低层概念模型的映射。工程管理的角度即关注于软件生存周期中所实施的一系列活动并通过过程度量、过程评价和过程改进等涉及对所建立的软件过程及其实例进行不断优化的活动使得软件过程循环往复、螺旋上升式地发展。其中最著名的软件过程成熟度模型是美国卡内基梅隆大学软件工程研究所(SEI)建立的CMM(Capability Maturity Model),即能力成熟度模型。此模型在建立和发展之初,主要目的是为大型软件项目的招投标活动提供一种全面而客观的评审依据,而发展到后来,又同时被应用于许多软件机构内部的过程改进活动中。
  目前在软件项目管理方面有国际标准化组织专门为软件行业定制的ISO9003标准,它给出了衡量软件质量的准则;美国卡内基·梅隆大学软件工程研究所提出的CMM(CapabilityMaturityModel,能力成熟度模型)则提供了一整套较为完善的软件研发项目管理的方法。利用其他成熟工程领域中的做法,软件工程也研究管理学理论在软件工程中的应用。软件项目管理方法抛弃了以前个人的作坊式开发方式,根据管理科学的理论,结合软件产品开发的实际,保证工程化系统开发方法的顺利实施。为了使软件项目能够按照预定的成本、进度、质量顺利完成,软件管理方法对成本、人员、进度、质量、风险、文档等进行分析管理和控制。进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,其开发风险也越小。软件项目管理已经是公认的软件开发企业的核心竞争力之一。
  三、软件工程的新发展
  软件不是纯物化的东西,其中包含着人的因素,于是就有很多变动的东西,不可能像理想的物质生产过程,基于物理学等的原理来做。早期的软件开发仅考虑人的因素,传统的软件工程强调物性的规律,现代软件工程最根本的就是人跟物的关系,就是人和机器(工具、自动化)在不同层次的不断循环发展的关系。面向对象的分析、设计方法(OOA和OOD)的出现使传统的开发方法发生了翻天覆地的变化。随之而来的是面向对象建模语言(以UML为代表)、软件复用、基于组件的软件开发等新的方法和领域。与之相应的是从企业管理的角度提出的软件过程管理。
  20世纪末开始流行的Internet给人们提供了一种全球范围的信息基础设施,形成了一个资源丰富的计算平台,未来如何在Internet平台上进一步整合资源,形成巨型的、高效的、可信的虚拟环境,使所有资源能够高效、可信地为所有用户服务,成为软件技术的研究热点。Internet平台具有一些传统软件平台不具备的特征:分布性、节点的高度自治性、开放性、异构性、不可预测性、连接环境的多样性等。这对软件工程的发展提出了新的问题。软件工程需要新的理论、方法和技术和平台来应对这个问题。目前投入很大精力研究的中间件技术就是这方面的典型代表。
  综上所述,Internet及其上应用的快速发展与普及,使计算机软件所面临的环境开始从静态封闭逐步走向开放、动态和多变。软件系统为了适应这样一种发展趋势,将会逐步呈现出柔性、多目标、连续反应式的网构软件系统的形态。面对这种新型的软件形态,传统的软件理论、方法、技术和平台面临了一系列挑战。从宏观上看,这种挑战为我们研究软件理论、方法和技术提供了难得的机遇,使我们有可能建立一套适合于Internet开放、动态和多变环境的新型软件理论、方法和技术体系。从微观的角度来看,Internet的发展将使系统软件和支撑平台的研究重点开始从操作系统等转向新型中间件平台,而网构软件的理论、方法和技术的突破必将导致在建立新型中间件平台创新技术方面的突破。
其他文献
[摘 要]近几年在补孔作业中,由于部分井射开厚度大,补孔层段存在异常高压区,在起枪时需要压井,一般多采用泥浆压井,致使储层污染严重。为此本文就补孔下泵不压井作业一体化技术展开研究,该技术关键是如何将地面压力传递到射孔枪起爆器所需要的压力,为此研究开发了过泵传压及配套开关装置,为地面打压提供通道,补孔后在地面旋转油管,井下开关打开,使油套连通,达到正常生产的目的。该技术不但可以降低施工费用,而且可以
期刊
[摘 要]沥青混凝土路面由于其具有施工工期短、易修补、路面平整、振动小及噪音低等特点,已被定位为高级路面之一,无论是国内还是国外的公路建设中,都得到了极为广泛的应用,其发展速度非常迅猛。本文主要将国内与国外的沥青路面,在结构层组合的特点上进行分析,然后将其和美国的AASHTO设计方法进行对比,以便能优化我国的沥青路面设计方法,使之变得更加科学与完善。  [关键词]沥青路面 设计方法 比较  中图分
期刊
[摘 要]通过认识轻型钢结构的基本情况及其结构特征,阐释轻型钢结构的设计原则,并进一步论述轻型钢结构的刚度、焊缝、高强度螺栓连接、整体稳定性、支撑等方面的设计。  [关键词]轻型轻型钢结构设计 连接 整体稳定设计  中图分类号:U445.34 文献标识码:U 文章编号:1009―914X(2013)25―0581―01  前沿:  轻型钢结构在我国建筑行业已得到了广泛运用,相较于传统的砌体结构、混
期刊
[摘 要]通信技术的发展越来越快,信息安全以及通信安全成为了国家安全的重要组成部分,然而通信双方的通信信息被窃听的可能性也大大的增加。所以安全通信受到了国内外非常高度的重视以及广泛的研究。本文主要是对卫星通信系统中所采用的数据加密技术进行研究,探讨卫星通信系统在DVB-RCS通信中的加密技术,使该系统能够安全、稳定、快速高效地进行数据保密通信。  [关键词]卫星通信 DVB-RCS 加密技术 密码
期刊
[摘 要]通过使用PLL+DDS+混频的频率合成技术,在L频段实现了一种低相噪、小步进、低杂散的频率综合器,并给出了测试结果。测试结果表明该频率综合器实现了L频段上10Hz的步进,并且其相噪优于-95dBcHz@1kHz,同时其杂散指标优于-60dBc。  [关键词]PLL DDS L频段 频率综合器  中图分类号:TN74 文献标识码:TN 文章编号:1009―914X(2013)25―0579
期刊
[摘 要]软件产业的发展已经关系到一个国家的政治和未来,软件产业将成为21世纪拥有最大产业规模和最广阔前景的新兴产业之一。软件领域是一个包括系统软件,中间软件,嵌入式软件,数据库软件,财务和企业管理软件,教育软件,游戏软件等。  [关键词]软件工程 发展前景 体系结构 软件项目管理 趋势  中图分类号:O245 文献标识码:O 文章编号:1009―914X(2013)25―0583―01  软件行
期刊
中图分类号:TN011.7 文献标识码:TN 文章编号:1009―914X(2013)25―0576―01  以航海方位12个点位形成一平面O,在平面的一面中心位置以相同的角度插入3根Z轴,并使3根Z轴形成的锥形的横截面为正三角形A,然后用相同的方法在平面的另外一面插入3根Z`轴,同上使之形成的锥形的横截面为正三角形B,最后在平面O的垂直方向并在中心位置插入一根Y轴,那么这根Y轴的延长方向必然穿过
期刊
[摘 要]地震数据在当代社会的重要性日渐凸显,保障地震数据的安全性就变得尤为重要。重要的数据如果没能及时被保护,一旦被破坏或者丢失就会对专业人员的工作造成严重的影响。如何降低地震数据的损失,我们采用存储设备将其保存。而现在网络技术及存储技术的提高给地震数据带来了极大的威胁,因此我们必须重视地震数据存储设备带来的利与弊。下面我们就地震数据存储设备存在的问题及安全管理进行剖析。  [关键词]地震数据
期刊
[摘 要]随着国民经济的不断增长,物质生活的不断提高,现代通讯技术也在不断的发展。光纤通讯技术在现代通讯技术中占有很重要的地位,光纤通讯输送的内容多,速度快,在各个领域中都有着重要的位置,深受用户的喜爱。本文就将介绍基于现代技术角度下的光纤通信传输技术。  [关键词]光纤通信 传输技术 应用发展  中图分类号:[TN913.7] 文献标识码:TN 文章编号:1009―914X(2013)25―05
期刊
[摘 要]随着科学技术的发展,在偃龙矿区嵩山煤矿“三软”煤层和岩层压力大、来压快的不利条件下,通过不断研究支护技术,最终解决了偃龙矿区煤巷和岩巷支护难的问题。  [关键词]偃龙矿区 “三软”煤层 支护技术  中图分类号:TE19 文献标识码:TE 文章编号:1009―914X(2013)25―0586―01  1.概况  嵩山煤矿主采煤层为二迭系山西组二l煤,煤厚0~11.82m、平均4.42m,
期刊