В выпускной квалификационной работе была поставлена и достигнута цель разработки программного обеспечения - базы данных для обеспечения принятия решений по оптимизации расходов текущей деятельности предприятия, главной задачей которого является поддержка деятельности предприятия в области принятия решений по оптимизации расходов на текущую деятельность.
Без использования компьютеров, интернета и прикладного программного обеспечения в настоящее время уже ни одна компания не может успешно функционировать на экономическом рынке. Реалии современного мира таковы, что стремительно растущий уровень информатизации всех сфер человеческой деятельности, ускорение ритма современной жизни, развитие рынков, рост количества новых фирм, и соответственно повышение уровня конкуренции, усиливает нестабильность функционирования больших и малых предприятий, буквально вынуждает их, подстраиваться под изменения внешних условий и находить оптимальные решения, которые могут помочь правильно организовать и успешно вести свою деятельность.
В связи с тем, что внутри любого предприятия постоянно осуществляется документооборот, обрабатываются важные для операционной деятельности статистические данные и все эти рабочие процессы выполняются на отдельных рабочих местах специалистов предприятия, то вопрос сокращения затрат времени за счет автоматизации как отдельных процессов, так и всего производственного цикла предприятия в целом позволяет качественно улучшить работу коллектива, нарастить темп выполнения рабочих планов, и как следствие - оптимизировать процесс расходов на текущую деятельность.
В качестве базы исследования дипломного проектирования рассматривалась компания - общество с ограниченной ответственностью научно-производственный центр «Сфера» со статусом малое предприятие.
В процессе анализа предметной области были изучены доступные материалы по организации и деятельности предприятия ООО НПЦ «Сфера». Компания «Сфера» - это сравнительно молодое (на рынке с 2019 года) предприятие со средней численностью всего 8 штатных сотрудников, основной доход которого напрямую зависит от скорости и качества обслуживания населения по оказываемым видам услуг.
В связи с тем, что рассматриваемая компания является субъектом малого предпринимательства и сравнительно молодая, кроме того, практически в начале своей деятельности столкнулась с проблемами, возникшими в результате пандемии 2020 года, что негативно отразилось на ее развитии, то на сегодняшний день перед руководством остро стоит проблема оптимизации расходов на текущую деятельность.
На сегодняшний день документационная деятельность в основном осуществляется с использованием пакета прикладных программ MS Word и Excel, что не дает возможности быстрой обработки информации и таким образом влияет на скорость принятия решений по финансовым вопросам. Такой способ внутренней обработки информации послужил основой для локализации объекта автоматизации и разработки базы данных для хранения и обработки информации.
В ходе исследования были определены информационные активы предприятия - это внутренние информационные ресурсы компании, внешние источники данных и физическое оборудование (различные документы, техническое оборудование и сотрудники).
Выделены основные группы пользователей автоматизированной системы – это руководитель предприятия, бухгалтер, менеджер по работе с клиентами и технические специалисты, непосредственно выполняющие работы по оказанию услуг населению, определены функциональные задачи, решаемые каждой группой и сформулированы их «ожидания» от внедрения базы данных в деятельность компании по принципу «Чего я хочу» и «Что будет удобным».
Результатом этой работы является описание в аналитической части бизнес-правил и налагаемых ограничений, которые в совокупности с функциональными требованиями и требованиями законодательства РФ в области информационной безопасности и защиты персональных данных легли в основу разработки требований к разрабатываемому программному продукту, а также позволили сформулировать главную задачу, которую должна решать разрабатываемая автоматизированная информационная система – обеспечение оперативного принятия решений по оптимизации расходов компании с целью сокращения издержек.
В ходе проектирования базы данных с помощью CASE-средства StarUML были разработаны инфологическая, иначе говоря, концептуальная и даталогические модели базы данных, отображающие все основные объекты (сущности) базы данных, их свойства, связи и отношения.
Для физической реализации базы данных было принято решение использовать реляционный тип, как наиболее удобную форму хранения и обработки данных, а отношения между сущностями по связям «многие ко многим» решить за счет добавления таблиц - объектов пересечения, таким образом, чтобы между основными сущностями и объектом пересечения устанавливались отношения «один ко многим».
Выбор конкретной СУБД для разработки был осуществлен на основе изучения рейтинга современных СУБД, их возможностей, достоинств и недостатков. Еще одним ключевым показателем выбора являлся open soiurse продукта, а так как в требованиях к дипломному проектированию стоял вопрос использования таких языков программирования, как Python или C++, то выбор был сделан в пользу SQLite3, которая является встроенной в установочный пакет Python, реализует автономный, без серверный, транзакционный механизм базы данных SQL с нулевой конфигурацией. Код для SQLite находится в открытом доступе и, таким образом, является бесплатным для использования в любых целях, коммерческих или частных. Еще один критерий выбора – возможность обеспечения надежной защиты данных способом полного шифрования базы данных с открытым исходным кодом для SQLite. Все данные при записи в базу данных шифруются и расшифровываются при обратном чтении. Реализуется этот процесс применением библиотеки SQLCipher, которая является расширение SQLite и обеспечивает прозрачное 256-битное AES-шифрование файлов базы данных.
Разработка структуры базы данных выполнялась с применением двух способов, один из которых – это написание соответствующего кода для создания таблиц базы данных непосредственно в коде проекта на Python. Однако, второй способ показался более привлекательным с точки зрения визуального отображения процесса создания таблиц и осуществлялся он с помощью браузера просмотра баз данных DB Browser for SQLite, единственным нюансом при работе в браузере является установление FOREIGN KEY (внешних) ключей для создания связей между таблицами. Так как при создании новой таблицы можно было установить только PRIMARY KEY (первичный ключ), то в этой ситуации, по рекомендациям профессионального сообщества, были испробованы два способа. Первый – это первоначальное создание таблиц без внешних ключей, а затем редактирование созданной таблицы и в этом случае появлялась возможность добавлять отдельным полям статус внешнего ключа, однако на мой взгляд, второй способ был проще и заключался он в том, что сначала в DB Browser for SQLite создавались все таблицы, со всеми атрибутами, далее осуществлялась выгрузка созданной базы и уже в редакторе кода вручную прописывались связи по внешним ключам, а затем готовый код можно было импортировать в СУБД. Второй способ более надежен в плане предотвращения потери каких-либо связей и атрибутов, то есть допущенных ошибок в реализации, связанных с человеческим фактором (элементарная невнимательность).
Код разработанной базы данных представлен в приложении к дипломному проекту.
Еще одним нюансом практического использования, разработанной базы данных является необходимость дополнительного создания пользовательского приложения на Python для организации работы с данными, хранящимися в СУБД SQLite. Связано это с особенностью организации данных на уровне базы, они все хранятся в одном файле и операции по авторизации, чтению и записи данных могут быть реализованы посредством осуществления запросов к базе данных через пользовательский графический интерфейс. В дипломном проекте представлены разработанные дизайн-макеты отдельных экранных форм приложения. Однако в постановку задачи на дипломное проектирование входила только разработка базы данных и поэтому данный проект для практического использования в деятельности ООО НПЦ «Сфера» требует дальнейшей доработки в области создания полноценного пользовательского приложения.
Таким образом, подводя итоги работы над дипломным проектом на тему «Оптимизация расходов центра технического обслуживания НПЦ "Сфера" методами объектно-ориентированного программирования», можно сказать, что цели и задачи, поставленные в выпускной квалификационной работе достигнуты. В результате получен практический опыт разработки баз данных с использованием объектно-ориентированных методов программирования на основе реальных бизнес-процессов предприятия. Приобретенный практический опыт позволит в дальнейшем стать более конкурентоспособным специалистом на рынке труда.