How to develop a decision after making a decision (diamond) in UML?

I am currently developing a UML activity diagram in ArgoUML. I know that if I want to create a condition like:

if(condition) {
    doTrueAction();
} else {
    doFalseAction();
}

This can be done in the UML activity diagram, as shown below: But what if we have a different condition in the results of the previous solution? Like this:

enter image description here

if(condition) {
    if(condition2) {
        condition2TrueAction();
    } else {
        condition2FalseAction();
    }
}else{
    conditionFalseAction();
}

enter image description here

As you can see here the outputTrueOutput condition and the condition here. It seems to me that the design is broken.

Edit: Or should I use a fork element instead of a solution element (diamond)?

enter image description here

I want to know how to do it right. Is there a rule?

+4
source share
2 answers

. A Decision . . . :

enter image description here

, () [true] (, , ).

. , , , . Superstructures , FlowFinal Action. , .

: , . .

Edit2. Ister , Decision , if else, , 1. UML 2.5 . 388:

, , . , , , .

, , true . , true, , , .

DecisionNodes "else" ( "else" ) . true , DecisionNode.

+2

, , UML-. , .

, , .

-, , , .

, , (, SecondConditionAction) condotion2.

0

Source: https://habr.com/ru/post/1654977/


All Articles