Диплом: Разработка WEB-представительства студии корпусной мебели "ВК МЕБЕЛЬ"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
56
нижних уровнях иерархии; ориентированность на определенный тип (разрез)
запроса. Сетевые модели графически отображаются в виде графа. Вершинам
графа соответствуют составные единицы информации (записи). Экземпляры
записей образуют файлы. Структура записи может быть иерархической или
линейной в зависимости от системы. Между парой типов записей может быть
объявлено несколько связей, имена и направления связей должны быть четко
обозначены. Недостатками являются: сложность, а также неудобство
навигационного доступа.
Реляционная база данных - это множество отношений. Реляционная модель
данных характеризуется следующими моментами:
информационная конструкция - отношения с двухуровневой
конструкцией;
допустимые операции - выборка, проекция, соединение и другие;
ограничения - функциональные зависимости между атрибутами
отношения или состояние класса объектов на некоторый момент
времени.
Реляционная модель основана на математической логике и является
простейшей и наиболее привычной формой представления данных в виде
таблицы. Строка таблицы эквивалентна записи файла базы данных, а колонка
- полю записи. Доступ к элементу данных осуществляется посредством связи
требуемой строки (записи) с требуемой колонкой (полем). Достоинством
реляционной модели является сравнительная простота инструментальных
средств ее поддержки, недостатком - жесткость структуры данных
(например, невозможность задания строк таблицы произвольной длины) и
зависимость скорости ее работы от размера базы данных.
Преимущества использования реляционных базы данных состоит в
следующем:
57
простота - в реляционной модели данных существует всего одна
информационная конструкция, которая формализует табличное
представление данных, привычное для пользователей;
теоретическое обоснование - наличие теоретически обоснованных
методов нормализации отношений позволяет получать базы данных с
заранее заданными свойствами (в основном, с гарантией минимальной
избыточности представления данных);
независимость данных - когда необходимо изменить структуру
реляционной базы данных, то это приводит к минимальным
изменениям в программном продукте.
В данном дипломном проекте используется реляционная модель, так как со
структурной точки зрения реляционные модели являются более простыми и
однородными, чем сетевые и иерархические модели. Реляционные модели
являются наиболее распространенными и более подходят для решения
поставленных в дипломе задач.
В качестве СУБД выбираем PostgreSQL, свободная объектно-реляционная
система управления базами данных. Существует в реализациях для
множества UNIX-подобных платформ, включая AIX, различные BSD-
системы, HP-UX, IRIX, Linux, macOS, Solaris/OpenSolaris, Tru64, QNX, а
также для Microsoft Windows.
Функции являются блоками кода, исполняемыми на сервере, а не на клиенте
БД. Хотя они могут писаться на чистом SQL, реализация дополнительной
логики, например, условных переходов и циклов, выходит за рамки SQL и
требует использования некоторых языковых расширений. Функции могут
писаться с использованием одного из следующих языков:
Встроенный процедурный язык PL/pgSQL, во многом аналогичный
языку PL/SQL, используемому в СУБД Oracle;
Скриптовые языки — PL/Lua, PL/LOLCODE, PL/Perl, PL/PHP,
PL/Python, PL/Ruby, PL/sh, PL/Tcl, PL/Scheme;
58
Классические языки — C, C++, Java (через модуль PL/Java);
Статистический язык R (через модуль PL/R).
В данном дипломном проекте функции пишутся с использование
скриптового языка программирования PL/Ruby.
PostgreSQL допускает использование функций, возвращающих набор
записей, который далее можно использовать так же, как и результат
выполнения обычного запроса.
Функции могут выполняться как с правами их создателя, так и с правами
текущего пользователя.
Иногда функции отождествляются с хранимыми процедурами, однако между
этими понятиями есть различие. С девятой версии возможно написание
автономных блоков, которые позволяют выполнять код на процедурных
языках без написания функций, непосредственно в клиенте.
У PostgreSQL множество возможностей. Созданный с использованием
объектно-реляционной модели, он поддерживает сложные структуры и
широкий спектр встроенных и определяемых пользователем типов данных.
Он обеспечивает расширенную ёмкость данных и заслужил доверие
бережным отношением к целостности данных.
Информационное обеспечение проекта заключается в трудоёмкой работе по
переводу в электронный вид всевозможных описаний и внесение проектных
работ, которыми необходимо наполнить страницы каталога веб-сайта.
Основным исходным документов на разработку информационной системы
является техничесекое задание. В котором присутствует подрбная
информация по реализации и внедрении проекта, а также указаны сроки,
стоимости и другие показатели. Результирующими документами является
ряд документов: ведомости, отчёты, таблицы, диаграммы, графики. Для
обычного пользователя на сайте представлена лишь одна экранная форма –
это форма обратной связи, в которой представлены следующие поля для
ввода информации - имя пользователя, адрес электронной почты, тема
59
сообщения и текст сообщения. Результатом обработки этой экранной формы
является информация о пользователе, возможно это вопрос об услугах
компании или коммерческое преддложение, тем не менее информация
поступает на электронную адрес почты компании. Откуда информация
может храниться как в электронном варианте, так и отправить на печать.
Для пользователей с правами администратора представлен дополнительный
перечень экранных форм, в административной панели сайта. Список
наименований доступных экранных форм: Пользователи (добавление,
редактирование, удаление), Категории (основные функции), Слайды
(основные функции), Проекты (основные функции). В перечень функционала
также входит возможность выгрузки информации, результаты перечня
экранных форм в различных форматах, по умолчанию представлен формат
csv.
1.4.2 Обоснование проектных решений по программному обеспечению
Любое ПО подразделяется на общее и функциональное.
Общее (базовое, системное) ПО включает в себя операционные системы,
системы программирования и сервисные программы, которые предназначены
для управления работой процессора, организации доступа к памяти,
периферийным устройствам и сети, для управления файлами, запуска
прикладных программ и управления процессом их выполнения, а также для
обеспечения выполнения программ на языках высокого уровня. В их
окружении, под их воздействием функционируют прикладные программы. В
комплекс программ функционального (прикладного, специального) ПО
входят уникальные программы и функциональные пакеты прикладных
программ (ППП). Функциональное ПО предназначено для автоматизации
решения функциональных задач отдела, а также связанных с ними некоторых
оригинальных задач.
60
Для решения поставленной задачи, а точнее, для разработки веб-сайта студии
корпусной мебели «ВК Мебель» был задействован следующий перечень
программного обеспечения и технологии:
Операционная система Linux Ubuntu
СУБД PostgreSQL
Язык программирования Ruby
Framework Ruby on Rails на языке программирования Ruby
IDE RubyMine, текстовый редактор Sublime Text 3
Система контроля версий GIT
Terminal
Heroku — облачная PaaS-платформа
CSS, HTML, Framework Bootstrap 3
JavaScript, jQuery, CoffeeScript
Веб сервера Nginx и Apache
Linux Ubuntu.
Ubuntu является бесплатной альтернативой коммерческим системам.
Дистрибутив обладает мощной функциональностью. Он не требователен к
оборудованию и может использоваться открыто без «пиратских» программ,
не чувствителен к большинству вирусов. При этом он достаточно гибок,
обладает богатым набором приложений и может быть настроен под
различные задачи. Также можно отметить удобство настройки данного
дистрибутива и качественную поддержку со стороны сообщества,
позволяющую решать возникающие сложности. Данные качества делают его
одним из наиболее популярных Linux-дистрибутивов.
Необходимо отметить, что организация рабочего пространства для веб-
разработки на базе Ubuntu не влечет значительных материальных затрат.
Кроме того, установленная ОС может соседствовать на одном компьютере с
Windows или другой операционной системой.
61
Нельзя сказать какая система хуже или лучше, каждый делает выбор в свою
пользу, выбирая то программное обеспечение, с которым ему комфортно и
удобно работать, мой выбор для настройки веб окружения и разработки в
пользу linux ubuntu.
PostgreSQL.
PostgreSQL — это популярная свободная объектно-реляционная система
управления базами данных. PostgreSQL базируется на языке SQL и
поддерживает многочисленные возможности.
Преимущества PostgreSQL:
поддержка БД неограниченного размера;
мощные и надёжные механизмы транзакций и репликации;
расширяемая система встроенных языков программирования и
поддержка загрузки C-совместимых модулей;
наследование;
легкая расширяемость.
Текущие ограничения PostgreSQL:
Нет ограничений на максимальный размер базы данных
Нет ограничений на количество записей в таблице
Нет ограничений на количество индексов в таблице
Максимальный размер таблицы — 32 Тбайт
Максимальный размер записи — 1,6 Тбайт
Максимальный размер поля — 1 Гбайт
Максимум полей в записи250—1600 (в зависимости от типов полей)
Особенности PostgreSQL:
Функции в PostgreSQL являются блоками кода, исполняемыми на сервере, а
не на клиенте БД. Хотя они могут писаться на чистом SQL, реализация
дополнительной логики, например, условных переходов и циклов, выходит
за рамки собственно SQL и требует использования некоторых языковых
расширений. Функции могут писаться с использованием различных языков
62
программирования. PostgreSQL допускает использование функций,
возвращающих набор записей, который далее можно использовать так же,
как и результат выполнения обычного запроса. Функции могут выполняться
как с правами их создателя, так и с правами текущего пользователя. Иногда
функции отождествляются с хранимыми процедурами, однако между этими
понятиями есть различие.
Триггеры в PostgreSQL определяются как функции, инициируемые DML-
операциями. Например, операция INSERT может запускать триггер,
проверяющий добавленную запись на соответствия определённым условиям.
При написании функций для триггеров могут использоваться различные
языки программирования. Триггеры ассоциируются с таблицами.
Множественные триггеры выполняются в алфавитном порядке.
Механизм правил в PostgreSQL представляет собой механизм создания
пользовательских обработчиков не только DML-операций, но и операции
выборки. Основное отличие от механизма триггеров заключается в том, что
правила срабатывают на этапе разбора запроса, до выбора оптимального
плана выполнения и самого процесса выполнения. Правила позволяют
переопределять поведение системы при выполнении SQL-операции к
таблице.
Индексы в PostgreSQL следующих типов: B-дерево, хэш, R-дерево, GiST,
GIN. При необходимости можно создавать новые типы индексов, хотя это
далеко не тривиальный процесс.
Многоверсионность поддерживается в PostgreSQL возможна
одновременная модификация БД несколькими пользователями с помощью
механизма Multiversion Concurrency Control (MVCC). Благодаря этому
соблюдаются требования ACID, и практически отпадает нужда в
блокировках чтения.
Расширение PostgreSQL для собственных нужд возможно практически в
любом аспекте. Есть возможность добавлять собственные преобразования
типов, типы данных, домены (пользовательские типы с изначально
63
наложенными ограничениями), функции (включая агрегатные), индексы,
операторы (включая переопределение уже существующих) и процедурные
языки.
Наследование в PostgreSQL реализовано на уровне таблиц. Таблицы могут
наследовать характеристики и наборы полей от других таблиц
(родительских). При этом данные, добавленные в порождённую таблицу,
автоматически будут участвовать (если это не указано отдельно) в запросах к
родительской таблице.
Использование в веб-проектах:
В разработке сайтов и веб-приложений PostgreSQL используется несколько
реже, чем MySQL, но всё же эта пара с заметным отрывом опережает по
частоте использования остальные системы управления базами данных.
Большинство фреймворков (например, Ruby on Rails, Yii, Symfony, Django)
поддерживают использование PostgreSQL.
Выбор веб-фреймворка.
При разработке веб-проектов мы сталкиваемся со множеством проблем,
которые уже были решены и которые повторяются в других проектах.
Большинство проблем, начиная от оформления обычной кнопки до работы с
базами данных и проектирования структуры приложения, нам придется
решать многократно. Решение таких проблем во время разработки занимает
много времени, несмотря на то, что уже знаком алгоритм решения. Для того,
чтобы ускорить процесс разработки в большинстве проектов используются
фреймворки.
Фреймворк – это группы готовых библиотек, веб-компонентов и моделей,
предназначенные для облегчения решения повседневных задач в разработке
веб-проектов. Используя веб-фреймворк, можно значительно упростить
работу, необходимую для построения веб-приложений. При использовании
фреймворков у всех проектов будет одинаковая структура папок и файлов.
64
Это позволяет разработчикам быстро разобраться с чужими проектами,
также помогать избежать недопонимания при командной разработке.
Большинство фреймворков используют паттерн проектирования MVC
(model-view-controller). Паттерн проектирования – это повторимая
организация кода или компонентов, решающая некоторую проблему
проектирования, возникшую в рабочем решении. Шаблон MVC является
общим в программировании веб-приложений и разделяет приложение на три
части. Первая часть представляет собой бизнес-процессы (модель). Вторая
говорит приложению, что делать с потоками данных (контроллер). А с
помощью третьей части создаются HTML-страницы (вид). Многие веб-
фреймворки, навязывая шаблон MVC, позволяют организовать код так, что
изменения в модели, виде или контроллере оказывают меньшее воздействие
на другие элементы приложения, что в принципе хорошо.
Существует множество фреймворков, написанных на разных языках
программирования. Несмотря на то, что принцип работы этих фреймворков
одинаков, их синтаксис отличается. Прежде чем начинать работать с
конкретным проектом, разработчик должен знать синтаксис и особенности
языка программирования, на котором написан фреймворк.
Фреймворк Zend является свободным программным продуктом,
разработанным на языке программирования PHP. Работа данного
фреймворка основана на принципах паттерна проектирование MVC.
Фреймворк Zend написан на PHP и является полностью объектно-
ориентированным.
В данном фреймворке используется архитектура «слабого связывания», суть
которого заключается в минимальной зависимости между частями проекта.
Он также работает с различными СУБД и поддерживает протоколы mbox,
Maildir, POP3, IMAP4 для формирования, отправки и получение почтовых
сообщений.
Фреймворк Yii – это высокоэффективный фреймворк, написанный на языке
программирования PHP для быстрой разработки крупных веб-приложений.
65
Фреймворк является строго объектно-ориентированным, поэтому
разработчик, использующий его должен знать принцип ООП.
Возможности фреймворка Yii:
высокая производительность относительно других фреймворков,
написанных на PHP;
работает по принципу MVC;
поддержка интернационализации;
кэширование страниц и отдельных фрагментов;
перехват и обработка ошибок;
встроенный алгоритм вариация форм;
аутентификация и авторизация;
использование AJAX и интеграция с jQuery;
поддержка тем оформления для их лёгкой смены;
возможность подключения сторонних библиотек;
миграции базы данных;
автоматическое тестирование;
поддержка REST.
Фреймворк Ruby on Rails – это фреймворк, разработанный на языке
программирования Ruby. Ruby on Rails работает по архитектуре MVC и
является свободным программным продуктом.
Язык программирования Ruby не для новичков, и для того чтобы научится
программировать на Ruby, программисту необходимо иметь хорошие знания
других языков и опыт программирования. Из-за этого Ruby on Rails
программистом может стать только опытный вер-разработчик с большим
запасом знаний, достаточным опытом разработки проектов на любых других
языках, с пониманием принципов программирования и прекрасным
пониманием веб–разработки в целом.
Основным преимуществом языка программирования Ruby и фреймворка
Ruby on Rails считается скорость разработки. Обычно скорость разработки

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

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