Диплом: Автоматизация процесса взаимодействия с клиентами (CRM) в филиале компании DNS

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
37
Для ускорения процесса разработки JavaScript предлагает различные
библиотеки и платформы веб-разработки: jQuery, Node, React, Vue. Каждый из
них ускоряет процесс разработки.
Язык PYTHON
Python является одним из самых популярных языков программирования
во всем мире. Его синтаксис очень похож на английский язык. Это означает,
что разработчик будет тратить меньше времени на устранение неполадок кода.
Python также имеет несколько мощных платформ веб-разработки для
быстрого создания веб-приложений. Самыми популярными из них являются
Django и Flask.
Язык JAVA
Java пользуется популярностью в самых разных проектах, в том числе и в
веб-разработке. Также можно использовать Java для создания мобильных
приложений для Android.
Основная идея Java заключается в том, что он может работать
практически на любом устройстве и платформе. Кроме того, Java имеет
большое глобальное сообщество в различных отраслях промышленности.
Самый большой недостаток Java заключается в том, что это не лучший
инструмент для небольших проектов. Разработка обычно занимает больше
времени, чем с Ruby или Python.
Язык RUBY
Ruby – это универсальный язык программирования, очень похожий на
Python. Он наиболее известен своей популярной платформой веб-разработки
Ruby on Rails.
Самое лучшее в Ruby это то, что можно запустить веб-приложение
быстрее, чем с большинством других инструментов. Поэтому он часто является
лучшим языком для веб-разработки в небольших компаниях и стартапах.
Язык PHP
38
PHP – это мощный и популярный серверный язык программирования,
используемый примерно на 80% всех веб-сайтов по всему миру.
Язык по-прежнему получает частые обновления, такие как PHP версии 7.
Это помогло PHP сделать гигантский скачок вперед, удвоив свою скорость и
улучшив обработку ошибок, а также реализовав дополнительные возможности.
Особенности языков программирования представлены в таблице 7.
Таблица 7
Особенности языков программирования
Преимущества
Недостатки
Java
Прост в использовании, написании,
компиляции, отладке;
Повторно используемый код;
Имеет возможность перевода кода из
одной автоматической системы
обработки данных в другую.
Большой расход памяти;
Внешний вид приложений по
умолчанию;
Единая парадигма языков.
Javascript
Быстрое создание веб-страниц;
Поддерживается браузерами по
умолчанию;
Прост в изучении и использовании.
Недостаточная гибкость;
Возможность просмотра кода со
стороны клиента.
PHP
Простота в изучении и использовании;
Быстрый доступ к базе данных;
Полезные встроенные функции
обработки текста;
Большое сообщество.
Много рутины при разработке
приложений;
Нет формальных механизмов
обработки ошибок
Python
Обширные библиотеки;
Улучшенная производительность;
Бесплатный и открытый исходный код.
Ограничения скорости;
Неразвитый уровень доступа к
базе данных.
Ограничения дизайна.
Ruby
Ускоренная разработки;
Большое сообщество.
Низкая скорость приложений;
Недостаток грамотной
документации.
В качестве языка программирования выбран PHP, потому что он
эффективный и мощный, простой в использовании, имеет множество мануалов
по самым разным ситуациям в процессе программирования.
Обоснование выбора СУБД
Выбор СУБД обычно происходит путем их анализа по определенным
параметрам. Наиболее популярными бесплатными решениями можно назвать
такие системы: MySQL, PostgreSQL. В качестве параметров анализа выбраны:
поддержка платформ;
39
процесс резервного копирования;
управление выполнением запроса;
безопасность;
поддержка сообщества.
Для начала опишем кратко каждую СУБД.
PostgreSQL для многих признана самой передовой в мире базой данных с
открытым исходным кодом. Это полностью открытая система баз данных,
выпущенная под своей собственной лицензией, сопоставимой с лицензиями
MIT или BSD. Сообщество PostgreSQL активно и постоянно совершенствует
существующие и новые функции
9
.
PostgreSQL имеет множество дополнительных функций, такими как
представления, хранимые процедуры, индексы и триггеры в дополнение к
первичному ключу, внешнему ключу и функциям атомарности.
PostgreSQL может быть расширен пользователями путем изменения
существующих функций, добавления новых функций, поскольку он является
открытым исходным кодом. Она работает на основных ОС, таких как UNIX,
MacOS, Windows и Linux и т.д. Она поддерживает видео, текст, аудио,
изображения, программные интерфейсы для различных языков. Список
поддерживаемых языков включает C/C++, Java, Python, Perl и др.
MySQL – это поддерживаемая Oracle система управления реляционными
базами данных с открытым исходным кодом, основанная на SQL.
Разработчики могут использовать MySQL под GNU General Public License
(GPL). Корпоративная версия поставляется с поддержкой и дополнительными
функциями для обеспечения безопасности и высокой доступности.
Это вторая по популярности база данных в мире согласно рейтингу db-
engines и, вероятно, самая современная база данных на планете, поскольку она
9
Емельянова Н. Проектирование информационных систем. – М.: Форум, 2014. – 432 с.
40
работает с большинством интернет-сервисов по всему миру. MySQL работает
практически на всех платформах, включая Linux, UNIX и Windows
10
.
MySQL является важным компонентом корпоративного стека с открытым
исходным кодом, называемого LAMP. LAMP – это платформа веб-разработки,
которая использует Linux в качестве операционной системы, Apache в качестве
веб-сервера, MySQL в качестве системы управления реляционными базами
данных и PHP в качестве объектно-ориентированного языка сценариев.
Критерий оценки «Поддержка платформ».
MYSQL выполняет более плавное выполнение на всех платформах, таких
как Microsoft, UNIX, Linux, Mac и т. д.
В целом, можно ожидать, что PostgreSQL будет работать на различных
процессорных архитектурах и операционных системах. Ожидается, что
PostgreSQL будет работать на следующих операционных системах: Linux (все
последние дистрибутивы), Windows (Win2000 SP4 и более поздние версии),
FreeBSD, OpenBSD, NetBSD, Mac OS X, AIX, HP/UX, IRIX, Solaris, Tru64 Unix
и UnixWare.
Критерий оценки «Процесс резервного копирования».
Две самые популярные утилиты резервного копирования доступны для
MySQL и MariaDB, а именно логическое резервное копирование mysqldump и
двоичное резервное копирование Percona XtraBackup и MariaBackup (вилка
Percona XtraBackup). MySQL Enterprise версия предлагает также mysqlbackup,
который похож на XtraBackup и MariaBackup горячих инструментов резервного
копирования.
PostgreSQL имеет pg_dump и pg_dumpall из коробки. Тем не менее,
можно использовать некоторые другие инструменты для рабочих баз данных.
Критерий оценки «Управление выполнением запросов и поддержка
параллелизма»
10
Маклафлин Б. PHP и MySQL. Исчерпывающее руководство. – Изд. Питер, 2016. – 544 с.
41
MySQL только имеет поддержку MVCC в InnoDB. Это механизм
хранения и по умолчанию доступен в MySQL. Он также предоставляет
функции ACID, такие как поддержка внешних ключей и обработка транзакций.
По умолчанию каждый запрос обрабатывается как отдельная транзакция, что
отличается от подхода в Oracle DB.
Механизм PostgreSQL выполняет управление параллелизмом с помощью
метода, называемого MVCC. Для каждого пользователя, подключенного к базе
данных, PostgreSQL предоставляет моментальный снимок базы данных в
определенном экземпляре. Когда база данных должна обновить элемент, она
добавит более новую версию и укажет старую версию как устаревшую. Это
позволяет базе данных экономить накладные расходы
11
.
Критерий оценки «Безопасность»
MySQL реализует безопасность на основе списков управления доступом
(ACL) для всех соединений, запросов и других операций, которые пользователь
может попытаться выполнить. Существует также некоторая поддержка SSL-
шифрованных соединений между клиентами MySQL и серверами.
PostgreSQL имеет роли и унаследованные роли для установки и
поддержания разрешений. PostgreSQL имеет собственную поддержку SSL для
соединений для шифрования связи клиент/сервер. Он также имеет уровень
безопасности строки. Кроме того, PostgreSQL поставляется со встроенным
улучшением под названием SE-PostgreSQL, которое обеспечивает
дополнительные средства управления доступом на основе политики
безопасности SELinux.
Критерий оценки «Поддержка сообщества».
MySQL имеет большое сообщество, которые, особенно после
приобретения Oracle, сосредоточены главным образом на поддержании
существующих функций с некоторыми новыми дополнениями, появляющимися
11
Тарасов С. СУБД для программиста. Базы данных изнутри. – Омск: «Соломон», 2015. – 320 с.
42
время от времени. Преимуществом перед другими базами данных с открытым
исходным кодом является очень сильная внешняя экосистема поставщика.
PostgreSQL имеет очень сильное и активное сообщество. Его сообщество
улучшает существующие функции.
Особенности СУБД MySQL и PostgreSQL представлено в таблице 8.
Таблица 8
Особенности СУБД MySQL и PostgreSQL
Параметр
PostgreSQL
MySQL
Лицензирование
Лицензия MIT
GNU General Public License
Реализация языка
программирования
С
C / C ++
Графический
инструмент
Pgadmin
MySQL Workbench
ACID
Да
Да
Хранение данных
Единый механизм
хранения
Несколько механизмов хранения,
например, innodb и myisam
Полнотекстовый
поиск
Да
Да
DROP TABLE
Поддержка опции
CASCADE
Не поддерживает опцию CASCADE
Столбец
автоинкремента
SERIAL
AUTO_INCREMENT
Типы данных
Поддержка
расширенных типов
Стандартные типы SQL
Целое число без
знака
Нет
Да
Логический тип
Да
TINYINT(1)
Тип данных IP-
адреса
Да
Нет
Материализованны
е представления
Да
Нет
CHECK
ограничения
Да
Нет (mysql игнорирует ограничение
CHECK)
Таблица
наследования
Да
Нет
FULL OUTER JOIN
Да
Нет
INTERSECT
Да
Нет
EXCEPT
Да
Нет
Частичные индексы
Да
Нет
Растровые индексы
Да
Нет
Индексы
выражения
Да
Нет
Триггеры
Поддержка триггеров
Ограничено некоторыми командами
Разметка
Диапазон, список
Диапазон, список, ключ и составное
разбиение
Расписание задач
PGagent
Запланированное событие
Масштабируемость
соединения
Каждое соединение –
процесс ОС
Каждое новое соединение является
потоком ОС
43
В качестве СУБД выбрана MySQL, потому что она более проста в
использовании и имеет опять же больше примеров и мануалов по работе с ней.
С ней проще разрабатывать небольшие приложения.
1.4.3. Обоснование проектных решений по техническому
обеспечению
Архитектурой построения автоматизированной системы будет являться
клиент-серверная модель (рисунок 11)
12
.
Рисунок 11 – Модель клиент-сервер
Модель клиент-сервер представляет собой распределенную структуру
приложений, которая распределяет задачи или рабочую нагрузку между
поставщиками ресурса или службы, называемыми серверами, и пользователями
служб, называемыми клиентами.
В архитектуре клиент-сервер, когда клиентский компьютер отправляет
запрос данных на сервер через интернет, сервер принимает запрос,
обрабатывает его, и доставляет ответ обратно клиенту.
Требования к техническому обеспечению представлено в таблице 9.
Таблица 9
Требования к техническому обеспечению
Минимальные
Рекомендуемые
Сервер
Процессор 1,5 ГГц, ОЗУ 512 Мб,
HDD 2 Гб, сетевой интерфейс 100
Мбит/с
Процессор 2 ГГц, ОЗУ 1 Гб, HDD 10
Гб, сетевой интерфейс 1000 Мбит/с
Клиент
Процессор 1.8 ГГц, ОЗУ 2 Гб, HDD
20 Гб, сетевой интерфейс 100
Мбит/с
Процессор 2,4 ГГц, ОЗУ 4 Гб, HDD
100 Гб, сетевой интерфейс 1000
Мбит/с
12
Советов Б.Я. Архитектура информационных систем: учебник для студ. учреждений высш. проф. образования.
– М.: Издательский центр «Академия», 2012. – 288 с.
44
II ПРОЕКТНАЯ ЧАСТЬ
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Жизненный цикл проекта автоматизации – это модель, используемая в
управлении проектами, которая определяет этапы, включаемые в проект
разработки информационной системы, от первоначального технико-
экономического обоснования до сопровождения завершенного приложения
13
.
Можно выделить такие общеизвестные стандарты жизненного цикла
проекта автоматизации: ГОСТ 34, ISO 12207, ISO 15288, MSF, RUP, COBIT,
Oracle CDM, XP
14
.
В качестве стандарта ЖЦ предложен ГОСТ 34.601-90, который
определяет этапы и стадии их создания и сопровождения (таблица 10).
Таблица 10
Описание этапов ЖЦ проекта автоматизации по ГОСТ 34.601-90
Этап
Цель этапа
Получаемые результаты
Формирование
требований к
ИС
Исследование предприятия DNS,
обоснование потребности
автоматизации взаимодействия с
клиентами, сбор требований,
оформление тактико-
технического задания
Тактико-техническое задание
на разработку ИС
автоматизации взаимодействия
с клиентами
Разработка
концепции ИС
Утверждение главной концепции
разработки ИС
Выбранная концепция ИС,
которая удовлетворяет
требованиям
Техническое
задание
Разработка технического
задания
Техническое задание
Технорабочий
проект
Разработка технической
документации на ИС
Технический проект и рабочая
документация на ИС
Ввод в
действие
Внедрить ИС на предприятие
Функционирующая ИС
Сопровождение
ИС
Обслуживание ИС
Функционирующая ИС
13
Пищикова Е., Комличенко В.Н. Техники выявления требований к разработке по // Естественные и
математические науки в современном мире: сб. ст. по матер. XXVI междунар. науч.-практ. конф. № 1(25). –
Новосибирск: СибАК, 2015.
14
Ипатова Э. Методологии и технологии системного проектирования информационных систем. Учебник. – М.:
«Флинта», 2014. – 192 с.
45
Допускается исключать стадию «Эскизный проект» и отдельные этапы
работ на всех стадиях, объединять стадии «Технический проект» и «Рабочая
документация» в одну стадию «Технорабочий проект».
Выделяют такие стратегии автоматизации:
Параллельная – внедрение новой системы, когда старая еще работает.
«Скачок» – быстрая замена старой системы на новую.
«Пилотный проект» – быстрая замена старой системы на новую на
небольшом участке.
«Узкое место» автоматизация выполняется для небольшого числа
сотрудников.
В качестве стратегии автоматизации предложена «узкое место», чтобы
протестировать систему на незначительном числе сотрудников сервисного
центра «DNS».
2.1.2. Ожидаемые риски на этапах жизненного цикла и их описание
Риски должны быть определены для этапов каскадной модели (таблица
11).
Таблица 11
Ожидаемые риски на этапах ЖЦ согласно каскадной модели
Этап
Риски
Способы минимизации
Формирование
требований к
ИС
Недостаточно полные
требования
Согласовать требования со всеми
сторонами
Разработка
концепции ИС
Ошибки при выборе
средств проектирования
Ошибки проектирования
Согласование выбора с командой
разработчиков
Представление результатов
проектирования заказчику
Техническое
задание
Техническое задание не
охватывает весь спектр
требований
Взять за основу технические задания
для схожих программных продуктов
Технорабочий
проект
Выход релиза после
запланированного срока
Не все функции
протестированы
Контроль сроков исполнения всех
разработчиков
Привлечение специалистов по
тестированию ПО
Ввод в
действие
Формирование
дополнительных
требований при вводе в
эксплуатацию
Требовать подписания и утверждения
технического задания заказчиком,
чтобы потом нельзя было сослаться на
несогласованные ранее требования
Сопровождение
ИС
Внедрение без
инструктажа
Разработка инструкции пользователя,
проведение инструктажа для персонала
46
2.1.3. Организационно-правовые и программно-аппаратные средства
обеспечения информационной безопасности и защиты информации
Средства обеспечения информационной безопасности и защиты
информации на предприятии будут охватывать три категории:
защита от внутренних угроз;
защита от внешних угроз;
применение дополнительных средств повышения безопасности.
Защита от внутренних угроз при использовании ИС автоматизации
взаимодействия с клиентами будет осуществлена посредством разграничения
прав доступа групп пользователей (таблица 12).
Таблица 12
Разграничения прав доступа пользователей
Группы
пользова-
телей
Управление
пользователя
ми
Создан
ие
заявок
Учет заявок
Просмотр
истории
заявки по
ссылке
Администратор
Полный
Нет
Нет
Нет
Менеджер
Нет
Создани
е
Просмотр всех,
редактирование всех
Нет
Техник
Нет
Нет
Просмотр
делегированных,
редактирование
делегированных
Нет
Клиент
Нет
Нет
Нет
Просмотр
В качестве защиты от внешних угроз на предприятии уже применяется
протокол создание защищенной канала обмена информацией между
подразделениями по технологии L2TP/IPSec.
Что касается общей политики ИБ на предприятии, то, например, защита
данных от потерь будет осуществляться путем резервного копирования базы
данных не реже одного раза в неделю. Настройки автоматического резервного
копирования могут быть заданы настройками аккаунту почти у любого
хостинг-провайдера.

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

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