个如UG这样的大型软件系统通常需要有不同层次抽象的描述
UG是Unigraphics的缩写,是一个商品名。这是一个交互式CAD/CAM(计算机辅助设计与计算机辅助制造)系统,它功能强大,可以轻松实现各种复杂实体及造型的建构。它主要基于工作站。
CAD是计算机辅助设计的缩写,是行业通用名称。它不包括CAM(计算机辅助制造)。可以实现CAD功能的软件有很多,UG是其中一个,还有AutoCAD、Cimatron、等等。而AutoCAD则是另外一个由欧特克(Autodesk)公司开发的主要基于PC机的CAD软件。UG的开发始于1990年7月。如今大约十人正工作于核心功能之上。当前版本具有大约450,000行的C代码。
UG是一个在二和三维空间无结构网格上使用自适应多重网格方法开发的一个灵活的数值求解偏微分方程的软件工具。其设计思想足够灵活地支持多种离散方案。
一个给定过程的有效模拟需要来自于应用领域 (自然科学或工程)、数学(分析和数值数学)
及计算机科学的知识。一些非常成功的解偏微分方程的技术,特别是自适应网格加密(adaptive mesh refinement)和多重网格方法在过去的十年中已被数学家研究。计算机技术的巨大进展,特别是大型并行计算机的开发带来了许多新的可能。
然而,所有这些技术在复杂应用中的使用并不是太容易。这是因为组合所有这些方法需要巨大的复杂性及交叉学科的知识。最终软件的实现变得越来越复杂,以致于超出了一个人能够管理的范围。
一般结构
一个如UG这样的大型软件系统通常需要有不同层次抽象的描述。UG具有三个设计层次,即结构设计(architectural design)、子系统设计(subsystem design)和组件设计(component design)。
至少在结构和子系统层次上,UG是用模块方法设计的并且信息隐藏原则被广泛地使用。
图1给出了详细的结构设计,其构建模块是动态分布式数据库(DDD: Dynamic Distributed Data Library)、UG内核、问题类和应用。
在广东省内,特别是东莞及深圳,用UG的厂越来越多,只因模具精度要求高了,其它的软件,也挺好,但实践中为什么做不出好的精度呢?在曲面处理方面,UG是一等一的高高手了。