Дипломная работа




Скачать 216.09 Kb.
НазваниеДипломная работа
Дата публикации29.07.2013
Размер216.09 Kb.
ТипДиплом
lit-yaz.ru > Информатика > Диплом



Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Новосибирский Государственный Университет

Факультет информационных технологий

Кафедра систем информатики




Дипломная работа


РАЗРАБОТКА ВНЕШНЕЙ СИСТЕМЫ УПРАВЛЕНИЯ СОДЕРЖИМЫМ САЙТОВ

Анисимов А.О.
Руководители:

канд. физ.-мат. наук, доц. Васючкова Татьяна Сергеевна,

ген. директор ООО “Интернет Сервис” Семёнов Илья Аркадьевич.

_____________________________

Новосибирск – 2008

ОГЛАВЛЕНИЕ

ОГЛАВЛЕНИЕ 3

ВВЕДЕНИЕ 4

^ 7.ОПИСАНИЕ ПРОЕКТА 5

1.1.Постановка задачи 5

1.2.Особенности системы 5

8.ПОЛЬЗОВАТЕЛИ И ИХ РОЛИ 8

1.3.Вход в режим редактирования 8

1.4.Выбор элемента страницы 8

1.5.Изменение элемента страницы 9

1.6.Сохранение изменений 10

1.7.Отмена изменений 10

^ 9.АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА 11

1.8.Архитектура клиент-сервер 11

1.9.Модификация прототипа 13

10.ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА 15

1.10.Enterprise Java Beans 3 15

1.11.JavaScript 15

1.12.MySQL 16

^ 11.ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 17

1.13.Основные проблемы реализации 17

1.14.Реализация серверной части 21

1.15.Реализация клиентской части 21

ГЛОССАРИЙ 23

ЗАКЛЮЧЕНИЕ 24

^ СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 25

ВВЕДЕНИЕ

Существует проблема в том, что многие сайты не имеют достаточных средств управления своим содержимым. У владельцев сайта часто возникает необходимость изменения той или иной информации, изменение которой не было предусмотрено при создании сайта. В таком случае владельцу приходится прибегать к услугам разработчиков, что влечет за собой дополнительные расходы. Хотелось бы, чтобы владельцы сайта, не имеющие возможность изменить сам сайт, могли бы изменять его содержимое. Данный проект предназначен для решения этой проблемы.

На данный момент проделаны следующие виды работ:

  1. Изучена предметная область.

  2. Проведен анализ требований, рассмотрены аналоги.

  3. Определены границы и необходимые функции системы. Составлена функциональная спецификация.

  4. Рассмотрены несколько вариантов решения проблемы. Определены критерии выбора (независимая от сайта работа системы, визуальное изменение содержимого).

  5. В рамках курсовой работы был создан прототип с ограниченным набором функций.

  6. В текущей работе был проведен анализ созданного прототипа, выявлены преимущества и недостатки, связанные с выбранным вариантом решения. На основе результатов анализа предложена модификация архитектуры приложения.

Сейчас ведется работа над реализацией проектных решений на основе всего вышеперечисленного. В качестве программного средства для реализации серверной части выбрана технология Enterprise Java Beans 3. Для реализации клиентской части используется язык Java Script. Хранение и доступ к данным обеспечивается СУБД MySQL.

  1. ^ ОПИСАНИЕ ПРОЕКТА

1.1.Постановка задачи

Традиционно при разработке сайта в его основу включается механизм управления его содержимым. Этот механизм позволяет изменять ограниченный набор информации на сайте, например ленту новостей, текст статьи, контактную информацию. Довольно часто возникает ситуация, когда человеку, управляющему информацией, необходимо изменить текст, таблицу, изображение, либо другой участок информации, изменение которого не учитывалось при разработке сайта. В таком случае владельцу сайта приходится снова прибегать к услугам разработчиков. На это тратится дополнительное время и бюджет со стороны владельца.

Другой проблемой является отсутствие средств управления информацией на сайтах, с которыми мог бы работать обычный пользователь, не имеющий специальных знаний и навыков в программировании.

Для решения этих проблем передо мной были поставлены задачи:

  • провести анализ проблемы.

  • определить возможные варианты решений и критерии выбора среди вариантов.

  • выбрать наиболее подходящий вариант, пользуясь этими критериями.

  • реализовать выбранное решение в виде программного средства для управления содержимым сайтов.

1.2.Особенности системы

Систем управления содержимым (CMS) существует довольно много. Как сказано выше, эти системы представляют собой основу для будущего сайта. Если возникает необходимость перехода с одной такой системы на другую, то это, как правило, либо изначально не предусмотрено, либо требует специальных технических знаний и необходимости изменения структуры самого сайта.

В отличие от таких систем, данная система не должна быть основой для сайта, вместо этого она должна использоваться как отдельное средство управления информацией. Сайты, с которыми она должна работать, могут иметь какую угодно структуру. Также её отличие в том, что она позволяет изменять любую видимую информацию на сайте. Такой подход имеет следующие преимущества по сравнению с традиционным:

  • Система устанавливается после того, как сайт был создан. Это позволяет не тратить дополнительные усилия на разработку встроенного механизма управления содержимым.

  • У владельца сайта появляется возможность изменять любой блок информации, вне зависимости от того, имеется ли в наличие специальный функционал для изменения или нет.

  • Для такой системы не требуется поддержка со стороны разработчиков, что экономит время и бюджет владельца.

Помимо названных отличий, в предлагаемой системе есть отличие при работе пользователя с интерфейсом. В традиционном варианте пользователь имеет доступ к специальному функционалу на сайте, позволяющему изменять содержимое определённых блоков информации. Как правило, этот функционал, находящийся на отдельной странице, ограничен редактором текста и функцией предварительного просмотра. В разрабатываемой системе пользователю прямо на сайте предлагается выбрать блок информации, которую необходимо изменить. Выбор блока информации и дальнейшее его изменение предполагается в интуитивно понятном для пользователя виде. Таким образом, исчезает необходимость в функции предварительного просмотра. После сохранения изменений, вся новая информация будет доступна посетителям сайта.

В качестве первого этапа работы над проектом был создан прототип системы, который включает следующие функции:

  • Изменение содержимого на отдельной странице сайта. Пользователю предоставляется возможность изменить любой выбранный им элемент страницы. При этом все изменения видны сразу и нет необходимости перезагружать страницу или иметь функцию предварительного просмотра.

  • Для редактирования информации используются стандартные компоненты, позволяющие изменять стиль текста (жирный, наклонный, подчёркнутый), шрифт, размер, выравнивание, отступ, создание маркированного и немаркированного списков, а также вставки и удаления картинок и гиперссылок.

  • Общие элементы страниц, такие как меню, верхняя и нижняя часть, должны рассматриваться как один элемент, и редактироваться один раз. Таким образом, если пользователь изменит один из общих элементов на одной странице, изменения затронут все страницы, содержащие этот элемент.

  • Показ изменений для посетителей сайта. После того как пользователь (редактор) изменит содержимое страницы, и сохранит изменения, обновлённая версия страницы незамедлительно становится доступной посетителям сайта.




  1. ^ ПОЛЬЗОВАТЕЛИ И ИХ РОЛИ

В системе имеются две группы пользователей – редакторы и администраторы. Первые занимаются редактированием информации на страницах сайта. Этим пользователям доступны все функции, перечисленные ниже. Группе администраторов доступен функционал для управления списком пользователей из группы редакторов, а также отслеживания изменений.

Ниже приведены варианты использования системы для пользователей из группы редакторов.

1.3.Вход в режим редактирования

Описание

Пользователь активирует режим редактирования на странице.

Условия

Пользователь открыл страницу сайта с установленной системой управления содержимым.

Событие

Нажатие на иконку CMS в правом нижнем углу экрана.

Порядок выполнения

  1. Рядом с иконкой CMS появляется форма с полями для идентификации (имя пользователя и пароль).

  2. Пользователь вводит необходимую информацию и нажимает кнопку Войти.

  3. Система проверяет введённую информацию. В случае несовпадения с имеющейся информацией выдаётся сообщение об ошибке ввода и повторяется п.2.

  4. К заголовку страницы добавляется текст “(режим редактирования)”.

  5. Курсор изменяется на указатель.

  6. Рядом с иконкой CMS появляются ещё две – Сохранить и Отмена, предназначенные для сохранения и отмены изменений на странице соответственно.

Результаты

Просматриваемая страница переведена в режим редактирования.

Замечания

Форма авторизации может исчезать автоматически, когда пользователь нажал левую кнопку мыши где-либо на странице.
Если пользователь уже авторизован, то шаги 1-3 опускаются.

1.4.Выбор элемента страницы

Описание

Пользователь выбирает элемент страницы для изменения.

Условия

Страница находится в режиме редактирования.

Событие

Пользователь выбирает указателем мыши нужный элемент и нажимает левую кнопку мыши.

^ Порядок выполнения

  1. Всё содержимое страницы блокируется для ввода.

  2. В центре страницы появляется окно с редактором, в который помещается содержимое выбранного элемента. В редакторе представлен стандартный набор функций для изменения содержимого – изменения стиля (жирный, наклонный, подчёркнутый), шрифта, размера, выравнивания, отступа, создания маркированного и немаркированного списков, а также вставки и удаления картинок и гиперссылок. Под редактором находятся две кнопки – Изменить и Отмена для сохранения и отмены изменений соответственно. Также рядом с кнопками находится флажок “Изменить все похожие элементы на сайте” для того чтобы пользователь мог определить текущий редактируемый элемент как общий.

Результаты

Выбранный блок доступен для редактирования.

Замечания

Блокировка страницы осуществляется обычным для оконных приложений способом: окно редактора переводится в т.н. модальный режим, при котором всё, что находится снаружи окна, затеняется. При попытке пользователя обратиться к затенённой области заголовок модального окна мигает, что означает, что это окно необходимо закрыть, прежде чем обращаться к заблокированному содержимому.
Для того чтобы пользователю было легче выбрать нужный элемент для редактирования, при перемещении указателя текущий элемент должен выделятся цветом или бордюром.

1.5.Изменение элемента страницы

Описание

Пользователь изменяет текст выбранного элемента.

Условия

Пользователь выбрал элемент для редактирования.

Событие

Нажата кнопка Изменить в редакторе.

Порядок выполнения

  1. Изменяется содержимое редактируемого элемента на странице.

  2. Закрывается окно редактора.

  3. Снимается блокировка страницы.

Результаты

Пользователь изменил содержимое выбранного элемента. Появилась возможность редактировать другую информацию на странице.

Замечания

Если выбран флажок “Изменить все похожие элементы на сайте”, то на шаге 1 также изменяется содержимое всех элементов страницы, которые имели такое же содержимое, какое было у выбранного элемента до начала редактирования.
При нажатии кнопки Отмена в редакторе выполняются только шаги 2-3.

1.6.Сохранение изменений

Описание

Пользователь сохраняет все изменения на странице.

Условия

Страница находится в режиме редактирования.

Событие

Нажатие на иконку Сохранить в правом нижнем углу экрана.

Порядок выполнения

  1. Все активные элементы страницы, которые выделены для редактирования, снимают выделение.

  2. Скрываются кнопки Сохранить и Отмена в левом нижнем углу экрана.

  3. Пользователю сообщается о начале процесса сохранения.

  4. Вся информация страницы сохраняется на сервере.

  5. Пользователю сообщается о статусе сохранения. Если при сохранении произошли какие-либо ошибки, и страница не сохранена, показывается соответствующее уведомление.

Результаты

Все изменения на странице сохранились и стали видны посетителям сайта; страница вернулась в режим просмотра.

Замечания

В дальнейшем неплохо было бы сделать контроль изменений для каждой страницы с целью фиксировать все изменения и иметь возможность отката после сохранения страницы.

1.7.Отмена изменений

Описание

Содержимое возвращается к исходному варианту.

Условия

Страница находится в режиме редактирования.

Событие

Нажатие на иконку Отмена в правом нижнем углу экрана.

Порядок выполнения

  1. Все активные элементы страницы, которые выделены для редактирования, снимают выделение.

  2. Скрываются кнопки Сохранить и Отмена в левом нижнем углу экрана.

  3. Восстанавливается вся информация на странице, какая была на момент начала редактирования.

Результаты

Все изменения на странице отменены; страница вернулась в режим просмотра.

Замечания

Для того чтобы ещё раз изменить содержимое страницы, пользователю понадобится повторить действия из п. 5.2.

  1. ^ АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА

1.8.Архитектура клиент-сервер

Как и большинство веб-приложений, система управления веб-содержимым (CMS) имеет архитектуру клиент-сервер. Серверная часть системы имеет доступ к базе данных, и выполняет функции обработки и хранения данных приложения. Клиентская часть системы – это набор программных модулей, исполняемых на странице сайта. Клиент и сервер взаимодействуют друг с другом как показано на рис. 1.



Рис. 1. Схема взаимодействия частей приложения.

Принцип работы всего приложения выглядит следующим образом. При обращении к странице сайта запрос перенаправляется на CMS сервер, который в данном случае используется как прокси-сервер. CMS сервер получает оригинальное содержимое сайта, обрабатывает его, вставляет новую информацию, которая была изменена пользователем, и возвращает содержимое клиенту (браузеру). При вставке нового содержимого контент-сервер также добавляет специальный программный модуль, исполняемый на клиенте. Этот программный модуль создаёт на странице функционал, необходимый для редактирования и последующей замены нового содержимого. Также этот модуль может осуществлять дополнительные действия, например, регулярно опрашивать сервер об изменениях. Схема работы всей системы показана на рис. 2.



Рис. 2. Схема работы приложения.

В итоге программный модуль, выполняемый на странице сайта, реализует несколько функций. Какие-то из этих функций имеют наибольший приоритет, и должны выполниться в первую очередь. Остальные функции могут зависеть от результатов её выполнения. Между собой функции практически не связаны. Поэтому весь программный модуль спроектирован так, чтобы максимально разделить выполняемые функции, и осуществить возможность изменять и дополнять набор этих функций. Для этого использовано понятие общая шина данных, и взаимодействие всех функции, включая ядро системы, организовано посредством этой шины (рис. 3). Работа с шиной представляется в виде подписки и публикации событий, которые происходят в системе. Функция-подписчик определяет набор событий, на которые она реагирует. Все функции, включая ядро системы, могут публиковать свои события для их обработки другими функциями. Таким образом организовано событийное управление всей клиентской частью приложения в целом.



Рис. 3. Схема взаимодействия посредством общей шины данных.

1.9.Модификация прототипа

При реализации прототипа функция замены содержимого была перенесена на клиентскую часть, что имеет свои достоинства и недостатки. Сравнение такого подхода с текущим приведено в табл. 1. Из очевидных плюсов нового подхода стоит выделить перенос вычислительных затрат с клиента на сервер, возможность кеширования результатов, возможность распараллеливания вычислений и обычная с точки зрения посетителя работа сайта. Из явных минусов имеется необходимость доставлять содержимое клиенту посредством контент-сервера, а не напрямую. Используя метод экспертной оценки, было принято решение перенести функцию замены содержимого на серверную часть.




Замена содержимого на клиенте

Замена содержимого на сервере

Доставка содержимого клиенту

Непосредственно

Посредством CMS сервера

Вычислительные затраты на клиенте

Высокие

Низкие

Вычислительные затраты на сервере

Низкие

Средние

Возможность кеширования результатов замены

Нет

Да

Возможность распараллеливания вычислений

Нет

Да

Особенности рендеринга содержимого на клиенте

С задержкой

Как обычно

Табл. 1. Сравнение двух подходов к реализации функции замены содержимого

  1. ^ ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА

1.10.Enterprise Java Beans 3

Реализация серверной части приложения планируется использовать технологию Enterprise JavaBeans, 3rd Edition. Эта технология является частью платформы Java Enterprise Edition и предназначена для создания и поддержки серверных компонент, содержащих бизнес-логику на языке Java. Третья версия спецификации в отличие от предыдущих версий признана Java-сообществом как наиболее удобная для использования.

Сам язык Java был выбран из-за его особенностей, таких как широкая поддержка объектно-ориентированного программирования и строгая типизация, а также большого количества готовых библиотек, в том числе для разбора и генерации HTML. Также вместе с языком поставляется инструментарий для мониторинга производительности системы, Java Management System.

В общем и целом выбор языка Java и технологии EJB3 обусловлен необходимостью стабильной и высокопроизводительной работы серверной части. Это является критической частью системы, так как при нестабильной работе посетители не будут иметь возможность получить информацию с сайта.

1.11.JavaScript

Для реализации клиентской части приложения, выполняемой на странице сайта, выбран язык JavaScript. JavaScript является универсальным языком для написания сценариев, выполняемых на веб-страницах, и доступен практически в любом современном браузере, без необходимости установки каких-либо дополнительных средств. Таким образом, приложение, реализованное на языке JavaScript, доступно большинству людей, имеющих доступ к Интернету.

Для взаимодействия клиентской и серверной части используется механизм асинхронной передачи данных AJAX (Asynchronous JavaScript and XML).

1.12.MySQL

MySQL на данный момент является одной из наиболее широко используемых СУБД для работы малых и средних веб-приложений. Программное обеспечение для этой СУБД свободно распространяется. Как инструмент работы с базой данных он сочетает простоту и необходимую функциональность.

  1. ^ ПРОГРАММНАЯ РЕАЛИЗАЦИЯ

1.13.Основные проблемы реализации

Ниже описаны основные проблемы, препятствующие реализации независимой системы управления web-содержимым. Под независимостью системы подразумевается отделимость системы от web-страниц, содержимым которых она должна управлять.
^

Основные принципы


Подразумевается, что система абсолютно не зависит от страниц, содержимым которых она должна управлять. Эти страницы могут иметь различный дизайн и расположение элементов, а также, рассматривая сайт как набор страниц, они могут иметь общие элементы, такие как логотип, меню, и т.д.
^

DOM интерфейс


Основной и единственный интерфейс, который должен позволить системе изменять содержимое страницы – т.н. DOM интерфейс. Он позволяет представить страницу как дерево, содержащее элементы оформления и текст. Это дерево строится браузером, после того, как он получит и обработает HTML-код с сервера.

Ниже приведены основные проблемы реализации и наиболее приемлемые варианты их решения.
  1. ^

    Идентификация элементов


После того, как пользователь изменит содержимое отдельного элемента DOM-дерева, необходимо отображать эти изменения при новом открытии страницы. Для этого требуется однозначно идентифицировать элемент страницы, который был отредактирован. Проблема состоит в том, что страница может иметь несколько таких элементов, не обязательно уникальных. Таким образом, в DOM-дереве могут быть несколько совершенно одинаковых поддеревьев, которые необходимо однозначно идентифицировать.

Ко всему этому, один сайт может состоять из нескольких таких страниц, на каждой из которых могут быть одинаковые элементы, например, меню. Эти элементы должны быть не только однозначно идентифицированы, но и “распознаны” как общие элементы сайта, чтобы их изменение на одной странице повлекло автоматическое на всех других страницах сайта.

Для идентификации таких поддеревьев в одном дереве страницы, необходимо использовать информацию об остальной структуре страницы, абсолютному пути от корня дерева, или положение поддерева относительно других поддеревьев. Это приводит нас к следующей, более серьёзной проблеме.

Решение:

Каждый редактируемый элемент дерева может быть идентифицирован двумя способами: путём запоминания абсолютного пути из корня дерева и подсчётом значения хеш-функции от содержимого этого элемента. Последний вариант помогает решить проблему с идентификацией одинаковых элементов. Например, если на странице есть два или более элементов с одинаковым содержимым, то, они будут иметь одинаковое значение хеш-функции. После загрузки страницы содержимое всех подобных элементов может быть заменено, используя эти значения.

Для тех элементов, содержимое которых встречается у других элементах, но подобная замена не требуется, можно использовать абсолютный путь из корня дерева как дополнительную информацию, помогающую идентифицировать данный элемент. Этот путь состоит из пар (<Название_Вершины>, <Номер_Вершины>), где <Название_Вершины> - это название тега, и <Номер_Вершины> - это порядковый номер в списке всех вершин с таким названием на одном уровне DOM-дерева. Например, путь может выглядеть так: (‘body’,0), (‘table’,0), (‘tbody’,0), (‘tr’, 2), (‘td’, 1), (‘a’,0).
  1. ^

    Различия браузеров


В разных браузерах DOM-дерево может быть совершенно различным. Это может быть результатом следующего:

  • Сервер генерирует содержимое страницы в зависимости от модели браузера. При каждом запросе браузер посылает подробную информацию, включающую название и версию. Сервер может использовать эту информацию, например, для генерации HTML-кода, оптимизированного под конкретную модель браузера.

  • В широко распространённом браузере Microsoft Internet Explorer 6 содержимое страницы может быть изменено уже на клиенте, в результате работы так называемых HTC-скриптов, которые не поддерживаются остальными браузерами. Такие скрипты используются, например, для корректного показа PNG-изображений, имеющих альфа-канал.

  • Браузеры по-разному обрабатывают неправильно оформленный HTML-код. В результате такой обработки могут получиться совершенно различные DOM-деревья для одной и той же страницы в разных браузерах.

Решение:

Первый вариант, при котором сервер генерирует содержимое страницы, в зависимости от модели браузера довольно редко встречается на реальных web-сайтах. В основном это может касаться решения проблемы с PNG-изображениями, имеющими альфа-канал, описанной во втором пункте. В этом случае структура DOM-дерева существенно не меняется, изменяются только атрибуты элементов (IMG в примере), что не препятствует идентификации этих элементов, т.к. их содержимое и абсолютный путь остаются те же. Остальные случаи следует принять как исключительные, при которых система действительно может работать не так, как планируется. В силу крайней редкости таких ситуаций, их стоит отнести за рамки данной системы.

В случае применения HTC-скриптов, используемых для корректного показа PNG-изображений с альфа-каналом, DOM-дерево также не меняется, как сказано выше. Остальные случаи работы HTC-скриптов следует также отнести в разряд исключительных, т.к. их применение ограничено одним браузером.

Случаи с неправильно оформленным HTML-кодом в большинстве сводятся к отсутствию закрывающего тега у элементов страницы. В этом случае наиболее распространённые браузеры, такие как Mozilla Firefox и Microsoft Internet Explorer поступают одинаковым образом – они автоматически добавляют закрывающий тег и помещают все последующие элементы внутрь данного элемента. Таким образом, в большинстве случаев DOM-дерево будет одинаковым.
  1. ^

    Поисковые системы


Страницы с отдельно хранимым содержимым не могут быть проиндексированы поисковыми роботами. В случае если последние при индексации обнаружат перенаправление с одной страницы на другую (например, с адреса содержимого на адрес страницы, содержащей текст), поисковые системы автоматически заносят страницу в чёрный список. В таком случае страница не сможет быть найдена с помощью данной поисковой системы.

Решение:

Для решения проблемы индексации используется специальная ссылка, добавляемая на страницу, которую необходимо проиндексировать, сразу при установке системы. Эта ссылка имеет определённый адрес, ведущий на сервер содержимого (content-сервер), который может быть установлен там же, где и основной сайт. Поисковая система, индексирующая страницу с такой ссылкой, должна проиндексировать содержимое, хранящееся на content-сервере. Далее, при поиске, поисковая система должна направлять пользователей на адрес сервера содержимого. Сервер содержимого же должен представлять информацию, а также ссылку на страницу, информация которой была представлена. При этом пользователя необходимо уведомить о том, что он просматривает не искомую страницу, а лишь часть содержимого этой страницы, и что полная информация представлена на оригинальной странице.

1.14.Реализация серверной части

Серверную часть планируется реализовать в виде постоянно работающего сервиса, принимающего запросы от посетителей сайтов, и возвращающего содержимое после обработки. Также планируется реализовать отдельный сервис для сохранения изменений, которые присылает клиентская часть.

Для оптимизации работы сервиса планируется реализовать кеш в памяти или на диске, в котором будет храниться содержимое сайтов с проведенными изменениями. Этот кеш должен формироваться при первом запросе к содержимому сайта, после этого содержимое будет храниться и извлекаться непосредственно из него.

Отдельная часть приложения должна обеспечивать функционал для управления системой в целом. Здесь будет реализовано рабочее место администратора системы.

1.15.Реализация клиентской части

Клиентская часть реализована на языке JavaScript в виде набора классов, распределённых по т.н. пакетам. Сам язык является объектно-ориентированным, но не поддерживает классы как таковые, так же как и механизм наследования. Вместо этого в языке поддерживается прототип-ориентированный подход, неудобный по многим причинам. Для осуществления класс-ориентированного подхода в проекте используется специальный инструмент, преобразующий конструкции языка, используя регулярные выражения.

Все классы приложения разбиты по нескольким вложенным пакетам. Класс CmsApplication, представляющий собой ядро системы, вынесен в корневой пакет cms. Классы, реализующие работу с общей шиной данных, вынесены в пакет cms.events. Остальные функции системы, реализованные в виде встраиваемых модулей (plug-in), находятся в пакете cms.plugins:

  • Пакет cms.plugins.auth содержит классы, реализующие механизм аутентификации пользователя.

  • Пакет cms.plugins.editor содержит классы, реализующие функцию редактирования содержимого страницы.

ГЛОССАРИЙ

  • CMS (от англ. Content Management System) – система управления содержимым.

  • DOM (от англ. Document Object Model) - интерфейс управления содержимым XML и HTML документов.

  • HTML (от англ. Hypertext Markup Language) – язык разметки web-содержимого.

  • HTTP (от англ. Hypertext Transfer Protocol) – протокол взаимодействия клиента с сервером, описывающий формат пересылки web-содержимого.

  • PNG (от англ. Portable Network Graphics) – растровый формат хранения графической информации.

  • Альфа-канал - процесс комбинирования изображения с фоном с целью создания эффекта частичной прозрачности.

  • Браузер (от англ. Browser) программа, исполняющаяся на стороне клиента, посылающая на сервер HTTP-запросы и обрабатывающая ответы сервера.

  • Индексация - процесс добавления сведений о сайте в базу данных, в последствии использующуюся для поиска.

  • Поисковая система – web-сайт, предоставляющий возможность поиска информации в Интернете.

  • ^ Поисковый робот - программа, являющаяся составной частью поисковой системы и предназначенная для обхода страниц Интернета с целью занесения информации о ключевых словах в базу поисковика.


ЗАКЛЮЧЕНИЕ

На данный момент выполнена часть задач по проекту, а именно:

  1. проведена исследовательская работа;

  2. изучена предметная область;

  3. рассмотрены аналоги;

  4. определены требования, предъявляемые к программному продукту;

  5. составлена функциональная спецификация;

  6. реализован прототип системы с ограниченной функциональностью;

  7. проведен анализ результатов, выявлена необходимость модификации прототипа;

  8. спроектирован конечный вариант системы.



Дальнейшая работа ведётся над конечной реализацией программного средства. За следующий семестр учебного курса планируется провести нижеперечисленные виды работ:

  1. реализация серверной части для хранения и обработки информации;

  2. модификация клиентской части, реализация дополнительных функций, таких как добавление и удаление содержимого;

  3. тестирование программного средства;

  4. составление документации для конечных пользователей.


По материалам данной работы был выполнен доклад на Международной научной студенческой конференции, которая проходила с 26 по 30 апреля 2008 года.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Addison Wesley, Longman Inc. 1997.

  2. http://c2.com/

  3. http://mysql.com/

  4. http://java.sun.com/products/ejb/



Добавить документ в свой блог или на сайт

Похожие:

Дипломная работа iconНазвание организации
Заголовок «Дипломная работа» или «Курсовая работа»: Times New Roman, 14 (вопреки П. 113), по центру. Затем – 2 пустые строки

Дипломная работа iconДипломная работа
Степень удовлетворенности пользователей в документах по музыкальному искусству 25

Дипломная работа iconДипломная работа
Состояние, тенденции и проблемы развития народного образования в Новом Уренгое

Дипломная работа iconДипломная работа
Разработка анализатора системы обнаружения атак, основанного на методах кластерного анализа”

Дипломная работа iconДипломная работа
Удостоверение подлинности участников интернет-голосований на основе анализа сетевых сессий

Дипломная работа iconДипломная работа
Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов

Дипломная работа iconДипломная работа
Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов

Дипломная работа iconДипломная работа
Удостоверение подлинности участников интернет-голосований на основе анализа сетевых объектов

Дипломная работа iconДипломная работа
Повышение качества результатов анонимного интернет-голосования методом анализа сетевых объектов

Дипломная работа iconДипломная работа
Использование средств olap-технологий для построения системы Бизнес Интеллекта факультета



Образовательный материал



При копировании материала укажите ссылку © 2013
контакты
lit-yaz.ru
главная страница