- •1 Формализованное описание объекта проектирования. Постановка задачи синтеза автоматизированной системы
- •2 Функциональная структура программного комплекса
- •3 Структура и характеристика информационного обеспечения
- •3.1 Обоснование выбора субд
- •3.2 Инфологическая модель
- •3.3 Даталогическая модель
- •3.4 Обоснование выбора модели представления знаний
- •3.5 База правил
- •4 Структура и характеристика математического обеспечения
- •4.1 Математическая модель
- •6.2 Обоснование выбора среды разработки
- •6.3 Трехуровневая структура программного обеспечения
- •6.4 Характеристика проблемно-ориентированного программного обеспечения
- •7 Характеристика технического обеспечения
- •8 Характеристика исходных данных для тестирования программного комплекса
- •9 Выводы
- •10 Список использованных источников
3.2 Инфологическая модель
Посредством анализа предметной области были выделены сущности и их атрибуты, представленные в таблице 1.
Таблица 1 Сущности и их атрибуты
Сущность |
Атрибут |
Пользователь |
Код пользователя |
|
Код группы пользователей |
|
Фамилия |
|
Имя |
|
Отчество |
|
Код пола |
|
Возраст |
|
Вес |
|
Рост |
|
Код типа активности |
|
Пароль |
Пол |
Код пола |
|
Наименование |
Тип активности |
Код типа активности |
|
Название |
Группа пользователей |
Код группы пользователей |
|
Название |
Трата калорий |
Код пользователя |
|
Код вида активности |
|
Дата |
|
Время активности |
Потребление калорий |
Код пользователя |
|
Код продукта |
|
Дата |
|
Количество продукта |
Вид активности |
Код вида активности |
|
Название |
|
Трата калорий |
Продукт |
Код продукта |
|
Код группы продуктов |
|
Название |
|
Калорийность |
|
Белки |
|
Жиры |
|
Углеводы |
Тренировка |
Код тренировки |
|
Название |
|
Трата калорий |
Диета |
Код диеты |
|
Название |
|
Средняя калорийность |
Болезнь |
Код болезни |
|
Название |
Противопоказание |
Код соответствия |
|
Код продукта |
|
Код вида активности |
Представим данные из таблицы 1 в виде схемы, чтобы показать связи между сущностями.
Рисунок 3– Инфологическая модель базы данных тренировок и диет
Поясним рисунок 3. Пользователь потребляет калории, учет которых ведется с помощью сущности Потребление калорий, которое в свою очередь рассчитывается из данных в сущности Продукт. Диета составляется с учетом калорийности продуктов, данные о них берутся из сущности Продукт. По аналогии для затраченных калорий ведется учет в сущности Трата калорий, данные для расчета которых находятся в сущности Вид активности. Тренировки составляются с учетом числа затраченных калорий, данные – из Вида активности. Пользователь имеет болезнь, которая влечет за собой противопоказания, распространяющиеся на некоторые виды активностей и продукты.
3.3 Даталогическая модель
Сведения о таблицах, содержащихся в базе данных тренировок, диет и противопоказаний содержатся в таблице 2.
Таблица 2 Сведения о таблицах базы данных тренировок, диет и противопоказаний
Таблица |
Описание |
USER |
Справочник пользователей |
SEX |
Справочник полов |
ACTIVITY |
Справочник типов активности |
USER_GROUP |
Справочник групп пользователей |
USER_has_FOOD |
Дневник питания |
FOOD |
Справочник продуктов |
FOOD_GROUP |
Справочник групп продуктов |
DIET_has_FOOD |
Состав диеты |
DIET |
Справочник диет |
USER_has_WAY_ACT |
Дневник занятий |
WAY_ACT |
Справочник видов занятий |
TRAINEE_has_WAY_ACT |
Состав тренировки |
TRAINEE |
Справочник тренировок |
USER_has_DISEASE |
Болезни пользователей |
DISEASE |
Справочник болезней |
MATCHES |
Справочник противопоказаний |
Поля таблиц, их типы данных и описание сведены в таблицы 3-18.
Таблица 3 Характеристика таблицы USER
Название поля |
Первичный ключ |
Внешний ключ |
Тип данных |
Описание |
idUSER |
+ |
|
INT |
Код пользователя |
LAST_NAME |
|
|
VARCHAR(45) |
Фамилия |
FIRST_NAME |
|
|
VARCHAR(45) |
Имя |
FATHER_NAME |
|
|
VARCHAR(45) |
Отчество |
AGE |
|
|
INT |
Возраст |
WEIGHT |
|
|
DOUBLE |
Вес |
HEIGHT |
|
|
DOUBLE |
Рост |
PASSWORD |
|
|
VARCHAR(45) |
Пароль |
ACTIVITY_idACTIVITY |
|
+ |
INT |
Код типа активности |
SEX_idSEX |
|
+ |
INT |
Код пола |
USER_GROUP_idUSER_GROUP |
|
+ |
INT |
Код группы пользователей |
Таблица 4 Характеристика таблицы SEX
Название поля |
Первичный ключ |
Тип данных |
Описание |
idSEX |
+ |
INT |
Код пола |
NAME |
|
VARCHAR(45) |
Название |
Таблица 5 Характеристика таблицы ACTIVITY
Название поля |
Первичный ключ |
Тип данных |
Описание |
idACTIVITY |
+ |
INT |
Код типа активности |
NAME |
|
VARCHAR(45) |
Название |
Таблица 6 Характеристика таблицы USER_GROUP
Название поля |
Первичный ключ |
Тип данных |
Описание |
idUSER_GROUP |
+ |
INT |
Код группы пользователей |
NAME |
|
VARCHAR(45) |
Название |
Таблица 7 Характеристика таблицы USER_has_FOOD
Название поля |
Первичный ключ |
Тип данных |
Описание |
FOOD_idFOOD |
+ |
INT |
Код продукта |
USER_idUSER |
+ |
INT |
Код пользователя |
DATE |
|
DATE |
Дата |
FOOD_AMOUNT |
|
DOUBLE |
Количество еды, кг |
Таблица 8 Характеристика таблицы FOOD
Название поля |
Первичный ключ |
Внешний ключ |
Тип данных |
Описание |
idFOOD |
+ |
|
INT |
Код продукта |
NAME |
|
|
VARCHAR(45) |
Название |
CALORIC_CONTENT |
|
|
INT |
Калорийность, ккал |
PROTEIN |
|
|
INT |
Белки, г |
FAT |
|
|
INT |
Жиры, г |
CARBOHYDRATE |
|
|
INT |
Углеводы, г |
FOOD_GROUP_idFOOD_GROUP |
|
+ |
INT |
Код группы продуктов |
Таблица 9 Характеристика таблицы FOOD_GROUP
Название поля |
Первичный ключ |
Тип данных |
Описание |
idFOOD_GROUP |
+ |
INT |
Код группы продуктов |
NAME |
|
VARCHAR(45) |
Название |
Таблица 10 Характеристика таблицы DIET_has_FOOD
Название поля |
Первичный ключ |
Тип данных |
Описание |
DIET_idDIET |
+ |
INT |
Код диеты |
FOOD_idFOOD |
+ |
INT |
Код продукта |
Таблица 11 Характеристика таблицы DIET
Название поля |
Первичный ключ |
Тип данных |
Описание |
idDIET |
+ |
INT |
Код диеты |
NAME |
|
VARCHAR(45) |
Название |
AVER_CALORIC_CONT |
|
INT |
Средняя калорийность |
AM_FEED |
|
INT |
Количество приемов пищи |
Таблица 12 Характеристика таблицы USER_has_WAY_ACT
Название поля |
Первичный ключ |
Тип данных |
Описание |
idUSER |
+ |
INT |
Код пользователя |
idWAY_ACT |
+ |
INT |
Код вида занятия |
DATE |
|
DATE |
Дата |
ACT_TIME |
|
DOUBLE |
Продолжительность занятий |
Таблица 13 Характеристика таблицы WAY_ACT
Название поля |
Первичный ключ |
Тип данных |
Описание |
idWAY_ACT |
+ |
INT |
Код вида занятия |
NAME |
|
VARCHAR(45) |
Название |
AM_CALORIC |
|
INT |
Коэффициент энергозатратности, ккал / час∙кг |
Таблица 14 Характеристика таблицы TRAINEE_has_WAY_ACT
Название поля |
Первичный ключ |
Тип данных |
Описание |
TRAINEE_idTRAINEE |
+ |
INT |
Код тренировки |
WAY_ACT_idWAY_ACT |
+ |
INT |
Код вида занятия |
Таблица 15 Характеристика таблицы TRAINEE
Название поля |
Первичный ключ |
Тип данных |
Описание |
idTRAINEE |
+ |
INT |
Код тренировки |
NAME |
|
VARCHAR(45) |
Название |
AVER_CALOR |
|
INT |
Средняя энергозатратность, ккал |
Таблица 16 Характеристика таблицы USER_has_DISEASE
Название поля |
Первичный ключ |
Тип данных |
Описание |
USER_idUSER |
+ |
INT |
Код пользователя |
DISEASE_idDISEASE |
+ |
INT |
Код болезни |
Таблица 17 Характеристика таблицы DISEASE
Название поля |
Первичный ключ |
Тип данных |
Описание |
idDISEASE |
+ |
INT |
Код болезни |
NAME |
|
VARCHAR(45) |
Название |
Таблица 18 Характеристика таблицы MATCHES
Название поля |
Первичный ключ |
Внешний ключ |
Тип данных |
Описание |
idMATCHES |
+ |
|
INT |
Код противопоказания |
DISEASE_idDISEASE |
|
+ |
INT |
Код болезни |
FOOD_idFOOD |
|
+ |
INT |
Код продукта |
WAY_ACT_idWAY_ACT |
|
+ |
INT |
Код вида занятия |
Даталогической называется модель, отражающая логические взаимосвязи между элементами данных с учетом конкретной реализации СУБД, специфики предметной области и построенная на основе ее инфологической модели. Даталогическая модель базы данных тренировок, диет и противопоказаний представлена на рисунке 4.
Рисунок 4 – Даталогическая модель базы данных тренировок и диет
В таблице 19 приведены общие характеристики разработанной базы данных тренировок, диет и противопоказаний.
Таблица 19 Характеристика базы данных
Показатель |
Значение |
СУБД |
MySQL |
Количество таблиц |
16 |
Количество полей |
56 |
Количество записей |
216 |
Размер файла скрипта базы данных, Кб |
20,1 |
Типы данных |
числовые значения, текстовые данные |
Типы отношений между таблицами |
1:М, М:М |
