Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一种在UML上表示许多函数的好方法_Uml_Mda_Platform Specific - Fatal编程技术网

一种在UML上表示许多函数的好方法

一种在UML上表示许多函数的好方法,uml,mda,platform-specific,Uml,Mda,Platform Specific,我正在从事一个项目,需要有一个强大的架构;我目前正在使用MDA(模型驱动的体系结构),我在平台特定模型(M1)中遇到了一个问题 我有一个类,它可能包含+30个函数,我只是不想把所有这些函数放在UML中,除非它是100%强制的。所以我有几个疑问: 有没有办法只在一个函数中表示所有这些函数?例如:DetectionCriteria(事件:e),而不是DetectionCriteriana, 检测标准等 如果我不能缩短它们,那么将所有功能放在UML上真的是强制性的吗 我知道这听起来有点傻,但我想问

我正在从事一个项目,需要有一个强大的架构;我目前正在使用MDA(模型驱动的体系结构),我在平台特定模型(M1)中遇到了一个问题

我有一个类,它可能包含+30个函数,我只是不想把所有这些函数放在UML中,除非它是100%强制的。所以我有几个疑问:

  • 有没有办法只在一个函数中表示所有这些函数?例如:DetectionCriteria(事件:e),而不是DetectionCriteriana, 检测标准等

  • 如果我不能缩短它们,那么将所有功能放在UML上真的是强制性的吗


我知道这听起来有点傻,但我想问一个对UML有很好理解的人。谢谢

在您的问题中有两个层次:UML方面和MDA方面

在UML中,您有一个aonemodel,许多图表可以显示模型的一些选择性的、局部的方面。例如,经常出现以下情况:

  • 一些高级类图只显示了主类及其关联。我们的目标是提供一个概述,而不必过分强调不必要的细节
  • 一些更精确的设计图,突出了一些类的关键属性和操作。目标是在序列图或其他行为图中详细描述类的动态行为之前,了解类的角色和职责
  • 不禁止也有详细的类图,以完整地记录抽象设计或明确实现的细节,包括用于实现关联的字段。但并不是每个建模者都维护这些,因为在传统的开发环境中,这种详细的实现模型很快就过时了,因此具有误导性
因此,在UML中,您没有义务显示所有的30个函数(这会使您的图表不可读)


在MDA中,如果您想自动化从独立于平台的模型(PIM)到特定于平台的模型(PSM)以及到可执行文件(代码?)的转换,那么您需要有一个非常完整的模型才能与正向工程一起工作。否则,您将被迫手动检查生成的代码以增强它。在这种情况下,您需要在某个地方描述30个函数。但不一定在UML图中(或者至少不在所有UML中)。或者至少不是从头开始的,如果您的工具集允许逆向工程代码并基于代码创建模型来完成UML中的信息

现在回答这个问题已经太迟了,但是为什么要把函数放在节目中呢?为了保持全局,尝试获取有意义的业务对象。这足以作为一个开始,@qwerty_谢谢你的回复!你是对的;在你的评论之后,我仔细检查了指导我的书(“逆向工程技术的MDA”);根据autor的说法,可视化表示不如规则生成模式重要,所以我应该在这方面投入更多的精力!克里斯托夫有一个很好的答案,我唯一的评论就是设计。这可能只是你的例子,但通常有很多方法,比如“detectionbCriterionA”和“detectionCriterionB”,我假设“DetectionCriterion”等是一种“气味”——也许你需要使用一些多态性?非常感谢!这是非常有见地的,并澄清了我的很多事情!