Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Функциональное моделирование предметной области
Функциональное моделирование предметной области производилось с помощью 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»
В сущности devices создан индекс по полю id.
Таблица 2 Атрибуты сущности «users»
В сущности users создан индекс по полю id.
Таблица 3 Атрибуты сущности «owners»
В сущности owners созданы индексы по полям id, user_id, device_id. Таблица 4 Атрибуты сущности «sensors»
В сущности sensors созданы индексы по полям id, device_id.
Таблица 5 Атрибуты сущности «readings»
В сущности readings созданы индексы по полям id, sensor_id.
Таблица 6 Атрибуты сущности «sms»
В сущности sms созданы индексы по полям id, user_id.
Таблица 7 Атрибуты сущности «balance»
В сущности balance созданы индексы по полям id, device_id.
Таблица 8 Атрибуты сущности «errortypes»
В сущности errortypes создан индекс по полю id.
Таблица 9 Атрибуты сущности «errors_devices»
В сущности errors_devices созданы индексы по полям id, dev_id, err_id.
Таблица 10 Атрибуты сущности «errors»
В сущности errors созданы индексы по полям id, err_id.
Популярное:
|
Последнее изменение этой страницы: 2017-03-03; Просмотров: 513; Нарушение авторского права страницы