




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 论计算机软件技术的发展 在计算机系统发展的早期时代(20世纪印年代中期以前),通用硬件相当普遍,软件只是为每个具体应用而专门编写的。这时的软件通常是规模较小的程序,人们把程序设计看作是一种任人发挥创造才能的技术领域。当时一般认为,写出的程序只要能在计算机上得出正确的结果,程序的写法可以不受任何约束,而且只有那些通篇充满了程序技巧,使用了许多窍门的程序才是高水平的好程序,尽管这些程序很难为别人看懂。因此对程序设计语言的研究曾一度是软件技术研究的焦点。这时软件编写者和使用者往往是同一个(或同一组)人。这种个体化的软件环境,使得软件设计通常是在人们头脑中进行的一个隐含的过程,除了程序清单之外,设有
2、其他文档资料保存下来一,软件技术的发展从20世纪60年代中期到20世纪70年代中期,计算机系统进人了发展的第二个时期。由于软件的广泛使用,出现了“软件作坊”(软件开发小组)。这个阶段可称之为程序系统阶段 程序不再是仅供极小范围使用,而需要较长时间为许多人使用。人们要求所使用的程序能容易看懂、容易使用 并且容易修改和扩充 于是,程序便从个人按自己意图创造的“艺术品”转变为能为广大用户接受的工程化产品,程序设计语言也由低级语言(机器语言、汇编语吉)发展到了高级语言(结构化语言、面向对象语言等等) 但是,“软件作坊”基本上仍然沿用早期形成的个体化软件开发方法。随着计算机的时益普及以及网络的推广应用,
3、软件变得无处不在。井且这时同于一般程序, 一方面,一个显著特点是规模和复杂度骤增。例如,美国四代宇宙飞船的软件规模和复杂度呈指数增长,70年代末穿梭号宇宙飞船的软件包含4000万行目标代码。假设一个人一年可以开发出一个一万行的程序,为了开发一个4000万行的软件,是否集中4000人的力量一年就可以完成呢?绝对做不到! 因为代码长度增加了4000倍,程序复杂程度的增加远远超过4000倍。而且如何保证每个人完成的工作台在一起确实能构成一个高质量的大型软件系统?这更是一个极端复杂、困难的问题,不仅涉及许多技术问题,而且必须有严格而科学的管理;另一方,软件不同于硬件,它是计算机系统中的逻辑部件而不是物
4、理部件。在写出程序代码并在计算机上试运行之前,软件开发过程的进展情况较难衡量,软件开发的质量也较难评价,因此,管理和控制软件开发过程相当困难;此外,软件在运行过程中不会因为使用时间过长而被“用坏”,如果运行中发现错误,很可能是在开发时期就隐含有故障。软件维护通常意味着改正或修改原来的设计,这在客观上使得软件较难维护 这些在“软件作坊”无法解决的难题使人们意识到:软件技术的发展已经不能满足需要,“软件危机”出现了!为了从根本上解决在计算机软件的开发和维护过程中所出现的这一系列严重问题 提出了“软件工程”的概念。软件工程即是从管理和技术两方面来研究如何更好地开发和维护计算机软件的一门新兴学科。软件
5、工程学要求在开发与维护软件产品时,采用工程的概念、原理、技术和方法,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,使开发出的软件产品满足软件的本质特性:构造性和演化性。软件的构造性是指软件是客观世界中间题空间的具体描述,也即软件是有结构的。一个好的软件就如同一座设计精良的建筑,层次分明、结构合理并且符合人们的审美观念、使用习惯、思维方式。软件的演化性是指软件是客观事物的一种反映是知识的提炼、知识的体现、知识的固化。而客观世界是按照事物发展的普遍规律不断发展、不断变化的,因此,反映客观事物的软件也必须不断地发展,即软件要能随着新需求、新技术的不断出现而不断升级。软件工
6、程强调使用生存周期方法学和各种结构分析及结构设计技术。生存周期方法学即是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干阶段,每个阶段有相对独立的任务,然后逐步完成每个阶段的任务。采用软件工程方法论开发软件的时候,从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一个阶段任务的完成是开始进行后一个阶段工作的前提和基础,而后一阶段任务的完成通常是使前一阶段提出的解法更进一步具体化,加进了更多的物理细节 每一个阶段的开始和结束都有严格标准,对于任何两个相邻的阶段而言,前一阶段的结束标准就是后一阶段的开始标准。在每一个阶段结束之前都必须进行正式严格的技术审查和
7、管理复审,从技术和管理两方面对这个阶段的开发成果进行检查通过之后这个阶段才算结束;如果检查通不过,则必须进行必要的返工,并且返工后还要再经过审查。审查的一条主要标准就是每个阶段都应该交出“最新式的”高质量的文档资料,从而保证在软件开发工程结束时有一个完整准确的软件配置交付使用 在完成生存周期每个阶段的任务时,应该采用适合该阶段任务特点的系统化的技术方法 结构分析或结构设计技术,即软件技术二、软件技术的主要内容软件是计算机的灵魂,是固化的知识。人们抽象的经验、知识逐步由软件予以精确地体现,软件技术是运用系统的,科学的,规范的方法开发或维护软件产品的技术体系。目前,软件技术主要涉及以下几个方面的内
8、容;1软件构件技术软件构件技术是当前软件技术的关键技术。什么是软件构件呢?软件构件是指可以被多个软件系统所重复使用的、具有独立功能的系统构成成分。举个不是很恰当的比喻,软件构件就好像机械设计中的部件,当一个机械工程师被要求设计一台机器时,优秀的机械工程师会首先将整体划分为一系列具有相对独立功能的部件,确定出各个部件间的联接关系,然后再各个击破,从而完成整体设计。特别是其中会有一些常用的、人们已经标准化了的部件,像油泵、化油器、轴承等这些标准部件往往由专业厂家按照型号生产出系列产品。这样,当在整体设计中需要这些部件时,工程师就不必再设计而只需拿来选用。软件构件技术也是同样道理。该技术运用结构程序
9、设计技术首先对系统进行结构设计,确定出组成系统的相对独立的各个模块和模块问的调用关系,这些模块就是软件构件 然后再针对每个软件构件进行设计、调试。最后按照构件间的调用关系组装成系统完成整体设计。而且其中必然会有相当一部分软件构件已经比较成熟,可以直接拿来使用。这种方法大大降低了软件开发和调试、使用的复杂性,更使得软件易于维护。软件构件根据构件形态可以分为:实体、目标码、程序(代码)、软件。实体也称为运行态目标码,运行态目标码加上静态目标码构成目标码,目标码加上源代码构成程序代码,程序代码加上文档构成软件;软件构件根据构件功能可以分为:专用构件、领域构件、基础构件。专用构件是指每个应用系统的特有
10、构成成分,领域构件指应用系统所属领域的共性构成成分,基础构件指特定于计算机系统的构成成分。为了开发设计出有效的软件构件,必须要建立合理的构件模型。构件模型是对构件本质特征的抽象描述,是实现系统化复用的关键因素。由于不同的软件构件面i临的问题不同,不同的软件开发商关注的焦点不同,必然会出现不同的解决方式。目前,国际上已经形成了许多种比较成熟的构件模型,像分类,描述模型、规约/组装模型、实现模型等。分类/描述模型是以综合的方式描述构件,这种模型便于构件的管理,基本上构成了构件库的数据模型;规约,组装模型以描述构件的功能(行为)为主要目标,包括:构件提供什么功能,构件需要什么功能, 构件可以如何被定
11、制等;实现模型以如何具体实现构件为主要目标,该模型与分布式对象技术充分结合。实现模型将构件的接口与实现进行有效的分离,增加了软件构件复用的机会,并且与网络环境下大型软件系统的需要相适应,支持运行态的软件构件。以工程化的原则和方法来开发软件的软件构件技术集中体现了软件的构造-性,有力地支持软件的演化性,从根本 解决了软件危机。软件构件技术从整体上、从体系结构高度把握软件使得软件体系 再是一系列像蜘蛛网一样的程序流程图,而是 个个相对独正的构件的相互调用 随着客观事物的发展、变化,软件必然需要在功能、性能、易用性等方而进行改进,这种基于构件技术开发出来的软件易描述、易配置、易改进,大大提高软件的演
12、化能力,软件构件技术使软件构件可以重复使用,是当前解决软件危机的现实途径。2信息安全软件技术信息是国家重要的战略资源,信息安全关系到国家的根本利益 信息的获取、加工、传递、利用等都不同程度地依赖于软件技术,软件在信息安全中具有关键作用,因此,非常有必要研究信息安全软件技术 安全软件是确保信息系统安全的一类重要软件 通过增加安全软件构件,将会提高系统的安全性能,给系统提供统一的安全运行环境 安全软件为大型关键系统,它将提供从操作系统核心到网络安全的全面信息对抗、防护功能。目前主要从内容安全、应用安全、网络安全、传输安全四方面考虑设置安全软件构件。内容安全软件构件的目标是净化内容、获取敌对信息、保
13、护涉密,运用搜索、定位、密级分类管理技术,现有产品主要为信息监察系统、涉密检查系统。应用安全软件构件的目标是机密、完整、抗否认、可用,运用加密、验证、签名、认证、备份技术,现有产品为加密机(卡)、保密网关。网络安全软件构件的目标是可控、可靠、防入侵,运用访问控制、认证、审计、入侵检测技术,主要产品为防火墙、vpn,安全路由器等。传输安全软件构件的目标是防窃听、防阻塞、防篡改、防盗用,运用加密、认证技术,产品为加密机、vpn、专网 信息安全软件技术是软件安全运行的保障。此外,还有网络与分布软件技术、人机交互软件技术等,这些技术共同协调使用,使得软件承担越来越多的功能,变得越来越实在,真正成为信息
14、时代的主宰。三、软件技术的基本特点软件技术除了具有一般高技术所具有的高投入、高风险、高教益的特性外,还具有以下几方面突出的特点:1,软件技术的多学科交叉性运用软件技术进行软件开发与维护,特别是进行应用软件的开发与维护,常常需要涉及到其他许多领域的专门知识。例如设计一个大型应用软件系统如能源规划决策系统,就不仅仅需要软件工程知识,还涉及到能源科学、环境保护、经济学、运筹学等若干学科的专业知识,需要多学科、多专业专家学者的共同合作,单纯依靠计算机软件编程人员根本不可能完成这些多学科交叉的综合任务。随着计算机应用领域的无限扩展和人们对软件要求的日益提高软件技术的多学科交叉性将会越来越明显和突出。2,
15、软件技术的高i程性软件技术是软件工程思想在软件开发与维护过程中的具体运用。软件工程思想借鉴了人类工程学科发展的优秀成果,采用已经建立的其他工程的原理和范例,应用工程化原则解决软件问题。我们知道在人类近代技术发展的历史上,工程学科的进步一直是产业发展的巨大动力,如水利工程、建筑工程、机械工程、电力工程等对工农业商业、交通业的影响极为巨大。软件技术把开发与维护软件产品当作一项系统工程,运用工程的思想、原理、结构 管理方式等。例如,软件技术运用结构分析或结构设计技术,把目标系统细化为一系列模块层次结构,这充分体现了软件技术的高工程性 3,软件技术的高产业化软件技术的高产业化集中体现在软件产业作为一个
16、新兴的高科技产业,是当今世界增长最快的朝阳产业,并有望在21世纪头10年内,发展成为全球最大的支柱产业。软件技术对软件产业的发展起着决定性的作用,软件技术已经成为知识经济的核心、信息社会的灵魂,它使社会从注重量的增长向注重质的提高方向发展,对经济具有渗透、带动和倍增作用。据统计,2000年全球软件产业总额达5960亿美元,年增长率超过13这场以软件技术为核心的信息技术革命将使全球经济提升到一个新的水平。4,软件技术的高社会化任何一项技术的产生与发展都有其一定的社会经济和政治背景,软件技术也不例外,突出地表现在软件技术的社会化上。软件技术的高社会化最重要的是政府和社会机构及企业的广泛参与。类似于
17、用来开发企业管理类型软件的软件技术自然是不言而喻的,一些软件技术在进行软件的开发和运行时,常常涉及机构、体制及管理方式等问题,甚至还涉及到人的观念和人们的心理。对于这些人的因素重视得不够,有时会成为阻碍软件技术发展的主要问题。即使是对软件的看法不同也会有很大影响。例如,由于主管部门对正在开发的软件不够理解,因而软件开发得不到应有的重视和必要的支持,造成人力和资金上的困难,它直接影响软件技术的应用。值得庆幸的是,目前软件技术在我国正在受到日益重视,从政府到高校以及大中型软件企业,都把发展软件技术、运用软件技术列上了仪式日程,政府还通过科技计划给予大力支持,并取得了一定的研究成果。小结,迄今为止的软件技术发展史,主要是商业软件业的发展史,是在软件市场不断扩大,需求不断增加的推动下,数以万计的软件企业不断涌现、优胜劣汰、发展壮大,逐步形成一个欣欣向荣的产业的过程。众所周知,企业的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国自动微孔板清洗机行业产业运行态势及投资规划深度研究报告
- 2025至2030中国腰背肌训练器行业市场深度分析及发展趋势与投资报告
- 2025至2030中国脂肪乳行业市场现状分析及竞争格局与投资发展报告
- 2025至2030中国胶印设备行业市场发展分析及竞争格局与投资前景报告
- 2025至2030中国胃药行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国聚酰亚胺板行业市场现状分析及竞争格局与投资发展报告
- 2025至2030中国聚乙烯醇(PVA)薄膜行业产业运行态势及投资规划深度研究报告
- 燃气轮机领域新革命:氢储能与行业耦合策略研究
- 2025至2030中国网络演艺行业市场深度研究及发展前景投资可行性分析报告
- 2025至2030中国缷船机行业市场发展分析与发展趋势及投资风险报告
- GB/T 17989.2-2020控制图第2部分:常规控制图
- 建设项目安全设施‘三同时’课件
- 2022语文课程标准:“语言文字积累与梳理”任务群解读及实操
- DB15T 489-2019 石油化学工业建设工程技术资料管理规范
- 内蒙古自治区通辽市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 螺旋溜槽安装标准工艺
- 2022年人教版六年级下册语文期末考试卷
- 《土地开发整理项目预算编制暂行办法》
- 安徽省评议公告的中小学教辅材料零售价格表
- 德龙自卸车合格证扫描件(原图)
- 西子otis梯oh con6423中文调试手册
评论
0/150
提交评论