- •Оглавление
- •1. Цели и задачи создания системы
- •1.1 Цель создания системы
- •1.3 Постановка задач
- •2 Анализ предметной области
- •3. Требования к системе
- •4 Требования к программным и техническим средствам
- •5 Описание ролей и групп
- •6. Описание основных функциональных процессов в системе
- •6.1. Авторизация
- •6.2 Прохождение курса
- •6.3 Получение наград
- •6.4 Генерирование отчёта
- •7 Проектирование информационно-логической модели данных
- •8 Описание свойств информационных объектов
- •9 Описание связей информационных объектов
- •10 Даталогическая модель
- •11. Разработка спецификаций для функций системы
- •11.1 Спецификация «Авторизация»
- •11.2 Спецификация «Профиль»
- •11.3 Спецификация «Прохождение курса»
- •11.4 Спецификация «Награды»
- •11.5 Наполнение контентом
- •12. Проектирование макетов пользовательского интерфейса
- •13 Выбор средств для реализации информационной системы(к требованиям)
- •14 Вывод
- •15 Перспективы развития ис
- •16 Список литературы и интернет ресурсов
10 Даталогическая модель
На основе проведенного анализа предметной области и ER диаграммы, строится даталогическая модель данных (табл.7), которая подробно описывает требования к атрибутам сущностей, такие как ограничение, ключевое поле, обязательный атрибут и т.д.
Табл.7. Даталогическая модель
|
Атрибуты |
Тип данных |
Ключ |
Ограничение по размеру |
Обязательное |
Физическое имя |
|
Сущность «Пользователь». User | |||||
|
ID |
int |
PK |
11 |
ДА |
id |
|
|
varchar |
|
255 |
НЕТ |
|
|
Пол |
tinyint |
|
1 |
ДА |
state |
|
Провайдер |
varchar |
|
255 |
ДА |
network |
|
Идентификатор |
varchar |
|
255 |
ДА |
identity |
|
Полное имя |
varchar |
|
255 |
НЕТ |
full_name |
|
Фото |
varchar |
|
255 |
НЕТ |
photo |
|
Сущность «Урок». Lesson | |||||
|
Идентификатор |
int |
PK |
11 |
ДА |
id |
|
Название |
varchar |
|
255 |
ДА |
title |
|
Текст |
varchar |
|
255 |
ДА |
text |
|
Упражнение |
varchar |
|
255 |
ДА |
exercise |
|
Позиция |
int |
|
2 |
ДА |
position |
|
Тема |
int |
FK |
11 |
ДА |
theme_id |
|
Код награды |
int |
FK |
11 |
ДА |
reward_id |
|
Код упражнения |
varchar |
FK |
11 |
ДА |
code |
|
Сущность «Тема». Theme | |||||
|
Идентификатор |
int |
PK |
11 |
ДА |
id |
|
Название |
varchar |
|
255 |
ДА |
title |
|
Описание |
varchar |
|
255 |
ДА |
desc |
|
Сущность «Награда». Reward | |||||
|
Идентификатор |
int |
PK |
11 |
ДА |
id |
|
Название |
varchar |
|
255 |
ДА |
title |
|
Описание |
varchar |
|
255 |
ДА |
desc |
|
Картинка |
varchar |
|
255 |
ДА |
icon |
|
Сущность «Пройденные упражнения». User_Lesson | |||||
|
Пользователь |
int |
FK |
11 |
ДА |
user_id |
|
Упражнение |
int |
FK |
11 |
ДА |
lesson_id |
|
Дата |
datatime |
|
|
ДА |
dt |
|
Сущность «Награды пользователя». User_Reward | |||||
|
Пользователь |
int |
FK |
11 |
ДА |
user_id |
|
Награда |
int |
FK |
11 |
ДА |
reward_id |
|
Дата |
dt |
|
|
ДА |
dt |
На основе этой модели будет построена физическая модель в MySQL.
11. Разработка спецификаций для функций системы
11.1 Спецификация «Авторизация»
При авторизации будет использоваться сервис http://ulogin.ru и настраиваемый виджет.
Пользователь нажимает на кнопку с логотипом соц. сети или почтового сервиса, в котором он имеет аккаунт.
Происходит переадресация на сайт-провайдера.
Пользователь должен подтвердить и разрешить приложению использовать его данные. Если пользователь не был ранее авторизован на сайте-провайдера, то ему будет показана стандартная форма для авторизации.
При получении данных от сайта-провайдера пользователь авторизуется в системе. При этом сайт-провайдер передаёт основные данные. Если это был первый вход, в БД заносятся необходимые данные о пользователе. Если сайт-провайдер не предоставил какие-то данные, пользователь должен их ввести дополнительно. При получении ошибки от сайта-провайдера пользователь перенаправляется на страницу входа с уведомлением об ошибке.
В качестве альтернативного варианта для авторизации возможно использовать сервис http://loginza.ru
