Диплом: Разработка сетевого программного обеспечения на примере ГКУ "Ресурсы Ямала"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
31
свойства объектов системы должны иметь возможность оформляться в
виде сложной структуры, ссылающейся на другие объекты и хранящей
историческую последовательность значений
структура данных системы должна обеспечивать расширяемость по
свойствам уже существующих и новых объектов
система должна обеспечивать поддержку иерархической структуры типов
объектов, реализующей механизм наследования свойств объектов.
совокупность информационных массивов системы должна быть
организована в виде БД
ввод и вывод данных в ИС должен осуществляться через интуитивно
понятный графический интерфейс
Информационная база представляет собой физически реализованную базу
данных. Носителем данных является жесткий диск, на котором хранится СУБД.
Доступ к данным осуществляется посредством SQL-запросов к СУБД.
Основные принципы построения информационной базы:
данные накапливаются и хранятся в реляционной БД
проектирование таблиц осуществляется по принципам построения и
организации реляционных баз данных
уменьшение избыточности данных не должно приводить к усложнению
доступа и уменьшению скорости обработки информации
На этапе ввода происходит сопоставление типов вносимых данных с
типом поля БД, а также проверка на допустимые значения.
Важную роль в разработке ИС играет проектирование БД с учетом
возможного дальнейшего развития ИС и расширения функциональных
возможностей.
Правильно спроектированная БД:
удовлетворяет всем требованиям пользователей к ее содержимому. Перед
проектированием базы необходимо провести исследования требований
пользователей к ее функционированию
гарантирует непротиворечивость и целостность данных.
обеспечивает естественное, легкое для восприятия структурирование
информации.
32
удовлетворяет требованиям пользователей к ее производительности.
На сегодняшний день наиболее актуальным способом построения программ
с графическим интерфейсом является создание web-приложений с сохранением
данных в СУБД. В отличие от классических программ, web-приложения имеют
следующие преимущества:
нет необходимости устанавливать приложение на рабочих местах
сотрудников
независимость от типа операционной системы, используемой
пользователем
отсутствует необходимость установки обновлений – достаточно обновить
приложение на сервере
повышенная безопасность за счет разграничения прав доступа не только
на уровне таблиц БД, но и на уровне доступа к web-серверу.
Исходя из текущих требований к разрабатываемому программному
обеспечению и функциональных возможностей web-приложений, было принято
решение разработать web-приложение c хранением данных в реляционной СУБД.
1.4.2. Обоснование проектных решений по программному обеспечению
Обоснование выбора ОС:
Операционная система (ОС) составляет основу программного обеспечения
компьютера. ОС представляет комплекс системных и служебных программных
средств, который обеспечивает взаимодействие пользователя с компьютером и
выполнение всех других программ.
В зависимости от алгоритма управления процессом операционные системы
подразделяются на:
однозадачные и многозадачные
однопользовательские и многопользовательские
однопроцессорные и многопроцессорные системы
локальные и сетевые
В однозадачных системах используются средства управления
периферийными устройствами, средства управления файлами, средства общения с
пользователями. Многозадачные ОС используют все эти средства и управляют
33
разделением совместно используемых ресурсов (ОЗУ, процессор и т.д.). В
зависимости от областей использования многозадачные ОС подразделяются на:
системы пакетной обработки
системы с разделением времени
системы реального времени
В многопользовательских ОС каждый пользователь настраивает для себя
интерфейс, либо интерактивную оболочку. Кроме того, существуют средства
защиты информации каждого пользователя от несанкционированного доступа
других пользователей.
Также операционные системы можно условно разделить на клиентские и
серверные.
Клиентские ОС имеют графический интерфейс и обладают достаточным
функционалом для выполнения пользователями самых необходимых задач.
Серверные ОС имеют более богатый набор возможностей, которые не
нужны обычным пользователям – это управление приложениями,
обслуживающими всех пользователей корпоративной сети, а нередко и внешних
пользователей. К таким приложениям относятся современные системы управления
базами данных, средства управления сетями и анализа событий в сети, службы
каталогов, средства обмена сообщениями и групповой работы, Web-серверы,
почтовые серверы, корпоративные брандмауэры, серверы приложений самого
разнообразного назначения, серверные части бизнес-приложений. Требования к
производительности и надежности указанных операционных систем очень высоки.
На сегодняшний день, наиболее популярными серверными операционными
системами являются ОС семейства Microsoft Windows Server и ОС семейства Linux.
Не смотря на то, что все эти системы обеспечивают высокую степень надежности и
производительности и современные их версии могут одинаково хорошо выполнять
одни и те же задачи, у ОС Linux есть очевидное преимущество – они бесплатны и
поставляются с открытыми исходными кодами как самой ОС, так и приложений.
Самыми распространёнными ОС семейства Linux, которые применяются в
качестве серверов, являются CentOS, Debian, OpenSuse. Каждая из этих ОС
отлично зарекомендовала себя как в маленьких, так и больших,
высоконагруженных проектах.
34
Имеющиеся в Едином реестре Российского ПО такие ОС как ROSA Linux,
RED OS, Alt Linux, в данный момент тестируются в ГКУ «Ресурсы Ямала» в
качестве замены Microsoft Windows Server, CentOS и Debian но, к сожалению, пока
не могут обеспечить достаточного уровня стабильности и надёжности при работе с
серверным оборудованием. К тому же, в данных ОС не всегда доступны самые
актуальные версии серверного ПО.
На основании проведенного сравнения и имеющегося реального опыта
эксплуатации серверных ОС, было принято решение использовать CentOS для
разработки дипломного проекта. Данная система удовлетворяет всем требованиям
по надежности, безопасности и производительности. Немаловажным фактором в
выборе данной ОС является то, что в ГКУ «Ресурсы Ямала» достаточно
квалифицированных специалистов, имеющих опыт работы с данной ОС.
Обоснование выбора СУБД:
Рассмотрим классификацию систем управления баз данных (СУБД):
по выполняемым функциям: операционные и информационные
по сфере применения: универсальные и проблемно-ориентированные
по используемому языку общения: замкнутые (имеющие самостоятельные
языки общения пользователей с базами данных) и открытые (для общения с
базой данных используется язык программирования, расширенный
операторами языка манипулирования данными)
по способу установления связей между данными: реляционные,
иерархические, сетевые, объектно-ориентированные и объектно-
реляционные базы данных
по степени распределенности: локальные и распределенные
по способу доступа: файл-серверные, клиент-серверные и встраиваемые
Для реализации данного проекта и соответствия предъявляемым
требованиям к безопасности, надежности и способам доступа, наиболее
подходящим выбором будет реляционная, клиент-серверная СУБД.
Сравнительный анализ реляционных СУБД приведен в таблицах 3 - 5.
35
Таблица 3.
Максимально возможный объем хранимых данных для каждой СУБД
Размер БД
Размер таблицы
Размер строки
DB2
512 ТБ
512 ТБ
32677 B
Firebird
131 ТБ
2,5 ТБ
64 KB
MySQL
256 ТБ
64 KB
MS SQL
524258 ТБ
524258 ТБ
Oracle
4 ГБ * размер блока
8 KB
PostgreSQL
32 ТБ
1.6 ТБ
Postgres Pro
32 ТБ
1.6 ТБ
Таблица 4.
Анализ систем обеспечения безопасности данных
Идентификация
Защита
от brute
force
10
Шифрование
Сертификация
безопасности
DB2
+
+
+
+
Firebird
+
+
-
-
MySQL
+
-
+
-
MS SQL
+
-
+
+
Oracle
+
+
+
+
PostgreSQL
+
+
+
+
Postgres Pro
+
+
+
+
Таблица 5.
Сравнение СУБД по регистрации в Едином реестре российского ПО
Регистрация в Едином Реестре
DB2
-
Firebird
-
MySQL
-
MS SQL
-
Oracle
-
PostgreSQL
-
Postgres Pro
+
К сожалению, не существует способа провести объективное сравнение
производительности данных СУБД, так как все они изначально устанавливаются с
10
Brute fоrce - Полный перебор (или метод «грубой силы», англ. brute force) — метод решения
математических задач. Относится к классу методов поиска решения исчерпыванием всевозможных
вариантов.
36
разными параметрами конфигураций и каждая из этих СУБД содержит огромное
количество настроек, которые при необходимости можно изменить, тем самым
обеспечив большую производительность.
Результаты проведенного анализа показывают, что любая из этих СУБД
может быть использована в разрабатываемом проекте, однако MS SQL и Oracle
платные и стоят достаточно дорого. Решающими факторами в выборе СУБД
являются бесплатность и регистрация в Едином реестре Российского ПО. На
сегодняшний день это только Postgres Pro - Российская СУБД, разработанная
компанией Postgres Professional на основе свободно-распространяемой СУБД
PostgreSQL.
Помимо всех имеющихся преимуществ в сравнении с PostgreSQL, СУБД
Postgres Pro на протяжении нескольких лет активно используется в различных ИС
ГКУ «Ресурсы Ямала». Например, в ноябре 2017-го года все СУБД СМЭВ ЯНАО
были мигрированы с Microsoft SQL Server 2008r2 на Postgres Pro 9.6, что дало
положительный результат в приросте скорости работы и экономии используемых
ресурсов.
Учитывая положительный опыт работы с Postgres Pro, именно эта СУБД
была выбрана для решения задач, поставленных в данном дипломном проекте.
Обоснование выбора языка программирования:
Для языка программирования, на котором будет разрабатываться ИС, были
сформированы следующие требования:
Язык должен быть кроссплатформенным – одинаково выполняться в ОС
Windows и Linux без существенных переработок кода
Язык должен иметь понятный, читаемый синтаксис
Язык должен быть высокоуровневым
Язык должен иметь удобные средства для работы с СУБД
Язык должен быть универсальным
Язык должен иметь подробную, структурированную документацию
Для выполнения данного дипломного проекта был выбран Python, так как
полностью удовлетворяет всем предъявленным требованиям и все чаще
используется в ГКУ «Ресурсы Ямала» для автоматизации бизнес-процессов.
37
Для разработки web-интерфейса было принято решение использовать
популярный фреймворк
11
Django, так как он предназначен и написан именно для
Python.
К основным преимуществам Django можно отнести:
Быстрота: Django был разработан, чтобы помочь разработчикам создать
приложение настолько быстро, насколько это возможно
Полная комплектация: Django включает в себя десятки дополнительных
функций, которые заметно помогают с аутентификацией пользователя,
картами сайта, администрированием содержимого, RSS и многим другим
Безопасность: Работая в Django, мы получаем уже встроенную защиту от
самых распространенных ошибок, связанных с безопасностью и
ставящих под угрозу проект
Масштабируемость: фреймворк Django наилучшим образом подходит
для работы с самыми высокими нагрузками
Разносторонность: менеджмент контента, научные вычислительные
платформы, системы управления - со всем этим можно эффективно
справляться при помощи Django
Помимо прочего, Django для работы с СУБД использует ORM
12
, позволяя
работать с объектами базы данных, как с классами Python. Это позволяет
разрабатывать приложения не зависимо от типа используемой СУБД и легко
мигрировать схему БД из одной СУБД в другую.
В настоящее время при создании вэб-страниц нельзя обойтись без языка
разметки HTML и таблицы стилей CSS. Для обеспечения интерактивного
взаимодействия с пользователем уже долгое время стандартом является язык
JavaScript и библиотека JQuery, которые также будут использованы в
разрабатываемом проекте.
В качестве среды разработки был сделан выбор в пользу «Pycharm
Community» - это бесплатное ПО, имеющее все необходимые средства для
11
Фре
ймворк (иногда фреймво
рк; англицизм, неологизм от framework - каркас, структура) - заготовки,
шаблоны для программной платформы, определяющие структуру программной системы; программное
обеспечение, облегчающее разработку и объединение разных модулей программного проекта.
12
ORM (англ. Object-Relational Mapping, рус. объектно-реляционное отображение, или преобразование) —
технология программирования, которая связывает базы данных с концепциями объектно-ориентированных
языков программирования, создавая «виртуальную объектную базу данных»
38
разработки как серверной, так и клиентской части и имеет встроенные средства для
разработки приложений с использованием Python, Django, HTML, CSS и JavaScript.
1.4.3. Обоснование проектных решений по техническому обеспечению
Техническое обеспечение - совокупность технических средств,
компьютерной техники, средств передачи информации, используемых в
автоматизированных системах управления и в информационных системах.
Для обеспечения функционирования разрабатываемой ИС нам потребуются
следующие компоненты технического обеспечения:
Персональный компьютер (ПК) инженера отдела СПО – это
пользовательский ПК, с которого будет осуществляться работа с ИС
Сервер приложения – сервер, на котором будет расположен проект
Django, обеспечивающий работу серверной части ИС и web-интерфейса
пользователя.
Сервер БД – сервер, на котором будет расположена СУБД.
Основным критерием выбора оборудования для обеспечения
работоспособности разрабатываемой ИС является отказоустойчивость и
производительность.
Серверная инфраструктура ГКУ «Ресурсы Ямала» построена на системах
виртуализации VMWare и Hyper-V, которые являются отказоустойчивыми за счет
кластеризации, работают на системах хранения данных с
высокопроизводительными дисками и имеют больше количество виртуальных
сетевых интерфейсов, которые можно объединять для увеличения пропускной
способности сети. В текущей ситуации отсутствует необходимость выбора
аппаратной конфигурации серверов. Достаточно определить необходимый
минимум ресурсов и в дальнейшем изменять их в реальном времени, по мере
необходимости, не затрагивая работу ИС. Необходимые ресурсы для
разрабатываемого проекта приведены в таблицах 6 – 7.
Таблица 6
Необходимые ресурсы для сервера приложений
Характеристика
Значение
Количество процессоров
2
39
Размер оперативной памяти
4 Гб
Размер жесткого диска
60 Гб
Таблица 7
Необходимые ресурсы для сервера БД
Характеристика
Значение
Количество процессоров
4
Размер оперативной памяти
8 Гб
Размер жесткого диска
120 Гб
40
2. ПРОЕКТНАЯ ЧАСТЬ
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Среди множества общеизвестных стандартов жизненного цикла (ЖЦ) ИС,
для реализации данного дипломного проекта изначально рассматривалась
спиральная модель, так как она предусматривает возможность постоянного
уточнения требований на каждом шаге ЖЦ и может быть очень эффективной при
разработке небольших проектов. Однако у такого подхода есть существенный
недостаток - переход на следующую стадию осуществляется четко по графику,
даже несмотря на то, что не все работы выполнены, а сам график составляется на
основе личного опыта разработчиков и статистических данных.
Существует более универсальная модель процессов MSF
13
, схема которой
изображена на рисунке 4. Модель MSF “объединяет в себе лучшие принципы
каскадной и спиральной моделей” [4].
Рисунок 4. Схема модели MSF
Каждая стадия модели MSF содержит в себе ключевые точки проекта -
«вехи». Они характеризуют достижение существенного (промежуточного, либо
13
Microsoft Solutions Framework (MSF) - это методология ведения проектов и
разработки решений, базирующаяся на принципах работы над продуктами самой фирмы Microsoft
и предназначенная для использования в организациях, нуждающихся в концептуальной схеме для
построения современных решений.

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

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