Диплом: Автоматизация регистрации и мониторинга Заявок от контрагентов в ООО «СВ Логистика»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
47
Встроенные приложения. Все приложения, требующие переносимости,
не требующие расширения, например, однопользовательские
локальные приложения, мобильные приложения или игры.
Замена доступа к диску. Во многих случаях приложения, которым
нужно читать / записывать файлы на диск напрямую, могут выиграть
от переключения на SQLite для дополнительной функциональности и
простоты, которая возникает благодаря использованию языка
структурированных запросов (SQL).
Тестирование. Для большой части приложений избыточно
использовать дополнительный процесс для тестирования бизнес-
логики (то есть основная цель приложения: функциональность).
Когда не использовать SQLite:
Многопользовательские приложения. Если ведется работа с
приложением, в котором нескольким клиентам требуется доступ и
использование одной и той же базы данных, лучше использовать
полнофункциональную RDBM (например, MySQL), а не SQLite.
Приложения, требующие больших объемов записи. Одним из
ограничений SQLite являются операции записи. Эта СУБД позволяет
выполнять только одну операцию записи в любой момент времени, что
обеспечивает ограниченную пропускную способность приложения.
СУБД MySQL
MySQL является самым популярным из всех крупных серверов баз
данных. Это многофункциональный продукт с открытым исходным кодом,
который поддерживает множество веб-сайтов и приложений в интернете. Начать
работу с MySQL относительно легко, и разработчики имеют доступ к огромному
массиву информации о базе данных в интернете.
Следует отметить, что, учитывая популярность продукта, существует
множество сторонних приложений, инструментов и интегрированных
библиотек, которые очень помогают во многих аспектах работы с этой СУБД.
Несмотря на то, что MySQL не пытается реализовать полный стандарт
SQL, он предлагает пользователям множество функциональных возможностей.
48
Как автономный сервер базы данных, приложения обращаются к процессу
демона MySQL для доступа к самой базе данных − в отличие от SQLite.
Поддерживаемые типы данных MySQL:
TINYINT. Очень маленькое целое число.
SMALLINT. Маленькое целое число
MEDIUMINT. Среднее целое число.
INT или INTEGER. Целое число нормального размера.
BIGINT. Большое целое число.
FLOAT. Небольшое (с одинарной точностью) число с плавающей
точкой. Не может быть без знака.
DOUBLE, DOUBLE PRECISION, REAL. Число с плавающей точкой
нормального размера (двойной точности). Не может быть без знака.
DECIMAL, NUMERIC. Распакованное число с плавающей запятой. Не
может быть без знака.
DATE. Дата.
DATETIME. Сочетание даты и времени.
TIMESTAMP. Отметка времени.
TIME. Время.
YEAR. Год в 2- или 4-значном формате (по умолчанию 4-значное
число).
CHAR. Строка фиксированной длины, которая всегда заполняется
справа пробелами до указанной длины при сохранении.
VARCHAR. Строка переменной длины.
TINYBLOB, TINYTEXT. Столбец BLOB или TEXT с максимальной
длиной 255 (2–1) символов.
BLOB, TEXT. Столбец BLOB или TEXT с максимальной длиной 65535
(2–1) символов.
MEDIUMBLOB, MEDIUMTEXT. Столбец BLOB или TEXT с
максимальной длиной 16777215 (2 (- 1) символов.
LONGBLOB, LONGTEXT. Столбец BLOB или TEXT, максимальная
длина которого составляет 4294967295 (2³² − 1) символов.
49
ENUM. Перечисление.
SET. Множество.
Преимущества MySQL:
Легко работать с этой СУБД. MySQL может быть установлена очень
легко. Сторонние инструменты, в том числе визуальные (например,
графические интерфейсы), упрощают работу с базой данных.
Богатый функционал. MySQL поддерживает множество функций SQL,
ожидаемых от СУБД − прямо или косвенно.
Безопасность. Многие функции безопасности, некоторые довольно
продвинутые, встроены в MySQL.
Масштабируемый и мощный. MySQL может обрабатывать много
данных и, кроме того, их можно использовать «в масштабе», если это
необходимо.
Высокая скорость работы. Отказ от некоторых стандартов позволяет
MySQL работать очень эффективно, обеспечивая прирост скорости.
Недостатки MySQL:
Известные ограничения. По своей конструкции MySQL не намерен
делать все и имеет функциональные ограничения, которые могут
потребоваться некоторым современным приложениям.
Вопросы надежности. То, как определенные функции обрабатываются
с MySQL (например, ссылки, транзакции, аудит и т. Д.), делает его
чуть менее надежным по сравнению с некоторыми другими СУБД.
Недостаточно быстрое развитие. Хотя MySQL все еще является
техническим продуктом с открытым исходным кодом, есть претензии к
процессу разработки с момента его приобретения. Тем не менее,
следует отметить, что есть некоторые полностью интегрированные
базы данных на базе MySQL, которые повышают ценность
стандартных установок MySQL (например, MariaDB).
Когда использовать MySQL:
Распределенные операции. Когда нужно больше, чем может
предложить SQLite, включая MySQL для стека развертывания, как и
50
любой автономный сервер базы данных, будет получена большая
свобода действий вместе с некоторыми расширенными функциями.
Безопасность. Функции безопасности MySQL обеспечивают надежную
защиту доступа к данным (и их использования) простым способом.
Веб-сайты и веб-приложения. Подавляющее большинство веб-сайтов
(и веб-приложений) могут просто работать на MySQL, несмотря на
ограничения. Этот гибкий и несколько масштабируемый инструмент
прост в использовании и управлении, что очень полезно в
долгосрочной перспективе.
Индивидуальные решения. Если идет работа над очень специфичным и
чрезвычайно индивидуальным решением, MySQL может быть легко
адаптирована к проекту благодаря своим богатым настройкам
конфигурации и режимам работы.
Когда не использовать MySQL:
Соответствие SQL. Поскольку MySQL не пытается реализовать
полный стандарт SQL, этот инструмент не полностью совместим с
SQL.
Параллелизм. Хотя MySQL и некоторые механизмы хранения
действительно хорошо работают с операциями чтения, одновременные
операции чтения-записи могут быть проблематичными.
Отсутствие функций. Опять же, в зависимости от выбора движка базы
данных, в MySQL могут отсутствовать определенные функции, такие
как полнотекстовый поиск.
СУБД PostgreSQL
PostgreSQL это усовершенствованная система управления объектными
базами данных с открытым исходным кодом, основная цель которой
соответствовать стандартам и расширяться. PostgreSQL, или Postgres, пытается
принять стандарты SQL ANSI / ISO вместе с ревизиями.
По сравнению с другими СУБД PostgreSQL отличается своей поддержкой
крайне необходимых и интегральных объектно-ориентированных и / или
реляционных функций базы данных, таких как полная поддержка надежных
51
транзакций, таких как атомарность, согласованность, изоляция, долговечность
(ACID).
Благодаря мощной базовой технологии Postgres чрезвычайно эффективно
справляется со многими задачами. Поддержка параллелизма достигается без
блокировок чтения благодаря реализации Multiversion Concurrency Control
(MVCC), которая также обеспечивает соответствие ACID.
PostgreSQL является высоко программируемым и, следовательно,
расширяемым, с пользовательскими процедурами, которые называются
«хранимыми процедурами». Эти функции могут быть созданы для упрощения
выполнения повторяющихся, сложных и часто требуемых операций с базой
данных.
Хотя эта СУБД не пользуется популярностью так, как MySQL, существует
множество сторонних инструментов и библиотек, которые разработаны для
упрощения работы с PostgreSQL, несмотря на мощную природу этой базы
данных. В настоящее время PostgreSQL можно получить в виде пакета
приложения с помощью менеджера пакетов по умолчанию во многих
операционных системах.
Поддерживаемые типы данных PostgreSQL
BIGINT. 8-байтовое целое со знаком.
BIGSERIAL. Автоинкрементное восьмибайтовое целое число.
BIT [(n)]. Битовая строка фиксированной длины
bit varying [(n)]. Битовая строка переменной длины.
BOOLEAN. Логический логический (истина / ложь).
BOX. Прямоугольная коробка на плоскости.
BYTEA. Двоичные данные («байтовый массив»).
CHARACTER VARYING [(n)]. Символьная строка переменной длины.
CHARACTER [(n)]. Символьная строка фиксированной длины.
CIDR. Сетевой адрес IPv4 или IPv6
CIRCLE. Круг на плоскости.
DATE. Календарная дата (год, месяц, день)
52
DOUBLE PRECISION. Сисло с плавающей запятой двойной точности
(8 байт).
INET. Адрес хоста IPv4 или IPv6.
INTEGER. Четырехбайтовое целое число со знаком.
INTERVAL [поля] [(p)]. Промежуток времени.
LINE. Бесконечная линия на плоскости.
LSEG. Отрезок на плоскости.
MacAddr. MAC (Media Access Control) адрес
MONEY. Сумма в валюте.
NUMERIC [(p, s)]. Точное число выбираемой точности
PATH. Геометрический путь на плоскости.
POINT. Геометрическая точка на плоскости.
POLYGON. Замкнутый геометрический путь на плоскости.
REAL. Число с плавающей запятой одинарной точности (4 байта).
SMALLINT. Двухбайтовое целое со знаком.
SERIAL. Автоинкрементное четырехбайтовое целое число.
TEXT. Символьная строка переменной длины.
TIME [(p)] [without time zone]. Время суток (без часового пояса).
TIME [(p)] with time zone. Время суток, включая часовой пояс.
TIMESTAMP [(p)] [without time zone]. Дата и время (без часового
пояса).
TIMESTAMP [(p)] with time zone. Дата и время, включая часовой пояс.
TSQUERY. Запрос текстового поиска.
TSVECTOR. Документ текстового поиска.
TXID_SNAPSHOT. Снимок идентификатора транзакции на уровне
пользователя.
UUID. Универсально уникальный идентификатор.
XML. Данные XML.
Преимущества PostgreSQL:
53
СУБД, соответствующая стандарту SQL с открытым исходным кодом.
PostgreSQL является открытым и бесплатным, но очень мощной
системой управления реляционными базами данных.
Крупное сообщество. PostgreSQL поддерживается преданным и
опытным сообществом, к которому можно бесплатно обращаться через
базы знаний и сайты вопросов и ответов 24/7.
Сильная сторонняя поддержка. Независимо от продвинутых функций,
PostgreSQL украшен множеством отличных сторонних инструментов с
открытым исходным кодом для проектирования, управления и
использования системы управления.
Расширяемая. Можно расширять PostgreSQL программно с помощью
хранимых процедур, как это должно быть в СУБД.
Задачи. PostgreSQL это не просто система управления реляционными
базами данных, но и объективная с поддержкой вложения и многого
другого.
Недостатки PostgreSQL:
Производительность. Для простых операций чтения тяжелого
состояния PostgreSQL может быть чрезмерным и может показаться
менее производительным, чем аналоги, такие как MySQL.
Популярность. Учитывая природу этого инструмента, он не отстает по
популярности, несмотря на очень большое количество развертываний,
что может повлиять на то, насколько легко получить поддержку.
Хостинг. Из-за вышеупомянутых факторов хосты или поставщики
услуг, которые предлагают управляемые экземпляры PostgreSQL,
труднее найти.
Когда использовать PostgreSQL:
Целостность данных. Когда надежность и целостность данных
являются абсолютной необходимостью, PostgreSQL является лучшим
выбором.
Сложные, нестандартные процедуры. Если требуется, чтобы база
данных выполняла пользовательские процедуры, PostgreSQL, будучи
расширяемым, является лучшим выбором.
54
Интеграция. В будущем, если возникнет необходимость в переходе
всей системы баз данных на собственное решение (например, Oracle),
PostgreSQL станет наиболее подходящей и простой в использовании
базой.
Сложные конструкции. По сравнению с другими открытыми и
бесплатными реализациями СУБД для сложных конструкций баз
данных PostgreSQL предлагает больше всего с точки зрения
функциональности и возможностей, не отказываясь от других ценных
активов.
Когда не использовать PostgreSQL:
Скорость. Если все, что нужно, это быстрые операции чтения,
PostgreSQL не тот инструмент, который нужен.
Простые настройки. Если не требуется абсолютная целостность
данных, совместимость с ACID или сложные конструкции, PostgreSQL
может быть слишком сложным для простых настроек.
Репликация. Если нет возможности тратить время, энергию и ресурсы,
добиться репликации с MySQL может быть проще для тех, кому не
хватает опыта администрирования базы данных и системы.
В качестве СУБД с учетом ее преимуществ и недостатков, а также обзора
аналогов, выбрана MySql.
1.4.3. Обоснование проектных решений по техническому обеспечению
В качестве СУБД выбрана MySql, она предполагает использование
клиент-серверного обеспечения. Поэтому следует сформулировать минимальные
аппаратные требования как к клиентскому устройству, так и к серверу.
Требования к компьютеру с серверной частью зависят от количества
одновременно работающих пользователей системы. При этом общее количество
зарегистрированных пользователей системы может быть больше (обычно в 2-3
раза). Для систем с количеством работающих пользователей более 500
требования к серверу определяются индивидуально в зависимости от объемов
данных и характера работы пользователей (таблица 1.4).
Таблица 1.4
55
Требования к серверу
Количество пользователей:
До 50
До 150
До 350
До 500
Процессор (Intel/AMD
совместимый x64)
4 ядер по 2 ГГц
8 ядер по 2
ГГц
8 ядер по 3
ГГц
Память
6 Гб
12 Гб
16 Гб
24 Гб
Тип жесткого диска
SATA
SCSI, SAS, FC
Скорость вращения
шпинделя
10000 оборотов/мин
15000 оборотов/мин
Жесткий диск:
ОС
RAID-1 (2 диска)
Данные
RAID-10 4
диска
RAID-10 6
дисков
RAID-10 8
дисков
RAID-10 10
дисков
Журнал транзакций
с данными
RAID-1 (2 диска)
Сетевой адаптер
100 Мб/сек
1 Гб/сек
ОС
Microsoft Windows Server 2008 (32- или 64-разрядная)/
2008 R2/ 2012/ 2012 R2/ 2016 c обновлением KB3213522
Требования к клиентским устройствам представлены в таблице 1.5.
Таблица 1.5
Требования к клиентским устройствам
Процессор
1,6−2,4 ГГц
Память (ОЗУ)
для 32-разрядной ОС − 1 ГБ;
для 64-разрядной ОС − 2 ГБ
Свободное место
на жестком
диске
Не менее 250 Мб (рекомендуется 1 Гб)
Жесткий диск
RAID-1
ОС
Microsoft Windows 7 Professional/Enterprise/Ultimate 32-разрядная или
64-разрядная
Microsoft Windows 8/8.1/10 Pro/Enterprise 32- или 64-разрядная версия
Разрешение
экрана
Минимальное − 1024×768;
Рекомендуемое − 1280×960 и выше.
Прочее
Microsoft Office 2010/2013/2016 32- или 64-разрядная версия.
Microsoft Office требуется устанавливать с помощью стандартного
пакета MSI.
56
II ПРОЕКТНАЯ ЧАСТЬ
2.1. Разработка проекта автоматизации
2.1.1. Этапы жизненного цикла проекта автоматизации
Жизненный цикл ИС представляет собой период ее создания и
использования, который охватываюет разные состояния, начиная со времени
возникновения потребности в системе и заканчивая ее полным выходм из
эксплуатации.
Существуют различные модели управления жизненным циклом ИС.
Рассмотрим так называемые Agile-модели.
Agile методологии утверждают, что, прежде всего, нужно стремиться к
удовлетворению клиента за счет непрерывных поставок программного
обеспечения, обеспечивающего добавленную стоимость, поддерживая
постоянную связь с клиентом, а также сосредотачиваясь на коммуникации
между членами команды.
В отличие от других методологий, методологии Agile характеризуются не
полным определением продукта полным анализом или определением всех
категорий/требований, адинамическим взаимодействием, которое обеспечивает
постоянную поставку клиенту версий проектируемой ИС.
Согласно Agile Manifesto выделяют 12 принципов. Приведем самые
главные из них:
удовлетворение потребностей клиентов является приоритетом,
демонстрируемым постоянными поставками версий ИС;
изменения в требованиях должны приниматься, даже если они
находятся на поздней стадии разработки: «agile-процессы используют
изменения для обеспечения конкурентного преимущества клиента»,
как указано в манифесте;
заказчик и команда разработчиков должны ежедневно работать вместе;
необходимо обеспечить хорошую среду и хорошую поддержку для
команд разработчиков только так можно поддерживать их
мотивацию;

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

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