Напишите нам

Напишите нам свои вопросы или предложения по Almware. Используйте эту форму или напишите нам на e-mail.

Модель данных

Модель данных – это каталог для описания структур данных, которыми оперируют требования и разрабатываемое на их основе программное обеспечение.

Каталог состоит из отдельных артефактов, которые в Almware называются сущности. 

Назначение

В Almware под сущностью понимается концептуальный объект, о котором необходимо хранить данные в системе и который используется для реализации требований к ПО. 

В Almware предусмотрены инструменты для работы со следующими общими типами сущностей:

  • сущность-объект (например «Пользователь», «Проект», «Задача), включающий перечень атрибутов и часто связанный с другими сущностями системы;
  • сущность-список (например, “Cтатусы проекта”), включающий перечень статических значений, используемые как классификаторы другими сущностями и в некоторых случаях влияющих на логику ПО;

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

  • Структурирование данных. Благодаря сущностям и их атрибутам (свойствам) описывается четкая структура хранения и представления информации в разрабатываемом программном обеспечении. Например, сущность «Требование» может содержать поля «Идентификатор», «Описание», «Приоритет», «Статус» и т. д.
  • Связи и трассировка. Сущности могут быть связаны как с другим сущностями («Пользователь» ↔ «Проект» ↔ «Задача»), так и с требованиями к ПО, в реализации которых используется данная сущность. Это позволяет прослеживать, как изменение одной сущности влияет на другие сущности и на реализацию.
  • Управление изменениями. Выделение сущностей в отдельные артефакты дает возможность вести историю изменений (кто и когда что менял), сравнивать версии и при необходимости откатываться к предыдущим вариантам.

Структура каталога

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

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

Атрибуты сущностей

Для описания сущностей доступен набор типовых и специализированных инструментов.

Типовые инструменты включают текстовый редактор и параметры сущности.

Специализированные инструменты включают редактор атрибутов (для сущностей-объектов) и редактор значений (для сущностей-списков).

Специализированные инструменты доступны в зависимости от настроек типа сущностей. 

Редактор атрибутов

Редактор атрибутов позволяет описать атрибуты сущности с указанием свойств и атрибутов для каждого атрибута. 

Каждый атрибут описывается с помощью следующих свойств:

  • Название
  • Идентификатор
  • Тип
  • Должен быть задан (да/нет)

Доступны следующие типы:

  • Строка
  • Число
  • Десятичная дробь (DECIMAL),
  • Число с плавающей точкой (FLOAT)
  • Логический
  • Многострочный текст
  • Структурированные данные (например, JSON, объект или массив)
  • Рассчитываемое значение
  • Отметка времени (TIMESTAMP)
  • Дата и время
  • Дата
  • Время
  • Файл (изображение)
  • Файл (любой файл)
  • Связь N-1 / 1-1
  • Связь N-M. Применимо для простых связей без атрибутов. Если у связи должны быть заданы атрибуты, рекомендуем для этой связи создавать отдельную сущность.

В чем разница между десятичной дробью (DECIMAL) и плавающей точкой (FLOAT)?

Для чисел с точкой могут использоваться как DECIMAL так и FLOAT. Используйте Decimal для атрибутов, требующих большей точности с определенным максимальным количеством знаков после запятой например значения цен, суммы и т.д.

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

Например:

Decimal: Цены, проценты, вводимые пользователем данные

Float: Физические измерения, научные/математические модели

Редактор значений

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

Текстовое описание

Также для сущностей доступен текстовый редактор. Текстовый редактор позволяет добавить описание сущности в свободном виде, с использованием таблиц, ссылками на артефакты (с помощью комбинации ctrl+k или соответствующей кнопки) и другими элементами. Текст может сопровождаться диаграммами или приложенными файлами.

Параметры

У сущности доступны к настройке следующие параметры:

  • Расположение. Папка каталога, в которой размещена сущность,
  • Тип. См. ниже Типы сущностей модели данных.
  • Идентификатор. Строковый идентификатор используемый для отображения на диаграммах связей.

Лейблы

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

Типы сущностей модели данных

Для сущностей можно создать типы для дополнительной классификации.

Необходимые типы сущностей могут различаться от проекта к проекту и определяются аналитиком.

Типы сущностей используются для следующих задач:

  • Классификация сущностей. Вы можете указать название типа, краткое описани. В каталоге сущностей доступен фильтр по типу сущности.
  • Шаблон. Для типа можно указать исходный шаблон для описания. Вы можете один раз задать структуру описания сущности и она будет автоматически загружаться при создании сущности этого типа. 
  • Инструкции для ИИ ассистентов. Вы можете задать дополнительные инструкции и правила, которые будут использоваться ИИ ассистентом при работе с сущностью, в первую очередь при создании актуализации. 
  • Инструменты для описания сущности. Вы можете включить для типы дополнительные инструменты. На данный момент доступно два дополнительных инструмента описания сущности:
    - Редактор атрибутов для сущности-объекта
    - Редактор значений для сущности-списка

Типы сущностей настраиваются в Настройках проекта в разделе “Модель данных”.