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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
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].
Изучив предметную область и техническое оснащение КЦСОН,
существующие АИС, а также перспективные планы на будущее, был сделан
вывод — что наиболее приемлемой является частично децентрализованная
форма организации технического обеспечения, где центральная роль отводится
АИС ТриУСОН, которая предоставляет расширенные возможности по учету,
контролю и автоматизации деятельности учреждения, а также передает данные
об оказанных услугах в общегородскую АИС ПУКДССО расположенную в
ГИРЦ.
Разрабатываемая АИС будет входить в состав автоматизированного
рабочего места заведующих отделениями и специалистов по социальной работе.
Под АИС понимается совокупность инструментальных средств конечного
пользователя, включающая техническое и организационно-методическое
обеспечение задач его профессиональной деятельности на основе персональной
ЭВМ, установленной на его рабочем месте, работающей в составе
вычислительной сети.
Для работы разрабатываемой клиент-серверной информационной системы
требуется отдельный компьютер выполняющий роль сервера, стандартной на
46
сегодняшний день практикой является использование для этого
специализированных серверных ЭВМ, основные отличия которых от ЭВМ
рабочих станций — они выпускаются в отличных от ПЭВМ корпусах, оснащены
мощными многоядерными процессорами, имеют отличия в организации системы
хранения данных, а их оперативная память дополнена такими функциями, как
например контроль четности (ECC). Подводя итог вышесказанному можно
сделать вывод, что для работы серверных компонентов АИС ТриУСОН следует
использовать серверные ЭВМ.
Для работы клиентской части ИС достаточно существующих
персональной ЭВМ используемых в организации.
В связи с тем, что в бюджетных организациях закупка техники требует
предварительного согласования с вышестоящими организациями, то на первом
этапе внедрения будет использоваться существующий в организации сервер.
Средняя нагрузка на серверный компьютер ожидается небольшой, однако
ожидается большая пиковая нагрузка в конце каждого месяца. В связи с этим для
серверной ЭВМ рекомендуется использовать многоядерный процессор,
способный параллельно обрабатывать как минимум шестнадцать
вычислительных потоков, из примерного расчѐта: по одному на каждое из
двенадцати наиболее загруженных отделений и четыре для остальных отделений
организации. Также рекомендуется использовать не меннее шестнадцати
гигобайт оперативной памями. Для хранения базы данных рекомендуется
использовать два твердотельных накопителя данных в режиме зеркалирования
данных (RAID 1).
47
2. ПРОЕКТНАЯ ЧАСТЬ
2.1. Разработка проекта автоматизации
2.1.1. Процессы жизненного цикла проекта автоматизации
Жизненный цикл (ЖЦ, англ. life cycle) ИС — это непрерывный процесс,
начинающийся с момента принятия решения о создании програмного
обеспечения (ПО) и заканчивающийся после завершении его эксплуатации[2].
Термины ЖЦ ИС и ЖЦ ПО во многом сходны, так ПО это главная часть ИС, и
основное различие между ними заключается в том, что ЖЦ ИС включает в себя
еще и аппаратное обеспечение ИС[12, c. 12].
Под моделью ЖЦ (англ. life cycle model) понимается структура,
определяющая последовательность выполнения и взаимосвязи процессов,
действий и задач на протяжении ЖЦ. Существуют следующие модели ЖЦ:
каскадная, с промежуточным контролем(итерационная) и спиральная, из них
наибольшее распространение получили каскадная и спиральная[7, c. 7].
Модели каскадная и с промежуточным контролем включают следующие
этапы ЖЦ ИС: анализ; проектирование; реализацию; тестирование; внедрение;
сопровождение, в том числе демонтаж (уничтожение и/или перенос ПД в новую
АИС).
Каскадная модель предполагает строго последовательную реализацию
перечисленных этапов жизненного цикла. Она была популярна в 1970-1985 гг.,
однако еѐ основной недостаток, а именно жесткая схема разработки не
соответствует реальному процессу создания ПО. При разработке ПО зачастую
требуется возврат к предыдущим этапам для уточнения или пересмотра
принятых решений, что не предусмотрено данной моделью.
Модель с промежуточным контролем приближает жизненный цикл к
реальному процессу создания и применения ПО. Эта модель ЖЦ допускает
возврат каждого этапа жизненного цикла на любой предыдущий этап для
выполнения межэтапной корректировки. Однако, несмотря на то, что это
значительно повышает как надежность ПО, так и его соответствие решаемой
задаче, оно также значительно увеличивает длительность периода разработки
ПО. Что сделало этот подход малопопулярным в современном и быстро
меняющемся мире.
48
Спиральная модель ЖЦ была предложена Барри Боэм для преодоления
перечисленных проблем[11, с.46]. На этапах анализа и проектирования
проверяется реализуемость технических решений и степень удовлетворения
потребностей заказчика проверяется путем создания прототипов. Это позволяет
начать раннее внедрение ПО, с постепенным внедрением дополнительной
функциональности.
Так как в данном проекте АИС разрабатывается одним человеком, то нет
необходимости в использовании методологий рассчитанных на коллективы
разработчиков и для данного проекта выбрана спиральная модель разработки
ПО.
На каждом витке спирали (см. рисунок 5) создается работоспособный
фрагмента ПО или выходит новая версия. Это позволяет уточнить требования,
цели и характеристики проекта, определить качество разработки, спланировать
работы следующего витка спирали.
Рисунок 5 — Спиральная модель жизненного цикла ПО [14, 37]
На этапе определения требований происходит детальное ознакомление с
работой учреждения в целом и отделениями где будет проводится внедрение и с
49
нормативно-правовой информацией. При изменении действующего
законодательства или нормативно-правовых актов происходит пересмотр
требований к новой версии АИС. Одно из наиболее важных требований к ПО
АИС ТриУСОН — это ПО не должно выполнять расчетов не соответствующих
действующему законодательству.
На этапе анализа основе представленной информации происходит
составление технического задания и сроков его выполнения. В случае
необходимости оперативного внедрения ТЗ разбивается на части, которые
выполняются в порядке первоочередности.
На этапе проектирование выбираются технологии и среды для
разработки ПО, создаются макеты базы данных и структуры программы. При
работе над новыми версиями АИС для исключения появления регрессионных
изменений, проверяется покрыта ли затрагиваемая часть ПО юнит-тестами, и
только после этого начинается работа по добавлению новой функциональности.
На этапе реализации создается база данных: создают необходимые
справочники, шаблоны, списки. Написание процедур и функций SQL. Создание
клиентского ПО. На этом этапе является обязательным использование системы
управления версиями (для данного проекта была выбрана распределѐнная
система управления версиями Git). Исходные тексты АИС ТриУСОН будут
выложены в общий доступ после защиты ВКР.
На этапе тестирования происходит проверка пользовательского
интерфейса и баз данных. Для автоматизации процесса тестирования был создан
консольный клиент АИС ТриУСОН, с ограниченной функциональностью, в него
была добавлена возможность запуска отдельных элементов графического
интерфейса пользователя (таблиц, вкладок).
При разработке первой версии АИС ТриУСОН большая часть
тестирования была проведена в полуручном режиме, в будущем планируется
реализовать полноценную автоматическую систему юнит-тестирования.
При любых изменениях затрагивающих систему расчета оплаты услуг
проводится обязательная валидация ПО.
Этап интеграция включает в себя следующие работы:
50
- развертывание сервера базы данных, установка на нем операционной
системы, и программного обеспечение — СУБД MySQL 8.0 или mariaDB 10.3;
- для работы клиентского ПО на компьютерах пользователей
потребуется установить «распространяемый пакет Visual C++ для Visual Studio
2015» (Visual C++ Redistributable for Visual Studio 2015) и MySQL
Connector/ODBC;
- в первых версиях клиентского ПО процесс установки будет
заключатся в создании ярлыка приложения на рабочем столе пользователя, а
само клиентское ПО будет запускаться без установки с общей папки на сервере
доступной только для чтения;
- для пользователей ведѐтся журнал изменений в АИС ТриУСОН, с
указанием дат, нормативно правовых актов повлекших изменения в ПО,
описанием добавленной или убранной функциональности.
На этапе внедрения необходимо провести обучение пользователей работе
с системой. Это будет сделано путем проведения лекций, разработки
руководства пользователя и администратора, а также с использованием системы
наставничества работающей на основании «Положения об организации
наставничества в СПб ГБУСОН «КЦСОН Адмиралтейского района Санкт-
Петербурга» от 08.04.2019 №27-1».
Также необходимо заполнить все первичные данные:
реквизиты организации;
структура подразделений;
сотрудники организации;
должности;
роли доступа;
наборы РИПСО;
и т.д.
2.1.2. Ожидаемые риски на этапах жизненного цикла и их
описание
На этапах «определение требований» и «анализе», основные риски это
недостаточное определение свойств ИС, требуемых для решения задачи и

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)