Рисунок 22 - Таблица «Клиенты»
Подобным образом выглядят остальные таблицы базы данных. Посмотреть данные таблицы можно в ПРИЛОЖЕНИИ В (рисунки В.1 - В.6). Поля этих таблиц также соответствуют инфологической модели данных.
На рисунке 23 представлен пример результата выполнения запроса на список всех товаров. Отображение выведенной информации представлено в виде обыкновенной таблицы.
Рисунок 23 - список всех товаров
После выполнения какого-либо запроса СУБД позволяет выполнить ручной поиск по результату (рисунок 24).
Рисунок 24 - поиск по результату запроса
На рисунках 25-26 представлен процесс создания карточки заказов.
Рисунок 25 - карточка заказа
Рисунок 26 - выбор товаров
На примере рисунка 27, рассмотрен результат выполнения запроса на карточку заказа Иванова Ивана Ивановича. В данном запросе обращение шло к таблице «Список заказов», но выведенная таблица содержит в себе поля других таблиц, например, поле «model» относится к таблице «Товары», а поле «name» к таблице «Клиенты». За счет связей таблиц объединения таблиц в запрос с помощью JOIN стало возможным выводить информацию из связных таблиц, проводить над данными, содержащимися в этих таблицах, математические операции, задавать условия отбора, группировать и сортировать их.
Рисунок 27 - Готовая карточка заказа
Исходя из рисунка 27 видно, что клиент Иванов Иван Иванович с номером телефона «8-999-999-99-99» 27 ноября приобрёл приобрел 3 товара: один холодильник и два телевизора на общую сумму 87.000 рублей.
Подобным образом информация выводится и по оставшимся запросам. Все данные представлены в ПРИЛОЖЕНИИ В (рисунки В.2-В.6)
В ПРИЛОЖЕНИИ В на рисунке В.7 представлен результат выполнения запроса на вывод списка заказов, который показывает когда и какой клиент сделал заказ и на какую сумму.
В ПРИЛОЖЕНИИ В на рисунке В.8 представлена выведенная информация, показывающая на какую сумму был продан какой-либо товар, в каком количестве и какую долю он составляется от общей суммы продаж.
Таким образом видно, что самым прибыльным товаром является телевизор «Т1000 Super Amoled» и доход от его продаж составляет почти 50% от общей суммы продаж в 312.000 рублей.
Общая сумма продаж представлена в ПРИЛОЖЕНИИ В (рисунок В.9)
Результат запроса на список клиентов и их общую сумму покупок представлен в ПРИЛОЖЕНИИ В (рисунок Б.10). На основе данной информации предприятие, например, может ввести систему скидок для клиентов, которые уже сделали покупки больше, чем на сумму N.
Пример вывода информации о покупках за последний месяц представлена в ПРИЛОЖЕНИИ В (рисунок В.11).
Как упоминалось ранее, информация по запросам в СУБД MySQL представляется в виде автоматически сгенерированных таблиц, согласно запросу. Но такой вид просмотра не пригоден для конечного пользователя и предназначен для удобства разработчиков, которые, основываясь на базе данных, создают к ней прикладной интерфейс.
информация реляционный запрос заказ
3. Руководство пользователя
3.1 Защита информации
Разработанная база данных под управлением СУБД MySQL предназначена для разработчиков прикладного ПО, благодаря которому АИС сможет пользоваться любой пользователь. Для того, чтобы подключиться к данной БД следует использовать данные сервера базы данных (рисунок 28).
Рисунок 28 - Данные сервера
Для того, чтобы запустить сервер базы данных в курсовой работе использовалась кроссплатформенная сборка локального веб-сервера «XAMPP», содержащая свободный веб-сервер «Apache HTTP-сервер».
После запуска локального сервера в адресной строке браузера необходимо ввести localhost/phpmyadmin/, чтобы перейти в веб-приложение phpMyAdmin. В среде разработки, чтобы подключиться к базе данных необходимо указать такие данные сервера как: имя хоста, имя пользователя, имя базы данных, пароль, если имеется, порт подключения и часовой пояс. На рисунке 29 представлен пример создания пула подключения на Node.js.
Рисунок 29 - Подключение к базе данных
Чтобы достигнуть самого высокого возможного уровня защиты, установка и конфигурация mysql должна быть выполнена в соответствии со следующими требованиями:
· база данных mysql должна быть выполнена в chrooted среде;
· процессы mysql должны выполняться под уникальным UID/GID, неиспользуемым никаким другим системным процессом;
· Должен быть разрешен только локальный доступ к mysql;
· Основная учетная запись mysql должна быть защищена “сложным” паролем;
· Будет переименована учетная запись администратора;
· Должен быть заблокирован анонимный доступ к базе данных (используя учетную запись nobody).
В рамках усиления безопасности необходимо отключить local-infile, чтобы предотвратить доступ к базовой файловой системе из MySQL, используя следующую директиву в разделе [mysqld]. Журналы -- это один из лучших способов понять, что происходит на сервере, в случае любых атак вы можете легко увидеть любые действия, связанные с вторжением, из файлов журналов. Включить ведение журнала MySQL, добавив следующую переменную в разделе [mysqld] - log=/var/log/mysql.log.
Также, в процессе разработки прикладного программного обеспечения, следует предусмотреть защиту от SQL-инъекций. SQL-инъекция или внедрение SQL-кода -один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода.
Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере.
Атака типа внедрения SQL может быть возможна из-за некорректной обработки входных данных, используемых в SQL-запросах.
Существует три основных класса атак, основанных на внедрении SQL-кода:
· классическая SQL инъекция (Classic SQLi);
· SQL инъекция, основанная на эксплуатации выводимых СУБД сообщений об ошибках (Error-based SQLi);
· слепая SQL инъекция (Blind SQLi).
Разработчик прикладных программ, работающих с базами данных, должен знать о таких уязвимостях и принимать меры противодействия внедрению SQL.
Достигнуть максимальную защиту информации, хранящуюся в базе данных можно только при использовании всех методов защиты информации одновременно.
3.2 Архитектурные требования
Требования к программному обеспечению (ПО) стандартные:
· ПО должно иметь простой и понятный интерфейс;
· ПО должно обладать совместимостью форматов данных;
· ПО должно иметь средства быстрого составления отчетов;
· База данных должна предоставлять возможность поиска записей в любых полях и таблицах;
· ПО должно иметь средства администрирования для создания политики безопасности;
· ПО рабочей станции: ОС MS Windows 7-11, Astra Linux, Ред ОС и т.д. для клиентского ПЭВМ, Windows Server - для сервера, клиентские части серверных программ, средства антивирусной защиты и межсетевой экран.
Требования к режимам функционирования системы: система должна обеспечивать свое бесперебойное функционирование в режиме 24/7/365. То есть пользователь должен суметь включить программу в любое время.
Требования к режимам функционирования системы в части ресурсов:
· штатный режим - степень загруженности составляет 20-40 % от полной производительности;
· режим повышенной готовности - степень загруженности составляет 50-70 % от полной производительности;
· критический режим, когда загрузка зашкаливает.
Требования к режимам функционирования системы в части технического обслуживания:
· сервисный режим (для проведения обслуживания, реконфигурации и обновления технических или программных средств системы);
· автономный режим с ограничением функций (при временном отсутствии взаимодействия между компонентами системы);
· тестовый режим.
А также режимы:
· диалоговый режим - режим взаимодействия человека с системой обработки информации, при котором человек и система обмениваются информацией в темпе, который соизмерим с темпом обработки информации
человеком (из п. 43 табл. 1 ГОСТ 15971-90);
· интерактивный режим - режим взаимодействия процесса обработки информации системы обработки информации с человеком, выражающийся в разного рода воздействиях на этот процесс, предусмотренных механизмом управления конкретной системы и вызывающих ответную реакцию процесса (из п. 42 табл. 1 ГОСТ 15971-90);
· режим реального времени - режим обработки информации, при котором обеспечивается взаимодействие системы обработки информации с внешними по отношению к ней процессами в темпе, соизмеримом со скоростью протекания этих процессов (из п. 45 табл. 1 ГОСТ 15971-90);
· неавтоматизированный режим - режим выполнения функции АС, при котором она выполняется только человеком (из п. 4.12 ГОСТ 34.003-90, когда что-то ломается, происходит частичный отказ системы). К примеру, отказали каналы связи АИИС КУЭ со счетчиками электроэнергии, поэтому показания расхода электроэнергии собираются вручную выездной бригадой;
· ненормальный режим - режим работы, при котором оборудование (установка, прибор и так далее), работает в условиях, отличных от нормальной эксплуатации, или не в соответствии со своим назначением и инструкцией изготовителя (из п. 3.4.82 ГОСТ Р 12.1.009-2009);
· нормальный режим - режим работы, при котором оборудование (установка, прибор и так далее) работает в условиях нормальной эксплуатации и в соответствии со своим назначением и инструкцией изготовителя при подсоединении к сети питания (из п. 3.4.81 ГОСТ Р 12.1.009-2009).
Разрабатываемая программа должна обладать следующими функциями:
· работать под управлением Windows 7, macOS 10.12 или более поздних
· версиях ОС;
· иметь доступный и простой интерфейс пользователя;
· иметь гибкую систему настроек.
Программа так же предоставляет следующие возможности:
· составление отчетов по существующим таблицам;
· составление отчетов;
· выполнение запросов;
· функцию выпадающих списков при заполнении полей.
Надежность системы в целом зависит от надежности используемой операционной системы.
Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением Заказчиком совокупности организационно-технических мероприятий, перечень которых приведен ниже:
а) организацией бесперебойного питания технических средств;
б) использованием лицензионного программного обеспечения;
в) регулярным выполнением рекомендаций Министерства труда и социального развития РФ, изложенных в Постановлении от 23 июля 1998 г.
Об утверждении межотраслевых типовых норм времени на работы по сервисному обслуживанию ПЭВМ и оргтехники и сопровождению программных средств»;
г) регулярным выполнением требований ГОСТ 51188-98. Защита информации. Испытания программных средств на наличие компьютерных вирусов.
Для нормальной работы необходимо:
· компьютер с процессором Intel Core i5-8400 или 100% - совместимым;
· оперативная память не менее 8 Gb;
· жесткий диск объемом не менее 256 Gb;
· наличие адаптера подключения к сети (сетевой карты, модема и т.п.);
· установленная Windows 7, macOS 10.12 или более поздние версии ОС;
· настроенный протокол TCP/IP;
· ТО должно быть оснащено средствами защиты от перепадов (0-280 В) либо отсутствия напряжения на 20 минут для рабочих станций и 4 часа для серверов;
· оборудование должно быть заземлено;
· тип соединительного кабеля для ЛВС - неэкранированная витая пара (5- ой категории) пропускной способностью 100 Мбит/с;
· соединительные розетки должны соответствовать кабелю 5-й категории, коннекторы типа Rj-45.
Требования к информационной и программной совместимости.
Программа должна работать под управлением ОС Windows или Linux, поэтому требуется совместимость исполняемого модуля и библиотек динамического подключения стандартам, используемым этими ОС на платформе IBM PC.
Программа должна использовать свой протокол передачи данных высокого уровня как надстройку над TCP/IP.
3.3 Технология распределенной обработки информации
Распределенная обработка данных позволяет разместить базу данных (или несколько баз) в различных узлах компьютерной сети. Таким образом, каждый компонент базы данных располагается по месту наличия техники и ее обработки.
Например, при организации сети филиалов какой-либо организационной структуры удобно обрабатывать данные в месте расположения филиала. Распределение данных осуществляется по разным компьютерам в условиях реализации вертикальных и горизонтальных связей для организаций со сложной структурой.
Распределенная обработка данных (distributed data processing) - обработка данных, проводимая в распределенной системе, при которой каждый из технологических или функциональных узлов системы может независимо обрабатывать локальные данные и принимать соответствующие решения. При выполнении отдельных процессов узлы распределенной системы могут обмениваться информацией через каналы связи с целью обработки данных или получения результатов анализа, представляющего для них взаимный интерес.