Дипломная работа: Автоматизация расчетов с поставщиками и подрядчиками ООО «МЕТРО КЭШ ЭНД КЕРРИ»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
38
Delphi
Delphi хороший объектно-ориентированный язык программирования,
когда требуется разработать ПО в максимально сжатые сроки и обеспечить
хороший рефакторинг (читабельность, модифицируемость, удобство и
оптимизацию) кода приложения. Код хорошо структурируется, названия всех
функций по сути есть сокращения английских слов (IntToStr целое в
строку; Now возвращает дату и время сейчас; UpperCase приводит к
верхнему регистру и тд), хорошая модульность и видимость кода все это
способствует скорости разработки, а также позволяет производить ее в
командном режиме более эффективно.
Существенным преимуществом делфи является низкий порог
вхождения. То есть язык легко усваивается, интуитивно понятен. Сейчас его
продвигают в сторону кросс-платформенности, хотя раньше такого не было..
Более того, большое комьюнити Delphi кодеров котором больше
непрофессионалов в силу легкости языка) порождает в Интернете большое
количество справочной информации в самых разных областях
программирования.
Подведем итоги в таблице 1.2.
Таблица 1.2
Сравнение характеристик языков программирования
Характеристика
С++
Delphi
Pyph
on
Сложность
изучения
большая (-)
маленькая
(+)
Средняя(+-)
Количество
специалистов-
профессионалов
много (+)
мало (-)
Много(+)
Восприятие кода
плохое (-)
хорошее (+)
Плохое(-)
Рефакторинг
средний (+-)
хороший (+)
Средний(+-
)
Скорость работы
приложения
отличная
(++)
хорошая (+)
Средняя(+-)
Скорость
разработки
решения
маленькая (-)
очень
высокая (++)
Маленькая(-
)
Наличие
документации
много (+)
MSDN не
содержит примеров
Много(+)
39
кода на pascal (+-)
Необходимость в
будущем, ввиду
конкуренции с
языками C#,VB,
Java
маленькая (–)
средняя (-)
Маленькая(-
)
Популярность(на
январь 2020)
4 место
12 место
3 место
Итого
5+/5-
7+/3-
5+/5-
На основании вышеприведенных данных для разработки модуля было
решено использовать продукт Delphi 10.
БД база данных. Под этим термином понимается информация,
которую надо сохранить.
СУБД система управления базой данных. Это программа, которая
предоставляет доступ внешним приложениям к базе данных, обеспечивает ее
работу.
База данных проектируется и создается для каждого конкретного
проекта, СУБД же выбирается из небольшого списка стандартных средств.
В качестве возможных вариантов рассматриваются MySQL против
Firebird и MS SQL Server
MySQL - сервер, который работает с MYISAM и InnoDB таблицами.
Как изветсно,InnoDB, это научная работа Хейки Туури в Хельсинском
универе (1994-2000) в области высокопроизводительных технологий БД.
В серверах на Linux, mysql это практически стандарт де факто. А
Firebird, де факто,БД для Windows в небольших корпорациях стран СНГ. А
вот за границей его применяют в основном как БД накопления и хранения
данных в пользовательских приложениях удаленных сотрудников и
малопользовательских CRM.
Основные недостатки Firebird:
подходит только для простых и не глобальных решений
нет автоинкремента потому приходится создавать генератор
(использование которого аукается некоторыми весьма неприятными
последствиями). А именно в FireBird для поля введён некий генератор. т. е.,
40
чтобы всё-таки получить очередное уникальное значение, сначала
потребуется увеличить значение генератора. Нужно создать запрос, получить
результат, обработать его в программе, и уже с ним генерить второй запрос
INSERT INTO catalog VALUES(, 'text value');таким образом получаем два
запроса к БД вместо одного, и два обработчика на стороне клиента. Иными
словами, получаем двойные накладные расходы на каждом запросе записи.
Элементарный и наиболее часто используемый запрос выбора всех
записей таблицы типа SELECT * FROM driver WHERE id = 1 сразу
возвращает все что нам нужно и цифровые и текстовые данные,но Firebird не
делает этого -вместо ожидаемого текста возвращается идентификатор
(BLOB_ID), с помощью которого дополнительного запроса!) можно
получить значение поля. а если всё-таки нужно получать текст, то полю
назначается другой тип: VARCHAR(32765). Как итог накладные расходы на
селект выростают в 4 раза. По сравнению с другими БД.
А нам как раз нужно совершать огромное количество именно SELECT.
Невозможно себе позволить такие накладные расходы. БД Firebird не
подходит однозначно.
Лучшая по результатам линейных SELECT всегда была и остается
MySql обгоняя любые другие БД. MySql проигрывает почти всем при
выполнении сложных составных запросов, требующих промежуточных
вычислений самой БД, но в программах документооборота таких нет. По
крайне мере всегда можно согласиться в одном или двух местах на некоторое
увеличение накладных расходов, но это не будут постоянные и
неоправданные расходы при всех SELECT которые неизбежны с Firebird.
Единственное преимущество Firebird в том что на него можно возложить
обработку запросов которые имеют данные связанные между собой, но
находящиеся в разных таблицах. В нем нет нет хранимых процедур,
триггеров и еще много чего. Но все это можно сделать внутри приложения.
Будет немного больше кода, но оно с лихвой окупается малыми накладными
расходами процессора, памяти, времени обработки в конце концов.
41
Firebird необходим при массовой вставке записей, при работе с
индексами, файловое кэширование, коэф. сжатия записей, управление
памятью сортировок, но для документооборота это не используется.
Firebird применяется в основном для небольших и средних
встраиваемых приложений, то есть когда сервер ставится в комплекте
какого-то приложения (бухгалтерского или складско-учетного) и работает в
"невидимом" для пользователей режиме.
MS SQL
Достоинства:
-СУБД масштабируется, поэтому работать с ней можно на портативных
ПК или мощной мультипроцессорной технике. Процессор может
одновременно обрабатывать большой объем запросов
-СУБД поддерживает работу с другими продуктами Microsoft: Access,
MS Excel
Недостатки:
-Зависимость от операционной среды: СУБД работает только с
системой Windows.
-Высокая цена программы.
Сравнение СУБД
Таблица 1.3
Максималь
ный вес
таблицы
Максималь
ный
размер
страницы
Максималь
ный
размер БД
Язык
программиро
вания
Максимал
ьное
число
пользоват
елей БД
MySQ
L
524,272 ТБ
30,000
524,272 ТБ
(32627
файлов *
16ТБ
максимальн
ый размер
файла)
C++
1000
Firebi
rd
36.7 ГБ
16,386
7 ТБ
С++
300-500
MS
SQL
Serve
MyISAM=25
6ТБ,
InnoDB =64
4,096
Не огр.
Transact SQL
Не огр.
42
r
ТБ
Оптимальным вариантом является MySQL. Данная программа не
сильно нагружает систему. Данная СУБД широко распространена, поэтому
будет не сложно найти того, кто сможет ее обслуживать
На основании вышеприведенных доводов решено в качестве СУБД
MySQL.
1.4.3. Обоснование проектных решений по техническому
обеспечению
С учетом выбора оптимальной БД для обеспечения работы АИС
требуется определиться с серверной инфраструктурой «фундаментом» от
которого будет зависеть отказоустойчивость, доступность и
работоспособность данной информационной системы.
В качестве серверной инфраструктуры выбрана конфигурация
имеющегося кластерного решения, включающего сервер Dell PowerEdge
R740 Server в количестве 3-х штук, коммутатора Huawei S6720-16X-LI-16S-
AC, необходимых модулей SFP+ для взаимодействия кластера средствами
ВОЛС, ИБП APC Smart-UPS 1500VA/980W, RM 2U.
Ниже приведена конфигурация сервера Dell PowerEdge таблица 1.4.
Таблица 1.4
Конфигурация сервера Dell PowerEdge
Комплектующи
е
Название комплектующих
Кол-
во
Корпус
Chassis with up to 16 x 2.5" SAS/SATA Hard
Drives for 2CPU Configuration
1
Процессор
Intel Xeon Gold 6254 3.1G, 18C/36T, 10.4GT/s,
24.75M Cache, Turbo, HT (200W) DDR4-2933
2
Объем
32GB RDIMM, 2933MT/s, Dual Rank
4
Источник: https://baza.diplomsite.ru/previewfile/670