Дипломная работа: Автоматизация учета предоставленных услуг в комплексном центре социального обслуживания населения и анализа данных на примере СПБ ГБУСОН "КЦСОН Адмиралтейского района Санкт-Петербурга"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
41
так как значительная часть вычисления выполняются на сервере, то
требования к компьютерам, на которых установлен клиент,
снижаются;
все данные хранятся на сервере, который, как правило, защищѐн
(физически, аппаратно и программно) гораздо лучше большинства
клиентов;
на сервере проще организовать контроль полномочий, чтобы
разрешать доступ к чтению и изменению данных только клиентам с
соответствующими правами доступа.
Рисунок 4 — Двухзвенная и трехзвенная архитектура[21, с.10]
Главный недостаток клиент-серверной архитектуры это то, что
неработоспособность сервера влечѐт за собой неработоспособность всех
экземпляров клиентского ПО, однако этот недостаток можно устранить путем
настройки отказоустойчивого кластера, который к тому же улучшает
масштабируемость ИС[20, с.628].
42
Различают два варианта клиент-серверной архитектуры классическая
двухзвенная и ее развитие трѐхузвенная архитектура отличающаяся лучшей
масштабируемостью, конфигурируемостью и безопасностью (см. рисунок 4).
Система управления базами данных (СУБД) MySQL была выбрана для
разработки серверной части ПО по следующим причинам:
это зрелое (более 24 лет) и при этом активно развиваемое
сообществом и корпорацией Oracle ПО;
оно широко используется ИТ индустрии;
имеет отличную документацию[27];
поддерживает различные программные и аппаратные платформы;
может быть использовано совместно с большинством современных
языков программирования (а для языка программирования Python
существует несколько библиотек-драйверов), а также поддерживается
интерфейс Open Database Connectivity (уровни ODBC с 0 по 3,51),;
поддерживает следующие стандарты SQL: SQL-92, SQL:1999,
SQL:2003, SQL:2008, и SQL:2011;
имеет встроенные средства для резервного копирования;
возможность исправление недостатков клиент-серверной архитектуры
путем настройки отказоустойчивого кластера с помощью таких
технологий, как например: MySQL Router и InnoDB cluster.
Python — это популярный высокоуровневый язык программирования (ЯП)
общего назначения. Основные преимущества язык программирования Python
это быстрая разработка программ за счет выразительного синтаксиса,
динамической типизации, автоматического управления памятью, полной
интроспекции и механизма обработки исключений. Однако, главное достоинство
этого языка — это отличная читаемость кода программ за счет того, что при
разработке его синтаксиса разработчики старались не допустить возможности
двоякого написания кода[19, с.16], а также разработали руководство по
написанию кода на Python (PEP 8 - руководство по написанию кода на Python:
[сайт]. URL: https://www.python.org/dev/peps/pep-0008/).
Такой недостаток Python, как более низкое быстродействие по сравнению
с компилируемыми языками нивелируется возможностью легкой интеграции
43
Python с другими ЯП. Python — это зрелый язык программирования
продолжающий развиваться уже в течении 29 лет, обладающий большой
стандартной библиотекой функций и огромным репозиторием внешних
библиотек — The Python Package Index [5, c. 18].
В качестве библиотеки для создания графического интерфейса
пользователя была выбрана библиотека Qt по следующим причинам:
наличие системы классов для работы с базами SQL;
это кроссплатформенный фреймворк поддерживающий большое
количество языков программирования;
поставляется под лицензиями GPL 3.0, LGPL 3.0, которая позволяет
использовать это ПО бесплатно или коммерческой лицензией;
наличие визуальной среды разработки графического интерфейса Qt
Designer[23, с. 10], которая позволяет значительно сократить время
разработки;
отличная система документации.
Последняя версия Qt 5.13 официально поддерживает несколько семейств
операционных систем, среди них — Linux и Microsoft Windows 7, Windows 8.1,
Windows 10. В случае необходимости запуска клиента АИС ТриУСОН на не
поддерживаемых официально системах, есть несколько вариантов добиться
этого, наиболее универсальный из них — использование сервера приложений.
Python поддерживает практически все выпущенные версии Microsoft
Windows и Linux, в версии 3.5 эталонной реализации языка Python(CPython)
была приостановлена поддержка Windows XP и более ранних версий этой
ОС[26].
В качестве интегрированной среды разработки была использована
PyCharm-Community, эта среда разработки обеспечивает отличную интеграцию
следующих технологий:
отладчик для Python;
инструменты для юнит-тестирования;
систем контроля версий;
шаблоны кода;
средства рефакторинга;
44
контекстная помощь.
В качестве среды для разработки базы данных использовались MySQL
Workbench Community и DBeaver Community. [расписать преимущества здесь]
Для контроля версий ПО выбрана распределѐнная система управления
версиями Git. Как одно из наиболее популярных ПО этого класса, оно отлично
интегрировано с современными средами разработки, для него существуют
различные графические фронтэнды, а для публикации в интернете существуют
популярные и удобные WEB-сервесы, такие как например GitHub корпорации
Microsoft.
Была выбрана объектно-ориентированная методология программирования
по следующим причинам:
использование библиотеки Qt подразумевает создание классов-
наследников от классов Qt;
основная функция классов в разрабатываемом ПО — это и разделения
функциональности программы на части.
В качестве лицензии на ПО АИС ТриУСОН была выбрана LGPL, по
следующим причинам:
возможность дальнейшей интеграции с проприетарным ПО;
открытость процесса разработки:
o помимо комплексных центров социального обслуживания
населения, которые есть в каждом районе города,
существуют и другие центры социального обслуживания
населения, перед которыми стоят схожие задачи;
o поскольку СПб ГБУСОН «КЦСОН Адмиралтейского района
Санкт-Петербурга» является некоммерческой организацией,
и не конкурирует с другими ЦСОН открытый процесс
разработки ПО является более предпочтительным;
o ПО АИС ТриУСОН предназначено для использования в
закрытой от интернета сети, а контроль доступа к данным
осуществляется средствами СУБД MySQL, в связи с чем
сокрытие исходного кода от возможного злоумышленника не
является первоочередной задачей;
45
отсутствие необходимости в покупке лицензии на ПО для разработки
(либо необходимости в отдельной установке библиотек Qt компании
The Qt Company).
1.4.3. Обоснование проектных решений по техническому
обеспечению
Структуру информационной системы можно рассматривать как
совокупность обеспечивающих подсистем. Техническое обеспечение — это
комплекс технических средств, предназначенных для работы информационной
системы, а также соответствующая документация на эти средства и
технологические процессы.
К настоящему времени сложились следующие основные формы
организации технического обеспечения: централизованная, частично
централизованная и полностью децентрализованная. Перспективным подходом в
настоящее время считается частично централизованный подход[17, с.136].
Изучив предметную область и техническое оснащение КЦСОН,
существующие АИС, а также перспективные планы на будущее, был сделан
вывод — что наиболее приемлемой является частично децентрализованная
форма организации технического обеспечения, где центральная роль отводится
АИС ТриУСОН, которая предоставляет расширенные возможности по учету,
контролю и автоматизации деятельности учреждения, а также передает данные
об оказанных услугах в общегородскую АИС ПУКДССО расположенную в
ГИРЦ.
Разрабатываемая АИС будет входить в состав автоматизированного
рабочего места заведующих отделениями и специалистов по социальной работе.
Под АИС понимается совокупность инструментальных средств конечного
пользователя, включающая техническое и организационно-методическое
обеспечение задач его профессиональной деятельности на основе персональной
ЭВМ, установленной на его рабочем месте, работающей в составе
вычислительной сети.
Для работы разрабатываемой клиент-серверной информационной системы
требуется отдельный компьютер выполняющий роль сервера, стандартной на
Источник: https://baza.diplomsite.ru/previewfile/2412