前言
当前是知识爆炸的年代,人们积累了大量知识,随着科技日新月异,爆炸性的知识和技术,让人们应接不暇,疲于奔命。虽然人们不断努力,通过制定各种流程、划分各种专业试图控制庞杂所造成的混乱,但是知识本身的描述方式,从来都是简化问题的关键所在:
数学的简洁而连贯的数学公式远胜算盘的九九口诀,
有了物理公式,我们才能简单清晰的了解物质世界的普遍规律。
而在物理和数学这种科学推理公式、人的自然语言之外,我们还需要一种能够描述各种概念的形式,把各种概念整理清楚,以便可以一目了然的理解各种概念的关系。因为软件逻辑所特有的面向人的逻辑思维、涉及各个行业的工作特点,始于软件行业建模规范UML类图的领域建模,可以作为我们面向各个领域的知识整理的方法。
领域建模的输出是领域模型,领域模型是比自然语言更清晰的描述自然语言的形式,以图形的方式组织各种概念,有助于人对复杂信息的理解,是在具体工作前的有效分析的基础。
本文就是我用领域建模方法,帮助女儿CC整理的初二下学期物理的知识模型,希望通过本文:
让读者了解到领域建模可以帮助整理各种专业知识,对每个人都很有用,从学生、工程师到科学家。
也欢迎其他关注中学生的家长、教师作为参考。
正文
首先让我们看看什么是领域建模。学习一个方法,搞清楚基本概念很重要,在这有2个核心概念:
领域
对象
在理解了基本概念后,我们再看看什么是领域建模:
在软件行业,因为需要理解业务领域知识,领域建模是非常有效的方法,目前领域建模是产品经理、需求分析人员、架构师、软件开发工程师的必备技能,这基本是大家的共识。而在其他领域,例如系统工程领域、硬件领域、各个专业领域(例如光电、机械、电子、通信)或者更广的说中学、大学,领域建模基本属于大多数人根本不了解的状态,即使偶尔因为软件项目的涉及,也会认为那是看似有用、却琢磨不定的方法而敬而远之。在此,以我20年来参与几十个项目、涉及10多个领域的经验告诉大家,领域建模实在是一个非常重要的基本技能,只要您希望整理庞杂的知识,无论是否和软件相关,都可以采用,它可以帮助您理清知识脉络,简洁的抓住问题的本质。
领域建模主要是整理问题域里的各种知识和概念,这很像人用自然语言描述,自然语言就是把现实世界的各种事物用各种词汇描述,而这些词汇就本身就是对事物的归类,例如名词“桌子、飞机、大象”。但是自然语言因为书写的普遍性,只能采用逐行逐字的描述形式,然后有由阅读的人,根据自己的知识地图,把各种概念在头脑中组织成各种概念关系,而每个人头脑中的概念却没有明确的呈现形式,造成了各种概念关系容易产生混乱。而领域模型就是采用UML的类图,把领域中的各种概念建模,让头脑中的逻辑关系有明确的展现形式,这样就好多了。
下面,让我们看看领域建模的类图都有哪些元素、特征和关系:
领域建模的挑战
领域建模的关键有3个方面:
1.深刻理解面向对象分析方法,能够从需求描述中识别对象、类和关系。
2.精确了解 UML类图中类、属性、行为、关系的建模机制。
3. 熟悉问题领域,能够把握问题领域的核心知识。
这三个要素无疑是互相促进,必须有机地结合才能实现完整的领域建模。书本上大家看到的多是电商、信息管理系统的领域建模,这些建模偏重数据,和计算机的数据处理具有先天的紧密相关性,所以领域建模其实并不复杂,也容易达成共识。而对于那些逻辑复杂、数据关系不明显的逻辑领域,领域建模具有更高的挑战。
8年级下,物理学科知识的领域建模
为了说明领域建模是一个基础能力,在此把为我女儿CC整理的八年级下物理的领域建模分享出来:
期望让大家了解建模对于知识理解是多么重要的事情,
也欢迎其他的中学生家长作为参考。
后续还有会其他学科的领域建模 : )
力的通用框架:
首先应该明确初二物理所讲授的是机械运动的原理,涉及到一些基本基本原理:
物体具有惯性:物体在没有外力作用下,保持静止或做匀速直线运动;(这就是牛顿第一定律)
让物体改变惯性,就需要施加力:物体加速度的大小跟作用力成正比,跟物体的质量成反比;加速度的方向跟作用力的方向相同,a=F/m
a-加速度,F-力,m-质量。(这就是牛顿第二定律)
力的是2个物体的相互作用:相互作用的两个物体之间的作用力和反作用力总是大小相等,方向相反,作用在同一条直线上。(这就是牛顿第三定律)
还有一些基本概念:
力:一个物体对另一个物体的作用,这种作用结果可以产生加速度或者形变,力的单位是N(牛顿)。
功:一个物体A 对另一个物体B施加力F,导致这个物体在力的方向上运动了一段距离,就说
物体A 对物体B做了功.也可以说力F对物体B做了功. 作用在物体上的力F和物体在力的方向上的位移s的乘积就是功的数量。W
=F s。功的单位——焦(耳)J, 1焦耳=1牛顿·米 , 1J= 1N·m
能(能量):物体能对外做功,就需要具有能量,简称能。
还对力的基本属性进行了分解:
力的三要素:作用点,方向,大小
二力平衡:物体受到2个力的作用后,仍然保持原有惯性状态(静止或者匀速直线运动状态)
这些建模如下:
图有助于分析,但是阅读的顺序比较随意,文字则有利于编排阅读的顺序,所以把上图中表达的意思用文字描述如下,自然语言中,最重要的此就是名词和动词,二者分别表达物体和行为。为了区分名词和动词,在如下的文字描述中,名词用汉语,动词用英语。
物体 have 运动,
运动 have 速度,速度have 惯性
物体的速度变化 name(叫做) 加速度
主体对客体的力的作用可以Generate(产生) 加速度
主体施加力的过程can do 功
能做功的主体have能量
力have 三要素:作用点、方向、大小
多个力可以Synthesis(合成),
二个力如果大小相等、方向相反, name(叫做) 二力平衡
对每种力,都有一个模型框架,这个模型框架用类图描述有利于分析,表格描述则易于编写和阅读,所以对每个图中的关键内容,列成
“力的解析表”:
各种力 |
物体作用关系 |
力的三要素(力的属性) |
应用场景 |
作用点/面 |
方向 |
大小计算方法 |
|
|
|
|
|
|
下面逐一按照力的模型框架解析每种力:弹力、重力、摩擦力、压力、浮力
弹力建模:
力解析表:
各种力 |
物体作用关系 |
力的三要素(力的属性) |
应用场景 |
作用点/面 |
方向 |
大小计算方法 |
1.
弹力 |
一个物体拉or挤压另一个物体产生形变,形变的物体反作用 |
2个物体接触点/面 |
形变趋势的反向 |
根据形变的距离和力的大小的比例关系 |
弹簧拉力计 |
重力建模:
力解析表:
各种力 |
物体作用关系 |
力的三要素(力的属性) |
应用场景 |
作用点/面 |
方向 |
大小计算方法 |
2.
重力 |
地球对物体的吸引作用 |
重心 |
竖直向下 |
G=mg |
体重计
苹果落地
|
摩擦力建模:
力解析表:
各种力 |
物体作用关系 |
力的三要素(力的属性) |
应用场景 |
作用点/面 |
方向 |
大小计算方法 |
3.
摩擦力 |
2个物体接触面摩擦运动产生的作用 |
摩擦面 |
摩擦运动的反向 |
摩擦运动的反向 |
防滑路面
刹车 |
压力架建模:
力解析表:
各种力 |
物体作用关系 |
力的三要素(力的属性) |
应用场景 |
作用点/面 |
方向 |
大小计算方法 |
4.
压力 |
1个物体挤压另一个物体的作用 |
接触面 |
和接触面垂直 |
分为固体、液体、气体三种计算方法 |
潜水艇
压路机 |
浮力建模:
力解析表:
各种力 |
物体作用关系 |
力的三要素(力的属性) |
应用场景 |
作用点/面 |
方向 |
大小计算方法 |
5.
浮力 |
一个物体漂浮在液体or气体中/上 |
地面 |
垂直向上 |
下面压力-上面压力 |
气球在空中
船在水上 |
功、功率、机械能建模:
领域建模后的知识表述:
这些是对机械运动规律中以力为研究角度的一些知识的整理。这些模型应该是对理解知识很有用的,但是对学生而言,无疑还是复杂了,而且对于书本知识的描需要清晰逻辑关系后的适用于学生的形式,为此,又整理了一个表格,让CC把相关的知识添入,感觉好多了。
后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们。
如果您对我们的培训、咨询和工具感兴趣:
|