Найти в Дзене

UML диаграммы и их применение при работе аналитика 1С

Оглавление

Денис, аналитик 1С

Работа аналитика в сфере автоматизации, в частности с платформой 1С:Предприятие, требует высокой степени систематизации и визуализации информации. При проектировании сложных бизнес-процессов и архитектур автоматизированных систем невероятно важно иметь инструменты, которые позволяют наглядно представить структуру и логику процессов. Здесь на помощь приходят UML диаграммы.

UML (Unified Modeling Language) – это унифицированный язык моделирования, предоставляющий набор стандартных диаграмм для описания архитектуры системы.

Диаграммы UML

В своей работе я активно использую следующие виды диаграмм:

Диаграммы классов

При проектировании объектной модели данных в 1С, диаграммы классов позволяют наглядно представить сущности, их атрибуты и взаимосвязи. Это помогает при определении структуры каталогов, документов и регистров.

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

Диаграммы последовательностей

Они позволяют визуализировать последовательность действий между объектами или компонентами системы. Такие диаграммы особенно полезны при разработке сложных процедур обработки данных.

Пример: Так в процессе автоматизации учета поставок я могу создать диаграмму последовательностей для описания взаимодействия между складом, отделом продаж и бухгалтерией.

Диаграммы активности

Отлично подходят для описания бизнес-процессов и алгоритмов работы. Я использую их для описания логики работы типовых и нетиповых решений на платформе 1С:Предприятие.

Пример: При автоматизации процесса закупок, диаграмма активности помогает понять последовательность шагов от создания заявки на закупку до ее учета в бухгалтерии.

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

Как я использую PlantUML для построения диаграмм

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

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

Преимущества PlantUML в моей работе:

  • Текстовое описание диаграммы легко хранить в системах контроля версий вместе с исходным кодом проекта. Это обеспечивает легкую историю изменений и совместную работу над диаграммами.
  • PlantUML легко интегрируется с различными платформами и инструментами, такими как Confluence, Jira или Visual Studio Code. Это позволяет встраивать диаграммы непосредственно в документацию или технические задания.
  • С помощью скриптов можно автоматизировать процесс генерации диаграмм, что особенно полезно для больших проектов.

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

Пишем код для построения диаграмм

Вот основные аспекты написания кода для PlantUML:

  • Обозначение начала и конца диаграммы - rаждая диаграмма начинается с @startuml и заканчивается @enduml.
  • Объявление элементов - для диаграммы классов классы объявляются с использованием ключевого слова class, для диаграммы последовательностей участники (актеры или объекты) объявляются просто путем написания их имени.
  • Определение связей - в зависимости от типа диаграммы вы можете использовать разные типы стрелок (-->, --, ->, и т.д.) и обозначения (.., ==, и т.д.) для представления разных типов связей и их направления.
  • Группировка и комментарии- вы можете группировать элементы с использованием package или namespace для диаграмм классов. Комментарии добавляются, начиная строку с символа '.
  • Стилизация - цвета, шрифты и другие стилевые аспекты можно настроить с помощью специальных команд или встроенных тем.
  • Условные операторы - в диаграммах активности и последовательности можно использовать условные операторы (например, if..then..else).
  • Макросы и функции - PlantUML позволяет создавать повторяющиеся блоки или макросы, которые можно использовать повторно.

Так выглядит пример кода для простых кейсов, которые упомянул в первой части статьи.

Код для диаграммы классов в учете продаж

@startuml
class Товар {
- Наименование
- Цена
}
class Покупатель {
- ФИО
- Адрес
}
class Заказ {
- Номер заказа
- Дата
+ Сделать заказ(Товар, Количество)
}
Товар "1..*" -- "1..n" Заказ : Состоит из
Покупатель "1" -- "0..n" Заказ : Создает
@enduro_titans

Код для диаграммы последовательностей учета поставок

@startuml
participant Склад
participant ОтделПродаж
participant Бухгалтерия

ОтделПродаж -> Склад: Запрос на поставку товара
Склад --> ОтделПродаж: Подтверждение наличия товара
ОтделПродаж -> Бухгалтерия: Формирование счета для поставщика
Бухгалтерия --> ОтделПродаж: Подтверждение счета
ОтделПродаж -> Склад: Запрос на отправку товара
Склад --> ОтделПродаж: Подтверждение отправки
@enduml

Код для диаграммы активности процесса закупок

@startuml
start
:Создание заявки на закупку;
:Проверка наличия товара на складе;
if (Товар в наличии?) then (Да)
:Отправка заявки поставщику;
else (Нет)
:Заказ товара у поставщика;
endif
:Прием товара на склад;
:Учет товара в бухгалтерии;
stop
@enduml

Как видно из примеров, при определенной сноровке и опыте, код составляется гораздо быстрее, чем отрисовывать диаграммы на редакторе. Кроме того, его можно хранить и версионировать, например в Git.

Выводим диаграммы в PlantUML

Для этого на сервисе PlantUML вставляем написанный код в специальное поле и диаграмма автоматически рисует диаграмму.

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

Здесь также хочу отметить, что инструменты типа PlantUML меняют подход к разработке диаграмм. Они делают этот процесс более динамичным и адаптивным, что особенно ценно в условиях быстро меняющихся требований и гибкой методологии разработки.

Выводы

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

Если статья была полезна, делитесь ею с коллегами, ставьте лайк и подписывайтесь на канал.

Еще больше интересных тем, — на нашем Telegram-канале