【问题标题】:UML: How to Model UI and Background-Threads for Mobile Application (iPhone/iOS, Android)UML:如何为移动应用程序(iPhone/iOS、Android)建模 UI 和后台线程
【发布时间】:2011-07-08 11:48:12
【问题描述】:

Stackoverflow 上有一些关于如何在 UML 中建模不同线程的主题,例如:Is there an inituitive UML approach to depict threads

但我仍然觉得,我的案例还没有被讨论过,尽管它应该很常见:

我正在创建一个 iPhone 应用程序,显然我有一个 Main-UI-Thread 并且我还使用 Background-Threads 来执行远程调用等。我基本上有 4 个不同的方面,我喜欢在我的图表:

  1. 向用户显示的 UI。
  2. Main-UI-Thread 正在执行的任务(因此阻塞了 UI)
  3. Background-Threads 执行的任务
  4. UI 的更新,由 UI-Thread 执行,但可以由 Background-Threads 触发。例如:从服务器加载的新信息,需要在 UI 上显示

有没有人遇到过类似的问题,因此可能会向我展示一个示例或给我一些关于如何解决我的问题的最佳实践?我什至不确定我应该使用序列图、活动图还是其他类型。

【问题讨论】:

    标签: iphone android ios uml background-process


    【解决方案1】:

    帕斯卡,

    这不是一个 UML 问题。这是一个设计问题。

    UML 只是帮助你

    了解您的程序/设计的难点和关键部分,并 探索替代解决方案,同时编写代码。借助视觉建模的力量。

    所以..

    首先,问问自己存在什么样的并行性或并发性 你的问题? 对此进行调查

    绘制一个简单的活动图,其中每个分区 用于表示不同的操作系统线程或进程。 对象节点可用于对共享对象和数据进行建模。分叉可用于对多个线程或进程的创建和并行执行进行建模。

    然后问自己(使用该图)

    我的共享数据是什么?我的活动课程是什么? (threads)可能会出现什么样的“并发”问题 认?可能会出什么问题?什么是同步点?等等。在此基础上探索不同的替代方案、设计。

    您最不应该担心的是 UML 及其语法(符号)

    最好的 UML 图是唤醒你心中“提问”欲望的图。

    首先忘记 Uml。就您的问题提出核心问题。 如果您喜欢视觉建模并且您的头脑喜欢视觉思维,请使用 Uml 来更好地理解和研究可能的设计解决方案。

    UML 无法为您设计...

    【讨论】:

      【解决方案2】:

      我在搜索相同的东西时发现了这篇研究论文

      M-UML: an extension to UML for the modeling of mobile agent-based software systems

      或许能帮到你

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-06
        • 2020-05-19
        • 1970-01-01
        • 1970-01-01
        • 2012-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多