Файл: Проектирование информационных систем - Развитие и подготовка сотрудников.pdf
Добавлен: 23.05.2023
Просмотров: 48
Скачиваний: 3
2 глава. Проектная часть
2.1. Информационная модель и её описание
Информационной моделью называют схему движения входной, промежуточной и результативной информации и функций предметной области. Также с помощью информационной модели объясняется с помощью каких входных данных (документов) и какой нормативно-справочной информации происходит выполнение основных функций. Информационная модель проектируемой ИС представлена на рисунке 5.
Рисунок 5. Информационная модель
Выполнения функций системы выполняется с помощью специальных форм пользовательского интерфейса.
2.2. Характеристика нормативно-справочной, входной и оперативной информации
В информационной системе используются шесть справочников, характеристики которых приведены в таблице 2.
Таблица 2
Справочники информационной системы
№ пп |
Название справочника |
Ответственный за ведение |
Средний объём справочника в записях |
Среднюю частоту актуализации |
Средний объем актуализации, % |
1 |
Пользователи |
Администратор |
50 |
1 раз в неделю |
2 |
2 |
Роли пользователей |
- |
2 |
- |
- |
3 |
Отделы |
- |
10 |
1 раз в год |
10 |
4 |
Должности |
Администратор |
10 |
1 раз в год |
10 |
5 |
Типы мероприятий |
Администратор |
4 |
1 раз в месяц |
25 |
6 |
Статусы мероприятий |
Администратор |
3 |
- |
10 |
Справочники ролей пользователей и статусов мероприятий носят нормативный характер, поэтому их актуализация не требуется. Остальные справочники время от времени необходимо актуализировать.
Реквизитный состав каждого справочника представлен в виде таблицы 3.
Таблица 3
Реквизитный состав справочников информационной системы
№ пп |
Название справочника |
Перечень реквизитов |
1 |
Пользователи |
ФИО логин пароль электронная почта телефон |
2 |
Роли пользователей |
наименование |
3 |
Статусы мероприятий |
наименование |
4 |
Типы мероприятий |
наименование |
5 |
Должности |
наименование |
6 |
Отделы |
наименование |
Редактирование и ввод новых записей во все справочники осуществляется с помощью специальных форм.
На рисунке 6 изображена макет формы для работы с записями справочника «Пользователи».
Рисунок 6. Макет формы Пользователь
Поле для ввода пароля продублировано, это необходимо для того, чтобы исключить возможность опечатки при вводе пароля.
Перед сохранением данных проверяется наличие пользователей с таким же логином (каждый пользователь должен иметь уникальный логин), сложность введенного пароля (минимум одна цифра и один прописной знак).
Формы для работы с записями других справочников имеют аналогичный вид (Рисунок 7-9).
Рисунок 7. Макет формы Тип мероприятия
Рисунок 8. Макет формы Должность
Рисунок 9. Макет Формы Отдел
В качестве входных данных для информационной системы выступают и данные о мероприятиях. Эти данные вводятся в ИС с помощью формы, макет которой приведен на рисунке 10.
Рисунок 10. Макет формы для добавления мероприятия
Данные, введенные в формы, макеты которых приведены выше, сохраняются в базе данных и используются для формирования выходных данных.
2.3. Характеристика результатной информации
В качестве выходных данных выступают расписание и отчет о деятельности сотрудников отдела кадров.
Подробное описание выходных данных представлено в таблице 4.
Таблица 4
Описание результатной информации
Наименование |
Расписание |
Отчет о деятельности |
Реквизиты |
Наименование мероприятия; Тип мероприятия; Дата проведения; Место проведения; Описание мероприятия; Ответственный сотрудник. |
Количество запланированных мероприятий Количество проведенных мероприятий С группировкой по типам; Среднее количество сорудников на мероприятии |
Таблицы, на основе которых формируется |
Мероприятия Пользователи Типы мероприятий Статусы мероприятий |
Мероприятия Типы мероприятий Статусы мероприятий |
Частота формирования |
По мере необходимости |
По мере необходимости |
Способ доставки |
Файл в формате Excel |
Таблица на html-странице |
2.4. Общие положения (дерево функций и сценарий диалога)
Базовый набор функций разработанной информационной системы можно изобразить в виде дерева, изображенного на рисунке 11.
Рисунок 11. Дерево функций
Функции ИС можно разделить на основные и служебные. К служебным относятся управление профилем пользователя, авторизация и проверка вводимых данных. К основным функциям системы относятся все функции, которые необходимы для автоматизации исследуемого процесса: от управления справочными данными до работы с данными мероприятия и формирования выходных документов.
Выполнение функций разработанной информационной системы осуществляется с помощью ведения диалога с пользователем. То есть пользователь информационной системы выполняет какие-то действия, а программа соответствующим образом на них реагирует. Сценарий диалога с пользователем представлен на рисунке 12.
Рисунок 12. Сценарий диалога
После открытия ИС пользователю необходимо пройти авторизацию с помощью логина и пароля.
После авторизации в ИС пользователь переходит по разделам с помощью навигационного меню. В зависимости от выбранного пункта в меню ему отображается содержимое соответствующего раздела.
2.5. Характеристика базы данных
В качестве системы управления базой данный для разрабатываемой информационной системы была выбрана СУБД Mysql.
Для хранения всех необходимых данных была спроектирована и создана база данных, состоящая из 7 таблиц. ER-модель спроектированной базы данных представлена на рисунке 13.
Рисунок 13. ER-модель базы данных
Описание всех таблиц базы данных представлено в таблице 5.
Таблица 5
Описание таблиц базы данных
Атрибут |
Поле таблицы |
Тип данных |
Размер |
Обязательность значений |
Таблица Otdel (Отдел) |
||||
Идентификатор |
id |
integer |
4 |
Да |
Название |
caption |
varchar |
255 |
Да |
Таблица Staff (Должность) |
||||
Идентификатор |
id |
integer |
4 |
Да |
Наименование |
caption |
varchar |
255 |
Да |
Таблица TypeEvent (Тип мероприятия) |
||||
Идентификатор |
id |
integer |
4 |
Да |
Наименование |
caption |
varchar |
255 |
Да |
Таблица StatusEvent (Статус мероприятия) |
||||
Идентификатор |
id |
integer |
4 |
Да |
Наименование |
caption |
varchar |
255 |
Да |
Таблица User (Сотрудник) |
||||
Идентификатор |
id |
integer |
4 |
Да |
ФИО |
userfio |
varchar |
255 |
Да |
Логин |
login |
varchar |
255 |
Да |
Пароль |
password |
varchar |
255 |
Да |
Телефон |
phone |
varchar |
255 |
Да |
Почта |
|
varchar |
255 |
Да |
Роль |
roleid |
int |
4 |
Да |
Статус |
status |
varchar |
255 |
Нет |
Таблица Role (Роль пользователя) |
||||
Идентификатор |
id |
integer |
4 |
Да |
Название |
caption |
varchar |
255 |
Да |
Таблица Event (Мероприятия) |
||||
Номер |
id |
integer |
4 |
Да |
Название |
caption |
varchar |
255 |
Да |
Продолжительность |
duration |
varchar |
255 |
Да |
Место проведения |
place |
varchar |
255 |
Да |
Статус |
statusid |
integer |
4 |
Да |
Дата и время начала |
eventdate |
datetime |
10 |
Да |
Описание |
description |
varchar |
255 |
Нет |
Тип мероприятия |
typeid |
integer |
4 |
Да |
Таблица UserEvent (Мероприятия сотрудников) |
||||
Идентификатор |
id |
integer |
4 |
Да |
Сотрудник |
userid |
integer |
4 |
Да |
Мероприятие |
eventid |
integer |
4 |
Да |
Обязательное |
requred |
varchar |
1 |
Нет |
Отметка о прохождении |
factvisit |
tinyint |
1 |
Нет |
2.6. Структурная схема пакета (дерево вызова программных модулей)
Для реализации всех требуемых функции были разработаны отдельные программные модули. Всего было разработано 11 модулей, описание которые представлено в виде таблицы 6.
Таблица 6
Описание программных модулей
Наименование модуля |
Назначение |
check.php |
Проверяет корректность введенных данных на форме авторизации |
checkauth.php |
Проверяет наличие корректной сессии авторизации, а также наличие прав у пользователя для просмотра соответствующей страницы |
config.php |
Вводит общие настройки для ИС (подключает файлы css-стилей и javascript-функций) |
connet.php |
Инициализирует подключение к базе данных |
event.php |
Содержит функции для работы со списком мероприятий: просмотр списка, добавление, редактирование. |
document.php |
Содержит функции формирования выходных документов: ведомостей о мониторинге ППС |
index.php |
Отображает главную панель администрирования |
login.php |
Отображает форму авторизации |
logout.php |
Инициализирует прерывание сессии авторизации (необходим для выхода пользователя из системы) |
sprav.php |
Содержит функции для работы со справочниками системы: просмотр списка, добавление, редактирование, удаление. |
user.php |
Содержит функции для работы со списком кафедр: просмотр списка, добавление, редактирование |
Работа всех модулей построена на обработке http-запросов, и отображении соответствующей информации пользователю.
Например, модуль для работы с данными пользователей принимает GET-запрос, и в зависимости от указанного параметра action выполняет необходимые действия. Возможные варианты параметров и описание выполняемых действий в модуле user.php приведены в виде схемы, изображенной на рисунке 14.
Рисунок 14 – GET-параметры в модуле user.php
Следует отметить, что для отображения формы редактирования данных пользователя и выполнения операций обновления данных также отправляется GET-параметр id, который содержит идентификатор редактируемого пользователя.
Рассмотрим механизм, обеспечивающий авторизацию пользователей в системе. Авторизация осуществляется с помощью сохранения в базе данных и в cookies браузера пользователя хэш-строки сессии авторизации.
При вводе логина и пароля в форму авторизации к базе данных отправляется запрос, который выбирает данные пользователя, у которого логин совпадает с введенным в форму. Если такой пользователь есть, то сравнивается зашифрованный пароль, хранимый в базе данных и зашифрованный введенный пароль, если они совпадают, то генерируется хэш-строка сессии и записывается в базу данных и cookies пользователя. Также в cookies записывается уникальный идентификатор пользователя (id).
Кроме того, по умолчанию настроена привязка сессии к ip адресу пользователя, в момент авторизации. Это сделано для того, чтобы при хищении сессии (то есть хищении cookies авторизованного пользователя) и заходе с другого ip-адреса система прерывала такую похищенную сессию. Тем не менее, эту привязку можно отключить, поставив соответствующую галочку на форме авторизации.
В дальнейшем, при выполнении любых действий, требующих авторизации, происходит сравнение хэш-строки, сохраненной в cookies, с хэш-строкой, сохраненной в базе данных, а также сравнение текущего ip-адреса пользователя с сохраненным в базе данных (если привязка сессии в ip не была отключена). И в том случае, если один из сравниваемых параметров не совпадает, запрошенное действие не выполняется, а пользователь перенаправляется на форму авторизации.
2.8. Контрольный пример реализации проекта и его описание
После перехода на адрес ИС открывается страница авторизации (Рисунок 15).
Рисунок 15. Страница авторизации в ИС
После прохождения авторизации открывается главная страница панели администрирования, на которой отображается список мероприятий (Рисунок 16).
Рисунок 16. Главная страница панели администрирования
Переход между разделами ИС осуществляется с помощью панели навигации, расположенной в верхней части страниц ИС.
Для добавления нового мероприятия необходимо нажать на кнопку «Добавить новое мероприятие», откроется форма добавления нового мероприятия (Рисунок 17).
Рисунок 17. Форма добавления нового мероприятия
Для работы со справочниками необходимо перейти в соответствующий раздел с помощью панели навигации. При переходе в раздел открывается список доступных справочников (Рисунок 18).
Рисунок 18. Страница выбора справочника
После выбора справочника открывается список записей в нем. Например, на рисунке 19 приведен скриншот страницы с записями справочника «Тип мероприятия».