工业软件开发难度(工业软件开发难度大吗)

软件开发 1586
今天给各位分享工业软件开发难度的知识,其中也会对工业软件开发难度大吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录一览: 1、为什么工业软件的发展如此困难?

今天给各位分享工业软件开发难度的知识,其中也会对工业软件开发难度大吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

为什么工业软件的发展如此困难?

近年来,随着数字化经济的热度提升和国际形势的日趋复杂。国产工业软件再度被推到了时代的前沿。面对与国际巨头的差距鸿沟,迎着风口的国产工业软件被寄予厚望,发展迅猛异常,但国产工业软件的发展仍存在着十大矛盾,亟待解决。

1.基础薄弱与创新突破的矛盾

2.造血难与投入大的矛盾

3.功能不强与国产替代的矛盾

4.工程化验证和推广困难的矛盾

5.竞争赛马与小散乱弱的矛盾

6.产品化和活下来的矛盾

7.低刚需和卡脖子的矛盾

8.无软件和上云难的矛盾

9.工业基因和软件基因的矛盾

10.人才缺口大和人才培养慢的矛盾

工业软件 很难吗?国外领先?

工业软件中几乎最难啃的三座大山,就是CAD、CAE和EDA,大山中间还穿插了许多小的丘陵,如CAM、拓扑优化、工程数据库等。工业软件这三座大山,是人类基础学科和工程知识的集大成者。

尽管它支撑了整个工业的体系,但它的市场份额却小的可怜,不拿显微镜,是找不到它的存在。然而它自身的构成,分别是令人望而生畏的数学、物理、计算机和工程经验。没有一种产值如此微不足道的工业产品,却需要有如此漫长的生命轨迹。从大学的数学方程式开始出发,经过漫长的物理机理的冶炼、计算机科学与技术的萃取,最后还必须经过工程知识的淬火,才能成为一个成熟可用的工业软件产品。

四大技术图谱就像四座护法金刚,形成了深不可测的技术鸿沟。这对于任何一个工业软件企业,十年发展的沉淀,那还只是开始。这条路,太漫长了。

数学基础需要扎实

工业软件首先要有良好的数学基础。计算机辅助设计软件CAD这个学科的渊起和发展,主要是数学的一个分支微分几何突破之后,进化出了一个新学科——计算几何,孔斯、弗格森、贝塞尔等为CAD,CAE,EDA等软件所依赖的3D几何造型提供了强有力的理论基础,在此基础上发展起来的NURBS相关曲线曲面理论和算法是目前大部分商用软件所使用几何引擎的关键技术。

而仿真分析软件CAE无论对于数据的前处理和后处理,还是各种求解器,对数学也有很高的要求。

前处理不仅仅是数据导入、模型修复和显示,很大一块是网格剖分的能力,这部分的技术门槛不低。算是CAE领域后起之秀Altair作为有几十产品的上市公司,至今前处理软件HyperMesh还是最重要的旗舰产品,贡献了公司最多的收入,也是在CAE领域站稳脚的基石。后处理在大规模的数据处理和直观、动态、炫酷可视化展示方面也有很多需要研发的内容,尤其是在B/S架构下,如何通过Web页面快速高质量加载巨大的CAE计算结果,会是一个巨大的挑战。

工业强度的网格生成算法不仅有很深的理论问题,也有很大的程序开发工作量。德国的斯杭博士在德国开发Tetgen,从2000年左右开始一直只做这样的一件事情,坚持了20年,才有了和商业四面体引擎ghs3d竞争的能力。同样法国Distene公司开发的MeshGems系列网格剖分系统被广泛用于商业CAE软件,最早来源于INRIA(法国国家信息与自动化研究所),十几个研发人员也专注开发了近20年。

工业软件这条路上,尽是寂寞的黑夜中的探索。

在NASA公布的CFD VISION2030战略咨询报告中,网格生成是单列的五项关键领域之一,并被认为是达成2030愿景的主要瓶颈。就在这样一个高难度的领域,国内很多软件都是裸奔,依靠Gmsh之类开源算法无法满足客户定制改进的要求,很难做到工业应用主流中去。

优化也是普遍性的数值方法,包括优化理论、代理模型等,是求解复杂工程问题的基础,更不用说对各种路径规划所涉及的矩阵理论、泛函分析、动态规划、图论等等,无不是多约束条件下的多目标自动解空间寻优,背后都是数学王国建构的基础之基。

各种CAE、EDA软件中需要多种计算数学理论和算法,包括线性方程组、非线性方程组求解、偏微分方程求解、特征值特征向量求解、大规模稀疏矩阵求解等都需要非常深厚的数学基础。如果不能熟练运用各种数学工具,对物理场的建模也就无从谈起。

物理场面临着多种挑战

头疼的数学之后,接着是头疼的物理。这是仿真软件、EDA软件需要突破的地方。工业技术的源头,是对材料及其物理特性的开发与利用。因此,对多物理场及相互耦合的描述与建模是各种仿真分析软件的核心。

而工业软件由于要解决的是真实的大千世界,所有看得见、看不见的物理场,都在按照各自的机理自由游荡。工业软件必须要跨越十分宽广的学科光谱,跨越了钱学森科学技术体系的基础科学、技术科学、工程科学、工程技术,而且也会包含大量的经验、诀窍等“前科学”知识。具体而言,任何CAE软件在市场上存身的根本都是其解决结构、流体、热、电磁、光、声、材料、分子动力学等物理场问题的能力,每种物理场都包含丰富的分支学科。

仿真分析软件CAE的求解器由物理算法组成,每个专业领域都有一堆问题求解算法,不同领域如电磁、结构、流体的求解器处理机制,完全不同,基本没法通用;另外一方面,跟FEA有限元方法有关,采用的单元类型不同,问题求解算法也不同。因此,虽然也有第三方的求解器,但无法像三维CAD软件领域那样形成通过出售几何建模引擎和几何约束求解引擎获利的商业模式。

以结构为例,为解决结构设计的问题,有可能会涉及到理论力学,分析力学,材料力学,结构力学,弹性力学,塑性力学,振动力学,疲劳力学,断裂力学等一系列学科。在这个基础上,主流的CAE软件都支持结构优化功能。相对于传统的CAE的仅限于评估设计是否满足要求,结构优化软件在创成式设计等先进技术支持下可自动生成更好的结构轻,性能优、装配件少的更优设计。

由于现实世界的发展要求,产品的智能化提高导致的复杂度提高,往往产品本身涉及多场多域问题。物理场有太多的组合,相互之间又干扰不清。这些复杂的问题,既要深刻理解学科自身的物理特性,并对这些学科物理特性所沉淀的学科方程,如电磁的麦克斯韦方程、流体力学的伯努利方程、纳维-斯托克斯方程等等,深刻理解之外,还要对实际工程应用领域的多物理场交织耦合环境能够快速解耦,让不同学科不同特质的特征参数迭代过程中能够互为方程组求解的输入输出,以便对多场多域的工程问题进行优化。

随着现在需要处理的模型规模越来越大,模型本身也越来越复杂,现有国际上大型商业CAD、CAE、EDA中使用的几何建模引擎和几何约束求解商业化组件产品(包括InterOp、CGM、ACIS、CDS、Parasolid、D-Cubed等)厂商达索系统、西门子等也在不断跟进最新的计算机技术。比如最近也在采用多线程技术不断改进之前的算法,用于大幅提升模型导入、模型修复、缝合、实体建模、布尔运算、面片化以及约束求解的效率。

软件开发难不难学?

软件开发的确有一定的难度,涉及到代码和逻辑思维,没有浓厚的兴趣不容易学好。不好学,并不代表不能学,只要自己端正学习态度,对这个方面有兴趣就可以学。

就拿国内从业比较广泛的Java开发工程师来讲,高中毕业生都可以做。既然高中生都能从事于Java开发,说明软件开发实际上并没有我们想的那么难,毕竟目前所学的软件技术并不是做科研。

想要让软件开发变得简单,我们需选择一门容易上手的编程语言。从国内软件行业来看,目前Java的开发者数量还是相当庞大的,而且可从事的领域也比较广。当然,我并不是在这里劝你学习java,而是让自己选择适合的编程语言,并知道自己使用的编程语言能做什么,用在哪些地方。

对于零基础想学java的人,千万不要害怕,不要觉得没基础就学得很吃力,学不会等等。

刚开始零基础入门的学习进度是很慢的,不用着急,慢工才能出细活,说白了Java入门阶段也就是个熟练的过程花费的学习时间比较长。不可否认,大家在开始接受新事物的时候都会陷入困境的。

学习是循序渐进的,零基础入门Java到底难不难,只有自己接触到课程才知道。当然,没接触之前学起来可能会觉得有点难,但是当你入门后你就会发现越来越有趣了,不光是学习java语言,其他语言也一样。

记住,软件开发需要有一定的基础,但是并没有特别高的门槛,只要具备有一定的英文和数学基础(初高中水平就好了),就可以学软件开发,尤其是编程语言的使用,因此对于软件开发而言,只要能够长期坚持下去,并且多多从事实际项目的开发,就可以积累经验,达到一个比较高的水平,所以软件开发并不难学,只要坚持,就可以有所成就。

至于零基础学java所用的时间,我以培训时间为标准,大学生一般的学习时间是5-6个月,高中生确在两年左右。

工业软件开发难度的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于工业软件开发难度大吗、工业软件开发难度的信息别忘了在本站进行查找喔。

扫码二维码