领域模型-UML硬核精细防疫指南(类图和状态机图)
Posted UMLChina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了领域模型-UML硬核精细防疫指南(类图和状态机图)相关的知识,希望对你有一定的参考价值。
几天前发了一篇《UML硬核精细防疫指南》,带来了不少读者,刘京城同学提交的领域模型获得了本轮竞赛优胜。
下面先给出刘京城同学提交的防疫指南领域模型(类图和状态机图)。刘同学画得很不错,把文章里提到的概念、关系和逻辑比较准确地理出来了,我在此基础上再来说说怎样精益求精,然后给出我自己画的防疫指南领域模型,并针对模型解释一些要点。时间有限,考虑未必周到,仅供读者批评指正。
图6 防疫指南类图(潘加宇),为简化问题,把接触定义为2方接触,3P或以上的接触忽略。
至于要画什么类,要看打算解决的问题。关于防疫,我们可能关心的问题可能有:
要能解答这些问题,需要记住哪些领域概念、领域概念之间的关系和领域逻辑?这些就是我们要建模的东西。
例如,要解决第一个问题“我的手(脸、衣服……)干净吗?”和第二个问题“这个物品干净吗?”,记住身体部位和物品,物品和物品,身体部位和身体部位的每一次接触是有帮助的。靠人脑未必记得住,事实上很多人无意识做了很多动作他自己根本不知道,那就电脑帮记呗!所以我们可能就会有这样的类:
图10 装备的状态机图
从图中可以看到,类图做了进一步抽象,不再有手、口罩等类,而是抽象为“人体部位类型”、“装备类型”。这是把泛化转为关联来处理。冰箱也看作房屋的一个区域,没有单独的类。
还可以看到,防护的作用是使得“接触”的次数少了很多。
区分物品和装备是考虑到二者目的不同。装备被牺牲,牺牲装备来保护物品和人体部位——“为了取这个快递,我耗费了一个口罩”。
电梯调度是很复杂的问题,不管,只需要记住谁进了哪个电梯即可。
疫情以来,在网上看了一些攻略,包括外科医生提供的视频攻略之类,有一定参考价值,但觉得还是略粗糙,干脆写个自己体会的防疫指南,并作为建模竞赛题素材。
我现在从事的是软件业,但我在学校是学化学的,做过的比较精细的操作有:用钴60辐射源作为合成反应的能源、在无水无氧条件下做合成实验等。上班以后虽然没干过化学方面的工作,但一些影响还在。平时看似邋遢,但真正在意时敏感性(或称洁癖)还是比较强的,对一些看不见的伤害更敏感,例如从“对自己有害”的角度来说,我会觉得一块被彻底晒干的牛粪比一块新鲜的生牛肉要干净,沾有自己鼻涕的手比其他人伸过来的白净手更干净。
以下内容纯属根据自己体会原创,不一定正确,供读者参考和指正。
现在国内疫情已经不严重,即使无防护出去也大概率没事,但谁知道会不会国外又倒灌过来呢?练好防护,运气光顾努力的人。
口罩、护目镜、眼镜(如果近视)、有帽子的外衣、一次性薄手套。
口罩和薄手套多备几份放在有包装的信封里,能一个个独立包装更好,和手机等放在随身带的包里。
因为是外出,开门这一步比较简单,没有其他要注意的。
站在门口的干净区,把一会需要手拎外带的物品转移到污染区。
将正穿着的室内鞋脱下,放在门口的干净区,然后跨到污染区的外出鞋中,脚最好能直接进入鞋中,以免袜子沾到外出鞋的鞋面(有一定难度,做不到就算了)。
*注意:到了这一步你已经身处污染区,如果发现忘带了东西,不要下意识就直接返回来拿。
假设在疫情期间,邻居串门已经杜绝,那么人员的流动只会发生在N层→1层、N层→负1层、1层→负1层以及对称的负1层→1层、负1层→N层、1层→N层,以上N>2。
假如你的路线是15层→1层,选择坐电梯,那么就有可能和x层→1层(2<x<15)的人路线重叠,电梯到8楼停住了,一个人不戴口罩一边咳嗽一边进来,你尴尬不尴尬?
只有1层→N层的电梯上楼路线是安全的,如果在1层只有你进电梯,那么进去后就会直达N层,中间不会有人截胡。1层→负1层、负1层→1层也安全,但意义不大了。
所以,如果楼层不高且带的东西不多,选择走楼梯下楼。
当然,如果做到发现有人不戴口罩要进电梯就退出去改走楼梯,或者蛮横一点不让对方上电梯(我认为这其实是正当的,不蛮横),就可以不用考虑上面的问题。
*有人可能会说,走楼梯也会碰到人啊!如果一个人会选择走楼梯,那么很大概率上他是一个像你一样谨慎的人,安全性就大了很多。
即使外部环境沾满了病毒,只要空气中没有,自己又做到不摸眼口鼻,就不会有问题——如果自己作死做不到,那只能怪自己。
可是,一个大活人不戴口罩过来和你亲热说话,所制造的飞沫我们戴的口罩护目镜未必防得住。口罩的作用其实是防止放毒给他人,而不是防住他人放的毒。
这就是为什么不怕车祸怕新冠的原因。车祸所受伤害如果是自己造成,自己倒霉,如果是别人造成,别人负责。新冠则不同,新冠是即使伤害由别人造成,别人也不负责,或者责任很小。如果没有严厉的处罚,很多人会倾向于不戴口罩,甚至故意互相伤害。另一个类似的例子就是养狗。
既然不乱摸眼口鼻,而且会洗手,干嘛还要带手套呢?手上可能有伤口之类就不说了,另一个原因是手的表面沟壑林立(指甲沟等),如果什么事都让肉手冲在第一线,藏污纳垢的可能性大增。手套的表面比手简单,而且可以丢弃。不指望戴了手套手上就不会沾病毒,但尽可能减少一些。
到达家门口后,把东西放在污染区,脱掉外出鞋,脱的时候尽量注意不要手不要碰到袜子(同上,实在做不到就算了)。脱一只就跨到干净区的塑料室内鞋中,再脱另一只,再跨。
手持钥匙开门,用钥匙的力量带动开门,不要碰门把手,需要借力可用鞋帮着拨。
开门时同时出声通知家人让道,不要过来迎接,特别是防护意识不强的老人和小孩。
先放东西!
这时洗不洗手无所谓。有的人先洗手,然后再去放东西,这不又沾上了吗!
家中设一个住宅隔离区,这个隔离区靠近门口更好,搬动距离更短,但不靠近也没关系,关键是这个区域不轻易让小孩碰到。
把家门敞开,站在干净区,将物品一一拿进门直奔住宅隔离区放置,一路上提醒家人不要碰触自己以及不要热情地接过手上物品。
捏一张纸巾,握住门把手,关门,纸巾扔垃圾桶。也可以让家人代关门。
在住宅隔离区除尽护具、衣物(不方便则可留最后的内衣,但手不要碰内衣)、袜子,扔在隔离区,走向浴室。
开门时用鞋开门或纸巾防护开门,如果有门帘挡路,不要用手直接拨或者直接头顶进去,因为头和手都是污染区,同理可以取纸巾护住手拨开,纸巾扔浴室垃圾桶或马桶。
先在淋浴下淋3-5分钟,用手搓头发,搓脸,搓耳朵孔(注意:耳朵是暴露在外面的),尽可能冲去病毒。注意闭眼睛,不要冲进眼睛里。
带回来的物品如果不着急使用,那么可以晾在隔离区,24小时后再去触碰。
冰箱里一格用作隔离区,有条件的可以分重隔离区和轻隔离区。
打开冰箱门和冰箱隔离区外壳,把原来隔离区中已经满足解除隔离条件的物品转移到冰箱非隔离区,保持冰箱隔离区那一格敞开。
到住宅隔离区去取待放冰箱的生鲜,主要只用手触碰,不要碰到衣服,把物品放入冰箱隔离区。
用脚(注意这里说脚不说鞋了,之前说鞋是因为脚可能是污染的)或用手肘关闭冰箱隔离区的外壳以及冰箱门。
*关于洗手:
不要下意识去挤洗手液!
用流水冲洗即可,洗手液对清除病毒没有更多贡献,除非是专用的洗手液。
*
需要端正“干净”的概念
——“干净”的标准是不携带活的新冠病毒。从这个标准看,一个月闷在家里不洗澡是干净的,地毯上都是灰也是干净的。平时人觉得“脏”是因为有某些比较大的东西挡住了我们的毛孔、鼻孔、眼睛……让我们感觉不舒服,病毒才多大点?按照γ射线理解好了,被γ射线照过可能会造成人体伤害,但衣服不会“脏”。
*所以同理,换下扔在住宅隔离区内的衣服,等病毒失活后,可以不用洗继续穿。即使要洗,考虑的因素也应该是平时那些“脏”的因素,而不是病毒。
此时,手机应该还扔在住宅隔离区的衣物口袋里或包里。
先用镊子从酒精棉球瓶里取出2枚酒精棉球,放好。(这一步注意:如果下意识先拿手机,发现棉球没取出,又下意识去拧酒精棉球瓶的盖子,瓶子就被污染了)
左手取出手机,关闭屏幕,右手用酒精棉球擦拭手机外壳所有面积,包括摄像头。
换右手持手机,去浴室冲左手,左手持另一只棉球再擦拭手机外壳所有面积,包括摄像头。
*换手再擦是因为之前拿着手机那一只手可能会有沾染。
把手机放在某地方晾着,然后去冲手,15分钟之后可以使用。
电脑等操作类似,就是面积较大,需要的酒精棉球多一点。
以上是关于领域模型-UML硬核精细防疫指南(类图和状态机图)的主要内容,如果未能解决你的问题,请参考以下文章
UML类图和用例图
那些我们常见的 UML 图
UML大战需求分析——阅读笔记03
软件需求设计方法学全程实例剖析幻灯片06-分析类图序列图和状态机图[2022-05更新]
UML-状态机图
Visual Studio 2015中设计UML类图