上海交大教授何援军:论工业软件发展的若干问题( 二 )


问题恰恰是,没有理论的支持,软件的工程应用就达不到某一个高度 。工业软件有复杂的架构、浩宇的内容 。没有高深理论的支持,也就没有强大的工程应用功能,工业软件只能在低水平上徘徊 。
而在工业软件的设计和开发的过程中,又要克服软件编制者不懂工程,工程技术人员不知软件的原理和方法的现象 。
理论化——计算基础 。涉及数学(几何与代数)、计算机(智能化)、物理(渲染)等 。
工程化——应用基础 。涉及工程、设计与制造等众多学科 。支持工程设计思想与方案的快速准确表达,充分考虑工程设计意图、语义要求等 。
要从工业需求出发,凝聚科学问题,开展理论研究,突破关键技术,构筑软件系统 。统一规划,分而治之 。
1)理论与工程,各司其责,针对理论和知识的多学科交叉及算法源的多样性,处理好多学科交叉 。首先是从大的方面分离理论部分和工程化部分 。在总体规划与设计中,吸收各相关领域专家,尤其是跨领域人才,充分研讨;在研发实施中,尽可能地将理论、方法、技术等多学科的知识都能相对“独立”地运用,淋漓尽致的发挥各类参与人员特长 。
2)精细规划,统一实施 。精细规划接口,搞好总体设计和层次设计,尽量实现坚实基础、攻克核心、构建系统、服务应用等各层次能够有相对独立的分工开发 。
关于理论、基础和工程问题,本文后面还会提及 。
总的目标是要达到:
基础研究足够基础,应用研究足够应用 。
3 软件生态
软件渗透了大量的脑力劳动,人的逻辑思维、智能活动和技术水平是软件产品的关键 。
软件具有可复用性,软件开发出来很容易被复制,从而形成多个副本 。如果你掌握了别人软件的源代码,很可能滥用 。
所以,软件有“版权(著作权)”问题 。
搞两弹一星时,是三步走:先仿制,后改制,最后自行设计!有人将“高铁模式”引入国产工业软件的发展:通过引进一流技术-消化吸收-持续创新来实现国产工业软件的突围 。
先例,即使是那些好的先例,也不能被滥用 。2010年,上海世博会发明了沿相邻栏杆转圈的排队方法,后来被广泛应用到景区、地铁站、火车站 。不管你是老人还是小孩,或是拿着重物的,即使没有人,也都得转转悠悠的沿着栏杆转圈 。
而且,也要看到的是,现在我国工业软件的基础应该比搞两弹一星时好得多 。
有“版权”与有“自主版权”是两码事 。引进源代码和知识产权,可能你拥有了“版权”,或者说有使用版权,但这不是“自主版权” 。自主即自己独立创作并具独创性所享有的版权,“独”即独立创作,作品主要源于自己而不是他人,“创”即达到一定的智力水平 。
构建我国自主版权的工业软件,要独立自主,建立我国工业软件开发的生态环境,不能仅在别人的源代码基础上作开发 。将别人的源代码转换成思想,是一件很困难的事,编制者耍了一个小聪明,可能折腾你几个月,还不一定能掌握他的思想,而设计思想才是算法的核心 。
需要有搞理论的、搞工程的,有搞算法的、建平台的,有搞通用的、搞专用的,等等 。百丈之台,起于垒土 。所有这些,都依赖于牢固的基础 。
4 云版软件
现在,关于云版软件的关注和宣传明显增多 。互联网发展到今天,发展云板工业软件是必须的 。
云版软件的本质是,它使单体软件从商品买卖扩展到(或者改变为)软件服务 。这个设想很好,能使软件发挥最大的作用 。
但云版软件并不适合任何条件,例如军工企业、政府管理系统等,他们的应用和管理有很大的独立性,不能被“封锁”,被冲击 。往大了说,还是要考虑“战争”情况 。