UML: Cómo modelar interfaz de usuario y subprocesss de background para aplicaciones mobilees (iPhone / iOS, Android)

Hay algunos temas en Stackoverflow ya relacionados sobre cómo modelar diferentes subprocesss en UML, por ejemplo: ¿Existe un enfoque intuitivo de UML para representar subprocesss .

Sin embargo, todavía siento, que mi caso no ha sido discutido, aunque debería ser bastante común:

Estoy creando una aplicación de iPhone, donde obviamente tengo un Main-UI-Thread y también estoy usando Background-Threads para realizar llamadas remotas, etc. Básicamente tengo 4 aspectos diferentes que me gustaría mostrar dentro de mi diagtwig:

  1. La interfaz de usuario que se muestra al usuario.
  2. Las tareas que realiza el subprocess de UI principal (por lo tanto, bloquea la UI)
  3. Las tareas que se realizan por Antecedentes-Hilos
  4. Actualizaciones de la interfaz de usuario, que son realizadas por el UI-Thread, pero pueden ser activadas por Background-Threads. Por ejemplo: nueva información cargada desde el server, que debe mostrarse en la interfaz de usuario

¿Alguien se encontró con un problema similar y, por lo tanto, podría mostrarme un ejemplo o darme algunas buenas prácticas sobre cómo resolver mi problema? Ni siquiera estoy seguro de si debería usar un diagtwig de secuencia, un diagtwig de actividad o tal vez incluso algún otro tipo.

Bueno Pascal,

Esta no es una pregunta de UML. Es una pregunta de layout.

UML solo te ayuda

Para comprender la sección difícil y crítica de su progtwig / layout y para explorar soluciones alternativas, mientras escribe su código. con el poder del modelado visual.

Asi que..

Primero, pregúntese qué class de paralelismo o concurrency existe en su problema. Para investigar esto :

Dibuje un diagtwig de actividad simple con partes en las que cada split sirve para representar diferentes processs o subprocesss del sistema operativo. Los nodos de objects se pueden usar para modelar los objects y datos compartidos. La queueboración se puede usar para modelar la creación y la ejecución paralela de varios subprocesss o processs

Luego pregúntate (usando ese diagtwig)

¿Cuáles son mis datos compartidos? ¿Cuáles son mis classs activas? (hilos) ¿Qué tipo de problemas de "concurrency" pueden afectar? ¿Qué puede salir mal? ¿Cuáles son los puntos de synchronization? etc. Basado en esto Explore diferentes alternativas, layouts.

Lo último que debes preocuparte es UML y su sytax (símbolos) .

Los mejores diagtwigs de UML son los que despiertan el deseo de "hacer preguntas" en su mente.

Al principio, olvídate de Uml. Haga preguntas básicas sobre su problema. Si le gusta el modelado visual y su mente, como el pensamiento visual, utilice Uml para comprender e investigar mejor las posibles soluciones de layout .

UML no puede diseñar para usted …

Encontré estos documentos de investigación mientras buscaba lo mismo

M-UML: una extensión de UML para el modelado de sistemas de software basados ​​en agentes mobilees

Puede ser que puede ayudarte