当今软件开发的手段,在概念、技术方法和工具上,已经发生了巨大变化,需要掌握的内容庞大,需要更多的人参与学习、讨论和掌握。这对于推进我国软件的应用,对IT企业、对应用企业、对技术人员的成长都将是一个历史性的机遇。海鼎是以技术擅长而起家的软件公司,在引领企业应用进步的过程中,始终敏锐地跟踪国际技术的发展和新技术的应用动向。
在这里,我们交流了一些我们在探索中的,软件开发的发展趋势、新技术、概念、工具应用观点等,愿与社会各界同仁一起,共同讨论和交流,以达到相互帮助,共同进步。
现代企业竞争力的四个重要标志:现代企业制度、文化、核心竞争力与IT建设。
其中,信息化应用程度与IT创新能力尤为重要,IT渗透企业的制度、文化和管理,并产生生产经营模式创新,企业的发展又不断给IT提出新的要求,是发展的循环渐进过程。IT应用和创新能力又体现在软件功能的适应和变化上。
自从上世纪70年代软件危机诞生了软件工程以来,人们不断寻求软件生产、管理和控制等方法,在语言上出现图形化和可视化语言;技术上有结构化、面向对象方法等;在模型方面有原形法、叠代方等;在管理控制上有ISO、CMM等方法,出现了软件工厂替代手工作坊。这一切,全都围绕着软件生产的周期、开发成本、可靠性、安全性、可维护和扩展性等关键问题上。软件的危机推进了软件开发技术在概念、技术和方法上产生一次次的革命性跨越发展,也使得软件开发人员始终处于学习、研究和跟踪新技术的痛苦过程中。
进入了21世纪,全方位的竞争成为企业的主题,竞争寻求突破、竞争出现创新、创新导致经营和管理模式的不断变革,一系列的变化要求IT应用的跟随变化。竞争考验着企业的综合能力。
在历史的今天,我们再来看世界应用软件的情况,SAP是世界上著名的软件公司,有很成熟的软件和应用案例,有人称其为“钢筋混凝土构件”,他是一个以提供产品为主的软件公司,面对应用企业层次相差巨大、需求多变的今天,他不断推出如R/3、A-One、B-One等各类产品。是否能够满足当今企业发展的多层次和多变需要呢?
我们再来重温一下软件生产的特点和过程,再看看当今软件生产的概念、技术和方法都产生了什么变化,以及当今几个主流软件工具的特点和方向。
软件生产的特点和困惑?
软件,特别是有价值的大型软件的产生过程中浩瀚繁重的工作量、周期长且维护困难,软件开发从需求分析、设计、编码、测试以及不断的叠代过程,牵涉到文档、代码等的管理,它在不断地积累和完善,以及对人的依赖。当IT企业的管理和规模还不足够强大时,人员的流动又直接影响这种积累的发展和延续性,IT企业的自身稳定,IT企业的生存又直接影响应用企业的命运。
软件企业问题与挑战何在?
一个以提供解决方案为主的软件团体,首先关注应用行业的经营模式、管理内涵、组织结构和业务流程、以及如何结合IT的特点,提出管理和经营模式的创新等。
而后,关注IT技术和应用功能,当随着应用的深入,企业的发展壮大、经营内容的扩展、地域的扩大、服务范围的延伸、应用需求和功能的不断提出、系统数据量的剧增,从而,对技术难度、开发速度和开发方法,在技术层面又提出了更加高的挑战。
因此,对于以提供解决方案为主的软件公司而言,他不仅是软件开发和支持公司,更是一家咨询公司,他不仅需要紧跟和把握技术应用,快速地响应企业发展需求,更要对应用行业的现状和发展动向有足够的前瞻,并提出创新方法、对企业管理和文化等都需要综合研究,并有足够的带动和实现能力。
对IT企业的挑战在于:如何管理好以IT和咨询为主的团队,在跟踪技术的发展中,加强自身企业制度和文化的建设,又是一个重要和困难的事情。一个以提供解决方案为主的软件公司需要面对双重企业问题,因此是难上加难。
软件生产力提升的出路在于概念、方法和工具的支撑!
软件的生产特点成为瓶颈!
如何使得软件开发不那么、或不依赖开发人员,如何提高软件的生产力,这是软件工程学科的使命。国际上通过这些年来的研究,软件生产已经发生了质的变化,将继续发生天翻地覆的变化,作为以软件开发为主的IT企业和以此为生存的软件技术人员,不可不了解和掌握新技术的发展动向。
软件生产在概念上的变化
传统的软件开发有需求分析、设计、编码、测试等等。粗略地分为“问题的描述”和“程序的实现”两大部分。现代软件生产就在这两个方面产生了革命性的变化。
一、问题的描述
(一)描述工具
现实世界是由组织、人和行为构成,如何刻画和描述这几者在社会、企业中的活动和生产之间的关系,并形成可以仿真的模型呢?是用文字或者哪种方式来描述呢?事后,不同的人或者计算机来解读这种“描述”得到的结果是否一致呢?如果解决了这类问题,作为企业的管理者就能够清晰地刻画自己的企业,并可以用模型来分析和改造自己的企业,且不失真地传递给后人,做到了企业管理的计算机形式积累(这对于咨询性质的企业尤其重要);如果将其用于计算机的需求描述,那么后者的解读和计算机的理解也是一致的(因为需求、设计和开发文档实际上比计算机程序要重要得多)。这样的积累就摆脱了对人的依赖性。
ARIS就是这样一个典型的工具,其发明者SCHEER原自一个德国计算机工作者,对以上问题的困惑和理解,组织开发了这套工具,ARIS由四个部分的功能组成:企业建模、仿真、KPI计算和软件开发的需求描述和设计。
(二)下面是两个ARIS学习者的体会
1、组成我们这个世界的是什么?是形式,和形式相对人而产生的特殊意义。
当人接收世界的印象产生于自身的思想后,如何反馈给世界,第一步我们就需要决定采用什么形式来体现我们的思想。即使再有伟大的思想,但没有合理的表现形式,思想就是死的思想,对世界没有反馈能力的思想是无意义的。没有柏拉图,就没有苏格拉底的思想。
形式的问题在于,如何去表现,如何去更加有效地去表现。ARIS是如何产生的?要理解表现就要理解人的理解力。人的理解:文字是抽象或者具体概念的集合,当经过确定的定义的时候,它能让我们确定一个点。文字更加聚集,更加偏重抽象。图形也能同样表现具体的对象,也能通过定义表达抽象的点的概念,但没有文字这样的确定的形式。图像更加适合描述结构,组织。所以,最佳的表达我们思想的形式应该是适当的图形+文字的组合表述。
脑图:生物学科告诉我们,人的大脑描述世界是怎样的,在这个以人作为极点来定义的世界中,我们必须考虑到思维的特性。用形式表达出来,人思想组织结构是网状的,局部是自顶向下的,所以有脑图的表现形式,对于日常事务的组织,我们需要使用不同于文本日记的形式来表现我们的思想。
我们的习惯告诉我们,动作手势没有文字容易理解,文字没有图形容易理解,图形没有影像容易理解。还有很多实事告诉我们,心灵感应、超觉、人顿悟比影像更加能令人理解。
反观我们的汉文字,其实是在经历一种形式的蜕化,从更加容易理解的图形蜕化成为抽象的文字,这种蜕化是受限于人对图形的表达能力不足,如果人们能轻易地画出要表达的东西,图形会更加容易理解,并非不是很难想像,如果人类有把自己表达内容直接表现成图形的能力,文字不是就没有那么重要了吗。借助于计算机,这个图景其实在今天已经可以看到了。
再看看未来,我可以想见的是,当人类完全清楚人脑的工作和存储机制,也许就不需要借助更多多余的形式,我们需要用到的表现形式的就只有一种,就是人脑思维生物的存储结构,只需要使用某种仪器直接把思想映射到对方的人脑的接收区域。(不过,这样就没有了误解带来的奇妙思想,亦或也被作为一种独立的思维模式加以发展)
从未来回到现在,我们凭借现在人类借助于计算机得到的表达思想的能力,我们能够如何更加有效的表达我们的思想?ARIS就是这样一个图形工具,本质上和流程图没有太大区别,但他把这种形式的应用推广到了更大的使用范围,提供了图形最需要的定义模式,大家都有一个对图形的统一的使用标准,这样才能更好的理解。
当然,ARIS在应用方面还作了更多的工作,例如可以模拟和分析流程的效率。这是在挑战我们的想像空间!人需要去破除那种经验形成习惯的思维本能,才能不断突破和创新。
我们的确还有很多可以想像的,其实在应用领域,借助计算机来实现的图形表现手段还有更大的发展空间,对于软件领域来说,就是不断的图形化。
2、ARIS的表现形式看来是建模、仿真等,实际上他将不仅改变我们
■ 在软件开发过程中对Know-how的积累和程序的开发方式
■ 将提供有效实现手段,改变简单的软件开发公司,到管理咨询和解决方案的企业。
科技的进步,工具的优良将改变我们的思维和行为模式,将使个人和企业到达另一个层面。但是关键的是,我们的学习能力、学习速度和应用结果了。有了先进的设备、科学的工具实际上也是对我们能力和潜质的挑战。
二、现代程序的开发和实现技术
现代软件的生产理念是寻求方法和软件工具的突破,解放程序开发者并转移他们于问题的分析和流程的设计上。国际上已在两个方面实现了突破并已成为了现实:
1、程序生成法(在方法和成熟性方面有别于上世纪90年代),它可以应用一种描述和积累的知识库生成应用程序;可以做系统的逆向工程;可以包含异构系统的包含性生成,这类工具很多,比较典型的有乌拉圭的GENEXUS,它的一个典型的案例是,国内一个1000万元的企业ERP,其实现过程是只有6个人3个月完成,6个人中无一个是学习计算机专业的,仅有1个是学习会计的。
2、平台概念:是现代计算机软件发展的主流方向,它基于J2EE标准,在上面发展而成,在J2EE上发展的有三个典型代表:BEA WebLogic、IBM WebSphere、Persistence PowerTier;在其上面发展的有中国软件所黄淘副所长领衔开发的ONCE网驰平台、美国BroadVision平台,德国INTERSHOP公司的ENFINITY平台等。这将会在几十年内成为软件发展的一个主流方向。其概念是,提供一个运行平台和一套工具,将以往的计算机程序开发者转移到对问题的分析和流程的设计上,不需要去关心系统的实现、数据的存储和系统负载的平衡等计算机技术的问题,用这工具去不断积累应用构件,而根据不同的应用和需求,利用构件进行组装系统,并在这个平台上运行。
困惑中的IT企业务必关注当今软件生产的概念、技术和方法发展动向
最新推荐文章于 2019-09-30 16:09:37 发布