社会因素在软件系统发展中简述操作系统的重要性性

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
历任政府公务员、外贸公司总经理、上市公司总裁
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
以微电子、计算机、通讯技术为主导的信息技术革命正在迅猛地改变我们生存的社会,人类开始从工业社会进入信息时代。信息技术在世界新技术革命中不仅作为一项独立的技术而存在,还广泛渗透于各个高技术领域以及生产、经营、管理等过程,成为它们发展的基本依据和重要手段。信息化正从整体上引导着世界经济和社会发展的进程,信息技术已成为经济发展的关键因素和倍增器,随之而兴起的信息产业将成为经济发展的主导产业。据预测,到2000年,信息产品市场将达9000亿美元,成为世界市场的第一大领域。
信息技术中,微电子是基础,计算机硬件及通讯设施是载体,而计算机软件技术是核心。软件是计算机的灵魂,没有软件就没有计算机应用,也就没有信息化。信息社会需要众多各种各样、千变万化的软件系统,软件产业顺应时代的需求,面临发展的机遇,正成为一门独立的产业,成为信息产业中的支柱产业。据预测,到2000年,软件和信息服务将达到5400亿美元,占信息产品市场的半数以上。
软件的重要性已成为发达国家的共识,被视为国家关键技术。“先进软件的发展在新一代军事与商业系统的推广及可靠性方面越来越成为一项重要的制约因素。”(《美国国家关键技术报告》)软件技术的研究和软件产业的发展是当今发达国家竞相扶持的重点,将成为国家间相互竞争的重要武器。一些发展中国家如印度、巴西等也在积极发展自己的软件产业,试图抓住机遇,迎头赶上。
置于世纪之交、时代变迁之际,我国面临良好的发展机遇。在软件技术研究方面我们具有很好的基础和优势,发展软件产业将是我们主要的突破口之一。本文将回顾软件技术发展的历史,总结软件技术发展现状及我们已经取得的成就,进而探讨我国发展软件技术和软件产业的方向和对策。
二、历史回顾
从1946年第一台计算机诞生至今,其发展已历50年,计算机已在几乎所有的领域得到广泛应用。但是,考察计算机硬件,其飞速的发展主要表现在运算速度、集成规模等方面,计算机体系结构一直沿袭未变。造成计算机应用领域扩展的主要因素是软件技术的进步。
软件是指计算机系统中的程序及相关文档,程序是对计算任务的处理对象和处理规则的描述,文档则是为了便于了解程序而给出的阐明性资料。计算任务的完成是通过程序在硬件载体上的执行。软件一词用于描述计算机中的非硬件成分(特指计算机程序)出现于50年代,1960年前后才广为流传。
早期()的计算机功能简单,应用领域较窄,主要用于科学计算,处理数值数据。程序设计只能使用机器语言和汇编语言,编程工作复杂、烦琐、费时、易错,主要考虑时间和空间效益,强调编程技巧。
1956年,高级语言和操作系统开始出现。
50年代中期出现的FORTRAN语言是第一个被广为接受并使用的高级语言,目的仍是解决科学及工程计算问题,它使程序员能以自然的方式书写表达式和算法,大大减轻了编程负担。随着使用计算机的需求增长,除科学计算继续发展外,出现了大量的非数值数据处理问题,从而带来了高级语言的蓬勃发展期。出现了面向算法处理的语言ALGOL60(1960)、面向商业数据处理的语言COBOL(50年代中期)、面向人工智能应用的语言LISP(1960)、交互式语言BASIC(1964)、机床控制语言APT(1956)、仿真语言SIMULA(1967)以及通用性语言PL/1(1960)、ALGOL68(1968)等。其中ALGOL语言对程序语言及编译技术的研究起到了有力的推动作用,随之诞生了著名的BACKUS范式(BNF)。在70年代,又有PASCAL、FP、ADA、SMALLTALK等语言问世。高级语言的流行使计算机应用领域得到较大扩展,促进了软件技术作为独立学科的形成和发展。
操作系统的出现对高级语言编程提供了良好支持,它使程序员透明于硬件及外设管理,从而拥有更方便、高效的工作平台。其中典型的工作有批操作系统OS/360(60年代中期)、实时操作系统SABRE(1963)、分时操作系统CTSS(1963)等。70年代早期,交互式操作系统UNIX问世,并很快被广泛使用,对操作系统理论及技术的发展起到了积极的推动作用。
60年代后期,由于软件系统复杂度迅速提高,研制周期变长,正确性难以保证,出现了所谓“软件危机”。为克服这一危机,开始考虑将工程化方法引入软件开发过程中。1968年,提出了软件工程。软件工程将计算机科学、数学及管理科学等原理应用于软件开发过程,借鉴传统工程的原则、方法,以提高软件质量,降低成本。其中,计算机科学、数学用于构造模型和算法,工程科学用于制定规范、设计范型、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。这是一门交叉性学科,主要研究软件开发模型、软件开发方法、开发过程管理、开发支持工具等。软件工程的研究深化了软件技术研究,使软件开发从无序走向有序,从技巧走向工程,从个体走向协作,为满足日益增长的软件需求,为形成软件产业奠定了基础。
70年代软件技术的另一重要进展是数据处理。这是管理、操作大量数据的技术,具有广泛的应用范围。数据库技术,特别是数据库管理系统(DBMS)的出现,使计算机应用进入了一个崭新的领域。网络方法(1964)、层次方法(1965)和关系方法(1970)是数据库理论研究的三个主要流派,这些方法各有优劣,但最终被广为接受并进入实用的是关系型数据库管理系统。
我国计算机事业起步于50年代,虽然和国际水平相比有一些差距,但通过广大科技工作者的努力工作,取得了丰富成果。在软件技术研究方面,系统程序设计语言XCY(1984)、基于时序逻辑的程序设计语言XYZ(1981)均是具有国际水平的成果,DJS11机(150机)操作系统(1973)是我国第一个自主开发的操作系统,DJS240机操作系统(1984)是国际上最先使用高级语言(XCY)书写的操作系统,具有开创性意义,其层次管程结构、多道程序管理具有当时国际先进水平。
三、国际软件技术发展现状
80年代是软件技术突飞猛进的时期。计算机在越来越多的领域得到应用,特别是由IBM公布PC机结构所带来的PC浪潮,使计算机普及到社会的各行各业,甚至进入家庭。众多的应用要求形成了巨大的软件市场,促使了软件企业的飞速发展,从而使软件产业作为一个新兴产业应运而生。
软件的重要性日益为更多的人所认识,而事实上在许多领域(如高性能计算),软件投资已开始超过硬件投资。日益增大的对软件的需求,更加加深了软件危机,但同时也促进了旨在解决软件危机的软件技术的进步和发展。
近十几年来,软件技术出现了一系列重要突破。
在程序设计语言方面,传统程序设计语言由于VON NEU-MANN体系结构的局限而呈现的种种缺陷逐步为人们所认识且不可容忍,从而出现了试图摆脱传统VON NEUMANN体系结构的束缚,探索新型程序设计语言的种种努力,形成了一股新范型、新风格程序设计语言的研究热潮,其中典型的代表有函数式程序设计语言、逻辑式程序设计语言和面向对象程序设计语言。函数式语言具有良好的数学基础、简明的操作语义和指称语义、本质上的并行性;逻辑式语言以HORN子句为基础,语义简明、具有很强的逻辑推理能力。这两种语言均为说明型语言,只需描述“做什么”,而不考虑“怎么做”。函数式、逻辑式语言已在人工智能领域得到很好应用,其研究正在深入进行中。面向对象语言的兴起以SMALLTALK80语言的出现为标志,是近十几年来最重要的软件技术进展之一,被誉为“90年代的主流软件技术”。面向对象以拟人化的观点来看待客观世界,认为客观世界由一组对象构成,对象间的交互构成了客观世界的运行。采用面向对象的观点,可以使问题空间和解空间在一致的模型框架内得到统一,从而实现了现实世界系统到软件系统的直接映射。面向对象语言如C++、SMALLTALK等已成为当今的主流语言,由面向对象语言的出现而引起的面向对象技术浪潮已深入软件技术的各个方面,出现了面向对象的软件开发方法、面向对象数据库、面向对象操作系统等新概念和新技术。随着面向对象技术的日益流行,国际上众多软件企业纷纷涉足,为此还成立了专门的组织OMG来协调相关标准的建立,CORBA便是该组织推出的关于对象模型和对象操作的标准,微软公司也推出了相应的构件对象模型OLE-COM。近几年,程序设计语言发展的另一热点是旨在提高用户编程友善性的可视化程序设计技术研究,通过提供给用户使用图符、图形编程的手段来提高编程的效率和正确性。
在操作系统方面,由UNIX而引发的开放潮流大力促进了操作系统的进步,诞生了POSIX国际标准;由于计算机网络的发展又使网络操作系统和分布式操作系统得到较快发展;个人机市场的扩展使DOS系统得以流行;对用户友善性的考虑促进了窗口(WINDOW)系统的兴起。开放性、标准化、友善性和支持网络分布成为当今操作系统发展的主要趋势。在技术上,微内核技术成为新一代操作系统的核心技术,正在逐步进入实用;面向对象操作系统的研究亦是主要热点。
在数据处理领域,关系型数据库技术的成熟及实用为信息处理领域的蓬勃兴旺奠定了基础。在各类应用软件系统中,基于数据库的信息管理、处理及决策支持占据了很大比例,数据库及其管理系统已成为绝大多数应用系统不可缺少的部件。随着信息处理需求的不断增大,人们已不再满足于从单一的数据库中获取数据,而是希望从分布在不同地点的不同数据库中获取综合信息,实现信息共享,从而出现了网络数据库和分布式数据库。近年来,数据库领域又出现了一个众所瞩目的概念,即数据仓库技术。数据仓库将分布在企业网络中不同信息源上的数据搜集到一起,存储在一个单一的集成关系型数据库中,通过这种信息集合,方便用户对信息的访问,更可使决策人员对很长一段时间内的历史数据进行分析,确定事物的发展走势。数据仓库技术被视为在信息社会中企业获得竞争优势的关键因素。面向对象数据库的研究是另一个热点,当前的主要做法是在关系型数据库之上加上面向对象的接口,真正的面向对象数据库离实用尚有一定距离。
在支撑软件方面,软件需求的增大,伴随软件系统复杂度的增加,使得对软件开发效率、软件系统质量的要求成为至关重要的因素。传统的手工作坊式的软件开发方式已不再能满足软件发展的需要,成为软件产业发展的制约因素,软件开发手段的变革已成为势在必然的趋势。80年代是软件工程蓬勃发展的时期,软件工程思想和技术得到更多的普及和认同,学术界的研究成果和产业界的成功实践共同标志着软件生产方式变革时期的到来。主要的成就可总结为如下几个方面:
(1)70年代的研究成果得到了成功的应用,如结构化方法学在众多信息系统建设中发挥了巨大作用;
(2)计算机辅助软件工程(CASE)技术飞速发展并开始受到重视,出现了众多的CASE工具、平台和环境,具有里程碑意义的是NIST和ECMA共同推出的CASE环境参考模型、欧共体的PCTE和我国的青鸟系统(JADE BIRD),CASE环境在开放性和标准化方面已获初步成功;
(3)面向对象技术的引入使软件开发方法学产生了一场变革,出现了面向对象软件开发方法学,从而为软件开发效率和软件质量的提高奠定了良好理论基础;
(4)软件复用技术由于面向对象技术的出现再次成为研究热点并被视为解决软件危机、实现软件工程化、工业化生产的一条现实可行的途径,构件软件技术、设计模式、软件体系结构的研究正逐步深入;
(5)软件过程开始受到重视,软件过程管理被视为成功开发软件的关键因素,出现了关于软件过程的IEEE标准;(6)软件工程作为一门学科派生出许多热点分支,如旨在解决软件系统需求阶段问题的需求工程,支持现行软件系统的演化、维护、理解的逆向工程和再次工程,以及解决领域知识获取、分析的领域工程等。
在人机交互方面,围绕如何更好地提供有效的人机交互接口和手段,使更多的人能方便地掌握和操纵计算机而出现了一系列先进技术,包括图形用户界面、多媒体技术、可视化技术和虚拟现实技术等。图形用户界面已成为任何软件系统的必备成分,为系统的使用者提供在色彩、布局、操作等方面的舒适观感,使用户易于学习、易于使用并乐于使用;多媒体技术集图、文、声、动画、影像的处理于一体,为系统用户提供逼真、舒适的使用、工作环境,同时,使计算机能管理、处理更多的信息,远程会议、计算机游戏、数字电影等无不体现了多媒体技术的应用;可视化技术考虑将计算机处理的东西,包括过程、结果以图形的方式显示给用户,使用户更好地理解、掌握并决策,如可将科学及工程计算的过程及结果以图形的方式显示出来,使科学家或工程师能自然、直观、准确的分析计算过程和结果,作出正确的决策;虚拟现实技术通过给用户同时提供诸如视、听、说、触等直观自然的实时感知交互手段,最大限度地方便用户操作,远程医疗服务、航天航空仿真训练、虚拟旅游等均是虚拟现实技术的用武之地。
在网络、分布系统领域,CLIENT/SERVER技术、并行处理技术及INTERNET技术是近几年的主要热点。CLIENT/SERVER技术通过采用硬、软件结构上的CLIENT/SERVER结构模式,实现计算任务的分布,达到资源、服务的共享,并使系统具有灵活的可伸缩性,这已成为当前绝大多数应用系统采用的结构模式;基于网络或多机系统的并行处理技术已取得很大进展,特别是围绕高性能计算任务的需求,并行计算领域出现了并行虚拟机(PVM)、消息传递接口(MPI)以及机群计算(CLUSTER COMPUTING)等新概念和新技术,这在较大程度上解决了并行计算的一些关键问题;INTERNET在近几年中呈几何级数的增长使其成为举世瞩目的焦点,它作为一种新的通讯设施,缩短了世界各地的距离,建立起了一个没有边界的“信息社会”。INTERNET的发展对软件技术的发展提出了新的要求,也带来了更多的机遇,JAVA的兴起便是一个典型例子。IN-TERNET是一个巨大的舞台,也是一个巨大的市场,软件技术在其中扮演着极其重要的角色。
在人工智能及知识处理领域,专家系统已得到实际的应用,使人类专家知识在计算机系统中得到重现。近几年在分布式人工智能研究中出现的AGENT概念及技术也引起软件技术其他领域的高度重视,被使用在许多应用软件系统中。从发展趋势看,随着人类对自身了解的不断深入,人工智能技术将会越来越深入地发展,被越来越广地应用到更多的领域。
四、我国软件技术的发展
我国软件技术的发展和国际水平相比存在着一定差距,但在国家的关心和扶持下,经过广大科技工作者的不懈努力,也取得了长足的发展和进步,为我国软件产业的形成和发展奠定了必备的技术基础,同时也造就和培养了一批软件技术人才。
我国的软件产业起步于80年代,创业伊始,除了支持必需的软件技术基础研究外,国家根据具体国情,选择若干关键技术进行攻关,为我国软件产业的基础建设打下了良好基础。主要成果体现在如下几方面:
系统软件技术:系统软件是和计算机硬件直接交互的软件,是应用软件赖以运行的基础平台,也是计算机系统安全性的基本屏障。因此,拥有自主版权的操作系统至关重要。在国家攻关计划支持下,中软总公司牵头承担了国产操作系统的研制工作,推出了符合POSIX标准的操作系统COSIX,同时推出了运行其上的数据库管理系统。填补了我国在这方面的空白,具有非常重要的意义。当前,COSIX系统的实用推广工作正在进行中,基于微内核技术的新一代操作系统也在研制中。
中文处理技术:软件具有较强的民族性和文化性,外来软件的本地化及对民族文字的计算机处理技术均是非常重要的。我国在中文信息处理技术方面经过“七五”、“八五”的努力已有了长足进步,以国标GB2321字符集为基础的中文输入、汉字字形生成与输出、中文文字处理与电子排版印刷、操作系统及软件汉化等方面成果斐然。特别在电子出版领域,已形成良好的产业基础,北大方正、华光等企业已占有全部国内市场,在台、港、澳、新加坡及东南亚地区占有很大市场份额。当前,中文信息处理技术的发展主要朝向对中文句子、篇章的理解,实现自然语言的自动处理,特别是大规模真实文本的自动处理。
支撑软件技术:任何一个产业的发展都离不开工程化、工业化的生产手段,正如机械工业离不开先进的机床、生产线,计算机硬件产业离不开微电子、芯片加工一样,软件产业的发展同样离不开必要的基础生产设施。手工作坊式、小分队式的软件开发方式已远远不能满足软件产业发展的需要,只有拥有先进的工程化、工业化生产技术和手段,才能够提高软件生产率和软件产品质量,增强企业自身的综合竞争力,在激烈的市场竞争中立于不败之地。很难想象,赤手空拳如何能够和现代化的装备去竞争。为此,在国家支持下,以北京大学为首的攻关集体以建立我国软件产业的基础,推行软件工程化、工业化生产技术和模式为目标,承接国家重点科技攻关计划,实施青鸟工程,为我国软件企业提供必要的工业化生产手段和装备(软件生产),为形成软件产业的规模经济培养人才,增加科技储备,加强产品开发的能力和实力,经过“六五”、“七五”和“八五”十余年攻关,取得了丰硕成果:
制定了青鸟标准规范,研制了大型软件开发环境青鸟系统,推出了青鸟系统系列产品,应用于大型软件系统开发,提交了一批理论成果。
“九五”期间,青鸟工程的目标是:制定软件工业化生产标准,进一步推行软件工业化生产方式,促进形成软件产业的规模经济。技术目标是:强化采用面向对象技术,支持以软件复用为基线的,基于“构件-构架”模式的软件工业化生产技术。
世界软件技术正处于突飞猛进的发展时期,我国要赶上时代发展的步伐,将面临严峻而激烈的挑战,同时这也是极好的发展机遇。未来世界,谁掌握最新软件技术,谁就可在激烈的国际竞争掌握主动权,占据优势。我国的软件技术和软件产业经过10余年的发展,已打下了良好基础,在此关键时刻,不进则退,稍有迟疑或决策不当,就会失去良机,失去进入信息社会的入场券。
当前,发展我国软件产业,必须要有国家政策的扶持。一方面要面向经济建设的需要,选择关键技术组织攻关,以解决国民经济建设和产业建设中的重大、综合、关键、迫切的技术问题;另一方面制定有利于发展软件产业的政策,造就软件产业发展的良好环境。
1.选择关键技术,集中力量攻关
系统软件技术、中文处理技术和支撑软件技术应该成为攻克的重点。系统软件事关国家信息安全,必须掌握并积极发展;中文处理技术是我国的优势所在,不可丢失阵地;支撑软件技术是发展软件产业的关键因素,先进的装备是我们的竞争力之所在。先进的装备是不可能买来的,只能依靠自己开发。
2.建立合理的产业结构框架,形成产业规模
建立基础研究与应用技术研究、模型研究与原型开发、产品开发与商品化及市场服务四个层次的产业结构框架,形成研究、开发、产品和市场的良性循环。统一规划、通力合作、重点建设若干软件产业基地和龙头企业,使研究开发、产品开发、质量评测三位一体。根据地方、行业情况,合理分布企业,进行优势力量组合,以形成综合效应和规模经济。
3.重视人才培养,加强队伍建设
软件企业是智力密集型、技术密集型企业,人才是关键,是财富,高水平的稳定的骨干队伍至关重要。软件技术发展较快,及时的知识更新十分必要,必须重视人才的培养和再培养。要重视软件营销人才培养,经销、管理队伍建设,建立一支高级复合型人才队伍。
4.改变投资观念
信息产业的竞争归根结底是技术竞争和产品竞争。大型信息工程的核心是软件,因而,在信息工程实施中,要抓住软件,采用“软件牵引,设备租赁”的政策,建立软件是固定资产的观念。
5.开展国际合作,开拓国际市场
加强国际合作,积极参与国际竞争,在竞争中发展软件产业,在竞争中推动技术进步。立足国内,面向国际。
软件技术和软件产业的发展是我国社会经济信息化的关键。软件技术和软件产业相辅相存,互相促进。软件产业的发展必须以软件技术为基础,另一方面,软件产业又是软件技术发展的依托。随着软件技术与软件产业的飞速发展,二者的结合将更加紧密。
阅读(144)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'软件技术与软件产业发展和展望',
blogAbstract:'&\r\n\r\n\r\n\r\n\r\n\r\n一、前言\r\n以微电子、计算机、通讯技术为主导的信息技术革命正在迅猛地改变我们生存的社会,人类开始从工业社会进入信息时代。信息技术在世界新技术革命中不仅作为一项独立的技术而存在,还广泛渗透于各个高技术领域以及生产、经营、管理等过程,成为它们发展的基本依据和重要手段。信息化正从整体上引导着世界经济和社会发展的进程,信息技术已成为经济发展的关键因素和倍增器,随之而兴起的信息产业将成为经济发展的主导产业。据预测,到2000年,信息产品市场将达9000亿美元,成为世界市场的第一大领域。',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:6,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'历任政府公务员、外贸公司总经理、上市公司总裁',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}论软件开发与可持续发展的关系—西安软件开发,西安软件公司,专业软件外包服务公司
客服热线:,
在线客服:
首页>>技术前沿>>B/S,C/S软件系统开发
论软件开发与可持续发展的关系
作者:西安软件开发公司 | 原创 来源: | 时间:日| 点击:0次 |
1. 与可持续发展的关系 软件开发是人类社会实现可持续发展的必由之路。当今世界各国、各行业都在争先恐后地推进软件开发。这场热火朝天的软件开发革命正在深刻地改变着人类的生产和生活方式,为人类社会可持续发展开辟了新的天地。 软件开发与可持续发展的关系是相互促进和相互保障的辨证关系。我们不能忽视软件开发本身的可持续发展问题。软件开发应该随着社会需求的不断发展而持续稳定地发展。我们应该以可持续发展的思想和方法指导软件开发建设。否则,软件开发进程就会出现危机,走进死胡同,丧失其应有的活力。 然而,软件开发自身的可持续发展问题似乎还没有得到充分的认识和应有的重视,或者说可持续发展的观念和具体措施还没有普遍落到软件开发各项工作的实处,在软件开发的规划、建设、运行使用、机制保障等各方面,都还普遍存在不利于软件开发可持续发展的因素,已经开始阻碍软件开发进一步健康发展。 2. 软件开发的可持续发展 2.1. 软件开发是一个发展的概念 我们应该清楚地认识到,软件开发是一个相对的、发展的概念。我们在某一时期的软件开发建设,是相对于该时期的社会需求而进行的,社会在不同时期有不同的需求,软件开发需要随着社会需求的发展而发展。我们应该以发展、而且是可持续协调发展的眼光看待软件开发事业。 2.2. 软件开发可持续发展的内涵 软件开发可持续发展的内涵,应该包括: 1)软件开发是一个发展的概念,软件开发在满足当前社会需求、业务需求的同时,应该能够随着社会需求、业务需求的发展而持续、平稳、协调地发展。 2)软件开发发展的每一阶段都应该充分利用以前各阶段的相关成果作为本阶段发展的基础,同时本阶段的成果也应该能够成为后续发展阶段的基础而被适当利用,为后续发展阶段提供良好的条件积累。 3)软件开发建设的每一个项目都应该充分利用其它相关项目的建设成果作为本项目建设的条件,同时本项目的建设成果也应该能够成为其它相关项目建设的条件而被适当利用,为其它相关项目的建设和运行使用提供良好的支持。 4)作为软件开发项目建设技术成果的信息系统,在其生命期内应该能够随着业务需求的发展和运行条件的变化而不断完善和升级,在其生命期结束而进行更新换代时其业务应用成果尤其是信息资源应该能够得到妥善迁移和继承。 3. 影响软件开发可持续发展的常见因素 影响软件开发可持续发展的因素多种多样,贯穿于需求、规划、设计、技术实现、运行使用等各个环节,既有技术因素,也有制度因素,通常多种因素并存。以下对常见因素作初步探讨。 3.1. 对待需求的态度 社会各行业业务的需求,是软件开发的出发点和归宿点。业务的持续发展,产生对软件开发的持续需求,成为软件开发可持续发展的动因。 需求是软件开发规划和具体项目设计及开发的首要依据。不完整、不准确或不合理的需求会导致错误的规划和设计,而缺乏开放性、前瞻性和包容性的“狭隘”需求会导致不可持续发展的规划和设计。 我们在进行需求调研和需求分析的时候,不能鼠目寸光、胸怀狭隘,只盯着当前项目本身的狭义需求,而应该具备一些“大局”觉悟,以开放、前瞻、包容的态度,积极挖掘需求、引导需求和预测需求,在广泛、深入、细致地获取当前项目需求的同时,还应重视下列需求: 1)原有业务系统功能的继承、兼容需求; 2)原有信息资源和知识的迁移、继承需求; 3)业务发展将会引起的需求发展趋势; 4)对其它相关业务系统的信息共享、信息整合和功能整合需求; 5)被其它相关业务系统进行信息共享、信息整合和功能整合的需求。 不少软件开发项目尤其是不遵从规划安排而建设的项目,往往以“惟我独尊”的狭隘态度界定需求,既不考虑利用别人的成果,也不考虑让别人利用自己的成果,其结果是建成了星罗棋布、难以整合的一个个信息孤岛,直接阻碍了软件开发的可持续发展。 3.2. 规划的制定和执行 软件开发规划的重要作用之一就是指导软件开发可持续发展。一份好的软件开发规划,应该是以开放性、前瞻性和包容性需求为基础的,所规划的各个项目的建设方案和建设计划应该是符合需求发展的,而且各项目之间应该能够相互利用、相互促进,符合可持续发展要求。 在实际工作中,我们会遇到不少不按整体规划安排而建设的项目。有些本来在规划中作为一个整体项目建设的内容却被随意分拆,整体框架被随意拆散,导致信息孤岛甚至低水平重复建设;有些在规划中需要以其它项目的建设成果为基础条件的建设内容被随意提前独立建设,导致不得不单独增加基础条件重复建设而又不遵守整体框架的约定,无法与其它项目整合;有些项目为强调自身的重要性而拒绝兼顾其它业务的需求;有些项目为强调自身的迫切性而置后续发展于不顾。如此种种不遵守整体规划、部门各自为政、甚至项目组各自为政的无序建设不但造成不必要的浪费,更造就了星罗棋布、大小各异的信息孤岛,给软件开发的可持续发展造成越来越多的障碍。 这种情况的出现,固然有规划本身是否合理的问题,但更多的是规划的地位和权威性是否得到尊重的问题、每个项目的建设者持顾全大局态度还是“惟我独尊”态度的问题。 3.3. 业务流程重组与业务规则重建 软件开发的目的是规范业务行为,提升业务效率与效能,促进业务持续健康发展。用软件系统处理业务,是很讲究明确、统一的业务流程与业务规则的。从这方面讲,软件系统是“忠实”而“死板”的,远没有人那么“圆滑”。而恰好是这种“忠实”和“死板”,能够对业务处理方式以及人的行为起到规范化的作用。 现实中不少业务实际上是缺乏明确、规范的流程和规则的,甚至因人而异,人工处理业务时可以“灵活”待之,但要编成程序就显得无所适从了。还有一些传统人工方式的流程和规则,用软件程序直接实现就会显得很累赘,甚至直接降低了信息系统处理业务应有的效率与效能。 缺乏明确、统一、规范的流程和规则,软件开发无法进行;缺乏合理、优化、高效的流程和规则,软件系统效能低下。因此,软件开发项目的建设,不能只考虑简单地将人工处理业务的方式编成程序,而应该将业务流程和业务规则的梳理、重组和重建作为首要任务,使软件开发的发展与业务流程和业务规则的发展达成有机统一、相互协调。 然而,在相当多的软件开发项目建设中,似乎大家都一窝蜂热衷于网络建设、设备采购,对软件系统也只是着眼于软件开发技术的选择和软件产品的选购,而对业务流程和规则却鲜有人去考虑。即使是在业务领域具有丰富经验的人员,参与软件开发项目建设后也摇身一变成为“网络专家”、“软件专家”,而忘却了自己更应该是“业务专家”,未能在业务流程和规则方面发挥其应有的作用。甚至有不少项目,将业务流程和规则方面的事推给软件开发商去考虑,建设单位自己反而不去考虑。这样建成的信息系统往往是与实际业务相脱节的,难以推广使用,达不到预期目的,更谈不上发展。 业务流程和业务规则的梳理、重组和重建是软件开发的重点,也是难点中的难点,往往会涉及建设单位规章制度的变革,牵涉很多人各自的行为习惯和既得利益,可能需要建设单位上层领导亲自考虑并在制度上作一些必要的创新。这也是为什么软件开发被人们称作为一场“革命”的原因之一。作为决策者的领导,不应漠视之。 3.4. 设计与技术实现 “互联互通”、“预留接口”、“信息共享”、“标准化”、“开放性”等术语几乎在每一份规划书、设计书中都会被郑重地提出来。这些术语无疑都与软件开发可持续发展需求有关。但在实际系统建设中,这些需求有多少被具体描述的?又有多少被具体设计和实现的? 比较普遍的情况是,网络互联互通实现了,但信息互联互通却难以实现;网络资源共享了,但信息资源却无法共享;硬件接口预留了,但软件接口不知在何处;“信息共享”、“标准化”、“开放性”的具体形式不知道是怎么样的——有关这方面的需求往往都成了为应付立项审查而套用的口号,在设计书中没有相应的具体方案设计,在实际系统中更没有具体的技术实现。 设计和开发阶段是落实软件开发可持续发展技术措施的关键阶段。要设计和开发一个具有可持续发展特性的信息系统,就要求设计者和开发者需具有顾全大局的觉悟,具有开放、前瞻、包容的工作态度,至少应从系统架构和信息存储结构两方面采取具体措施。 3.4.1. 系统架构 系统架构尤其是软件架构的设计与实现,在很大程度上决定着整个系统在自身的生命期内的可持续发展特性。一个好的系统架构,应该能够在保持自身架构稳定的情况下,适应业务需求的发展或运行条件的变化而不断修正、扩充和完善。而要做到这样,就必须有具体的方案设计以及具体的软件开发实现,例如具体地考虑下列特性的设计与实现: 1)在同一系统平台上的不同子系统可以由不同的开发商分期建设而能够协同运行; 2)以积木式或接插件式对系统进行局部变更以实现功能修改或扩充; 3)通过修改系统配置或模板配置而无需修改程序就可以满足不同的业务需求; 4)基于技术标准设计并开发各种具体的功能接口和数据接口,并公布接口协议; 5)以积木式配置手段整合其它满足本系统功能接口和数据接口协议的系统; 6)具有具体的功能接口和数据接口让其它系统按约定的协议整合本系统; 7)不依赖特定的硬件设备平台和系统软件平台,使系统的正常运行不受硬件设备更新换代和系统软件升级影响。 一个系统对上述特性的实现程度,直接影响着其生命期的长短以及其继续发展的潜力。对小系统来说,未必会引人注意;但对于一个投资可观的大系统,这种差异是很明显的。 3.4.2. 信息存储结构 信息存储结构的可持续发展特性,表现在系统生命期内能否超越系统自身的信息存储需求而向其它相关系统提供信息共享服务,以及系统生命期结束后信息资源能否顺利迁移和继续积累。一套好的信息存储结构,其设计和实现时至少应该重视下列问题: 1)信息类型及存储不仅满足本系统需求,而且能兼顾其它系统共享数据的需求; 2)实现完善的信息共享机制,包括共享服务功能、共享方式、接口及协议、授权机制、审计机制、安全监控机制等; 3)具有标准的、可扩展的信息编码结构,采用通用的数据格式,可由通用软件对信息进行存取、解释和表现; 4)具有具体的数据导出和数据迁移手段,能够实现对数据及其关系的整体迁移。 是否考虑数据共享服务,是否考虑数据导出和迁移,信息存储结构的设计就不同。如果一个系统的信息存储结构缺乏上述考虑,无疑等于将数据存入黑盒子中,既无法让其它系统共享,也无法在系统更新换代时将信息迁入新系统——其结果是导致信息资源与设备一起被报废。 3.4.3. 措施的具体落实 概括地讲,在设计和开发阶段落实可持续发展措施,就是不仅要考虑系统自身内部的事,同时还要考虑“身外事”和“身后事”。不少系统的设计和开发人员,会认为“身外事”和“身后事”不是他们的份内事,不愿意去认真考虑。这是不符合辨证唯物观和历史唯物观的。这些工程师们有必要提高一些哲学修养和社会觉悟。 需要特别指出的是,落实这些措施需要一定的工作量,甚至需要技术攻关,所以在项目建设费用中应该得到合理的体现。“免费”是实现不了的。 3.5. 运行使用的超越 信息系统的运行使用是一项长期性的工作,其基本任务固然是维护系统长时间正常运行,积极推广使用以达到当前业务软件开发的目的。但对于软件开发的可持续发展,这样还是远远不够的,还应将下列通常容易被人忽视的任务纳入到日常工作中,并给予足够的重视: 1)积累和保护信息资源。 2)充分利用当前系统运行使用的有利时机,积极引导并深层次挖掘新的业务需求,做好分析、归纳,为日后更新改造做好需求积累。这种“主动式”的需求引导和挖掘比在新系统建设启动后才开始的“被动式”的需求调研效果要好得多。 3)评估和总结系统的技术特性,为下一阶段的升级改造作好经验积累。 4)改进和完善系统的功能,延长系统的使用寿命。 5)构思和策划新系统的建设。 此外,在运行使用过程中所积累的需求和经验,也是做好下一轮软件开发规划的重要基础。 信息系统的运行使用应该超越传统观念,积极开展上述工作,并形成运行使用阶段的文档积累。 3.6. 人才队伍与机制保障 人才队伍、资金投入、项目建设与管理制度等,都会不同程度地影响着软件开发的可持续发展。 3.6.1 人才队伍 我们会经常听到这样的感慨:“这次没有经验,下次一定做得更好”。遗憾的是,他也许没有“下次”了。软件开发的建设管理人才队伍难以得到稳定。 软件开发工作是专业性非常强的“隐蔽工程”,需要长期深入钻研并积累经验。建设管理人才队伍的稳定性对软件开发的成败尤其可持续发展至关重要。不稳定的人才队伍难以继承应有的经验,往往导致满腔热情新建设的项目只不过是在低水平重复以前的建设。 3.6.2 资金投入 在资金投入方面容易存在两个认识误区: 1)建设需要资金,但系统运行尤其是软件运行不需要资金; 2)已经“完成”软件开发建设,不需要再建设。 这两个认识误区,一方面导致不少信息系统因缺乏维护经费而缩短了应有的寿命;另一方面导致当业务需求已经发生显著变化时无法对信息系统进行更新换代。这两个误区如果不消除,软件开发就无法持续发展。 3.6.3 项目建设与管理制度 建设规划的执行、项目建设中各种有利于可持续发展的措施的贯彻落实,固然需要当事人员的修养和觉悟,但更需要靠制度来保障。人才队伍、资金投入等都需要长效的制度给予保障。在推进软件开发的过程中,我们应该把制度的建设和执行作为重要的工作来抓。一方面,软件开发建设管理制度尤其是各种有利于软件开发可持续发展的制度、技术标准和规范等需要加快制定和完善,可以考虑制定一些强制性的标准和规范,甚至通过立法确定一些关键的规定;另一方面,对已制定的制度、技术标准和规范,应加大力度监督执行。 4. 结语 软件开发是一个发展的概念。软件开发能够有效改善人类社会的可持续发展,软件开发本身应该随着社会的发展而持续、稳定、协调地发展。信息资源是国家的战略性资源,其是否能够可持续地积累和利用显得尤为重要。我们应该重视软件开发本身的可持续发展问题。影响软件开发可持续发展的因素多种多样,贯穿于软件开发的各个环节,既需要站在战略高度来认识,又需要技术创新与制度创新并重,在各个环节落实具体措施,才能有利于软件开发的可持续发展,从而为人类社会的可持续发展提供持续的有效支持。 【全文完】
关键词标签:  
1、西安弈聪网站内容中凡注明“来源:XXX(非西安弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,百度关键词优化,西安软件开发等技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“西安弈聪”的作品系本站版权所有,任何人转载请署名来源,否则西安弈聪将追究其相关法律责任。
2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。
软件及网站开发前沿}

我要回帖

更多关于 道德在社会发展中 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信