Скачать 79.75 Kb.
|
Министерство образования и науки Российской Федерации Федеральное агентство по образованию Новосибирский Государственный Университет Факультет информационных технологий Кафедра систем информатики Курсовая работаРАЗРАБОТКА ПРОТОТИПА СИСТЕМЫ УПРАВЛЕНИЯ ВЕБ-СОДЕРЖИМЫМ Анисимов А.О. Руководители: канд. физ.-мат. наук, доц. Васючкова Татьяна Сергеевна, ген. директор ООО “Интернет Сервис” Семёнов Илья Аркадьевич. _____________________________ Новосибирск – 2008 ОГЛАВЛЕНИЕ ОГЛАВЛЕНИЕ 3 ВВЕДЕНИЕ 4 1.ОПИСАНИЕ ПРОЕКТА 5 2.АРХИТЕКТУРА ПРОГРАММНОГО СРЕДСТВА 7 3.ИСПОЛЬЗУЕМЫЕ ПРОГРАММНЫЕ СРЕДСТВА 10 4.ПРОГРАММНАЯ РЕАЛИЗАЦИЯ 11 1.1.Реализация серверной части 11 1.2.Реализация клиентской части 11 ЗАКЛЮЧЕНИЕ 13 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 14 ВВЕДЕНИЕ Данный документ содержит отчёт о проделанной работе за четвёртый семестр учебного курса. Целью курсового проекта является разработка программного средства для управления содержимым веб-сайтов, которое должно предоставить своим пользователям простой и доступный способ управления информацией на существующих веб-сайтах. В отличие от большинства подобных систем, данная система должна позволить управлять содержимым без вмешательства в работу сайта, используясь как отдельное средство управления. В рамках курсового проекта должен быть создан прототип системы, включающий набор базовых функций. За предыдущий семестр была проделана исследовательская работа, включающая анализ требований, исследование предметной области, сравнение с аналогами, определение основных функций и основных проблем реализации. За этот семестр были проведены следующие виды работ:
На основе созданного прототипа планируется разработать полноценную систему управления web-содержимым, что будет частью дипломной работы в следующем учебном году. Традиционно при разработке сайта в его основу включается механизм управления его содержимым. Этот механизм позволяет изменять ограниченный набор информации на сайте, например ленту новостей, текст статьи, контактную информацию. Довольно часто возникает ситуация, когда человеку, управляющему информацией, необходимо изменить текст, таблицу, изображение, либо другой участок информации, изменение которого не учитывалось при разработке сайта. В таком случае владельцу сайта приходится снова прибегать к услугам разработчиков. На это тратится дополнительное время и бюджет со стороны владельца. Для решения этой проблемы предлагается разрабатываемая мной система управления содержимым сайтов. Она планируется не как основа для сайта, но как отдельное средство изменения информации. Эта система подразумевает, что сайт имеет какую угодно структуру. Также её отличие в том, что она позволяет изменять любую видимую информацию на сайте. Такой подход имеет следующие достоинства по сравнению с традиционным:
Помимо названных отличий, в предлагаемой системе есть отличие при работе пользователя с интерфейсом. В традиционном варианте пользователь имеет доступ к специальному функционалу на сайте, позволяющему изменять содержимое определённых блоков информации. Как правило этот функционал, находящийся на отдельной странице, ограничен редактором текста и функцией предварительного просмотра. В разрабатываемой мной системе пользователю прямо на сайте предлагается выбрать блок информации, которую необходимо изменить. Выбор блока информации и дальнейшее его изменение предполагается в интуитивно понятном для пользователя режиме. Таким образом исчезает необходимость в функции предварительного просмотра. После сохранения изменений, вся новая информация будет доступна посетителям сайта. Как и большинство веб-приложений, система управления веб-содержимым (CMS) имеет архитектуру клиент-сервер. Серверная часть системы имеет доступ к базе данных, и выполняет функции обработки и хранения данных приложения. Клиентская часть системы – это набор программных модулей, исполняемых на странице сайта. Клиент и сервер взаимодействуют друг с другом как показано на рис. 1. Рис. 1. Схема взаимодействия частей приложения. Принцип работы всего приложения выглядит следующим образом. Страница сайта, на которой необходимо заменить какое-либо содержимое, запрашивает у CMS сервера специальный файл, содержащий программный модуль, исполняемый на странице. При запуске модуль создаёт всё необходимое для быстрой замены содержимого страницы на предоставленное CMS сервером. После замены содержимого этот программный модуль создаёт на странице функционал, необходимый для редактирования и последующей замены нового содержимого. Схема работы всей системы показана на рис. 2. Рис. 2. Схема работы приложения. В итоге программный модуль, выполняемый на странице сайта, реализует несколько функций. Какие-то из этих функций имеют наибольший приоритет, и должны выполниться в первую очередь. Остальные функции могут зависеть от результатов её выполнения. Между собой функции практически не связаны. Поэтому весь программный модуль спроектирован так, чтобы максимально разделить выполняемые функции, и осуществить возможность изменять и дополнять набор этих функций. Для этого использовано понятие общая шина данных, и взаимодействие всех функции, включая ядро системы, организовано посредством этой шины (рис. 3). Работа с шиной представляется в виде подписки и публикации событий, которые происходят в системе. Функция-подписчик определяет набор событий, на которые она реагирует. Все функции, включая ядро системы, могут публиковать свои события для их обработки другими функциями. Таким образом организовано событийное управление всей клиентской частью приложения в целом. Рис. 3. Схема взаимодействия посредством общей шины данных. Для реализации серверной части приложения выбран веб-фреймворк (web-framework) Django. Django представляет собой высокоуровневый каркас для создания веб-приложений на языке Python. В сравнении с другими платформами на этом же языке у Django достаточно большое и активно развивающееся сообщество пользователей, а также отличная документация для конечных пользователей. Сам язык Python представляет интерес для изучения как наиболее лаконичный и выразительный из языков, предлагаемых для создания сценариев веб-приложений. Для реализации клиентской части приложения, выполняемой на странице сайта, выбран язык JavaScript. JavaScript является универсальным языком для написания сценариев, выполняемых на веб-страницах, и доступен практически в любом современном браузере, без необходимости установки каких-либо дополнительных средств. Таким образом, приложение, реализованное на языке JavaScript, доступно большинству людей, имеющих доступ к Интернету. Для взаимодействия клиентской и серверной части используется механизм асинхронной передачи данных AJAX (Asynchronous JavaScript and XML). 1.1.Реализация серверной части Серверная часть реализована в виде Django-приложения, которое представляет собой набор сценариев, написанных на языке Python. Основная часть, называемая Django Framework, вынесена отдельно, и используется частично для данного приложения. Все основные сценарии, описывающие логику работы системы, распределены на две группы и находятся в двух файлах: models.py и views.py. Файл models.py содержит набор классов, называемый моделью приложения. Модель описывает структуру данных в виде классов, объектов, их свойств и методов, а также осуществляет доступ к данным. Всю работу по созданию реляционных таблиц и передачи данных между базой данных и моделью осуществляет Django Framework. Файл views.py содержит набор функций, которые отвечают за представление. Представление необходимо для того, чтобы обрабатывать запросы клиента и возвращать ему результат. В своей работе представление использует классы модели и данные, переданные клиентом. Помимо вышеперечисленных файлов, существуют файлы с настройками приложения и файл, описывающий отображение (mapping) адресов, по которым клиент взаимодействует с сервером, на соответствующие функции представления. 1.2.Реализация клиентской части Клиентская часть реализована полностью на языке JavaScript в виде набора классов, распределённых по т.н. пакетам. Сам язык является объектно-ориентированным, но не поддерживает классы как таковые, так же как и механизм наследования. Вместо этого в языке поддерживается прототип-ориентированный подход, неудобный по многим причинам. Для осуществления класс-ориентированного подхода в проекте используется специальный инструмент, преобразующий конструкции языка, используя регулярные выражения. Все классы приложения разбиты по нескольким вложенным пакетам. Класс CmsApplication, представляющий собой ядро системы, вынесен в корневой пакет cms. Классы, реализующие работу с общей шиной данных, вынесены в пакет cms.events. Остальные функции системы, реализованные в виде встраиваемых модулей (plug-in), находятся в пакете cms.plugins:
ЗАКЛЮЧЕНИЕ За текущий семестр был спроектирован и реализован прототип системы, имеющий все основные функции. При проектировании и реализации были использованы результаты исследовательской работы предыдущего семестра. За весь курс были проведены следующие виды работ:
Не смотря на то, что все основные функции реализованы, проект требует дальнейшего развития. Созданный прототип планируется доработать с целью создания полноценной системы управления содержимым. Это планируется осуществить в рамках дипломной работы, в следующем учебном году. Должны быть проведены следующие виды работ:
По материалам данной курсовой работы будет выполнен доклад на Международной научной студенческой конференции, которая пройдёт с 26 по 30 апреля 2008 года. СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
|
Курсовая работа на тему : Формирование рынка ценных бумаг в Украине Курсовая работа содержит 38 листов, 2 рисунка, 2 таблицы и было использовано 11 источников | Курсовая работа Курсовая работа оформляется в виде электронного файла и прикрепляется к своей странице в системе мониторинга нир. Распечатывать работу... | ||
Курсовая работа по дисциплине Электромагнитная совместимость систем... Курсовая работа состоит из 20 с, в которых содержаться: 3 рисунка, 3 таблицы, 6 формул и 4 ссылки на литературу | Курсовая работа по дисциплине «Предпринимательское право» Курсовая работа имеет целью систематизацию, закрепление и расширение теоретических знаний, углубленное изучение и решение студентом... | ||
Курсовой работы. Составитель: доцент Корляков А. С. Екатеринбург... Курсовая работа самостоятельная работа студента, выполняемая в соответствии с типовой программой учебного процесса по подготовке... | Рекомендации к оформлению курсовой и дипломной работы по истории искусства. Курсовая работа Курсовая работа задание, которое выполняется студентами в определённый срок и по определённым требованиям. Защита курсовых работ... | ||
Курсовая работа является обязательным видом итогового контроля по... Курсовая работа – это первый этап в самостоятельном теоретическом осмыслении материала, накопленного в ходе обучения в университете,... | Курсовая работа на тему «Открытый урок» Данная курсовая работа выполнена для того, чтобы учителя русского языка и литературы могли использовать разработанные мною уроки... | ||
Курсовая работа учебно-методическое пособие для студентов, обучающихся... Курсовая работа: Учебно-методическое пособие / Автор составитель Е. М. Крупеня. М.: 30 с | Курсовая работа учебно-методическое пособие для студентов, обучающихся... Курсовая работа: Учебно-методическое пособие / Автор составитель Е. М. Крупеня. М.: 30 с | ||
Методические указания к написанию курсовых работ курсовая работа Курсовая работа является важнейшим элементом самостоятельной работы студентов. Основной целью курсовой работы является создание и... | Курсовая работа Разработка проекта аис на примере муз «Городская больница» Курсовая работа является одним из видов учебных занятий и выполняется в соответствии с учебным планом специальности. При написании... | ||
Курсовая работа Формирование понятия «плазма» Реферат, курсовая Методика формирования понятия Плазма в школьном курсе физики. Скачать | Содержание учебного материала, лабораторные работы и практические... Содержание учебного материала, лабораторные работы и практические занятия, самостоятельная работа обучающихся, курсовая работа (проект)... | ||
Реферат Данная курсовая работа по дисциплине «Расчет и конструирование... Данная курсовая работа по дисциплине «Расчет и конструирование пластмассовых изделий и форм» содержит 38 листов печатного текста,... | Реферат, курсовая работа, выпускная квалификационная работа Гост 32-2001 «Отчет о научно-исследовательской работе. Структура и правила оформления» |