Файл: Проектирование и создание информационной системы для торговой организации.pdf
Добавлен: 03.12.2023
Просмотров: 130
Скачиваний: 6
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
22
Стандарты W3C имеют черту хорошо детализированных рекомендаций и доступны как начинающим веб-мастерам, так и экспертам-программистам.
Технические спецификации консорциума сопровождаются обилием руководств и советов, которые облегчают понимание и внедрение стандартов.
В последнее время W3C проводит много работы по популяризации своих стандартов, их совершенствованию и расширению.
Рис. 5. Один из популярнейших стандартов W3C – это HTML версии 5
Принципы и концепции, утверждённые W3C:
Общедоступность – при реализации данного принципа, большое внимание уделяется доступности ресурсов глобальной сети для людей с ограниченными физическими возможностями.
Аппаратная независимость - этот принцип утверждает, что ресурсы и протоколы не должны быть кроссплатформенными, т.е. рассчитаны работать на любом аппаратном обеспечении.
Интернационализация – прежде всего подразумевает языковой барьер и призывает к доступности информации на всех языках мира, возможности и равноправию использования национальных шрифтов в документах и системах разработанных на основе стандартов.
Патентная политика - здесь речь идёт о патентовании рекомендаций
W3C таким образом, чтобы их можно было внедрять бесплатно, на основе лицензии W3C Royalty-Free License.
Многоформенное взаимодействие –принцип, предполагающий наличие различных форм и режимов взаимодействия программы с человеком.
23
Семантическая паутина – свежая и актуальная концепция, призывающая размещать информацию в более понятном для компьютеров виде. Семантическая паутина сейчас реализуется как надстройка над существующей Всемирной паутиной.
Мобильная паутина - этот принцип определяет, что ресурсы
Всемирной сети должны быть доступны для мобильных устройств.
Одни из самых используемых стандартов, утверждённых W3C: CSS,
DOM, HTML, HTTP, OWL, PNG, RDF, SOAP/XMLP, Style, SVG, URI/URL,
XML.
Применение данных стандартов и методологий позволит создать информационную систему, соответствующую современным технологическим требованиям и имеющую высокую конкурентоспособность.
24
Глава 2. Проектирование и создание информационной системы для
торговой организации
2.1. Разработка серверной части информационной системы
Под серверной частью подразумевается back-end составляющая web- приложения. Back-end и front-end — это термины в программной инженерии, которые различают согласно принципу разделения ответственности между внешним представлением и внутренней реализацией соответственно. Front- end — интерфейс взаимодействия между пользователем и основной программно-аппаратной частью (back-end). Front-end и back-end могут быть распределены между одной или несколькими системами [19].
Серверная, back-end часть информационной системы принимает и обрабатывает клиентские запросы, обращается к СУБД при необходимости, формирует и отправляет ответ клиенту.
Серверная часть состоит из аппаратного и программного обеспечения.
В качестве аппаратного обеспечения у компании
ISPSERVER
(https://ispserver.ru) был арендован виртуальный выделенный сервер с рабочими характеристиками: 1GB RAM, 100GB HDD, 2 GHz CPU и предустановленной операционной системой FreeBSD.
Виртуальный сервер (VPS) – это услуга, в рамках которой пользователю предоставляется часть ресурсов одного физического сервера. В плане управления, такой сервер практически не отличается от физического, на него можно установить полноценную операционную систему, и он имеет один или несколько статических IP-адресов для выхода в интернет.
FreeBSD – это свободная операционная система семейства UNIX
(
https://www.freebsd.org/ru/
). ОС распространяется под лицензией BSD и является популярной системой для сетевых серверов (управление сетью и различные сетевые службы).
25
При помощи системы портов (технология установки программного обеспечения сторонних разработчиков в операционной системе FreeBSD) были установлены необходимые компоненты информационной системы, обеспечивающие работу сервера в роли веб-сервера и тем самым веб- приложения: система управления базами данных, HTTP-сервер и PHP- интерпретатор.
Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых "Системы управления базами данных" (СУБД).
Основная особенность СУБД - это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банками данных, а затем "Базами данных" (БД) [20].
Выбор СУБД — это выбор из числа многочисленных программно- лингвистических средств общего и специального назначения, обеспечивающих управление созданием и использованию баз данных. В системе управления базой данных для торговой организации планируется хранить максимальное количество информации о текущей бизнес- деятельности, начиная от каталога товаров и заканчивая данными о заказах клиентов. При выборе были учтены функциональные возможности, документальная поддержка, наличие литературы, масштабируемость и интеграция с другими программными продуктами. Немаловажными стали и такие параметры как возможности системы для работы, как с малым количеством данных, так и возможность «расти» вместе с организацией.
Малому бизнесу могут потребоваться только ограниченные возможности, т.е небольшое количество информации, но требования могут существенно расти в течение времени, и переход на другую систему управления базами данных может стать проблемой. Учтены и стоимость использования СУБД, наличие
26 на рынке труда узких специалистов работающих с данной СУБД в случае потребности их найма, наличие достаточного количества технической документации и литературы.
При выборе были рассмотрены наиболее популярные и развитые системы управления базой данных [16,18].
Oracle Database
Рис. 6. Базы данных и таблицы в Oracle SQL Developer
Одна из популярных и современных объектно-реляционных система управления базами данных от компании Oracle. Первая версия системы была создана в 70-х годах, существует несколько различных версия для удовлетворения узконаправленных потребностей в информатизации.
Последняя из выпущенных версий предназначена для облачных сред, т.е. размещается на 1 и более серверах, позволяет хранить и работать с очень большими объёмами записей. Присутствует сильная безопасность, обусловленная изоляцией каждой транзакцией в запросах к базе данных.
Данная база данных имеет инновационные особенности, широкий набор инструментов и задаёт планку качества и технологичности для многих других
СУБД. Oracle Database является платным продуктом, цена для малых и развивающихся организаций весьма высока, также система требует
27 значительно лучшее аппаратное обеспечение в плане ресурсов. На российском рынке труда не много специалистов работающих с данной БД.
Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.oracle.com.
MySQL
Рис. 7. Базы и таблицы MySQL в интерфейсе PhpMyAdmin.
Свободная реляционная СУБД от корпорации Oracle. Имеет большую популярность при разработке веб-приложений. Разрабатывается с 90-х годов, активно разрабатывается и поддерживается компанией разработчиком.
Встроенные инструменты для работы с MySQL имеют многие решения в области программного обеспечения для веб-приложений. Является быстрой, надёжной и относительно использования - безопасной. В качестве аппаратного обеспечения может использоваться ЭВМ с довольно низкими ресурсами. Имеет как бесплатную версию под лицензией GNU GPL 2, так и платную с официальной поддержкой. На рынке труда имеется множество специалистов работающих с данной СУБД, а также большое кол-во технической документации, литературы, практических примеров использования и готовых продуктов в составе которых используется MySQL.
Имеет возможности распределения нагрузки на несколько серверов.
Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.oracle.com.
28
Microsoft SQL Server
Рис. 8. SQL Server Manager
Система управления реляционными базами данных, разработанная корпорацией Microsoft. Ядро данной системы может предназначено для работы как на локальных серверах, так и на облачных. В 2016 году стала доступна в операционной системе Linux. Одной из уникальных особенностей версии 2016 года является временная поддержка данных, которая позволяет отслеживать изменения данных с течением времени. Последняя версия
Microsoft SQL-сервер также позволяет совершать динамическую маскировку данных, которая гарантирует то, что только авторизованные пользователи будут видеть конфиденциальные данные. SQL Server является быстрым и стабильным средством, имеет хорошую техническую документационную основу и множество литературы, большое количество технических специалистов на рынке труда. Данная СУБД является платным решением, со средним ценником, хорошо ориентирована на работу с иными продуктами
Microsoft. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.microsoft.com/ru-ru/sql-server/sql-server-2016.
29
PostgreSQL
Рис. 9. Postgre база данных в интерфейсе программы Navicat 8
Свободная объектно-реляционная система управления базами данных, базирующаяся на языке SQL, распространяемая под лицензией License
PostgreSQL . Может использоваться для обработки больших данных, хорошо масштабируема.
Разрабатывается и поддерживается одноимённым сообществом и популярен среди веб-баз данных. Имеется достаточное кол-во литературы и специалистов, не требовательна к аппаратным ресурсам и хорошо подходит для проведения большого кол-ва запросов. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.postgresql.org.
30
Mariadb
Рис. 10. База данных MariaDB в интерфейсе программы Navicat
Ещё одна свободно распространяемая система управления базой данных от компании MariaDB Corporation Ab и фонда MariaDB Foundation, распространяется под лицензией GNU GPL. Система является ответвлением от СУБД MySQL, разрабатывается первоначальными разработчиками MySQL с 2009 года. Система имеет и платный вариант с расширенной поддержкой и функционалом. Mariadb - это одна из самых быстрорастущих субд со множеством плагинов, однако ещё не имеющая широкой поддержки сторонним программным обеспечением, как другие СУБД и количеством литературы на русском языке, однако является полностью совместимым с
MySQL продуктом. Является довольно безопасным и быстрым продуктом, однако стабильность ещё не так высока, как у СУБД уже давно присутствующих на рынке. Часто рассматривается как вариант альтернативный СУБД MySQL. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://mariadb.org.
31
DB2
Рис. 11. База данных DB2 в интерфейсе EMS SQL Query 2007
Платная СУБД от компании IBM, имеющая возможности nosql, читающая json и xml-файлы. Является кроссплатформенным решением, имеет множество документации и литературы, может быть размещено в облачном хранилище, на физическом сервере, или же и там, и там одновременно. Базовая поддержка доступна только в течение трех лет; после этого, вы должны заплатить за это. Подходит для: крупных организаций, которые делают имеют много ресурсов и обрабатывают большие базы данных. Техническая документация и ссылки для скачивания доступны на официальном сайте: https://www.ibm.com/analytics/us/en/db2/.
Из рассмотренных СУБД для решения задач торговой организации была выбрана MySQL. MySQL разработал Михаэль Видениус (Michael
Widenius, monty@analytikerna.se), она является небольшой и быстрой реляционной СУБД, основанной на традициях Hughes Technologies Mini SQL
(mSQL).
Реляционные модели СУБД характеризуются простотой структуры данных, устранением избыточности, удобным для пользователя табличным
32 представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами.
СУБД MySQL предоставляет следующие преимущества при её выборе
[20]:
реляционная модель данных;
свободно-распространяемая под лицензией GNU GPL 2;
хорошо адаптирована для веб-приложений;
имеет хорошую базу технической документации и литературы;
является активно развивающимся продуктом с большим опытом;
большое количество специалистов на рынке труда;
множество плагинов и отличная интеграция в другое программное обеспечение для веб-приложений;
низкие требования к ресурсам аппаратного обеспечения.
Важный этап проектирования и разработки базы данных — это создание инфологической и даталогической моделей.
Под инфологической моделью понимают описание предметной области, выполненное с использованием специальных языковых средств, не зависящих от используемых в дальнейшем программных средств (это по существу блок-схема алгоритма создания базы данных).
Цель инфологического моделирования - обеспечение наиболее естественных для человека способов сбора и представления той информации, которую предполагается хранить в создаваемой базе данных. Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).
Требования к инфологической модели:
адекватное отображение предметной области;
непротиворечивость;
33
должна отражать взгляды и потребности всех пользователей системы;
однозначная трактовка моделей;
модель должна быть конечной;
модель должна быть легко расширяемой, то есть иметь возможность ввода новых (удаления) данных без изменения ранее определенных;
должна обладать свойствами композиции и декомпозиции (укреплять базу данных или расщеплять);
должна быть легко реализуемой на ЭВМ;
должна быть независимой от оборудования и языков организации базы данных на ЭВМ.
Даталогическое проектирование — это создание модели, являющейся моделью логического уровня и представляющей собой отражение логических связей между элементами данных. Эта модель строится в единицах допустимых конкретной СУБД. Описание логической структуры с помощью средств СУБД называется схемой. Так как это осуществляется с помощью конкретной СУБД, то модели должны быть описаны на языке описания данных этой СУБД. Такое описание и называют даталогической моделью данных.
База данных состоит из следующих таблиц:
Таблица «Клиенты» - содержит информацию о частных и юридических лицах, которым реализуется товар.
Таблица «Избранные клиенты» - содержит информацию о том, у каких пользователей какие клиенты добавлены в качестве избранных.
Таблица «Поставщики» - содержит информацию об организациях, осуществляющих поставку продукции.
Таблица «Заказы» - заказы, их статус и данные.
Таблица «Товары» - продукт, реализуемый компанией и его свойства.
Таблица «Бренды» - реестр брендов товаров и информации о них.
Таблица «Группы» - группы товаров.
34
Таблица «Конфиг» - содержит основные настройки ИС.
Таблица «Пользователи» - пользователи системы, их свойства и права.
Таблица «Логи» - содержит логи основных действий пользователей.
Таблица «Страницы» - служебная информация о страницах/модулях
ИС.
Таблица «Курс валюты» - таблица хранит актуальный курс валют для вывода на главные страницы ИС и графики.
Таблица «Чат» - содержит сообщения чата.
Таблица «Задачи» - в таблице находятся все данные для осуществления функционала «Задачи».
Для составления даталогической (рис. 13.) и инфологической (рис. 12.) моделей базы данных, было использовано бесплатное специализированное веб-приложение DbDesigner (http://dbdesigner.net).
Рис. 12. Инфологическая модель базы данных
35
Рис. 13. Даталогическая модель базы данных
Как видно из спроектированных моделей базы данных — все таблицы некоторым образом связаны друг с другом. К примеру, в таблицы «Заказы» и
«Избранные клиенты» имеют поля, связывающие их с таблицей «Клиенты» и хотя таблица «Заказы» никак не связывает себя напрямую с таблицей
«Избранные клиенты», через общую для них таблицу «Клиенты» выстраивается характерная для реляционных СУБД связь. Таким образом связываются между собой и все остальные таблицы.
Таким образом, создана уже ставшая традиционной реляционная база данных, которая имеет зависимости между данными, но при этом избегает избыточности. Если системе необходимо показать заказы, то оно запрашивает данные о них из таблицы «Заказы» при этом, не запрашивая список клиентов и список товаров, что можно сделать при просмотре конкретного заказа, но и в этом случае запрашивать из базы данных придётся не все товары и всех клиентов, а только определённых, относящихся к данному заказу.
В качестве программного обеспечения на сервер были установлены
СУБД mysql-server и mysql-client (https://dev.mysql.com/downloads/mysql/)