Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Функциональное моделирование предметной области



Функциональное моделирование предметной области производилось с помощью BPWin Process Modeler. Данный программный продукт является эффективным и простым средством моделирования, и позволяет анализировать, документировать и улучшать бизнес-процессы. С его помощью можно подробно описать как бизнес-процессы верхнего уровня, составляющие функциональную основу системы, так и внутренние процессы, составляющие их декомпозиции. Таким образом использование BPwin позволяет создать структуру, облегчающую понимание взаимодействия бизнес-процессов системы всех уровней, их управляющих событий и связей.

Перейдем к описанию функций информационной системы.

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

 

Рис. 6 Контекстная диаграмма

 

На Рис. 7представлена DFD-декомпозиция этой диаграммы. Устройства считывают показания температуры в помещениях и отправляют их на сервер. Сервер принимает данные от устройств, и проверяет их на корректность. Если данные проходя проверку, они попадают в накопитель «Данные с модулей» и используются системой дальше. Если сервер по каким-либо причинам считает полученные данные непригодными, он создаёт запись об ошибке в накопителе «Ошибки».

 

Рис. 7 Диаграмма декомпозиции

 

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


 

Информационное моделирование предметной области

Логическая модель

Информационная модель системы, отражающая структуру базы данных на веб-сервере, создана с помощью ERwin (Рис. 13).

 

Рис. 8 Логическая информационная модель

 

База данных состоит из следующих таблиц:

1. Таблица «Пользователь» содержит данные о пользователе, необходимые для его идентификации и отправки ему уведомлений: id пользователя, его имя, по которому будет производиться обращение, номер телефона, а также служебное поле «мобильный оператор», необходимое для функционирования системы отправки SMS. В поле «период регулярных напоминаний» находится время в часах, через которое пользователь будет регулярно получать SMS-уведомление с температурными показаниями всех привязанных к нему устройств;

2. Таблица «Устройство» содержит id устройства, его IMEI – идентификатор устройства мобильной связи, по которому сервер однозначно опознаёт, от какого именно устройства пришли данные, номер телефона и местоположение устройства. Служебное поле «не отображать» содержит булево значение, в зависимости от которого данные этого устройства будут или не будут отображаться в веб-интерфейсе администратора системы;

3. В таблице «Датчик» находятся данные о температурных датчиках устройств. Они являются отдельной сущностью потому что одно устройство может быть оборудовано несколькими датчиками и отслеживать температуру в разных местах. Поля этой таблицы: id датчика, id устройства, которому он принадлежит, расположение датчика и его порядковый номер на устройстве, который нужен для опознания показаний датчика в данных, присылаемых устройством. Поля «нижний температурный предел» и «верхний температурный предел» содержат границы, при выходе температуры на датчике за которые всем пользователям, привязанным к устройству, будут разосланы срочные уведомления.

4. Таблица «Пользователь/Устройство» устанавливает связь между устройствами и пользователями, ответственными за них, и разрешает связь много на много между соответствующими сущностям. В полях «регулярные напоминания» и «срочные напоминания» находятся настройки, в зависимости от которых данный пользователь будет получать регулярные SMS -уведомления о текущем состоянии данного устройства, и срочные уведомления о выходе температуры на устройстве за установленные границы.

5. Запись таблицы «Показания» состоит из id записи, времени, когда показания были получены сервером, id считавшего их датчика и самого значения температуры в градусах по Цельсию.

6. Таблица «Ошибка устройства» содержит id ошибки, устройства, на котором она произошла, и вида ошибки из связанного справочника, время, когда сервер обнаружил ошибку, и комментарии к ней.

7. В таблице «Общая ошибка» хранятся ошибки, которые не могут быть отнесены к конкретному устройству, например показания пришедшие с не зарегистрированного в системе устройства.

8. В таблице «Отправленное SMS» хранятся id записи и пользователя, являющегося адресатом сообщения, время отправки, и сам текст сообщения.

9. Наконец таблица баланс содержит данные о балансе средств на сим-картах устройств, получаемые сервером через личные кабинеты мобильных операторов.


 

Физическая модель

Физическая модель базы данных системы приведена на Рис. 13. В таблицах, содержащих поля из других таблиц как FK, зарегистрированы ограничения, выполняющие автоматическое изменение/удаление записей в случае изменения/удаления связанного FK. Таким образом обеспечивается целостность базы данных при любых изменениях данных и автоматически удаляются лишние записи, которые больше ни к чему не относятся. Например, если будет удалена запись таблицы devices, также автоматически будут удалены все связанные с ней записи таблиц owners, sensors и readings.

Кроме этого для каждой из таблиц создана парная архивная таблица, содержащая все её поля, а также уникальный id и timestamp (на рисунке эти таблицы не показаны). Перед удалением записи любой из основных таблиц срабатывает триггер, который добавляет копию этой записи в парную архивную таблицу. Изменять данные в архивных таблицах может только суперпользователь. За счёт этого механизма обеспечивается сохранность данных в случае любых действий, произведённых в веб-интерфейсе: все удалённые данные при необходимости можно восстановить из архивных таблиц.

 

 

Рис. 9 Физическая информационная модель


Таблица 1

Атрибуты сущности «devices»

Имя Тип Описание
id Integer(8) Уникальный идентификатор записи
IMEI Varchar(32) Уникальный идентификатор мобильного устройства
phone Varchar(32) Номер телефона устройства
location Varchar(256) Местоположение устройства
hidden Varchar Флаг, определяющий будет ли устройство отображаться в списке показаний в веб-интерфейсе

 

В сущности devices создан индекс по полю id.

 

Таблица 2

Атрибуты сущности «users»

Имя Тип Описание
id Integer(8) Уникальный идентификатор записи
name Varchar(128) Имя пользователя
phone Varchar(32) Номер телефона пользователя
mobop Varchar(32) Мобильный оператор пользователя
send_interval Integer(8) Интервал времени в часах, через который пользователь будет получать регулярные уведомления

 

В сущности users создан индекс по полю id.

 

Таблица 3

Атрибуты сущности «owners»

Имя Тип Описание
id Integer(11) Уникальный идентификатор записи
user_id Integer(8) Уникальный идентификатор пользователя
device_id Integer(8) Уникальный идентификатор устройства
regular Boolean Флаг, определяющий будет ли пользователь получать регулярные уведомления об этом устройстве
alerts Boolean Флаг, определяющий будет ли пользователь получать срочные уведомления об этом устройстве

 

В сущности owners созданы индексы по полям id, user_id, device_id.

Таблица 4

Атрибуты сущности «sensors»

Имя Тип Описание
id Integer(8) Уникальный идентификатор записи
device_id Integer(8) Уникальный идентификатор устройства
number Integer(8) Номер сенсора на устройстве
location Varchar(256) Местоположение сенсора
lowLimit Integer(11) Нижний предел температуры для сенсора, при выходе значения за который всем привязанным к нему пользователям будут разосланы срочные уведомления
highLimit Integer(11) Верхний предел температуры для сенсора, при выходе значения за который всем привязанным к нему пользователям будут разосланы срочные уведомления

 

В сущности sensors созданы индексы по полям id, device_id.

 

Таблица 5

Атрибуты сущности «readings»

Имя Тип Описание
id Integer(11) Уникальный идентификатор записи
time Timestamp Время получения показания
sensor_id Integer(8) Уникальный идентификатор сенсора
temperature Varchar(256) Значение температуры

 

В сущности readings созданы индексы по полям id, sensor_id.

 

Таблица 6

Атрибуты сущности «sms»

Имя Тип Описание
id Integer(11) Уникальный идентификатор записи
user_id Integer(8) Уникальный идентификатор пользователя
time Timestamp Время отправки SMS
text Varchar(512) Текст SMS

 

В сущности sms созданы индексы по полям id, user_id.

 

Таблица 7

Атрибуты сущности «balance»

Имя Тип Описание
id Integer(8) Уникальный идентификатор записи
time Timestamp Время получения данных о балансе
device_id Integer(8) Уникальный идентификатор устройства
value Integer(11) Значение баланса

 

В сущности balance созданы индексы по полям id, device_id.

 

Таблица 8

Атрибуты сущности «errortypes»

Имя Тип Описание
id Integer(8) Уникальный идентификатор записи
description Varchar(256) Описание типа ошибки

 

В сущности errortypes создан индекс по полю id.

 

Таблица 9

Атрибуты сущности «errors_devices»

Имя Тип Описание
id Integer(8) Уникальный идентификатор записи
time Timestamp Время возникновения ошибки
dev_id Integer(8) Уникальный идентификатор устройства
err_id Integer(8) Уникальный идентификатор типа ошибки
comment Varchar(1024) Комментарий к ошибке

 

В сущности errors_devices созданы индексы по полям id, dev_id, err_id.


 

Таблица 10

Атрибуты сущности «errors»

Имя Тип Описание
id Integer(8) Уникальный идентификатор записи
time Timestamp Время возникновения ошибки
err_id Integer(8) Уникальный идентификатор типа ошибки
comment Varchar(1024) Комментарий к ошибке

 

В сущности errors созданы индексы по полям id, err_id.


 


Поделиться:



Популярное:

  1. VI Моделирование рынка и составление прогноза выпуска автомобилей
  2. В экспериментальной и клинической нейрофизиологии с целью воздействия на функциональное состояние структур нервной системы применяют воздействие постоянным током.
  3. Введение в функциональное программирование
  4. Ведущими практическими методами обучения являются упражнение, опыты и экспериментирование, моделирование.
  5. Влияние ТРИАР-массажа на функциональное состояние сердечно-сосудистой системы пациентов с ишемическим инсультом
  6. Вычислительное моделирование причинно-следственных отношений формирования критических предельных состояний
  7. Глава 5. Функциональное Развитие
  8. Глава IV. СТРУКТУРНО-ФУНКЦИОНАЛЬНОЕ
  9. Композиционно-графическое моделирование
  10. Криминалистическое моделирование: понятие, виды.
  11. Лекция 4. Моделирование программ комплексной помощи
  12. Мастер должен выполнить моделирование ногтей в форме «стилет» с дизайном на свободную тему с возможными элементами внутреннего дизайна, барельефной лепки


Последнее изменение этой страницы: 2017-03-03; Просмотров: 513; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.026 с.)
Главная | Случайная страница | Обратная связь