UML:活动图是否算法算法?

时间:2010-12-15 20:35:21

标签: uml

活动图是否被视为算法?

3 个答案:

答案 0 :(得分:3)

确实存在奇怪的问题。看一下字典定义:

  • Algorithmic:属于或关于或具有算法特征的
  • Algorithm(1):指定如何解决某些问题的精确规则(或规则集)
  • Algorithm(2):解决以有限步骤表示的问题的有效方法。

那么:活动图可以用来描述“解决以有限的步骤表达的问题的方法”吗?是的 - 这是他们的目的。它们支持描述算法所需的所有常用控制结构:序列(A后跟B),交替(A或B),迭代。它们还为并行活动提供明确的支持。

可能被视为弱势的领域:

  1. 执行语义没有精确且明确地定义。虽然UML规范确实提供了一些语义,但它会留下一些点。
  2. 没有为活动图定义的预定义原始类型集。因此,最低级别的原始活动(添加整数,连接字符串等)不是预定义的。从这个意义上讲,活动图本身并不是计算完整的。
  3. 然而:那些是挑剔的理论。在实践中,活动图是表示算法的一种流行方式:从软件程序的设计到指定业务流程。

    当然,这完全取决于您对算法的定义。如果您使用上面的一般定义,那么AD就是算法。如果你选择更具体的东西,可能不会。

    第h

答案 1 :(得分:1)

OMG元模型(即UML,SysML等),从描述它们的元元建模语言(MOF)开始,由两个不同类型的模型组成,分别用于定义: / p>
  • 系统或架构的静态结构(即类图,组件图,方框图等);

  • 系统的动态或行为(即序列图,活动图,状态机图,对象交互图等)

活动图属于第二类,因此它们旨在描述行为。 算法只是可以通过活动图描述的行为类型

答案 2 :(得分:1)

用新UML executable standards补充的活动图可用于表示任何算法。单独的活动图可用于表示整体控制流程,但不能用于表示数据管理的详细信息