Как представить одно действие, начинающее другое, с намерением на диаграмме последовательности UML и диаграмме классов? - PullRequest
0 голосов
/ 18 апреля 2020

В этом простом примере у меня есть два действия ActivityA, и ActivityB.

ActivityA - это основное действие. Пользователь нажимает кнопку, которая выполняет dispatchActivityBIntent(), которая создает намерение и отправляет его для запуска ActivityB.

Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);

Это схемы, которые я придумал

enter image description here

enter image description here

Я нашел предыдущий ответ на обсуждение этого вопроса на диаграмме классов.

Android Диаграмма классов UML

enter image description here

Альтернативный способ. Это неправильно, чтобы показать, как это?

enter image description here

Ответы [ 2 ]

0 голосов
/ 20 апреля 2020

По моему мнению, uml-диаграммы существуют для того, чтобы дать вам обзор некоторого программного обеспечения, а не для описания деталей технической реализации (например, диспетчеризация / намерение).

Я бы предпочел что-то вроде стат-диаграммы, где каждое государство - это диалог или актив. Стрелками между состояниями может быть поток между страницами, помеченный названием кнопки (или намерением, которое используется)

0 голосов
/ 18 апреля 2020

Если я хорошо понимаю и пытаюсь повторно использовать вашу формулировку, диаграмма последовательности может быть:

enter image description here

Я предполагаю, что все сообщения являются асинхронными, кроме, конечно, создание экземпляра намерение .

Тот факт, что вершина намерение не находится вверху диаграммы, указывает на то, что она создана и ранее не существовала. Чтобы показать сообщение create - это просто способ сделать, другое представление должно иметь сообщение, идущее к прямоугольнику экземпляра ... но я не управляю этим в моем инструменте; -)

Я также предположил, что срок действия намерения ограничен, X указывает, когда он исчезает

Я предпочел заменить Актер (если я вас хорошо понимаю: пользователя) кнопкой из-за Пользователь нажимает кнопку, которая выполняет ... .

...