Диплом: Адаптивная динамическая информационная система управления сайтом

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
5
СОДЕРЖАНИЕ
ВВЕДЕНИЕ .................................................................................................................. 7
ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ И ЭТАПЫ ПРОЕКТИРОВАНИЯ
ДИНАМИЧЕСКИХ ИНФОРМАЦИОННЫХ СИСТЕМ УПРАВЛЕНИЯ
САЙТОМ .................................................................................................................... 12
1.1. Обзор и анализ подобранной по теме исследований научной литературы,
используемые понятия и термины ....................................................................... 12
1.2. Основные этапы проектирования информационных систем управления
сайтом ..................................................................................................................... 24
1.3. Классификация и особенности построения информационных систем
управления сайтами .............................................................................................. 30
ГЛАВА 2. АДАПТИВНАЯ ДИНАМИЧЕСКАЯ ИНФОРМАЦИОННАЯ
СИСТЕМА УПРАВЛЕНИЯ САЙТОМ .................................................................. 38
2.1. Архитектура и основные сущности информационных систем управления
сайтами ................................................................................................................... 38
2.2. Примеры реализации информационных систем управления сайтами ...... 43
2.3. Достоинства и недостатки существующих информационных систем
управления сайтами .............................................................................................. 50
ГЛАВА 3. РАЗРАБОТКА ДИНАМИЧЕСКОЙ ИНФОРМАЦИОННОЙ
СИСТЕМЫ УПРАВЛЕНИЯ САЙТОМ ................................................................. 59
3.1. Разработка серверной части информационной системы управления
сайтом ..................................................................................................................... 59
3.1.1. Разработка каркаса системы управления сайтом ............................. 60
3.1.2. Реализация системы доступа к базе данных ..................................... 62
3.1.3. Реализация безопасности системы управления сайтом, модели
данных, репозитории ..................................................................................... 63
6
3.1.4. Реализация внутренней логики приложения .................................... 68
3.2. Разработка клиентской части информационной системы управления
сайтом ..................................................................................................................... 69
3.3. Организация тестирования информационной системы управления сайтом
.................................................................................................................................. 73
ЗАКЛЮЧЕНИЕ ........................................................................................................ 77
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ ................................................ 81
ПРИЛОЖЕНИЯ ........................................................................................................ 84
7
ВВЕДЕНИЕ
На нынешнем этапе развития человечества происходит бурное развитие
информационных технологий, что предоставляет человечеству
высокоэффективную возможность усиления своей интеллектуальной
деятельности и продуктивности. В настоящее время весьма сложно представить
себе область деятельности человека, не связанную с использованием
информации, представленной на разнообразных веб-сайтах, размещенных в
сети Интернет. Это могут быть как социальные сети, предназначенные для
развлечений и общения, так и образовательные ресурсы, ресурсы,
предназначенные для развития бизнеса, личные страницы, средства массовой
информации. Так как со времени появления всемирной паутины количество
веб-ресурсов постоянно увеличивалось, то появление инструментов,
предназначенных для упрощения управления содержимым веб-сайтов, являлось
только вопросом времени. С их же появлением стало возможным создание и
поддержка веб-ресурсов без владения специфическими технологиями
разработки программного обеспечения (такими как языки программирования,
среды и платформы разработки). Так же благодаря как модульности самих
систем, так и возможности самостоятельного создания модулей, системы
управления содержимого стали незаменимы в сетях предприятий, так как при
их использовании уже нет необходимости содержать внушительный штат
программистов, что положительно сказывается на финансовом климате
предприятия.
Система управления содержимым, создаваемая в рамках данной
дипломной работы за счет специфического програмного обеспечения (сервера
баз данных, сервера приложений) нацелена скорее на применение в рамках
предприятий, но благодаря несложном процессе конфигурирования и развертки
может использоваться и в других областях, включая обыкновенных
пользователей.
8
Широко известно, что в рамках предприятий хорошим тоном является
приведение всех информационных систем в однородное состояние, что
подразумевает как использование минимального количества програмного
обеспечения, так и использования одного програмного продукта для
нескольких целей. Это позволяет снизить стоимость информационных систем
как за счет отказа от покупок новых лицензий, так и за счет экономии на
высококвалифицированных кадрах, которые должны заниматься их
поддержкой и администрированием. Так же стоит добавить то, что гомогенная
среда положительно влияет на стабильность и производительность
информационных систем за счет большей совместимости програмного
обеспечения, что положительно влияет на финансовый климат предприятия за
счет уменьшения времени простоя инфраструктуры по вине програмного
обеспечения. Довольно хорошим примером может служить использование
экземпляра СУРБД Microsoft SQL Server не только как сервер баз данных для
1С, но и как СУРБД для обеспечения работы таких сервисов, как Active
Directory, Microsoft Exchange Server, и других. Из этого следует, что системы
управления содержимым уровня предприятия должны иметь возможность
работы как минимум с самыми распространенными СУРБД, такими, как
например MS SQL Server, Oracle DB, MySQL, PostgreSQL, причем желательно,
что бы система могла переключаться между ними.
Большим плюсом любого програмного продукта является открытость и
свободность использования его исходных кодов, что в соответствии с
лицензией позволяет использовать программное обеспечение бесплатно, без
срока использования и с отсутствием учета цены как на количество рабочих
мест, так и на другие параметры ценообразования, как в большинстве
коммерческих продуктах. В плюсы свободного програмного обеспечения
можно добавит то, что открытый исходный код позволяет любому
разработчику просматривать, изменять и изучать программный код продукта
без участия разработчика. Это позволяет увеличить доверие пользователей к
9
нему (за счет того, что при доступе к исходным кодам продукта всегда можно
убедиться в отсутствии зловредного или нежелательного функционала), и при
наличии заинтересованного сообщества значительно повысить его качество.
Важной особенностью свободного ПО, является так же то, что в большинстве
случаев оно ничуть не уступает своим коммерческим аналогам как по
производительности, так и по надежности и функциональности.
Отдельно стоит описать способы получения дохода при создании
свободного и бесплатного програмного продукта. Первым способом является
доработка системы под специфические нужды компании-заказчика. За счет
модульности системы не представляет особой сложности добавить
необходимую заказчику функциональность, причем затраты времени на
доработку не сравнимы с написанием нового програмного продукта. Вторым
способом является поддержка продуктов на основе ядра системы управления
содержимым. Это объясняется тем, что разработчик лучше всего понимает и
ориентируется в своем продукте. Третий способ – разработка дополнительных
платных модулей для системы управления содержимым. Несмотря на
свободность системы, всегда будет существовать часть пользователей, для
которой будет гораздо удобнее и дешевле купить готовые модули, вместо того
чтобы тратить усилия или финансы на их разработку, обновления и поддержку.
На данном месте уже возможно описать актуальность выбранной для
данной дипломной работы темы, которая заключается в том, что на данный
момент в корпоративном секторе имеется крайне мало свободных систем
управления содержимым, которые целиком удовлетворяют следующим
вышеописанным требованиям:
Система управления содержимым не должна создавать сложности
конечным пользователям при инсталляции и конфигурировании.
Должна иметь возможность работы с системами управления базами
данных корпоративного уровня, таких как Microsoft SQL Server и
Oracle DB, причем с возможностью их переключения.
10
Система должна иметь открытый программный код, и быть
бесплатной.
Система должна иметь возможность монетизации за счет
поддержки, создания нестандартных конфигураций, модулей и
расширений.
Объектом исследования данной работы являются информационные
системы, а предметом исследования - адаптивные динамические
информационные системы управления сайтами.
Целью данной выпускной квалификационной работы является
реализация проекта адаптивной динамической информационной системы
управления сайтом (англ. Content Management System, CMS).
Основными задачами данной выпускной квалификационной работы являются:
1) Подбор и изучение необходимой для выполнения задачи литературы.
2) Формирование требований к проекту информационной системы
управления сайтом.
3) Подбор необходимых для разработки ИС инструментов и технологий.
4) Описание архитектуры информационной системы управления сайтом.
5) Разработка ядра адаптивной динамической информационной системы
управления сайтом.
При написании выпускной квалификационной работы использовались
научные труды и литература [1], [4], и других авторов, интернет ресурсы
производителей библиотек.
Практическая значимость работы заключается в возможности
использования данного приложения для создания и управления содержимым
веб ресурсов как в рамках предприятий, так и рядовыми пользователями.
Данная выпускная квалификационная работа состоит из введения, трех
глав, заключения, списка использованной литературы и приложений.
11
Введение раскрывает актуальность выбранной темы, объект, предмет,
цели, задачи и способы исследования, а также раскрывает практическую и
теоретическую важность данной работы.
В первой главе данной выпускной квалификационной работы
рассматриваются основные понятия и этапы проектирования динамических
информационных систем управления сайтами, дается обзор используемой
научной литературы, основных понятий и терминов, приводится
классификация информационных систем и особенности их построения. Во
второй главе данной работы описываются основные сущности и архитектура
систем управления содержимым, подробно описаны самые популярные из
существующих на рынке систем, такие как 1С Битрикс, Joomla!, WordPress,
MODX, Drupal, а также произведены исследование и подробный анализ их
основных преимуществ и недостатков. В третьей главе работы описывается
процесс разработки каркаса приложения, серверной и клиентской части,
доступа с данным, организации безопасности и тестирования адаптивной
динамической информационной системы управления сайтом.
В заключительной главе подводятся общие итоги исследования по теме
выпускной квалификационной работы, формируются финальные выводы,
описываются проблемы выполнения, а также предложения и планы развития
объекта исследования данной работы. В приложениях представлены основные
исходные коды системы управления содержимым и снимки экрана
работающего экземпляра системы.
12
ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ И ЭТАПЫ
ПРОЕКТИРОВАНИЯ ДИНАМИЧЕСКИХ
ИНФОРМАЦИОННЫХ СИСТЕМ УПРАВЛЕНИЯ САЙТОМ
1.1 Обзор и анализ подобранной по теме исследований научной
литературы, используемые понятия и термины
Для выполнения поставленной цели данной работы очень важен выбор
современных, правильных и полезных литературных источников по
используемым технологиям. Исходя из выбранных для решения задачи
технологий и инструментов, были выбраны следующие основные литературные
источники:
Книга [4] описывает базовые понятия языка программирования Java,
такие, как типы данных, переменные, массивы, операции, управляющие
операторы. Так же описаны основы объектно-ориентированного
программирования, использование методов, классов и интерфейсов. В книге
присутствуют краткие сведения об использовании многопоточного
программирования и обработки исключений в Java. Книга описывает
последнюю на данный момент редакцию платформы Java 8, поэтому в ней
описаны некоторые нововведения, особо интересными которыми являются
лямбда выражения и потоки для работы с коллекциями (stream). В целом книга
оставляет хорошее впечатление, несмотря на некоторую лаконичность в подаче
материала, особенно в части описания работы с веб-технологиями.
В книге [3] дана вся необходимая информация для разработки, отладки и
запуска приложений на платформе Java. Так же в ней представлены
практические приемы использования конструкций объектно-ориентированного
языка Java, графической библиотеки Swing, работы со звуком, печати и
способы локализации программ. В книге приведены описания нововведений
Java Standard Edition 7, такие, как двоичная запись чисел, строковые варианты
разветвлений, "ромбовидный оператор", Native Input Output 2 (NIO2), средств
многопоточности. Также дано подробное изложение последней версии
13
спецификации сервлетов, технологии JSP, библиотек тегов JSTL. Приведена
подробная справочная информация о классах и методах Core Java API 7. Из-за
простоты подачи материала книга должна хорошо подойти начинающим
изучение языка программирования Java.
В книге [1], подробно описана платформа программирования Java
Enterprise Edition 7 набора технологий, спецификаций и документации,
применяющихся для разработки приложений для средних и крупных
предприятий. В книге присутствует обзор технологии Java EE и входящих в нее
компонентов, таких как Java Persistence API (JPA), Java Server Faces (JSF), Java
Message Services (JMS), а также веб-служб SOAP и RESTful. Данная книга дает
понимание таких понятий, как бизнес логики и модели приложения,
презентации и представления, что необходимо при разработке и поддержке
приложений корпоративного уровня. Так же книга весьма полезна для
понимания фреймворка Spring MVC в дальнейшем.
Книга [2] описывает одно из самых существенных нововведений в Java 8
лямбда выражения. Лямбда выражения представляют из себя компактные
способы передачи поведения из одного места программы в другое. Лямбда
выражения позволяют сделать программный код компактнее, и гораздо более
удобочитаемым. В книге подробно дано описание понятия лямбда выражений,
описана работа с потоками, коллекциями и коллекторами, использование
параллелизма, тестирование, отладка и рефакторинг приложения. С учетом
того, что лямбда выражения стремительно набирают популярность, эта книга
полезна для сохранения общего уровня знаний программистов.
В книге [15] даны основные понятия технологии Веб-сервисов,
реализация технологии Web-сервисов платформы Java и таких Java-стеков Веб-
сервисов как Metro, СXF и Axis2. В данной книге собрана наиболее полная
информация по данной теме и при разработке Веб-сервисов она очень полезна
как справочник. Так же в книге присутствует значительное количество “живых”
14
примеров, с подробным описанием кода, тегов и конфигураций, что
значительно улучшает их понимание.
Книга [5] описывает спецификацию Java Enterprise Edition версии 6 и
такие технологии как Java Servlet, JPA, JSF и дополнения JAX-RS и CDI.
Особенно эта книга интересна тем, что в ней подробно описаны вопросы
администрирования, конфигурирования и использования сервера приложений
Glassfish версии 3 для развертывания корпоративных приложений. Так же стоит
отметить низкий порог вхождения в описываемый материал, то есть от
читающего не требуется никаких знаний о платформе Java EE. По этой причине
данную книгу можно рекомендовать в качестве отличного учебного пособия.
Единственный недостаток данной книги, это описание несколько устаревшей
спецификации Java EE, версий библиотек, и серверов приложений.
В [6] рассматривается использование паттернов проектирования как в
теории, так и на примерах реальных прикладных задач. Книга знакомит
читающего как с фундаментальными, так и с наиболее передовыми
возможностями Java Enterprise Edition 7, в ней досконально рассматривается
каждый из паттернов и демонстрируются их применение при решении
прикладных задач. Особую ценность данной книге придает актуальность
подаваемой информации.
Книга [13] посвящена платформе Spring Framework версии 3.1. Несмотря
на то, что описывается несколько устаревшая версия платформы (на данный
момент актуальна четвертая ветка), данная книга позволяет получить
представление об общем устройстве платформы. Недостатком книги является
желание автора описать составные части платформы и технологии (например,
Spring Integration, Spring Roo, Spring Web Flow) в слишком общем виде, что
делает ее скорее обзорной, так как даже для начала их использования в любом
случае придется использовать дополнительные литературные источники. Такой
подход автора кажется несколько странным, потому что из названия книги не

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

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