Практическое моделирование архитектуры в ArchiMate с использованием Archi

Курс представляет собой пошаговое руководство по работе в программе Archi для создания архитектурных моделей в нотации ArchiMate. Вы научитесь проектировать трехуровневые системы, работать с отношениями и точками зрения, а также генерировать отчеты по ГОСТ для успешной сдачи лабораторных работ.

1. Установка и базовый интерфейс программы Archi

Установка и базовый интерфейс программы Archi

Моделирование корпоративной архитектуры требует специализированных инструментов. Одним из самых популярных, доступных и мощных решений является Archi — бесплатный редактор с открытым исходным кодом, созданный специально для работы с нотацией ArchiMate.

Установка редактора Archi

Процесс установки программы максимально прост и не требует глубоких технических знаний:

  • Перейдите на официальный сайт проекта Archi (archimatetool.com).
  • В разделе Download выберите версию для вашей операционной системы (Windows, macOS или Linux).
  • Скачайте установочный файл и запустите его.
  • Следуйте стандартным шагам установщика, оставляя настройки по умолчанию.
  • После завершения установки запустите программу.

    Базовый интерфейс программы

    При первом запуске Archi вы увидите рабочее пространство, разделенное на несколько ключевых зон. Понимание их назначения — первый шаг к успешному выполнению лабораторных работ.

    * Дерево моделей (Models) — панель слева. Здесь отображается иерархическая структура вашего проекта: папки для различных слоев (Business, Application, Technology), связей (Relations) и визуальных представлений (Views). * Холст (Canvas) — центральная и самая большая область. Это ваше рабочее поле, где вы будете рисовать диаграммы, перетаскивая элементы. * Палитра (Palette) — панель справа от холста. Она содержит все доступные элементы ArchiMate, сгруппированные по слоям, а также инструменты для создания связей. * Панель свойств (Properties) — обычно располагается внизу. Это критически важный инструмент для настройки элементов, добавления описаний и изменения точек зрения.

    Три базовых слоя архитектуры

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

    !Схема трехуровневой архитектуры

    Бизнес-слой (Желтый цвет)

    Описывает людей, процессы и организационную структуру. Пример для приложения по изучению японского языка: Бизнес-актор (Business Actor) — «Студент», который взаимодействует с системой. Он выполняет Бизнес-процесс (Business Process) — «Изучение новых иероглифов».

    Слой приложений (Голубой цвет)

    Описывает программное обеспечение, которое поддерживает бизнес-процессы. Пример: Компонент приложения (Application Component) — «Мобильное Android-приложение Gurufy-Japan». Оно предоставляет Сервис приложения (Application Service) — «Генерация карточек для запоминания».

    Технологический слой (Зеленый цвет)

    Описывает физическое оборудование и системное ПО, необходимое для работы приложений. Пример: Устройство (Device) — «Смартфон пользователя», на котором установлено Системное ПО (System Software) — «ОС Android 13».

    Создание первой модели и работа со связями

    Чтобы начать моделирование, в панели Models раскройте папку Views, нажмите правой кнопкой мыши на Default View и переименуйте его. Затем просто перетаскивайте нужные элементы из Palette на холст.

    Для соединения элементов используются связи (Relations). Особое внимание стоит уделить отношению назначения (Assignment relation). Эта связь показывает, кто или что выполняет определенную задачу или берет на себя роль.

    > Отношение назначения (линия с кружком на конце) всегда направлено от активного элемента (кто делает) к поведению (что делает) или роли (кем является).

    Например, вы можете использовать отношение назначения, чтобы связать Бизнес-актора «Студент» с Бизнес-ролью «Пользователь приложения». На технологическом слое вы можете назначить Устройство «Смартфон» на выполнение функции «Обработка графики».

    Важно помнить: для связи элементов из разных слоев (например, программы и оборудования) чаще используются другие связи. Программа обслуживает (Serving) пользователя, а оборудование реализует (Realization) программу.

    Добавление аннотаций (Documentation)

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

    Чтобы добавить аннотацию:

  • Выделите элемент на холсте (например, компонент «Android-приложение»).
  • Перейдите в нижнюю панель Properties.
  • Откройте вкладку Main.
  • В текстовое поле Documentation впишите подробное описание: «Клиентское приложение, написанное на Kotlin, предназначенное для интерактивного тестирования знаний хираганы и катаканы».
  • Эти аннотации не видны на самой схеме, но они сохраняются в модели и автоматически выгружаются при генерации отчетов.

    Точки зрения (Viewpoints) и дублирование моделей

    Архитектура может быть очень сложной. Чтобы не перегружать зрителя, ArchiMate использует Точки зрения (Viewpoints) — это фильтры, которые подсвечивают элементы, важные для конкретной задачи, и скрывают (или делают бледными) остальные.

    Чтобы изменить точку зрения:

  • Кликните на пустое место на холсте (чтобы снять выделение с элементов).
  • В панели Properties перейдите на вкладку Viewpoint.
  • В выпадающем списке выберите нужную точку.
  • По умолчанию установлена точка зрения «Нет» (None) — она позволяет использовать абсолютно все элементы языка без ограничений.

    Если вы выберете точку зрения «Информационная структура» (Information Structure), программа автоматически выделит элементы пассивной структуры (данные, бизнес-объекты, артефакты), так как эта точка зрения предназначена для проектирования баз данных и потоков информации.

    Для выполнения лабораторной работы вам потребуется создать несколько одинаковых схем с разными точками зрения. Чтобы не рисовать схему заново:

  • В панели Models найдите ваш вид (View).
  • Нажмите на него правой кнопкой мыши и выберите Duplicate.
  • Откройте дубликат и измените его Viewpoint в панели свойств.
  • Генерация отчетов через Jasper

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

    Для создания отчета:

  • В верхнем меню выберите FileReportJasper...
  • Программа предложит выбрать папку для сохранения результата и шаблон.
  • Стандартный шаблон (Standard) сгенерирует HTML, PDF или Word документ, включающий все ваши схемы, элементы и текст из полей Documentation.
  • Для подготовки итогового отчета по ГОСТ 7.32-2017 (Отчет о научно-исследовательской работе) рекомендуется экспортировать отчет в формате .docx (Word). После экспорта вы сможете открыть файл в текстовом редакторе, настроить шрифты (обычно Times New Roman, 14 pt), выровнять текст по ширине, добавить титульный лист и рамки, требуемые нормоконтролем вашего учебного заведения. Все ваши аннотации из поля Documentation уже будут аккуратно собраны в таблицы под каждой схемой.

    2. Элементы, слои и отношения в нотации ArchiMate

    Элементы, слои и отношения в нотации ArchiMate

    Для успешного проектирования архитектуры недостаточно просто знать, как перетаскивать элементы на холст в программе Archi. Необходимо понимать внутреннюю логику языка. Нотация ArchiMate строится на строгой концептуальной модели, которая называется Ядро ArchiMate (ArchiMate Core Framework). Эта модель представляет собой матрицу, состоящую из трех слоев и трех аспектов.

    Аспекты архитектуры: грамматика ArchiMate

    Создатели ArchiMate вдохновлялись структурой естественного языка. Любое осмысленное предложение состоит из подлежащего (кто делает), сказуемого (что делает) и дополнения (с чем делает). Точно так же архитектурные аспекты делят элементы на три категории:

  • Активная структура (Active Structure) — это «подлежащее». Элементы, которые способны выполнять действия. Это могут быть люди, программные компоненты или физические устройства.
  • Поведение (Behavior) — это «сказуемое». Действия, процессы или функции, которые выполняются элементами активной структуры.
  • Пассивная структура (Passive Structure) — это «дополнение». Объекты, над которыми совершаются действия. Чаще всего это информация, данные или физические материалы.
  • > Разделение на структуру и поведение позволяет архитекторам отделить вопрос «что система должна делать» от вопроса «кто или что именно будет это делать». > > ArchiMate 3.2 Specification

    !Матрица ядра ArchiMate: пересечение трех слоев и трех аспектов

    Элементы по слоям и аспектам

    Рассмотрим, как эти три аспекта проявляются на каждом из трех базовых слоев архитектуры. Для наглядности мы будем использовать пример из вашей лабораторной работы — разработку мобильного приложения для изучения японского языка Gurufy-Japan.

    Бизнес-слой (Business Layer)

    Бизнес-слой описывает организацию работы, пользователей и ценность, которую они получают.

    * Активная структура: Бизнес-актор (Business Actor*) — конкретный человек или группа. Пример: «Студент». Бизнес-роль (Business Role*) — ответственность, которую берет на себя актор. Пример: «Пользователь приложения». * Поведение: Бизнес-процесс (Business Process*) — последовательность действий для достижения результата. Пример: «Прохождение теста по хирагане». Бизнес-сервис (Business Service*) — услуга, которую бизнес предоставляет клиенту. Пример: «Оценка знаний японского языка». * Пассивная структура: Бизнес-объект (Business Object*) — концептуальная информация. Пример: «Профиль успеваемости студента» или «Словарь иероглифов».

    Слой приложений (Application Layer)

    Этот слой описывает программное обеспечение, которое автоматизирует бизнес-процессы.

    * Активная структура: Компонент приложения (Application Component*) — развертываемый модуль ПО. Пример: «Мобильное Android-приложение Gurufy-Japan» или «Серверная база данных». Интерфейс приложения (Application Interface*) — точка доступа к компоненту. Пример: «Графический интерфейс (GUI) экрана тестирования» или «REST API сервера». * Поведение: Функция приложения (Application Function*) — внутреннее действие программы. Пример: «Генерация случайной выборки карточек». Сервис приложения (Application Service*) — внешне видимое поведение программы, полезное для бизнес-слоя. Пример: «Предоставление интерактивного теста». * Пассивная структура: Объект данных (Data Object*) — физическое представление информации в IT-системе. Пример: «Таблица JSON с парами кандзи-перевод».

    Технологический слой (Technology Layer)

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

    * Активная структура: Узел (Node*) — вычислительный ресурс. Пример: «Сервер в дата-центре». Устройство (Device*) — аппаратный ресурс. Пример: «Смартфон пользователя». Системное ПО (System Software*) — базовая программная среда. Пример: «Операционная система Android 13» или «СУБД PostgreSQL». * Поведение: Технологическая функция (Technology Function*) — действие инфраструктуры. Пример: «Хранение данных» или «Маршрутизация сетевого трафика». * Пассивная структура: Артефакт (Artifact*) — физический файл или кусок данных. Пример: «Установочный файл .apk» или «Файл базы данных .db».

    Сводная таблица элементов ядра

    | Слой | Активная структура (Кто/Что) | Поведение (Действие) | Пассивная структура (Объект) | | :--- | :--- | :--- | :--- | | Бизнес | Business Actor, Business Role | Business Process, Business Service | Business Object | | Приложения | Application Component, Application Interface | Application Function, Application Service | Data Object | | Технологии | Node, Device, System Software | Technology Function, Technology Service | Artifact |

    Отношения (Relationships): как связать элементы

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

    Структурные отношения (Structural Relationships)

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

    Назначение (Assignment). Вы уже знакомы с этой связью. Она соединяет активную структуру с поведением. Например, Компонент приложения «Gurufy-Japan» назначается* на выполнение Функции приложения «Проверка правильности ответа». Композиция (Composition) и Агрегация (Aggregation*). Показывают, что один элемент состоит из других. Композиция (сплошной ромб) означает жесткую связь: если удалить целое, исчезнут и части. Агрегация (пустой ромб) — более слабая связь.

    Отношения зависимости (Dependency Relationships)

    Это критически важная категория для построения трехуровневой архитектуры, так как она показывает, как один элемент помогает другому.

    Обслуживание (Serving*). Обозначается сплошной линией с открытой стрелкой. Показывает, что элемент предоставляет услугу другому элементу. Это главная связь между слоями. Пример: Сервис приложения «Предоставление интерактивного теста» обслуживает Бизнес-процесс «Прохождение теста по хирагане». Доступ (Access*). Обозначается пунктирной линией с открытой стрелкой. Показывает, как поведение взаимодействует с пассивной структурой (создает, читает, обновляет или удаляет данные). Пример: Функция приложения «Генерация выборки» получает доступ (читает) к Объекту данных «Таблица JSON».

    Динамические отношения (Dynamic Relationships)

    Используются для моделирования потоков и последовательностей.

    Запуск (Triggering). Показывает временную последовательность. Процесс А запускает* Процесс Б. Поток (Flow). Показывает передачу информации или материалов. Данные текут* от Сервера к Смартфону.

    Отношение реализации (Realization)

    Обозначается пунктирной линией с закрытой (треугольной) неокрашенной стрелкой. Это отношение показывает, что более конкретная сущность воплощает в жизнь более абстрактную.

    Это вторая важнейшая связь для кросс-слойного моделирования. На уровне данных: Объект данных «Таблица JSON» (конкретный файл) реализует* Бизнес-объект «Словарь иероглифов» (абстрактное понятие). На уровне инфраструктуры: Устройство «Смартфон» реализует* Узел «Клиентский терминал».

    Практика: сборка трехуровневой архитектуры

    Для выполнения вашей лабораторной работы по проектированию приложения Gurufy-Japan вам необходимо объединить все три слоя на одной диаграмме. Вот пошаговый алгоритм того, как элементы должны быть связаны снизу вверх:

  • Технологический фундамент: Создайте Устройство (Device) «Смартфон». Внутри него (через отношение композиции) поместите Системное ПО (System Software) «Android OS».
  • Связь Технологий и Приложений: Создайте Компонент приложения (Application Component) «Gurufy-Japan App». Проведите связь Реализация (Realization) от «Android OS» к этому компоненту (ОС реализует среду для работы приложения).
  • Логика Приложения: От компонента «Gurufy-Japan App» проведите связь Назначение (Assignment) к Функции приложения (Application Function) «Тестирование пользователя».
  • Связь Приложений и Бизнеса: Создайте Сервис приложения (Application Service) «Интерактивный тест». Функция «Тестирование пользователя» должна реализовывать (Realization) этот сервис. Затем проведите связь Обслуживание (Serving) от Сервиса приложения к Бизнес-процессу (Business Process) «Изучение японского языка».
  • Бизнес-вершина: Наконец, свяжите Бизнес-процесс с Бизнес-ролью (Business Role) «Студент» через отношение Назначение (Assignment).
  • Такая цепочка связей (от смартфона до студента) доказывает, что каждый элемент ИТ-инфраструктуры и программного кода имеет четкое бизнес-обоснование. Если в вашей модели появится сервер или база данных, которые не связаны (через цепочку сервисов) ни с одним бизнес-процессом, это будет означать архитектурную ошибку — «висячий» ресурс, который потребляет деньги, но не приносит пользы организации.

    3. Работа с точками зрения и документирование элементов

    Работа с точками зрения и документирование элементов

    Архитектурная модель предприятия — это не просто красивая картинка. Это база данных, содержащая информацию о процессах, программах и оборудовании, а также о связях между ними. Когда модель разрастается, она становится слишком сложной для восприятия. Чтобы решить эту проблему, в ArchiMate используется механизм точек зрения (Viewpoints), а для сохранения контекста каждого элемента — встроенное документирование.

    Заинтересованные стороны и их проблемы

    Архитектура создается не ради самой архитектуры, а для решения проблем конкретных людей. В терминологии ArchiMate эти люди называются заинтересованными сторонами (Stakeholders). У каждого стейкхолдера есть свои проблемы или интересы (Concerns).

    Представьте строительство многоквартирного дома. * Инвестора интересует смета и сроки (финансовая точка зрения). * Будущего жильца — планировка и вид из окна (пользовательская точка зрения). * Электрика — схема разводки кабелей (техническая точка зрения).

    Если показать инвестору схему электропроводки, он ничего не поймет и не сможет принять управленческое решение. Точно так же в IT: генеральному директору не нужно видеть, как база данных PostgreSQL связана с сервером на Linux. Ему нужно видеть, какие бизнес-процессы автоматизирует новое приложение.

    Для фильтрации информации под конкретного зрителя используются точки зрения.

    !Концептуальная схема работы точек зрения: единая сложная модель фильтруется для разных пользователей

    Точки зрения (Viewpoints) в Archi

    Точка зрения — это спецификация, которая определяет, какие элементы и отношения разрешено показывать на конкретной диаграмме (виде), чтобы ответить на вопросы определенного стейкхолдера.

    В программе Archi управление точками зрения находится на панели свойств (Properties) в разделе View. Когда вы создаете новый пустой холст (вид), по умолчанию установлена точка зрения None (Нет).

    Рассмотрим три ключевые точки зрения, которые необходимы для выполнения вашей лабораторной работы.

    1. Точка зрения «Нет» (None)

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

    Когда использовать: На начальном этапе проектирования, когда вы набрасываете черновик архитектуры (например, трехуровневую модель приложения Gurufy-Japan*), или когда вы создаете общую сводную диаграмму для себя как для главного архитектора. Особенность: Палитра элементов (Palette*) в Archi полностью открыта, все иконки активны.

    2. Информационная структура (Information Structure Viewpoint)

    Эта точка зрения предназначена для дата-инженеров и администраторов баз данных. Она показывает, как информация создается, хранится и передается в организации.

    Разрешенные элементы: В основном элементы пассивной структуры. На бизнес-слое это Бизнес-объекты (Business Object) и Представления (Representation). На слое приложений — Объекты данных (Data Object). На технологическом слое — Артефакты (Artifact*). * Пример использования: Показать, что Бизнес-объект «Профиль студента» реализуется Объектом данных «Таблица Users в БД», который физически хранится в виде Артефакта «Файл backup.sql». Особенность в Archi: Если вы переключите вид на Information Structure*, все «запрещенные» элементы (например, бизнес-акторы или серверы) на палитре станут серыми и неактивными.

    3. Многослойная точка зрения (Layered Viewpoint)

    Это одна из самых популярных точек зрения для демонстрации выравнивания IT и бизнеса (IT-Business Alignment). Она позволяет показать все три слоя (Бизнес, Приложения, Технологии) на одной диаграмме.

    * Разрешенные элементы: Ключевые элементы всех слоев. * Пример использования: Именно эта точка зрения идеально подходит для вашей второй лабораторной работы. Вы сможете показать цепочку: Устройство «Смартфон» Компонент «Android-приложение Gurufy-Japan» Сервис «Интерактивный тест» Бизнес-процесс «Изучение хираганы» Бизнес-роль «Студент».

    | Точка зрения | Целевая аудитория | Главный фокус | Доступные элементы (примеры) | | :--- | :--- | :--- | :--- | | None | Архитектор | Полная картина | Все элементы | | Information Structure | Администраторы БД | Данные и информация | Data Object, Business Object, Artifact | | Layered | Менеджеры, Аналитики | Связь IT и бизнеса | Actor, Process, Application Component, Node |

    Дублирование видов и управление элементами

    Частая задача архитектора — показать одну и ту же часть системы разным людям. Рисовать элементы заново — грубая ошибка. В ArchiMate элементы существуют в едином репозитории (дереве Models слева), а на холст выносятся лишь их визуальные проекции.

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

  • В дереве моделей найдите папку Views.
  • Нажмите правой кнопкой мыши на существующую диаграмму Duplicate.
  • Откройте дубликат. Перейдите в Properties и измените Viewpoint (например, с None на Information Structure).
  • Удалите с дубликата элементы, которые не нужны для этой точки зрения.
  • > Критически важное правило Archi: > Выделение элемента на холсте и нажатие клавиши Delete удаляет элемент только с текущего вида. Сам элемент остается в базе данных (в дереве Models) и на других диаграммах. > > Если вы хотите удалить элемент из проекта навсегда, выделите его на холсте и нажмите Ctrl + Delete (или Cmd + Backspace на Mac), либо удалите его напрямую из дерева Models.

    Документирование элементов (Documentation)

    Квадраты со стрелками не могут передать все нюансы системы. Что именно делает функция «Проверка ответа»? Какой стек технологий используется в компоненте «Gurufy-Japan App»?

    Для хранения текстовой информации используется поле Documentation.

  • Выделите любой элемент на холсте или в дереве.
  • В окне Properties перейдите на вкладку Main.
  • В текстовое поле Documentation впишите подробное описание.
  • Пример хорошего документирования для компонента приложения: Название: Gurufy-Japan App Документация: Мобильное приложение для ОС Android (версия 8.0 и выше). Разработано на языке Kotlin. Предназначено для интерактивного тестирования студентов по слоговым азбукам хирагана и катакана. Интегрируется с серверным REST API для синхронизации прогресса.

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

    Генерация отчетов через JasperReports и ГОСТ 7.32-2017

    Для сдачи лабораторных работ и включения архитектуры в выпускную квалификационную работу (ВКР) вам потребуется текстовый отчет. Archi умеет автоматически собирать все диаграммы и тексты из поля Documentation в единый документ с помощью плагина JasperReports.

    Пошаговая генерация отчета

  • Убедитесь, что ваша модель сохранена, все элементы названы корректно, а поля Documentation заполнены.
  • В верхнем меню выберите Report Jasper....
  • В появившемся окне выберите папку для сохранения отчета.
  • Выберите формат экспорта. Archi предлагает HTML, PDF, RTF, DOCX и ODT.
  • Для подготовки отчета по ГОСТ 7.32-2017 («Отчет о научно-исследовательской работе») категорически рекомендуется выбирать формат DOCX или RTF.

    Адаптация под ГОСТ

    Сгенерированный файл — это лишь заготовка. JasperReports выгрузит ваши диаграммы и таблицы с описанием элементов, но оформление не будет соответствовать российским стандартам. Вам необходимо открыть полученный файл в текстовом редакторе (Word) и внести правки:

  • Шрифт и интервалы: Выделите весь текст и установите шрифт Times New Roman, размер 14 пт, полуторный межстрочный интервал, абзацный отступ 1,25 см.
  • Поля: Настройте поля страницы (левое — 30 мм, правое — 15 мм, верхнее и нижнее — 20 мм).
  • Оформление рисунков: Сгенерированные диаграммы нужно подписать снизу по центру. Формат: Рисунок 1 — Архитектура приложения Gurufy-Japan в многослойной точке зрения.
  • Оформление таблиц: Таблицы с описанием элементов (которые Jasper соберет из поля Documentation) должны иметь подпись сверху слева. Формат: Таблица 1 — Описание компонентов слоя приложений.
  • Титульный лист: Добавьте стандартный титульный лист вашего вуза в начало документа.
  • Использование связки «Моделирование в Archi Документирование внутри элементов Экспорт в Jasper Форматирование по ГОСТ» позволяет автоматизировать рутину. Если архитектура изменится, вам не придется переписывать текст — достаточно обновить модель, перегенерировать отчет и применить стили Word.

    4. Генерация отчетов Jasper и экспорт моделей

    Генерация отчетов Jasper и экспорт моделей

    Архитектурная модель, созданная в программе Archi, представляет собой полноценную базу данных. В ней хранятся элементы, их свойства, связи и текстовые описания. Однако для защиты выпускной квалификационной работы (ВКР) или презентации проекта заказчику недостаточно просто показать файл .archimate. Информацию необходимо извлечь, структурировать и оформить в виде классического текстового документа.

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

    Подготовка модели: правило «Мусор на входе — мусор на выходе»

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

    Перед запуском генерации необходимо провести аудит модели. Рассмотрим этот процесс на примере разработки трехуровневой архитектуры приложения Gurufy-Japan для изучения японского языка.

  • Проверка имен (Name): Убедитесь, что каждый элемент имеет понятное и законченное название. Вместо «БД» напишите «База данных профилей пользователей». Вместо «Тест» — «Сервис тестирования хираганы».
  • Заполнение документации (Documentation): Это критически важный шаг. Выделите элемент, перейдите в панель Properties на вкладку Main и подробно опишите его назначение.
  • > Текстовое описание элемента в модели должно отвечать на вопросы: что это такое, зачем оно нужно и как работает в контексте системы.

    Например, для элемента слоя приложений (Application Component) «Модуль интервального повторения» документация может быть такой: «Компонент Android-приложения, реализующий алгоритм SuperMemo-2. Отвечает за расчет времени следующего показа карточки с японским иероглифом на основе предыдущих ответов пользователя. Написан на языке Kotlin».

    Механизм работы JasperReports

    JasperReports — это мощная библиотека для создания отчетов на языке Java. В контексте Archi она использует заранее подготовленные шаблоны, чтобы превратить вашу визуальную модель в многостраничный текстовый документ.

    !Схема конвейера генерации отчета

    Процесс работы JasperReports можно разделить на три этапа:

  • Сбор данных: Программа собирает все виды (диаграммы), элементы и их свойства из дерева Models.
  • Применение шаблона: Данные подставляются в структуру отчета. Генерируется оглавление, вставляются изображения диаграмм, а под каждой диаграммой создается таблица с описанием всех участвующих в ней элементов.
  • Рендеринг: Сформированный документ конвертируется в выбранный пользователем формат (PDF, HTML, DOCX и др.).
  • Оценить эффективность автоматической генерации можно с помощью простой формулы:

    где — сэкономленное время в минутах, — время на ручное форматирование и перенос описания одного элемента (например, 3 минуты), — количество элементов в модели, — время работы генератора Jasper (обычно около 1 минуты).

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

    Пошаговая генерация отчета в Archi

    Чтобы сгенерировать базовый отчет, выполните следующие действия:

  • Сохраните текущую модель (Ctrl + S или Cmd + S).
  • В верхнем меню выберите File Report Jasper...
  • В открывшемся окне Export to Jasper Report выберите папку для сохранения файла.
  • В выпадающем списке Report Template оставьте шаблон по умолчанию (Standard).
  • В списке Export Format выберите нужный формат. Для последующего редактирования под стандарты вуза обязательно выбирайте DOCX (Microsoft Word) или RTF.
  • Нажмите OK. Процесс генерации займет несколько секунд, после чего документ появится в указанной папке.
  • Адаптация отчета под требования ГОСТ 7.32-2017

    Сгенерированный файл DOCX содержит всю необходимую информацию, но его визуальное оформление не соответствует российскому стандарту ГОСТ 7.32-2017 «Отчет о научно-исследовательской работе». Вам необходимо открыть документ в текстовом редакторе и провести ручную адаптацию.

    1. Базовое форматирование текста

    Выделите весь текст документа (Ctrl + A) и примените следующие настройки: * Шрифт: Times New Roman. * Размер шрифта: 14 пт (допускается 12 пт для таблиц, если они не помещаются на страницу). * Межстрочный интервал: Полуторный (1,5). * Выравнивание: По ширине. * Абзацный отступ (красная строка): 1,25 см.

    2. Настройка полей страницы

    Перейдите в настройки параметров страницы и установите строгие значения полей: * Левое поле: 30 мм (для переплета). * Правое поле: 15 мм. * Верхнее и нижнее поля: 20 мм.

    3. Оформление иллюстраций (диаграмм)

    JasperReports вставляет ваши виды (Views) как картинки, но подписывает их на английском языке или в неверном формате. По ГОСТу подпись должна располагаться строго под рисунком, по центру, без абзацного отступа.

    Правильный пример: Рисунок 1 — Трехуровневая архитектура приложения Gurufy-Japan

    4. Оформление таблиц

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

    Правильный пример: Таблица 1 — Описание элементов слоя приложений

    Кроме того, убедитесь, что заголовки столбцов в таблицах переведены на русский язык (например, Name Название, Documentation Описание).

    Альтернативные форматы экспорта

    Помимо генерации полных текстовых отчетов, Archi поддерживает точечный экспорт данных для различных сценариев использования.

    | Формат экспорта | Путь в меню Archi | Назначение и сценарий использования | | :--- | :--- | :--- | | Изображение (PNG, JPEG, SVG) | Export View As Image... | Выгрузка отдельной диаграммы для вставки в презентацию PowerPoint или на веб-страницу. Формат SVG идеален для печати на больших плакатах, так как не теряет качество при масштабировании. | | Таблица CSV | Export Model To CSV... | Выгрузка всех элементов и связей в табличном виде. Полезно для передачи списка оборудования системным администраторам или для анализа стоимости компонентов в Excel. | | XML (Open Group Format) | Export Model To Open Exchange File... | Сохранение модели в стандартизированном формате обмена. Используется для переноса вашей архитектуры из бесплатного Archi в платные корпоративные системы (например, BiZZdesign или Sparx Enterprise Architect). |

    Особое внимание стоит уделить формату XML. Согласно спецификации ArchiMate 3.2, консорциум The Open Group разработал единый стандарт обмена моделями (ArchiMate Model Exchange File Format). Это означает, что архитектура не привязана к конкретной программе. Вы можете начать проектировать приложение для изучения японского языка дома в Archi, а затем принести файл XML на работу и открыть его в мощной корпоративной среде без потери элементов и связей.

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

    5. Проектирование трехуровневой архитектуры мобильного приложения

    Проектирование трехуровневой архитектуры мобильного приложения

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

    Рассмотрим процесс проектирования на примере разработки мобильного приложения Gurufy-Japan для интерактивного изучения японского языка. Наша задача — построить прозрачную модель, где каждый элемент находится на своем месте и логично связан с остальными.

    Бизнес-слой: определение ценности и пользователей

    Бизнес-слой (Business Layer) отвечает на вопросы «Кто использует систему?» и «Зачем она нужна?». На этом этапе мы абстрагируемся от технологий и фокусируемся на процессах и людях. В ArchiMate элементы этого слоя традиционно окрашиваются в желтый цвет.

    Ключевые элементы бизнес-слоя для нашего проекта:

    * Бизнес-актор (Business Actor): Физическое лицо или подразделение. В нашем случае это «Студент». * Бизнес-роль (Business Role): Функция, которую выполняет актор. Например, «Пользователь приложения». * Бизнес-процесс (Business Process): Последовательность действий, создающая ценность. Например, «Изучение азбуки хирагана» или «Прохождение тестирования». * Бизнес-сервис (Business Service): Услуга, которую бизнес предоставляет клиенту. Например, «Оценка знаний японского языка».

    > Бизнес-сервис — это точка контакта между внутренними процессами системы и внешним пользователем. Пользователю не важно, как устроен процесс внутри, ему важен конечный результат (сервис).

    В программе Archi выберите желтые элементы на палитре (Palette) и перенесите их на холст (Canvas). Свяжите актора «Студент» с ролью «Пользователь приложения» с помощью отношения Назначение (Assignment). Это означает, что конкретный человек берет на себя определенную роль.

    Слой приложений: программная реализация

    Слой приложений (Application Layer) описывает программные компоненты, которые автоматизируют бизнес-процессы. Элементы этого слоя окрашены в бирюзовый цвет. Здесь мы определяем, из каких модулей состоит наше приложение Gurufy-Japan.

    Основные элементы слоя приложений:

    * Компонент приложения (Application Component): Модуль программного обеспечения. Например, «Android-клиент Gurufy», «Модуль интервального повторения», «Словарь кандзи». * Сервис приложения (Application Service): Внешнее поведение компонента, полезное для бизнес-слоя. Например, «Генерация карточек для запоминания». * Объект данных (Data Object): Информация, с которой работает приложение. Например, «Профиль пользователя» или «База иероглифов».

    Для построения грамотной архитектуры необходимо отделить то, что программа делает (сервис), от того, чем она является (компонент). Компонент «Модуль интервального повторения» связан с сервисом «Генерация карточек» отношением Реализация (Realization).

    Технологический слой: инфраструктура и оборудование

    Технологический слой (Technology Layer) описывает физические устройства, сети и системное программное обеспечение, необходимые для работы слоя приложений. Эти элементы имеют зеленый цвет.

    Для мобильного приложения инфраструктура делится на клиентскую и серверную части:

    * Устройство (Device): Физическое оборудование. Например, «Смартфон пользователя». * Системное ПО (System Software): Базовое ПО, на котором работают приложения. Например, «ОС Android 13+». * Узел (Node): Вычислительный ресурс, часто объединяющий устройство и системное ПО. Например, «Сервер базы данных». * Сеть связи (Communication Network): Среда передачи данных. Например, «Интернет (4G/Wi-Fi)».

    В Archi мы можем использовать вложенность (Nesting) для визуального упрощения. Если поместить элемент «ОС Android 13+» внутрь элемента «Смартфон пользователя», Archi автоматически создаст между ними отношение композиции (Composition).

    !Схема трехуровневой архитектуры ArchiMate. Желтый бизнес-слой сверху (актор 'Студент', процесс 'Изучение'). Бирюзовый слой приложений в центре (компонент 'Android-приложение', сервис 'Тестирование'). Зеленый технологический слой снизу (устройство 'Смартфон', узел 'Сервер'). Стрелки обслуживания идут снизу вверх.

    Кросс-слойные отношения: связывание архитектуры воедино

    Самая важная часть моделирования — показать, как слои взаимодействуют друг с другом. Разрозненные слои не имеют практической ценности. В ArchiMate для связи слоев используется отношение Обслуживание (Serving).

    Правило построения кросс-слойных связей работает снизу вверх:

  • Технологии обслуживают Приложения: Технологический сервис (например, «Хостинг базы данных») обслуживает компонент приложения («Backend-сервер Gurufy»).
  • Приложения обслуживают Бизнес: Сервис приложения («Генерация карточек») обслуживает бизнес-процесс («Изучение азбуки хирагана»).
  • Такая строгая иерархия позволяет проводить анализ влияния (Impact Analysis). Представим, что мы оцениваем надежность нашей системы. Доступность сервиса для конечного пользователя напрямую зависит от надежности технологического слоя.

    В инженерии коэффициент готовности (доступности) системы рассчитывается по формуле:

    Где — доступность (Availability), — среднее время наработки на отказ (Mean Time Between Failures), а — среднее время восстановления (Mean Time To Recovery).

    Если наш технологический узел «Сервер базы данных» имеет низкий (часто ломается) и высокий (долго чинится), его доступность падает. Благодаря отношениям Обслуживание (Serving) в нашей модели ArchiMate, мы визуально прослеживаем цепочку: падение сервера отказ компонента «Backend-сервер» недоступность сервиса «Синхронизация прогресса» остановка бизнес-процесса «Изучение хираганы». Студент не может учиться из-за сбоя на сервере.

    Практический алгоритм работы в Archi

    Для успешного выполнения лабораторной работы по проектированию архитектуры Gurufy-Japan, следуйте этому пошаговому алгоритму в редакторе Archi:

  • Создание структуры папок: В панели Models создайте папки для каждого слоя (Business, Application, Technology), чтобы поддерживать порядок в базе данных модели.
  • Моделирование снизу вверх или сверху вниз: Начните с бизнес-слоя. Вытащите на холст актора «Студент» и процесс «Изучение японского языка».
  • Добавление слоя приложений: Разместите под бизнес-слоем компонент «Android-приложение Gurufy».
  • Использование Magic Connector: Это самый мощный инструмент в Archi. Выберите Magic Connector на палитре, кликните на «Android-приложение», а затем на процесс «Изучение японского языка». Программа сама предложит список допустимых по стандарту ArchiMate отношений. Выберите Serving (Обслуживание).
  • Детализация технологий: Добавьте вниз холста устройство «Смартфон» и свяжите его с приложением.
  • Документирование: Выделите каждый элемент и в панели Properties (вкладка Main) заполните поле Documentation. Опишите, за что отвечает каждый модуль и процесс.
  • | Слой | Элемент модели Gurufy-Japan | Тип элемента ArchiMate | Цвет | | :--- | :--- | :--- | :--- | | Бизнес | Студент | Business Actor | Желтый | | Бизнес | Прохождение теста по кандзи | Business Process | Желтый | | Приложения | Модуль тестирования | Application Component | Бирюзовый | | Приложения | Профиль пользователя | Data Object | Бирюзовый | | Технологии | Смартфон пользователя | Device | Зеленый | | Технологии | ОС Android | System Software | Зеленый |

    Разделение архитектуры на три слоя позволяет разным специалистам говорить на одном языке. Бизнес-аналитики фокусируются на желтом слое, разработчики — на бирюзовом, а системные администраторы — на зеленом. При этом модель в Archi показывает, как их работа объединяется в единый продукт.