Диаграммы UML + классы Android

Некоторое время я занимался разработкой приложения для Android, но не начинал с какой-либо конкретной диаграммы. А теперь пришло время сделать несколько реальных диаграмм, но я не знаю как. Не потому, что я не знаком с UML, а из-за Android и его компонентов.

Например, мое приложение требует, чтобы пользователь вошел в систему, чтобы увидеть меню. Оттуда пользователь может выбрать желаемые параметры. Пользователь также может пройти регистрацию.

Хотя это может быть глупый и простой пример ... Дело в том ... Я не использовал какой-либо класс с именем "Person" с геттерами и сеттерами; или любой класс с именем «Request» с геттерами, сеттерами и другими методами. В моем приложении используются такие классы, как «Login.class», «SignIn.class», «MenuActivity.class», «HistoryActivity.class».

У меня вопрос ... как использовать UML в приложении для Android? Я имею в виду, что у меня не может быть диаграммы концептуальной модели с надписью «Человек» ----- «Запрос», верно?

Заранее спасибо.


person BlueHatCoder    schedule 15.09.2015    source источник
comment
Возможно, концептуальная модель поможет вам преобразовать то, что звучит как процедурный код, в объектно-ориентированный код. Геттеры и сеттеры тут ни при чем. Имеет классы, которые отражают реальный мир.   -  person Jim L.    schedule 16.09.2015


Ответы (2)


Я думаю, вас смущают разные типы диаграмм UML,

Есть,

Структурные диаграммы UML

  1. Диаграмма классов
  2. Схема упаковки
  3. Схема объекта
  4. Схема компонентов
  5. Схема составной структуры
  6. Схема развертывания

Поведенческие диаграммы UML

  1. Диаграмма деятельности
  2. Схема последовательности
  3. Диаграмма вариантов использования
  4. Диаграмма состояний
  5. Схема связи
  6. Обзорная диаграмма взаимодействия
  7. Временная диаграмма

И еще, я думаю, вы говорите о диаграмме классов. Поскольку диаграммы классов являются техническими и предназначены для команды разработчиков, совершенно нормально иметь в диаграмме классов все эти Login.class, SignIn.class, MenuActivity.class, HistoryActivity.class.

Но вы можете использовать концептуальные вещи, такие как Person, Request и т. Д., В других диаграммах UML (например, Use Case). потому что на этой диаграмме это предназначено для многих пользователей, а не только для разработчиков, поэтому использование MenuActivity не имеет никакого смысла. Здесь можно использовать концептуальные сущности.

Удачи

person diyoda_    schedule 16.09.2015
comment
Да, я имел в виду диаграмму классов. Итак, если я понял, что могу использовать эти концептуальные термины (Человек, Запрос), даже если это вообще не классы с такими именами ... они используются в качестве примера, верно? Но, используя диаграмму классов в качестве примера, мне нужно было бы сказать, что это за операции (также известные как методы) ... как мне это сделать? Приведу ли я реальные примеры, основанные на реальных классах, или я скажу, что предположительно будут делать операции? - person BlueHatCoder; 16.09.2015
comment
Нет, вы не должны использовать классы, которые не являются классами. Если вы хотите включить сущности Person, Request в диаграмму классов, вы должны иметь их как классы в своем коде. Как я сказал ранее, диаграмма классов предназначена для разработчиков, а не для заинтересованных сторон. Это поможет разработчикам общаться. Если вы жаждете иметь личность и запрашиваете сущности. Используйте диаграмму вариантов использования или диаграмму последовательности. - person diyoda_; 16.09.2015

Ваш пример предполагает, что вы пытаетесь зафиксировать какой-то вариант использования. В этом случае вам может понадобиться диаграмма активности для демонстрации представления более высокого уровня или схемы связи, если вы больше касается более подробного.

UML не занимается языками программирования, платформами и т. Д. Его основная цель - предоставить обозначения, которые можно использовать для передачи идей, не вдаваясь в подробности. Итак, первое, что вам нужно подумать, это зачем вообще вам нужны диаграммы и что вы хотите с ними сообщить. После ответов на эти вопросы станет понятно, какие диаграммы вам нужны.

Существует такое понятие, как «модель 4 + 1», цель которой - разделить модель программного обеспечения на несколько представлений. Эти представления показывают различные аспекты программного обеспечения и относятся к разным уровням детализации. В Unified Process, например, рекомендуется моделировать решение сверху вниз, от высокоуровневого обзора вариантов использования и основных функций до фактических деталей реализации. UML также поддерживает это, предоставляя различные типы диаграмм.

Итак, если я понял, что могу использовать эти концептуальные термины (Человек, Запрос), даже если это вообще не классы с такими именами ... они используются в качестве примера, верно?

Вы действительно можете, но не на диаграммах с низкоуровневыми функциями, такими как Activity. Вы можете построить диаграмму классов предметной области, которая будет включать в себя лиц и другие сущности, относящиеся к вашему приложению, но на самом деле они не будут представлены в коде.

person Alexander Goncharenko    schedule 17.09.2015