Фрагмент для ознакомления
2
Деятельность любой организации, так или иначе связана с информационным обеспечением[1], которое включает в себя ведение различных документов – приказы, отчеты, информация по произведенной или реализованной продукции, заявки контрагентов, сделки, кадровый состав и т.д. Информация подобного рода позволяет упреждать возникающие проблемы в будущем, и иметь подробные сведения о работе предприятия в прошлом.
Информационная оснастка предприятий и организаций может отличаться по способу работы с данными. Одни офисы устраивает работа с офисным комплектом программ, другие создают специальные приложения, которые могут связывать работу десятков предприятий в один информационный блок, который доступен для работы из каждого персонального компьютера, установленного на предприятии.
Оба подхода имеют свои плюсы и минусы. В частности комплект электронных документов может быть утерян, не обладает защитой от некорректного ввода и не связан с другими документами, а также не может отобразить данные в динамике, с другой стороны он прост в использовании и легко устанавливается на любой компьютер, а файлы можно пересылать между отделами в случае необходимости.
Использование больших корпоративных приложений, включает в себя затраты на реализацию и интеграцию всех систем документооборота предприятия, возможные проблемы с производительностью, а также необходимостью установки и настройки приложения профильным специалистом, так как у рядового сотрудника не будет необходимой квалификации и уровня доступа к работе с данной системой.
Если предприятию нужен способ хранения информации, который обеспечит защиту от некорректного ввода, будет удален физически от всех работающих систем, может быть легко интегрирован под любую информационную систему, а также не несет большой финансовой нагрузки на свое содержание, то для хранения информации выбирается система управления базами данных(СУБД) [2]. Данная система позволяет содержать в себе структуры данных, по смыслу копирующие объекты, их характеристики и способы взаимодействия, из тех, что составляют ключевые роли в работе предприятия.
В качестве объекта исследования будет рассмотрен процесс выделения ключевых объектов деятельности фирмы «Интеграция». Предприятие реализует вычислительную технику, комплектующие, а также услуги по ее внедрению.
Цель работы - реализовать базу данных для информационной системы, которая позволит автоматизировать учет, изменение и просмотр информации, касающейся деятельности предприятия. Для работы с данными будет использоваться СУБД PostgreSQL.
Работа включает изучение деятельности самого предприятия, выделение объектов и способов их взаимодействия. Построение на основе этой информации концептуальной диаграммы, в которой будут отображены ключевые структуры данных. После чего проектируется логическая схема базы данных и следует физическая реализация в виде запросов к СУБД. Далее построенная база заполняется новыми записями, а также демонстрируются навыки работы с запросами.
1. ВЫБОР АВТОМАТИЗИРУЕМЫХ ФУНКЦИЙ И ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ
1.1. Описание предметной области
Предприятие «Интеграция» существует на рынке уже 7 лет и специализируется на продаже вычислительной техники, а также ее подключением и настройкой. Среди самых распространенных реализуемых продуктов можно выделить следующий список устройств:
Персональные и мини компьютеры
Промышленные контроллеры
Контрольные панели
Системы управления технологическими процессами
Сотрудники предприятия делятся на следующие категории: сотрудники офиса, технические специалисты, отдел снабжения и подсобные рабочие. Работа сотрудников офиса заключается в рассмотрении заявок контрагентов, проведение финансовых операций, отслеживание и согласование поставок и подключения оборудования. Технические специалисты собирают, монтируют, подключают и настраивают технические устройства. Чтобы привезти оборудование на предприятии имеются водители, грузчики и экспедиторы, которые обеспечивают организационное сопровождение груза. Кроме основных кадров на предприятии имеется ремонтно бытовой корпус, данные сотрудники занимаются коммунальными работами – уборка помещений и прилежащих территорий, ремонт и обслуживание помещений, а также уходом за автотранспортом. Общий штат насчитывает 95 сотрудников.
В организационной деятельности предприятия используется комплект офисных приложений и корпоративная электронная почта для взаимодействия сотрудников и отделов друг с другом.
1.2. Выбор и описание автоматизируемых функций
Так как предприятие развивается, контрагентов становится больше, комплекты документов растут в объеме, как и реализованная техника, то растущая информационная база повышает вероятность возникновения ошибок, что чревато потерей репутации и незапланированными материальными издержками. Поэтому в руководстве было принято решение о переводе части электронного документооборота в информационную систему, которая будет контролировать ввод и редактирование записей, а также позволит предоставлять информацию в виде выборок по различным параметрам. Кроме этого хранение данных не будет связано с работоспособностью самой информационной системы, ее типом и технологии реализации. Если рассматривать бизнес процессы организации, направленные на работу с информационной частью, то можно выделить контекстную диаграмму в нотации IDEF0 [3], изображенную на рисунке 1.2.1.
Рисунок 1.2.1 – Контекстная диаграмма работы организации
Как видно из рисунка, основной поток данных заключается в обработке заявок по установке с учетом многих факторов - работа сотрудников, данные оборудования и т.д. Контекстная диаграмма может быть разделена на составляющие – декомпозирована. На рисунке 1.2.2 изображена декомпозиция первого уровня, который включает два процесса – изменение и добавление данных. На основе произведенных записей принимается решение о том, стоит ли отправлять заявку в работу или уведомить контрагента об отказе. Если произвести декомпозицию до второго уровня то в обоих процессах – добавления и редактирования записи присутствует ручная работа с электронными документами рисунок 1.2.3, а значит и контроль над информацией лежится на плечи сотрудников.
Рисунок 1.2.2 Декомпозиция первого уровня работы предприятия
Чтобы избежать ошибок, сотрудникам необходимо крайне внимательно следить за работой с данными, зачастую прибегая к нескольким перепроверкам, что повышает утомляемость и снижает скорость и продуктивность.
Рисунок 1.2.3 - Декомпозиция второго уровня процесса добавления новых записей
Чтобы повысить продуктивность сотрудников, в работу была добавлена система, которая позволяет контролировать ввод некорректных значений и блокирует логические ошибки при добавлении записи. К примеру, добавление заявки несуществующего контрагента. В купе с возможностью распределенных систем, которые позволяют отделить работу приложения и хранение данных, новый подход должен также повысить надежность всей системы. На рисунке 1.2.4 отображена контекстная диаграмма работы предприятия с внедрением информационной системы.
Рисунок 1.2.4 – Контекстная диаграмма работы предприятия с внедрением информационной системы
Как видно из рисунка, информационная система позволит увидеть работу предприятия в динамике, используя различные возможности выборок данных за определенный период, а также вести контроль добавления и изменения. Измененный процесс ввода изображен на диаграмме декомпозиции второго уровня - рисунок 1.2.5.
Рисунок 1.2.5 – Диаграмма декомпозиции второго уровня, процесса добавления данных
Чтобы повысить эффективность сотрудников и снизить риск ошибок.
В работу связанную с документооборотом будет внедрена информационная система, контролирующая ввод данных и использующая реляционную СУБД для хранения информации. Преимущества СУБД заключается в нескольких факторах:
реляционная система, позволяет строить подробные информационные дубликаты объектов из реального мира;
СУБД обладают гораздо бОльшей скоростью предоставления и изменения данных, по сравнению с файловыми системами, которые используются для хранения документов;
язык структурированных запросов (SQL) позволяет практически не ограничивать сложность критериев выборки, поэтому пользователи могут манипулировать большим объемом данных и проводить различные связи между выборками;
большинство современных языков программирования и соответствующие экосистемы технологий имеют встроенную поддержку, обеспечивающую легкую интеграцию реализуемого приложения и СУБД;
Возможность СУБД использовать удаленно, без физической привязки к основному программному модулю повышает надежность хранения данных;
Таким образом, внедряемая система не только повысит эффективность труда сотрудников, но позволит увеличить скорость документооборота предприятия.
1.3. Программные продукты, используемые при проектировании базы данных
В качестве используемой СУБД будет выбрана PostgreSQL [4] так как это свободная мощная объектно-реляционная система управления базами данных, известная своей надежностью, стабильностью и расширяемостью. Она является одним из самых популярных выборов для разработки приложений, требующих хранения и обработки больших объемов данных. PostgreSQL поддерживает объектную структуру данных, что позволяет создавать сложные типы данных и использовать наследование таблиц. Пользователи могут определять свои собственные типы данных, функции и операторы. Также возможно создание расширений, которые добавляют новый функционал. Кроме поддержки стандартного языка SQL для реляционных данных, СУБД предоставляет возможности для работы с неструктурированными данными и документами, что делает её подходящей для различных типов приложений. Имеется поддержка работы с транзакциями с полной поддержкой ACID (атомарность, согласованность, изолированность и долговечность), что обеспечивает надежность и целостность данных. PostgreSQL предлагает широкий набор функций для обеспечения безопасности данных, включая аутентификацию, управление ролями и продвинутые механизмы шифрования.
Для проектирования базы данных будет использоваться сам сервер PostgreSQL и графический клиент pgAdmin 4, который является популярным инструментом для работы с базами данных PostgreSQL. Данное ПО предлагает широкий набор функций, которые облегчают работу с СУБД:
Создание, изменение и удаление баз данных.
Управление схемами, таблицами и другими объектами баз данных.
Поддержка выполнения произвольных SQL-запросов через встроенный редактор SQL.