UML-моделирование без глубокого знания базовых библиотек - PullRequest
0 голосов
/ 26 февраля 2020

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

Я пробовал это несколько раз в прошлом, но у меня было ощущение, что без глубокого Знание фоновых библиотек, от которых будет зависеть моя работа. Это не тривиальная задача, поскольку в самом начале я не знаю, какие переменные и функции-члены мне понадобятся.

Обычно я писал код для Познакомившись с библиотеками и API, мое приложение было интерфейсом, и я попал в состояние, когда работа была почти завершена, или, скажем, она была готова на 50%, и для меня не было смысла начинать что-то моделировать.

Правда ли, что вам действительно нужно хорошо понимать фон или есть способы / методы, как это преодолеть?

Другой вопрос: вы построили модель снизу вверх или сверху вниз или это зависит от варианта использования?

Спасибо за любые рекомендации, как действовать.

Ответы [ 2 ]

1 голос
/ 27 февраля 2020

Если я хорошо понимаю, ваша главная задача - понять, какие библиотеки и API вы используете.

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

Обычно я программировал, чтобы ознакомиться с библиотеками и API, к которым было подключено мое приложение.

Теперь, если библиотека или API поставляются с моделью UML, это уже другая история: существующая модель дизайна (не все детали реализации, но основные элементы дизайна и сценарий взаимодействия, которые трудно поднять *) 1012 * из кода) может помочь вам asp быстрее понять, как работает библиотека, что поможет вам go быстрее на этапе исследования.

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

0 голосов
/ 27 февраля 2020

Три основные цели создания моделей классов UML при разработке приложения:

  1. Описание типов сущностей проблемной области приложения для анализа и лучшего понимания требований к приложению в концептуальная (доменная) модель .
  2. Разработка схемы базовой базы данных приложения (обычно это RDB-схема, определенная с помощью набора операторов CREATE TABLE).
  3. Разработка классы моделей модели данных вашего приложения, которые будут закодированы, например, как Java классы сущностей или C# классы с аннотациями EF.

Для 1 и 2 вы можете взглянуть на мою книгу Введение в информационное моделирование и базы данных , в то время как для 3 вы можете проверить книгу по разработке на основе моделей, например, для Java Бэкэнд-приложений или JavaScript Фронтенд-приложений .

enter image description here

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...