软件工程学浅析_崔宏伟

软件工程学浅析_崔宏伟

ID:8153314

大小:27.44 KB

页数:10页

时间:2018-03-08

软件工程学浅析_崔宏伟_第1页
软件工程学浅析_崔宏伟_第2页
软件工程学浅析_崔宏伟_第3页
软件工程学浅析_崔宏伟_第4页
软件工程学浅析_崔宏伟_第5页
资源描述:

《软件工程学浅析_崔宏伟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、软件工程学浅析_崔宏伟崔宏伟徐文友:软件工程学浅析软件工程学浅析崔宏伟’徐文友2}、山东电力工程咨询院济南25001乙2、山东省科技馆济南25。。川【摘要】系统地总结了笔者长期从事计算机软件开发的经验教训,较深刻地分析了产生软件危机的根源及其预防对策,提出了”软件柔韧性”这一新概念,指出了实现软件柔韧性的技术途径,从而对”软件工程学”这一基本范畴,提出了相对精确的定义。【关键词l软件危机;软件工程学;软件柔韧性,统一建模语言;面向构件的软件开发模式【中图分类号】TP311【文献标识码】B1、何谓计算机软件众所周知,计算机系统是通过运行各式各样的程序,来实现各种不同的应用。我们通常把具有不同

2、功能的程序,包括用户为其特定目的编写的应用程序、检查和诊断机器的程序、支持应用程序运行的系统程序等,统称为计算机软件。比较公认的计算机软件,由以下三部分组成:卜在运行中能提供设计功能和性能的指令集(即程序);2、使程序能正确运行的数据结构;3、描述程序研发的文档。软件是一个逻辑实体,而不是具体的物理实体。它是人类的智力产品,而不是物质产品。它在运行期间不象硬件那样,存在机械磨损和老化的问题。然而软件的研发,至今尚未能完全摆脱手工作业的方式;并且周期越来越长,费用越快越高,成本一于分昂贵。软件目前的发展趋势,是需求日益增加,规模日益扩大,复杂性不断提高。例如航天飞机,其软件就有4000万行代

3、码;而空间站则高达10亿行代码;我们经常使用的Windows操作系统,亦有4500一6000万行代码(随版本不同而异)。由于硬件发展太快,而软件的开发能力未能与硬件提供的机会保持同步,由此引发r“软件危机”.对计算机科学产生重大的影响。2、历史的回顾1968年NATO(北大西洋公约组织)提出的“软件危机”(SoftwareCrisis).至今依然存在。它主要涉及两个方面的问题,即:如何开发新的软件,以满足对软件日益增长的需求;以及如何维护不断膨胀的已有软件,使之不断更新并适应硬件环境的改变。软件危机是计算机软件在研发、维护和管理过程中所遇到的‘系列严重的问题。主要表现在:(1)软件成本日益

4、增长,经费一再超支。到上一世纪60年代,软件成本在计算机系统成本中所占比例已达50%,并且还在不断增长;(2)开发进度难以控制,工期一再拖后。许多重大的开发项目,如哪M05/360和世界范围军事命令控制系统(WWMCCs),在耗费厂大量人力、财力和时间之后,由于离预期目标相差甚远而不得不宣告失败;(3)软件质量欠佳,结果不尽如人意;(4)软件维护困难,修改往往牵一发而动全身。此外,还有软件开发过程无规范;软件产品无评测手段等等。一言以蔽之,就是软件产品的供应,赶不七卞L会需求不断增长的需要。山东电力高等专科学校学报JournalofShandongEleetriePowerInstitut

5、e针对软件危机,1967年年初,NATO下属的科学委员会,于1967年年末,倡议召开一个关于软件方面的工作会议。“软件工程学”这一概念,就是1968年10月,在原西德加密施(Garmish)召开的会议上被首次提出来的。该会议的工作总结,即以“软件工程学”(SoftwareEn乡neering)命名。为进一步加深讨论,1969年10月,在意大利罗马(Rome),举行了后续会议。该会尽管软件危机,从计算机软件诞生之日起即开始出现,但这两次NATO会议的贡献,则在于首次提出“软件危机”这一术语和“软件工程学”这一概念,唤醒人们对于软件危机的警觉,和对创建软件工程学的热忱,为日后计算机软件的发展指

6、明了方向,奠定了理论基础。3、产生软件危机的根源及其克服对策纵观1968年至今37年软件产业发展的历史,我们认为:产生软件危机的根本原因,在于软件需求的易变性和需求分析的脆弱性。由于客户本身在项目开始时对软件需求,不可能一下子全部考虑成熟或不能精确表述;而开发人员对客户需求的理解,也有一个渐进的过程;并且随着客观形势的发展,软件需求在软件生命周期内也要与时俱进。因此,软件需求的易变性,是不以人们的主观意志为转移的客观事实,这就导致了软件项目的基石一需求分析的不稳定性。一旦需求分析改变,就势必引起软件的返工,造成软件产品质量差、不能按期交付、成本不断攀升,最后导致软件开发的延误乃至失败。为了

7、克服软件危机.我们首次提出“软件柔韧性”(Softwarepliability)的概念。所谓软件柔韧性,就是软件产品允许需求分析变化,而不必冒重新设计软件某些部分的风险。具体来说,就是使软件产品易于随着需求分析的变化而改变,即软件产品具有一定的柔性(或称弹性),从而提高软件的容变能力。为了提高软件产品的柔韧性,主要的技术途径有:软件建模及软件过程;软件复用及构件技术。以下我们分别对这两个软件工程学的基本范畴逐一进行简要的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。