Файл: Проектирование информационной системы по управлению.pdf
Добавлен: 16.02.2024
Просмотров: 37
Скачиваний: 0
СОДЕРЖАНИЕ
Глава 1. Теоретические основы информационной системы управления документооборотом
Сущность автоматизации документооборота
Глава 2. Анализ информационной системы управления документооборотом в ООО "Технопарк-центр"
Общая характеристика предприятия
Предложения по совершенствованию системы документооборота на предприятии
Создадим новый программный продукт под конкретные условия компании.
Информационная модель представляет собой схему движения входных, промежуточных и результативных потоков и функций предметной области.
Рисунок 7. Информационная модель системы
В соответствии с составленной информационной моделью Администратор может работать со всеми справочниками информационной системы. Сотрудник компании может создавать документ с помощью отдельной формы, либо работать с документом, с помощью другой формы пользовательского интерфейса. При создании документа добавляется новая запись в таблицу «Документы», а при работе с документом меняются записи как в этой таблице, так и в таблице «Комментарии».
Работа с документом заключается в изменении статусов документов и добавлении к ним комментарием. При выполнении этих операций сотрудникам компании приходят уведомления на электронную почту в виде писем. Также приходит письмо-уведомление и при создании нового документа. Помимо писем выходными данными ИС являются и файлы итоговых версий документов.
В информационной системе используются шесть справочников, характеристики которых приведены в таблице 2.
Таблица 2
Справочники информационной системы
№ пп |
Название справочника |
Ответственный за ведение |
Средний объём справочника в записях |
Среднюю частоту актуализа ции |
Средний объем актуализаци и, % |
1 |
Пользователи |
Администратор |
100 |
1 раз в день |
10 |
2 |
Должности |
Администратор |
50 |
1 раз в месяц |
10 |
3 |
Отделы |
Администратор |
10 |
1 раз в год |
10 |
4 |
Статусы документов |
Администратор |
4 |
Нет |
25 |
5 |
Роли пользователей |
Администратор |
2 |
1 раз в год |
30 |
6 |
Типы документов |
Администратор |
50 |
1 раз в месяц |
10 |
Справочник «Статусы документов» носит нормативный характер и его актуализировать не нужно. Справочник «Роли пользователей» достаточно актуализировать раз в год. В остальных справочниках содержится информация, которая актуализируется в среднем раз в месяц.
Реквизитный состав каждого справочника представлен в виде таблицы 3.
Таблица 3
Реквизитный состав справочников информационной системы
№ пп |
Название справочника |
Перечень реквизитов |
1 |
Пользователи |
ФИО пользователя; логин; пароль; электронная почта; отдел; должность; роли пользователя |
2 |
Должности |
наименование должности |
3 |
Отделы |
наименование отдела |
4 |
Статусы документа |
наименование статуса |
5 |
Роли пользователей |
наименование роли |
6 |
Типы документов |
наименование типа; для каких отделов предназначен тип документа; для каких должностей предназначен |
Редактирование и ввод новых записей во все справочники осуществляется с помощью специальных форм.
На рисунке 8 изображена форма для работы с записями справочника «Пользователи».
Рисунок 8. Форма Пользователь
Поле для ввода пароля продублировано, это необходимо для того, чтобы исключить возможность опечатки при вводе пароля.
Перед сохранением данных проверяется наличие пользователей с таким же логином (каждый пользователь должен иметь уникальный логин), сложность введенного пароля (минимум одна цифра и один прописной знак).
Формы для работы с записями других справочников имеют аналогичный вид (Рисунок 9-11).
Рисунок 9. Форма Должности
Рисунок 10. Форма Отделы
Рисунок 11. Форма Типы документов
На форме работы с записями справочника «Типы документов» помимо названия типа также необходимо указать для каких отделов предназначен данный тип документа и для каких должностей (документы с данным типом не будут отображаться у пользователей неподходящих отделов и должностей).
В качестве входных данных для информационной системы автоматизации документооборота выступают создаваемые документы, а также комментарии к ним. Перечисленные входные данные создаются с помощью форм, расположенных на сайте. Внешний вид форм представлен на рисунках 12 (форма создания документа) и 13 (форма отправки комментария к документу).
Рисунок 12. Форма для создания документа
Рисунок 13. Форма отправки комментария к документу
Данные, введенные в формы, которые приведены выше, сохраняются в базе данных и используются для формирования выходных данных (результатной информации).
Результатная информация представлена в виде отчетов и описана в таблице 4
Таблица 4
Описание результатной информации
№ пп |
Наименование |
Реквизиты |
Таблицы, на основе которых формируется |
Частота формирования |
Способ доставки |
1 |
Письмо «Новый документ» |
Номер документа Наименование документа Описание ФИО сотрудника Тип документа |
Документы Пользователи Статусы документов Отделы Должности Типы документов |
По мере необходимости |
Электронное письмо |
2 |
Письмо «Новый комментарий» |
ФИО сотрудника Номер документа Текст комментария |
Документы Пользователи Комментарии |
По мере необходимости |
Электронное письмо |
3 |
Письмо «Изменение статуса документа» |
Номер документа ФИО сотрудника Новый статус документа |
Документы Пользователи Статусы документов |
По мере необходимости |
Электронное письмо |
4 |
Итоговая версия документа |
Имя файла Объем |
Документы |
По мере необходимости |
Файл в формате DOX, DOCX, XLS, XLSX, PDF и др. |
Для написания информационной системы автоматизации документооборота использовался фреймворк языка php Symfony 2. Данный фреймворк работает с подходом к программированию, называемый Model-viewcontroller (MVC, «модель-представление-контроллер», «модель-видконтроллер»).
Основная идея данного подхода заключается в разделении данных, их представлений и обработку действий пользователей на три больших группы:
- Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Объекты данной группы не содержат информации, как эти знания можно визуализировать.
- Представление, вид (англ. View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами. Главная задача – представить информацию, хранимой в модели в виде, воспринимаемым пользователем.
- Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
Важно отметить, что как представление, так и контроллер зависят от модели. Однако модель не зависит ни от представления, ни от контроллера. Тем самым достигается назначение такого разделения: оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.
Общая схема архитектуры информационной системы согласно данной парадигмы изображена на рисунке 14.
Рисунок 14. Архитектура ИС (Model-view-controller)
Список разработанных программных модулей и их назначений представлен в таблице 5.
Таблица 5
Программные модули
Номер |
Название |
Описание |
1 |
routing.yml |
Файл с настройками маршрутов для маршрутизатора Symfony 2 |
2 |
DefaultContoller.php |
Класс контроллера, обрабатывающий маршрут главной страницы информационной системы |
3 |
DepartmentController.php |
Класс контроллера, содержащий методы для отображения данных и форм об отделах компании, обработки отправленных форм |
4 |
DocController.php |
Класс контроллера, содержащий методы для отображения данных и форм работы с документами, комментариями и файлами к ним, обработки отправленных форм |
5 |
StaffController |
Класс контроллера, содержащий методы для отображения данных и форм о должностях компании, обработки отправленных форм |
6 |
TypeDocController.php |
Класс контроллера, содержащий методы для отображения данных и форм о типах документов, обработки отправленных форм |
7 |
SecurityController.php |
Класс контроллера, содержащий методы и функции, необходимые для реализации функций авторизации, выхода из сайта, управления профилем пользователя |
8 |
UsersController.php |
Класс контроллера, содержащий методы для отображения данных и форм о пользователях, обработки отправленных форм |
9 |
User.php |
Класс модели, содержащий атрибуты и методы для работы с объектом пользователя |
10 |
Department.php |
Класс модели, содержащий атрибуты и методы для работы с объектом отдела |
11 |
Doc.php |
Класс модели, содержащий атрибуты и методы для работы с документом |
12 |
Comment.php |
Класс модели, содержащий атрибуты и методы для работы с объектом комментария к документу |
13 |
Status.php |
Класс модели, содержащий атрибуты и методы для работы с объектом статуса документа |
14 |
Role.php |
Класс модели, содержащий атрибуты и методы для работы с объектом роли пользователя |
15 |
TypeDoc.php |
Класс модели, содержащий атрибуты и методы для работы с типом документа |
16 |
Staff.php |
Класс модели, содержащий атрибуты и методы для работы с должностью |
17 |
DepartmentFormType.php |
Класс формы управления данными отдела |
18 |
LoginFormType.php |
Класс формы авторизации |
19 |
DocFormType.php |
Класс формы управления данными документа |
20 |
CommentFormType |
Класс формы отправки комментария |
21 |
DocFilterFormType.php |
Класс формы для реализации фильтра в списке документов |
22 |
StatusFormType.php |
Класс формы управления данными статусов документов |
23 |
StaffFormType.php |
Класс формы управления данными должности |
24 |
TypeDocFormType.php |
Класс формы для управления данными типа документа |
25 |
ProfileFormType.php |
Класс формы для реализации работы с профилем пользователя |
26 |
UserFormType.php |
Класс формы для реализации работы с данными пользователя |
27 |
UserFilterType.php |
Класс формы для реализации фильтра в списке пользователей |
На рисунке 15 приведено дерево вызова программных модулей.
Рисунок 15. Дерево вызова программных модулей
Каждый контролер обрабатывает запросы, отправляемые по соответствующему маршруту. Описание того, какой контроллер должен обрабатывать тот или иной маршрут оформляется в виде отдельного файла:
routing.yml.
Пример записи (главная страница ИС):
index:
path: /
defaults: { _controller: "AppBundle:DefaultController:Index" }
Такая запись означает следующее:
- первая строка – название маршрута (index);
- вторая строка – путь, или URL-адрес маршрута (/);
- третья строка – имя класса контроллера, который должен обрабатывать маршрут, а также метод этого контроллера, ответственный именно за этот маршрут;
Обработка маршрута выполняется в контроллере DefaultController.php. При переходе по маршруту (отправке запроса на url /) начинает свою работу метод IndexAction. Данный метод проверяет наличие у пользователя открытой сессии авторизации, и если такой нет, то перенаправляет пользователя на форму авторизации (маршрут /login, Контроллер SecurityController.php).
Для обработки шаблонов и формирования на их основе html-страниц, отображаемых пользователю, используется распространенный шаблонизатор twig. Twig – компилирующий обработчик шаблонов с открытым исходным кодом, написанный на языке программирования PHP. Синтаксис, поддерживаемый шаблонизатором позволяет использовать в шаблонах ветвления, циклы, а удобная структура кода позволяет значительно сократить итоговый объем программного кода. Также стоит отметить, что шаблонизатор генерирует на основе своих шаблонов чистый php-код, который обрабатывается значительно быстрее.
При переадресации на маршрут открытия формы (/login), срабатывает метод loginAction контроллера SecurityController.php. Он создает экземпляр формы LoginFormType.php и обрабатывает её отправку. На рисунке 23 приведен алгоритм работы данного метода.
Рисунок 23. Алгоритм работы метода loginAction
После успешного прохождения авторизации, пользователю отображается страница со списком документов. Данную страницу формирует метод indexAction контроллера DocController.php на основании шаблона Documents:index.html.twig. Методы остальных контроллеров работают аналогичным образом.
Заключение
В настоящее время в мире происходит стремительное развитие информационных технологий, что способствует существенному обострению конкуренции. Поэтому, ввиду этого стремительного развития информационных технологий, некоторое конкурентное преимущество, полученное за счет введения новых технологий, можно удержать лишь очень недолгий период.