【问题标题】:How to design an UML class diagramm with non object oriented parts?如何设计带有非面向对象部分的 UML 类图?
【发布时间】:2009-08-04 09:59:14
【问题描述】:

我在 ABAP 中编码并实现了模板方法模式。我喜欢为此画一些 UML 类图。在 UML 中为类执行此操作是没有问题的。但是我的类是在一个功能模块(SAP 特定术语)中实现的,它就像一个独立的方法,我用它来使实现可用于远程过程调用。

那么在一个图表中获得非 oo 功能模块和 oo 类的最佳可能性是什么。有任何想法吗?

编辑:您可以混合使用组件图和类图吗?

【问题讨论】:

    标签: design-patterns oop uml abap


    【解决方案1】:

    将功能组织在逻辑组中(例如,它们的功能组)。为每个逻辑组创建一个实用程序类,并将函数作为这些实用程序类的静态成员。

    【讨论】:

    • 功能模块已经组织在功能组中。将它们用作“类”是合乎逻辑的。
    • 另外:添加诸如 > 之类的刻板印象以澄清它不是一个实际的类。
    【解决方案2】:

    将/每个函数视为具有一个(静态)方法的类?

    【讨论】:

    • mhh 好主意,我会考虑的。 THX
    • 会赞成 Cătălin Pitiş 对此的建议。它非常相似,但也包含功能组。
    【解决方案3】:

    我们使用具有构造型 <<function pool>> 的类来表示 - 嗯 - 一个函数池和具有构造型 <<function module>> 的方法来表示功能模块。您可以对FORM 子例程、MODULEs、子例程池等执行相同的操作。我们还倾向于使用基于构造型的着色方案,以便接口为绿色阴影,函数池等遗留程序的东西为红色等等。不幸的是,由于没有可行的建模工具同时具有系统到模型和模型到系统的链接,因此使用 UML 进行 ABAP 开发的工作量相当大。

    【讨论】:

      【解决方案4】:

      UML 不仅仅是类图,基于提供的有限信息,我会将 SAP 调用程序元素设置为系统上的外部 Actor,使用系统边界包含类图中记录的系统的 OO 方面,使用活动图记录完整的工作流程。

      【讨论】:

        【解决方案5】:

        在对象(和类)方向中,一切都被认为是一个对象,甚至是非对象!!!

        模块、命名空间和库是 U.M.L.创作者似乎忽略了。

        许多设计者表示全局元素,包含在文件、命名空间或模块中,将模块表示为单个对象或类。

        像 Javascript、模块这样的语言都包含在一个单例对象或全局对象中。

        这是一个非 O.O.可以实现。

        ......................................................................
        ..+----------------------------------------------------------------+..
        ..|                            <<module>>                          |..
        ..|                             Strings                            |..
        ..+----------------------------------------------------------------+..
        ..| [+] String[]: Letters                  <<constant>> <<global>> |..
        ..| [+] String[]: Digits                   <<constant>> <<global>> |..
        ..+----------------------------------------------------------------+..
        ..| [+] String: ToUppercase(String Value)  <<function>> <<global>> |..
        ..| [+] String: ToLowercase(String Value)  <<function>> <<global>> |..
        ..+----------------------------------------------------------------+..
        ......................................................................
        

        干杯。

        【讨论】:

          猜你喜欢
          • 2016-07-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-11
          • 2018-07-25
          • 1970-01-01
          相关资源
          最近更新 更多