软件世界与真实的,物理的世界有着本质的不同,其中一点在于软件中的规则是根据需求制订的而不是先验的。我们在研究物理世界的时候,多少会有些唯物主义,
即纷繁芜杂的表象下蕴含着自恰的,不变的规律。物理学的建模是多方位的,多层次的。同一个规律,在不同的简化条件和不同的环境中我们会赋予它不同的名字。
在不同的抽象层面上,我们也可能会建立不同的模型。严格的说起来,这些模型之间可能存在着不一致性,但我们相信,存在着一个绝对精确的模型:无限的细节,
无限的关联,完美的,自恰的,而我们所建立的所有物理模型都只是对该终极模型在某个层次,某个角度上的近似抽象,而每一个模型都有着自己的适用范围。很多
时候物理学的建模是粗鲁的,抛弃了大量似乎必须的要素,只因为物理学家相信物理学的直觉能够将我们引导到正确的道路,不论我们做出什么样的简化和假设,只
要它是物理的,最终都会回归到真实的世界。
软件是人为构造出来的,其体现的运行规律由外部需求所决定,而无法形成自我的证明。领域模型(Domain
Model)隐喻式的期望能够建立稳定的逻辑层,可这注定是困难的。我们在软件设计中希望分层,职责单一,进行正交化设计。可是一个复杂系统的逻辑分解注
定是无法正交化的。非此即彼只存在于抽象的世界。多个复杂性层次上的结构交织在一起,使得我们难以建立稳定的根基。因为缺乏先验的支配规则,我们鼓吹需求
到实现的1:1映射,实际上只是希望通过贫乏的唯一性来维护演变中的自恰性。真正实现了1:1映射是不是在系统中引入了人为的刚性?
在一定的情景下,为了达到最适的模型,我们需要各种Facade,我们需要1:n映射,抑或是m:n映射。被割裂了的联系仍然需要通过各种service
在系统中重建出来。
在建筑学的隐喻中,建筑设计师与建筑工人之间还存在着一个角色:土木工程师。他在物理结构的层面上而不是应用意义上把握整体
工程。在结构层次上我们是能够进行有效的推理和判断的。在软件中也是一样,抛去对象的业务含义,我们可以把它理解为一个Map,那对它可以进行那些操作是
可以预知的。只是我们对于软件结构层面的了解还是太肤浅了。每个项目,大量的时间花费在编写那些低层的与业务无关的模块(或者说可以抽象出这些模块),这
就如同每次建筑,都从制造砖块开始一样。材料的准备不是一朝一夕之功。在结构层上我们必须对系统形成深刻的理解,这不仅仅是业务建模的问题。
分享到:
相关推荐
3D建模软件:Blender二次开发.docx 3D建模软件:Blender二次开发all.docx 3D建模软件:Blender二次开发_Blender与外部工具的集成.docx 3D建模软件:Blender二次开发_Blender二次开发项目实战.docx 3D建模软件:...
3D建模软件:Rhino二次开发.docx 3D建模软件:Rhino二次开发all.docx 3D建模软件:Rhino二次开发_3D建模核心概念.docx 3D建模软件:Rhino二次开发_3D打印与Rhino二次开发.docx 3D建模软件:Rhino二次开发_...
3D建模软件:Maya二次开发.docx 3D建模软件:Maya二次开发all.docx 3D建模软件:Maya二次开发_MayaAPI基础.docx 3D建模软件:Maya二次开发_Maya与其他软件的集成开发.docx 3D建模软件:Maya二次开发_Maya二次开发...
3D建模软件:3D Studio Max二次开发_(10).3DStudioMax二次开发项目管理与团队协作.docx 3D建模软件:3D Studio Max二次开发_(1).3DStudioMax二次开发入门.docx 3D建模软件:3D Studio Max二次开发_(2).3...
3D建模软件:3D Studio Max二次开发.docx 3D建模软件:3D Studio Max二次开发all.docx 3D建模软件:3D Studio Max二次开发_3DStudioMax与外部程序的集成开发.docx 3D建模软件:3D Studio Max二次开发_3DStudioMax二...
数学建模大赛:智能交通灯控制系统优化; 数学建模大赛:智能交通灯控制系统优化; 数学建模大赛:智能交通灯控制系统优化; 数学建模大赛:智能交通灯控制系统优化; 数学建模大赛:智能交通灯控制系统优化; 数学...
Petrel三维地质建模与裂缝建模:2020新版精讲教程,涵盖数据导入、构造建模、岩相建模、属性建模及实战操作全流程,Petrel 2020新版三维地质建模与裂缝建模精讲教程:数据导入至操作手册全解析,Petrel三维地质建模与...
本资源摘要信息涵盖了UML软件建模的基础知识和技术要点,包括模型的概念、软件模型的特征、软件建模技术、软件模型的分类、软件建模工具、UML的发展过程、UML的组成部分、元模型理论、模型元素的可见性等。...
微观孔隙建模插件:自定义孔隙率生成,适用于多种有限元软件的随机孔隙模型模拟工具(孔隙渗流、多孔介质模拟),微观孔隙建模插件,可指定生成任意孔隙率的随机孔隙模型。 模型可导入comsol、abaqus、ansys、fluent...
软件建模与设计是软件开发过程中的核心环节,它涵盖了从需求分析到系统实现的整个流程。本资源包包含了五个PPT课件和一本名为《Software Modeling and Design》的PDF电子书,旨在深入探讨这一主题。 首先,软件建模...
本资源是一个UML软件建模教程的习题和答案,涵盖了软件建模的基础知识、UML语言、软件建模技术、软件模型的特征、软件建模工具等方面的内容。 【软件建模基础知识】 1. 软件建模的作用:软件建模可以帮助人们更好...
"ABAQUS三维多孔材料建模:自定义参数生成实体空隙连接与六面体网格映射模型,支持导出至多种仿真软件",基于ABAQUS的自定义多孔材料实体建模系统:创建并映射三维实体模型和六面体网格的新范式,ABAQUS三维多孔材料,...
"Petrel三维地质建模与裂缝精细建模:含数据导入、构造与岩相、属性建模全方位精讲,边学边操作,2020新版精讲视频与高级地质建模pdf文档全解析",Petrel三维地质建模与裂缝建模 内容包括[1]数据导入,[2]构造建模,...
基于PFC 6.0的露天采矿RBlock建模案例详解:建模方法、CAD复杂形状导入技巧及开挖流程数值模拟实践,基于PFC 6.0的露天采矿RBlock建模案例详解:建模方法、CAD复杂形状导入技巧及开挖流程数值模拟实践,基于PFC 6.0的...
高清中文,你值得拥有. 难道一寻的UML建模用例分析
《gocad三维建模软件入门教程:从基础到实践》 gocad是一款强大的三维建模软件,尤其在地质、工程和科学研究领域广受欢迎。它的用户友好界面和易学性使得初学者能够快速上手,掌握基本的建模技术。本教程将深入探讨...
Matlab/Simulink:Matlab是一种数学计算和科学建模的软件,Simulink是其附带的一个用于进行系统建模和仿真的工具。 仿真建模:通过使用计算机软件建立模型,模拟和分析实际系统的行为和性能。 光伏电池是一种利用...
《软件方法 上 业务建模和需求》是潘加宇先生的一部著作,该书深入探讨了软件开发过程中的业务建模与需求分析这一关键环节。业务建模旨在理解和表述组织的业务流程,而需求分析则是为了明确软件系统应具备的功能和...
基于Matlab Simulink的空气悬架模块化非线性建模:精细化仿真,整车动力学学习的好帮手,空气悬架建模 软件使用:Matlab Simulink 适用场景:采用模块化建模方法,搭建非线性空气悬架模型。 模型包含:路面不平度模块...
《Comsol建模分析:岩溶隧道突水渗流与围岩流固耦合损伤机理探究》,基于Comsol的岩溶隧道围岩流固耦合分析:从建模到研究模态与软件连接初探,Comsol隧道围岩流固耦合 1主题:岩溶隧道突水渗流和损伤 2内容:mph文件...