Como incluir condições nos diagramas de sequência UML?

13

Gosto de desenhar um diagrama de sequência UML para exibir a sequência de ações e interações de diferentes partes do meu sistema (acho que eles chamavam de atores).

No entanto, preciso incluir if then elsedeclarações aqui. Eu faço algo errado? Posso usar instruções if condicionais no meu diagrama de sequência UML? Quão?

Saeed Neamati
fonte

Respostas:

18

Como em muitos tipos de diagramas UML, você pode usar proteções para indicar uma condição. Um guarda é uma expressão booleana que você pode escrever durante uma transição.

Aqui está uma foto com um exemplo: insira a descrição da imagem aqui

Observe a condição "[pastDueBalance = 0]".

Você também pode usar fragmentos combinados para lógica condicional mais complicada. Veja este belo artigo msdn para mais informações.

Falcão
fonte
4

Existem quatro possibilidades que conheço (com poder crescente):

  1. O mais fácil é usar protetores , que são simples expressões booleanas livres de efeitos colaterais.
  2. Com fragmentos combinados (consulte, por exemplo, a página 54), você pode agrupar conjuntos de mensagens para mostrar o fluxo condicional em um diagrama de sequência (alternativas, opções, loops)
  3. Muito mais poderosa é a Object Constraint Language (OCL) , que pode quantificar adicionalmente (para todos, existe) e oferece uma linguagem de contrato completa (DesignBy-) (que é quase tão expressiva quanto a lógica completa de primeira ordem).
  4. A maneira mais poderosa é expressar sua restrição usando uma linguagem de ação UML da UML executável (xUML) que está em conformidade com a semântica de ações da UML.

Minha escolha seria a menos poderosa que ainda é suficientemente expressável para o que você quer fazer. Por exemplo, as ações na 4. podem ter efeitos colaterais, o que as torna muito mais frágeis que a OCL.

DaveFar
fonte
2

Embora os diagramas de sequência sejam perfeitos para sua descrição, verifique os Diagramas de Atividades.

Quando você deseja mostrar detalhes internos (incluindo regras detalhadas), Diagramas de Atividades é o que você deseja usar. Os diagramas simples de atividades se concentram na sequência de atividades e regras e são ruins para mostrar as responsabilidades do ator; no entanto, você pode usar as pistas de natação para destacar as responsabilidades do ator. Cada pista incluiria atividades pelas quais um ator é responsável.

Esses links discutem diagramas de atividades com raias de natação:

NoChance
fonte