欢迎来到天天文库
浏览记录
ID:46296159
大小:73.50 KB
页数:7页
时间:2019-11-22
《[精品]软件的发展历史与趋势》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、软件发展历史与产业发展趋势一、软件是什么随着信息技术的发展,软件作为一种信息技术的主要载体口益渗透到社会政治,军事,经济,文化乃至生活的各个方面和各个层次•软件无所不在,其需求愈来愈多,杂度愈來愈高,可用性要求愈來愈强•如何高效地开发和生产可靠,可信的软件,是软件领域一直必须面对的问题.20世纪60年代,随着第三代计算机的产生,计算机的硬件性能发生了翻天覆地的变化,运行大型的复杂软件系统己经成为可能•然而,相应的软件开发技术却难以满足人型软件系统的开发需要,因而造成:1・大多数大型的软件开发项目的成木都超过预算,开发进度一再拖延;2.软件产品质量不可靠,大型软件系统存在bug儿乎成为不可
2、避免的问题;3.软件产品难以维护;4.软件产品的开发成本过高;5.软件产品开发的效率跟不上计算机硬件发展以及用户需求的增长;软件技术跟不上硬件技术发展而造成的诸多问题被称作”软件危机”(SoftwareCrisis).为了解决软件危机,1968年北大西洋公约组织(NATO)的计算机科学家在德国召开的国际学术会议上第一次提岀了”软件工程“的概念,希望通过系统化,规范化,数量化等工程原则和方法來实现复杂软件系统的开发和维护•按照Webopedia词典中的定义,软件工程是”研究如何开发犬型应用系统的计算机科学学科•软件工程不仅覆盖构建软件系统的和关技术层面问题,还包括诸如指导开发团队,安排进度
3、以及预算等管理层面问题”由这个定义可以看出,软件工程不仅仅包括编写程序代码所涉及的技术,它包括所有对软件开发能够造成影响的问题.Brook在1987年指出,不存在任何一个单一的开发技术或管理技术能够解决软件工程所面临的所有问题•因而软件工程是一个包括一系列概念,理论,模式,语言,方法以及工具的综合性学科•图1中,我们给出了一个软件工程技术的总体框架•可以看到,软件工程技术可以分为产品实现层技术以及开发管理层技术•其屮,产品实现层技术涉及与特定软件系统开发相关的问题,为在软件生命周期的齐个阶段实现软件产品捉供技术支持;开发管理层技术通常不针对特定的某个软件开发项口,而是为管理和改进软件组织
4、所有的业务活动提供技术支持,例如如何使用适当的方法管理软件开发过程中所需要执行的各个活动,以便在特定的软件项目中系统的展开软件工程的层技术,支持软件组织的业务实现,从而控制软件产品开发的成本,捉高生产的效率,保证和改进软件产品的质量.二、软件发展的历史从1968年以來,软件工程有了很大的发展,并对软件产品的改进也是显而易见的•我们对软件开发的活动有了更好的理解,有了更有效的方法支持软件系统的设计和实现•这些新的方法和技术也有效地减少了大型复杂系统的开发成本•然而,不可否认的是,软件组织在预算成本和预计工期内交付客户期望的复杂系统仍然存在问题•因此,有人评论软件工程一直处在慢性的,持续痛苦
5、的状态.总的看来.计算机技术的发展趋势呈现为:硬件价格降低,人力费用增加,应用复杂度增加,社会对软件的依赖程度增加。1、结构化程序设计结构化程序设计方法始于60年代后期,典型的代表是Goto语句从软件屮驱逐出來•其动机就是改进软件源码的结构,增加软件的鲁棒性和可靠性•但随着系统复杂度的提高,单独使用结构化方法并不能保证软件的质量•尽管使用了结构化方法,开发出来的软件依然难于理解和使用•于是导致了功能分解技术的出现.2、功能分解功能分解技术是一个过程方法,它将要实现的最终系统分解成一系列逐步细化的概念化的模块•概念Z间的关系用结构图来表示.FD通常在面向过程的paradigm中使用.这些系
6、统的概念模块是以面向过程的方式定义的・(每一个模块代表一个过程或者子过程).FD的口标提供一种方法通过抽象来逐步求精地理解系统,其开发的产品具有良好的结构•系统的概念模型和表示与源代码的结构是一致的.这种方法今天依然在使用,但结构图已经不能捉供足够的信息来保证可以得到一个结构良好,准确的解决方案了•为了增加一些必耍的信息,出现了结构化分析与设计方法.3、结构化分析与设计结构化分析与设计的降临标志着第一个软件工程方法的诞生.它用一组技术共同来表示整个软件开发的过程.SAD基丁SPrag和FD,并进一步用抽彖的技术来产生模块化的输出.随着SAD的引入,最终实现系统的交付变成一系列的里程碑而不
7、仅是一个里程碑•分析要解决的问题以及解决办法的设计都被认为是软件开发过程的重要步骤.4、以数据为中心的设计方法以数据为中心的设计方法的贡献是在结构化分析中扩充了数据模型,其目的是确定整个组织的数据需求,创建一个中心的,集成的数据库•单独的应用程序开发并从屮心数据库取数据.数据模型用ER模型表示.ER最初的口的是为关系数据库的设计,建立了数据模型之后,应用程序的开发就可以用结构化的分析和设计来关注屮心数据库的数据.5、面向对象的设计方
此文档下载收益归作者所有