на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка веб-приложения для информационного обеспечения учебного процесса (видеокасты)
p align="left">В качестве серверного ЯП был выбран php, который на данный момент является самым попялурным серверным ЯП в России для создания веб-приложений. PHP обладает рядом преимуществ, приведенных ниже [9].

Главными факторами PHP являются предоставление средств для быстрого и эффективного решения поставленных задач и практичность, обусловленная шестью важными характеристиками:

- традиционностью - многие конструкции языка позаимствованы из других известных языков программирования, что позволяет прикладывать меньше усилий при знакомстве с ним и его изучении. PHP специально нацелен на работу в сети Интернет. На сегодняшний день PHP является одним из популярных языков для создания веб-приложений;

- простотой - сценарий РНР может состоять из большого числа строк или из одной строки -- все зависит от специфики поставленной задачи. Программисту не приходится подгружать библиотеки или указывать специальные параметры компиляции. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?>). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист. PHP - язык, который может быть встроен непосредственно в HTML-код страниц, которые, в свою очередь будут корректно обрабатываться PHP-интерпретатором. Большое разнообразие функций PHP избавят вас от написания многострочных пользовательских функций. В то же время существует больше количество фреймворков и CMS, написанных как разработчиками-одиночками, так и большими сообществами программистов;

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

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

- гибкостью - поскольку РНР является встраиваемым языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, XML и другие языки. Нет проблем и с зависимостью от браузеров, поскольку PHP является серверным ЯП и никак не связан с браузерами. В сущности, сценарии РНР могут передаваться любым устройствам с браузерами, включая сотовые телефоны, электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о традиционных ПК. РНР в целом является платформенно-независимым языком, поскольку он не содержит кода, ориентированного на конкретный веб-сервер. Благодаря этим возможностям РНР занимает достойное место среди современных технологий и обеспечивает масштабирование проектов до необходимых пределов;

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

В качестве клиентского фреймворка был выбран jquery из-за его большей распространенности и лучшей документации [16]. Также, были просмотрены результаты тестов сравнения данных фреймворков по скорости в браузерах Safari/Webkit (рисунок 15), Firefox/Gecko (рисунок 16) и Explorer8/Trident (рисунок 17):

Рисунок 15 - сравнение скорости Javascript-фреймворков в Safari/Webkit

Рисунок 16 - сравнение скорости Javascript-фреймворков в Firefox/Gecko

Рисунок 17 - сравнение скорости Javascript-фреймворков в Explorer8/Trident

На данных тестах видно, что jquery обгоняет по скорости prototype. В то же время несколько некорректно было включать в тесты extjs, поскольку он используется для иных целей. Этот тест в то же время доказывает, что jquery использует нативные возможности javascript (например, замыкания) для ускорения работы, в то время как prototype является надстройкой над языком. Соответственно для реализации функций на клиентской стороне в дипломной работе используется javascript-фреймворк jQuery.

5 Описание интерфейсов системы

5.1 Интерфейс суперпользователя

Суперпользователь в системе - выделенная пользовательская единица. Поскольку в данном проекте используется CMF OpenHazel, то суперпользователь обладает всеми правами, которые заложены в CMF, а именно: может просматривать, изменять и удалять страницы сайта, изменять настройки страниц, модулей, а также настройки доступа к ним, редактировать список возможных модулей, добавлять/изменять/удалять пользователей и пользовательские группы на сайте, просматривать ошибки, появившиеся в процессе функционирования сайта, редактировать шаблоны, каскадные таблицы стилей, а также клиентские джаваскрипты. Также суперпользователь может работать с анонсами на сайте (например, с меню) и управлять содержанием динамических страниц (например, видеокастов).

Рисунок 18 - Список страниц на сайте

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

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

Рисунок 19 - Изменение страницы сайта

Изменение страницы предполагает в себе изменение ее URL-адреса, названия, статического содержимого, а также SEO-аттрибутов. Для редактирования статического содержимого страницы используется WYSIWYG-редактор FCKEditor 2.6.5

Рисунок 20 - Удаление страницы сайта

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

Рисунок 21 - Изменение настроек страницы

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

Рисунок 22 - Настройка доступа к странице

Настройки доступа определяются на этапе разработки проекта. В CMF OpenHazel реализован подход по примеру *nix-систем, когда пользователь может состоять во многих группах, а в группе модет состоять неограниченное количество пользователей. Это позволяет расширить рамки, с которых мы смотрим на права доступа, и задавать права доступа не конкретным пользователям, а сразу пользовательским группам. Притом, пользователи могут находиться во многих группах сразу, что позволит, например преподавателям смотреть видеокасты, доступные студентам. В данном примере показано, что добавлять и изменять видеокасты смогут лишь те пользователи, которые находятся в группе "тьюторы", а удалять видеокасты смогут лишь пользователи, находящиеся в группе "администраторы". Впрочем это не помешает пользователю, находящемуся сразу в этих группах, управлять видеокастами в полном объеме.

Рисунок 23 - Список доступных модулей

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

Рисунок 24 - Список пользователей

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

Рисунок 25 - Список пользовательских групп

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

Рисунок 26 - Просмотр ошибок на сайте

Суперпользователь сможет также просматривать ошибки, произошедшие на сайте. В лог ошибок записывается вся нужная информация - IP адрес пользователя, сама ошибка, тип запроса, реферер, полный backtrace ошибки и браузер пользователя.

Рисунок 27 - Окно редактирования шаблона на сайте

Суперпользователь может редактировать шаблоны на сайте, клиентские джаваскрипты и каскадные таблицы стилей напрямую из окна браузера. Таким образом, ему не придется запускать FTP-клиент для редактирования этой информации.

Рисунок 28 - Просмотр доступных анонсов

Суперпользователь также может управлять списком анонсов на сайте. Анонсы - кусочки действий модулей сайта, которые способны выполняться отдельно от динамической страницы (например, последние добавленные видеокасты, которые мы хотим выводить на главной странице сайта). Каждый модуль имеет класс типа {%modulename%}Module_Announce, который содержит методы анонсов. Анонс может быть привязан к какой-либо странице, и выводится на какой-либо конкретной странице. Все эти привязки - необязательны.

Рисунок 29 - Управление динамической страницей-модулем (пример)

На данном рисунке показано управление динамической страницей-модулем на примере сайта spbpresent.ru, работающего на CMF OpenHazel. Управление происходит в интуитивно-понятном режиме, внешне похожем на управление страниц, представленном на рисунке 18.

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

5.2 Интерфейс администратора

Все пользователи, входящие в пользовательскую группу "администратор" по сути должны обладать правами тьютора для управления подкастами а также для назначения прав доступа к ним. Единственное отличие - администратор может удалять и модерировать сообщения в "Обсуждениях" (рисунок 30). Тьютор же может только отвечать на сообщения обучающихся и создавать отдельные, новые темы.

Рисунок 30 - Внешний вид "Обсуждений" для администратора

5.3 Интерфейс тьютора

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

Также тьютор может отвечать на вопросы студентов в "Обсуждениях", причем его ответы автоматически будут выделаться среди вопросов студентов для акцентирования внимания студентов на ответах тьютора. Тьютор может одобрять вопросы студентов, разрешая их к просмотру (функция премодерации), отвечать на вопросы и удалять неадекватные вопросы и вопросы не по делу.

Страницы: 1, 2, 3, 4, 5, 6



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.