En

JazzTeam Software Development Company

Agile Java Development

Диаграммы

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

Диаграммы компонентов.

Диаграммы развертывания.

Диаграммы композитной структуры.

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

Core - Система массовой рассылки большого числа писем

image0

Система позволяет рассылать множество писем с вложениями, в зависимости от приоритетов отправки каждого письма. Особенностью является возможность обработки больших объёмов данных.

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

Модуль Core запускает процессы-демоны, которые извлекают информацию о письмах из MongoDB. Далее выполняется алгоритм вычисления приоритета письма и идентификаторы писем, которые должны быть отправлены сохраняются в in-memory базу данных Reddis, которая обеспечивает максимально быстрый доступ.

Множество SMTP-серверов выполняют отправку писем и обращаются за следующим письмом к модулю Core, который достаёт идентификатор следующего письма из Reddis. Далее считывается другая информация о письме, если к письму существует вложение, то оно достаётся из файловой системы.

Базы данных MongoDB, Reddis, SMTP-сервер и Core могут находиться на одном и том же физическом сервере для лучшего быстродействия.

Диаграмма развертывания

Диаграмма развертывания приложения, созданная в рамках проекта "Система автоматизации документооборота и бизнес-процессов в природоохранной деятельности"

image10

Диаграммы композитной структуры

Диаграмма сервиса аутентификации, отображающая связи между внутренними классами и внешними компонентами.

image024