Разработка веб-приложения для информационного обеспечения учебного процесса (видеокасты)

АННОТАЦИЯ 



выпускной квалификационной работы

(Фамилия Имя Отчество студента)

	на тему «Разработка веб-приложения для информационного обеспечения учебного процесса (видеокасты)»

Пояснительная записка содержит 67 стр., 33 илл., 4 табл., 1 прил., 7 источников

КЛЮЧЕВЫЕ СЛОВА: веб-приложение, информационное обеспечение, дистанционное образование, подкасты.

Данная работа посвящена разработке веб-приложения для информационного обеспечения учебного процесса через просмотр видеокастов

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

В результате работы было разработано веб-приложение, созданы пользовательские группы, созданы пользователи и загружены видео- и аудиокасты.

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




Определения, обозначения и сокращения



ИТ – Информационные технологии

БД – База (или базы) данных

CMF (Content Management Framework) – каркасная система для управления содержимым, инструментарий для создания систем управления содержимым (CMS)

CMS (Content Management System) – компьютерная программа или система, используемая для обеспечения и организации совместного процесса создания, редактирования и управления текстовых и мультимедиа документов (содержимое или контента)

ACL (Access Control List) – определяет, кто или что может получать доступ к конкретному объекту, и какие именно операции разрешено или запрещено этому субъекту проводить над объектом

СУБД (Система управления БД) – специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных

API (Application Programming Interface) – набор готовых классов, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для её использования во внешних программных продуктах

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




Введение



Подкастинг (процесс создания и распространения звуковых или видеопередач во Всемирной сети) официально появился в России в 2005 году вместе с открытием первого сайта, посвященного подкастингу (http://russianpodcasting.ru/). Изначально этот жанр подразумевал только аудиозаписи в RSS-потоке, подкасты напоминали "звуковые живые журналы". Но со временем термин "подкаст" расширился и обрел три представления: аудиокаст, видеокаст и скринкаст, притом скринкастинг можно считать частью видеоподкастинга, поскольку информация передается посредством видео- и аудиопотока, с той лишь разницей, что изображение записано не на видеокамеру, а напрямую с экрана компьютера.

В образование подкастинг пришел не сразу. В сети Интернет начали появляться видеозаписи выступлений известных лекторов европейских и американских университетов. Некоторые университеты начали выкладывать циклы таких видеолекций в открытый доступ, где каждый пользователь сети Интернет при наличии соответствующей скорости доступа и знания английского языка мог обучаться дистанционно у лучших лекторов мира. Параллельно с этим развивался жанр скринкастинга, где пользователи сети Интернет записывали для других пользователей пособия на различные темы, например "Основы использования почтового клиента Mozilla Thunderbird" и пр. Все эти вещи не могли не пригодиться как в дистанционном, так и очном образовательном процессе, и в настоящее время видеокасты приобретают все большую популярность.

Все эти процессы можно проследить, если посмотреть на ведущие университеты мира. Многие из них имеют или собственные площадки для размещения видео- и аудиолекций, другие же пользуются возможностями всемирно известных видеохостингов, например YouTube.EDU, Vimeo и другими. Несомненно, одной из главных проблем при работе такого раздела выступает установка прав доступа, поскольку многие материалы курсов и методики являются уникальными. Также довольно большой проблемой является категоризация курсов, которая на видеохостингах организована только в виде меток и плейлистов. Взаимодействие с видеохостингами возможно только через предоставленное ими API (если оно существует), что само по себе накладывает ограничения на авторов курсов.

Именно из-за этих причин многие университеты мира используют собственные площадки для видеокурсов. В то же время многие университеты используют площадки видеохостингов для хранения и конвертации в популярные форматы своих курсов. Среди самых известных видео- и аудиолекций – материалы Массачусетского технологического института, Гарварда, Стэнфорда, Кэмбриджа, Беркли, Йельского университета, Оксфорда.

Среди российских университетов данное направление в образовании только начинает развиваться. Возможностями технологической площадки YouTube.EDU пользуются Северо-Западный Технический Университет, МГУ им. Ломоносова и МГИМО. В остальных институтах данное направление или имеет зачаточный вид (например, в Московском Физико-Техническом Институте) или вообще отсутствует. В то же время наличие данного раздела только популяризировало бы университет как место для получения высшего профессионального образования, особенно в связи с изменениями в российском высшем образовании (смена ориентации системы высшего профессионального образования на компетентностный подход в образовании) и Болонским процессом.




1 Постановка задачи и определение цели работы



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

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

ИС является средой, составляющими элементами которой являются компьютеры, компьютерные сети, программные продукты, БД, люди, различного рода технические и программные средства связи и т.д. Хотя сама идея ИС и некоторые принципы их организации возникли задолго до появления компьютеров, однако компьютеризация в десятки и сотни раз повысила эффективность ИС и расширила сферы их применения [8]. 

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

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

Целью работы является информационное обеспечение очного и дистанционного обучения через просмотры и прослушивание подкастов.




2 Обзор аналогов и актуальность задачи



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

В качестве первого аналога был выбран образовательный видеопортал YouTube.EDU (http://www.youtube.com/education?b=102&s=edu&hl=ru). Данный видеопортал является частью глобального видеохостинга YouTube, направленной на обучение посредством видеолекций. На данный момент сервисом YouTube.EDU пользуются МГИМО, Северо-Западный Технический Университет, а также МГУ им. Ломоносова. В данной системе реализованы функции загрузки/просмотра видеолекций, ограничения просмотра определенным пользователям YouTube, комментирования видеолекций. Также существует возможность слегка изменить внешний вид канала для его большего соответствия дизайну сайта университета.

Внешний вид канала Youtube.EDU МГУ им. Ломоносова представлен на рисунке 1.





Рисунок 1 – Внешний вид канала YouTube.EDU МГУ им. Ломоносова

В качестве достоинства данной системы стоит отметить скорость доступа к видеолекциям, а также традиционность доступа к видеоинформации, поскольку YouTube уже де-факто стал стандартом при просмотре видео в сети Интернет.

Также можно считать достоинством наличие простого доступа пользователям сети Интернет и особенно зарегистрированным пользователям YouTube к видеолекциям университета, что должно способствовать популяризации канала. На рисунке 2 представлена схема доступа через категории видео YouTube к каналу МГУ им. Ломоносова.



Рисунок 2 – Доступ к каналу МГУ им. Ломоносова через категории YouTube



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

Вторым аналогом можно назвать портал видеолекций Московского физико-технического института (http://fvl.fizteh.ru/). Проект явно реализовывался под какую-то конкретную задачу, поскольку за последние 6 месяцев на него не было загружено ни одной видеолекции. Главным достоинством данного проекта является возможность создания курсов, таким образом обучающийся сможет проходить курс, просматривая видеолекции по порядку. На рисунке 3 представлен курс видеолекций на тему “Электричество и магнетизм”.



Рисунок 3 – Курс видеолекций “Электричество и магнетизм” в МФТИ



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

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





Рисунок 4 – Категоризация и внешний вид видеолекций



Наконец, третьим аналогом можно назвать видеокурсы Интернет Университета Информационных Технологий (http://www.intuit.ru/video/). Отличительной особенностью этого раздела ИУИТ является его видеоплеер. Он содержит в себе навигацию по текущему видеокурсу в виде разделов лекции. В правой части видеоплеера расположено само окно плеера, что можно увидеть на рисунке 5.




Рисунок 5 – Видеоплеер ИУИТ



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




3 Анализ вариантов реализации системы 



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

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

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

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

Данный подход наиболее рационален ввиду обеспечения, таким образом, возможности не закрепляться за одним рабочим местом. Обратиться к системе, а также управлять ей при наличии соответствующих прав можно из любого помещения, в котором есть компьютер при наличии доступа в сеть Интернет [1]. Это позволит преподавателям и администратору системы быть менее скованными временем пребывания на рабочем месте, так как они смогут загрузить видеокаст, назначить студентов к просмотру видео и ответить на все вопросы студентов из любого компьютерного класса или вне стен университета.






4 Построение модели системы и разработка технологии реализации

	

	4.1 Диаграмма развертывания

Рисунок 6 – Диаграмма развертывания



На рисунке 6 представлена диаграмма развертывания. Данная схема является стандартной для большинства сайтов в сети Интернет. Клиентские запросы поступают на 80 порт, который слушает веб-сервер nginx, далее запрос или проксируется на apache, или отрабатывает на nginx. Apache в свою очередь взаимодействует с СУБД и системой кэширования (на диаграмме показан Eaccelerator, но на его месте могут быть Memcached или APC) [15].




4.2 Диаграмма компонентов



Рисунок 7 – Диграмма компонентов



Диаграмма компонентов (рисунок 7) хорошо показывает альтернативу связке Apache-MySQL-PHP в лице пакетов Denwer/LAMP. Модули видеокастов, форум и дисциплины вынесены как увеличивающие функционал системы. В то же время система не зависит от них, и сами эти модули самодостаточны. Модуль авторизации вынесен в отдельную часть, поскольку он не реализует дополнительный функционал системы, а является одной из ее частей.



	4.3 Диаграммы вариантов использования



	4.3.1 Диаграмма вариантов использования для гостя

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



Рисунок 8 – Диаграмма вариантов использования для гостя



	4.3.2 Диаграмма вариантов использования для автора

Условно можно сделать разделение “преподавателя” на автора и тьютора. Автор создает сам материал подкаста, в то время как тьютор занимается типичной для него функцией – обучает. На практике часто получается, что эти две роли объединены в одну - “тьютор”.

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





Рисунок 9 – Диаграмма вариантов использования для автора



	4.3.3 Диаграмма вариантов использования для преподавателя

Преподаватель в конкретном случае должен обучать студентов и назначать им аудио- и видеокасты к просмотру (рисунок 10).




Рисунок 10 – Диаграмма вариантов использования для преподавателя



	4.3.4 Диаграмма вариантов использования для студента

Диаграмма вариантов использования для студента – самая большая из всех, поскольку именно обучающиеся в университете на настоящий момент являются целевой аудиторией данного проекта. Студенты могут просматривать доступные им видеокасты (рисунок 11), просматривать обсуждения, вопросы студентов и ответы преподавателей на эти вопросы в “Обсуждениях”. Студенты могут как просматривать видеокасты, так и слушать аудиокасты загруженные авторами обучающих материалов.








Рисунок 11 – Диаграмма вариантов использования для студента



	4.4 Инфологическая модель базы данных



На рисунке 13 представлена инфологическая модель базы данных системы. Подробное описание проиллюстрированной модели представлено в приложении A. Инфологическая модель ядра системы представлена на рисунке 12.






Рисунок 12 – Инфологическая модель ядра системы



Рисунок 13 – Инфологическая модель системы


4.5 Выбор технологии реализации



После рассмотрения возможных аналогов данного проекта было выявлено, что для отдачи мультимедиа контента (в том числе видео- и аудиоконтента) используются веб-сервера nginx и lighttpd. Серверные скрипты в основном используют возможности php, python и bash. В качестве сервера баз данных используются в большинстве случаев MySQL и PostgreSQL. На рисунке 14 представлена стандартная схема работы большинства динамических сайтов в сети Интернет.



Рисунок 14 – Стандартная схема работы динамических сайтов, использующих БД



Как видно из рисунка, запрос пользователя поступает на фронтовый веб-сервер, который слушает 80 порт (стандартный HTTP-порт). Далее фронтовый веб-сервер в зависимости от запроса или проксирует его далее на бэкенд (более тяжеловесный сервер, умеющий обрабатывать динамические запросы, например Apache), или же отдает контент, запрошенный пользователем. В случае проксирования запроса на бэкенд мы можем взаимодействовать с БД посредством какого-либо языка программирования [14].



	4.5.1 Выбор веб-сервера

Данная схема работы сайтов является на данный момент стандартной в сети Интернет. В качестве фронтовых веб-серверов в большинстве случае используются nginx и lighttpd. В качестве бэкенда самым известным веб-сервером является Apache. Также возможен вариант работы нескольких веб-серверов Apache (или вобще – нескольких физических серверов) вместе с балансировщиком нагрузки [12]. Вообще, главная причина использование схемы фронтенд-бэкенд – эффективное использование ресурсов. Если клиентов пускать напрямую к бэкенду (например apache+mod_perl) без фронтенда, то серверов под бэкенды потребуется в несколько раз больше [12].

В nginx рабочие процессы обслуживают одновременно множество соединений, мультиплексируя их вызовами операционной системы select (Windows), epoll (Linux), kqueue (FreeBSD) и eventport (Solaris). Рабочие процессы выполняют цикл обработки событий от дескрипторов. Полученные от клиента данные разбираются с помощью конечного автомата. Разобранный запрос последовательно обрабатывается цепочкой модулей, задаваемой конфигурацией. Ответ клиенту формируется в буферах, которые хранят данные либо в памяти, либо указывают на отрезок файла. Буферы объединяются в цепочки, определяющие последовательность, в которой данные будут переданы клиенту. Если операционная система поддерживает эффективные операции ввода-вывода, такие как writev и sendfile, то nginx применяет их по возможности [10]. 

Для эффективного управления памятью nginx использует пулы. Пул — это последовательность предварительно выделенных блоков динамической памяти. Длина блока варируется от 1 до 16 килобайт. Изначально под пул выделяется только один блок. Блок разделяется на занятую область и незанятую. Выделение мелких объектов выполняется путем продвижения указателя на незанятую область с учетом выравнивания. Если незанятой области во всех блоках нехватает для выделения нового объекта, то выделяется новый блок. Если размер выделяемого объекта превышает значение константы NGX_MAX_ALLOC_FROM_POOL, либо длину блока, то он полностью выделяется из кучи. Таким образом, мелкие объекты выделяются очень быстро и имеют накладные расходы только на выравнивание [15].



	4.5.2 Выбор СУБД

Самыми известными СУБД при работе с сайтами являются MySQL, PostgreSQL. Также используются MSSQL, Oracle, Firebird и некоторые другие. Большая популярность MySQL и PostgreSQL по сравнению с проприетарными СУБД обусловлена большим сообществом разработчиков, открытостью продуктов и огромными возможностями по настройке быстродействия баз данных.

Если сравнивать конкретно MySQL и PostgreSQL, то можно выявить следующие преимущества MySQL:

соответствие стандартам SQL – начиная с пятой версии MySQL большое внимание разработчиками удалялось соответствию стандартам SQL. В MySQL запросы максимально соответствют стандартам SQL'99;

большее количество платформ – MySQL изначально разрабатывался как кроссплатформенная СУБД. В Windows MySQL работает как служба, в *nix – как демон. PostgreSQL изначально разрабатывался как СУБД, работающая в *nix-системах;

скорость работы на простых запросах – огромное преимущество MySQL заключается именно в скорости работы простых запросов. Благодаря тому, что в MySQL используются различные типы таблицам, а типом таблиц по умолчанию является MyISAM, реализуется огромная скорость при работе с простыми запросами. В то же время, тип тпблиц InnoDB позволяет осуществлять транзакции, следить за целостностью данных, но в данной случае уже не будет выигрыша в скорости запросов;

стабильность работы – исторически сложилось, что MySQL довольно стабильная СУБД. PostgreSQL – более молодая, в то время как из-за более раннего начала разработки у MySQL сложилось большее сообщество разработчиков;

безопасность, связанная со стабильностью – сообщество разработчиков MySQL за все эти годы нашли и устранили огромное количество уязвимостей, что позволяет считать MySQL одной из самых защищенных СУБД;

работа с большими объектами – в MySQL реализована поддержка бинарных объектов практически неограниченных размеров в полях типа BLOB, что отсутствует у PostgreSQL;

возможности для легкого изменения таблиц – в MySQL реализованы возможности легкого изменения таблиц, что отсутствует в PostgreSQL.

В то же время у PostgreSQL есть свои преимущества:

стабильность – несмотря на то, что сообщество разработчиков MySQL больше, сама PostgreSQL изначально проектировалась как более стабильная СУБД. Плюс в этом свою роль сыграло то, что MySQL долго избавлялся от наследия своих третьей и четвертой сравнительно нестабильных версий;

скорость работы (процедуры) – PostgreSQL выигрывает в производительности на сложных запросах, логически построенных процедурах;

целостность данных – PostgreSQL позволяет оперировать с данными, не перекладывая логику на ЯП. При разработке кода программисту не придется думать о целостности данных в БД;

специальные вещи (триггеры, процедуры, функции...) - многие вещи, которые реализуются в MySQL только в последних релизах.

Как можно увидеть, главным преимуществом MySQL являются скорость работы на простых запросах (логика БД довольно простая и не требует процедур для реализации). Это преимуществом было выбрано в качестве основного при выборе СУБД.

В то же время было необходимо выбрать тип таблиц MySQL. Исторически сложилось, что типом таблиц по умолчанию в MySQL является MyISAM. Вторым по популярности типом таблиц является InnoDB. В настоящее время разрабатывается альтернатива InnoDB – Falcon, однако использование его на production-серверах не рекомендуется. В то же время существуют и другие типы таблиц, например:

HEAP (все хранится в памяти)

MERGE (совокупность таблиц MyISAM)

Maria (обновленный MyISAM с возможностями транзакций)

При анализе преимущества и недостатков стандартного типа таблиц MySQL были выявлены следующие его преимущества:

полнотекстовый поиск

преимущество в скорости на простых выборках

работа “из коробки”

Анализ преимуществ InnoDB выявил следующие пункты:

поддержка транзакций

целостность/внешние ключи

преимущество в скорости на сложных выборках

более полное соответствие стандартам

Как можно увидеть, InnoDB позволяет переложить логику на СУБД, в то время как стандартный тип таблиц позволяет использовать преимущество простых выборок (а их будет гораздо больше чем сложных). Также в MyISAM реализована возможность полнотекстового поиска (хотя она довольно требовательна к наличию индексов). И что немаловажно – возможность работы с типом “из коробки” [13]. Трудно сказать, преимущество это или недостаток, однако при развертывании каких-либо систем преимущество отдается проверенным продуктам. Настройка движка InnoDB до сих пор является довольно объемной темой, проработка которой не относится к написанию дипломной работы. Поэтому было отдано предпочтение типу таблиц MyISAM [11].



	4.5.3 Выбор серверного ЯП и клиентского фреймворка

Связующим звеном между СУБД и веб-сервером является язык программирования. В настоящее время самыми популярными и ипользуемыми серверными ЯП при разработке веб-приложений являются python, php, jsp и ruby. Стандартом ЯП для создания клиентских веб-приложений в сети Интернет является javascript. Вопросом для разработчика в настоящее время становится лишь “какой фреймворк для работы с javascript стоит выбрать”. Самыми известными фреймворками являются jquery, prototype, dojo, extjs.

В качестве серверного ЯП был выбран 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) за исключением их удаления. Также тьютор может назначать уровень доступа, иначе говоря – модет назначать группы студентов к просмотру данного видеокаста. Также тьютор может менять существующие правила доступа, добавив или удалив определенные группы из списка тех, кому доступен подкаст.

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



Рисунок 31 – Добавление подкаста



	5.4 Интерфейс студента



Интерфейс студента максимально упрощен, чтобы не возникало лишних вопросов при работе с системой [2]. Студенту доступны лишь подкасты, которые преподаватель разрешил к просмотру для его группы (рисунок 32), а также возможность осбудить материал и задать преподавателю вопросы в разделе "Обсуждения" (рисунок 33).




Рисунок 32 – Список доступных студенту подкастов



Рисунок 33 – Обсуждение подкаста с преподавателем


6 Возможности суперпользователя, администратора, преподавателя и студента



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

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

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

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

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

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






7 Добавление, изменение и настройка прав доступа к подкастам



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

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






8 Обратная связь с обучающимися



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

При загрузке в систему видеокаста автоматически создается ветка обсуждения этого видеокаста. Связь между загруженным видеокастом и созданной веткой сохраняется в БД. Таким образом у каждого видео- и аудиокаста внизу есть ссылка на ветку обсуждений.

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




9 Работа с пользователями системы



Специфика работы с пользователями системы обусловлена применением CMF OpenHazel. Использование данного фреймворка позволяет нам использовать *nix-подобную систему хранения пользователей и пользовательских групп.

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

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






10 Итоговая проверка и тестирование системы



Разработанная система прошла первоначальную апробацию студентами и преподавателями кафедры КОТ. В систему были загружены видеокасты, посвященные проблемам философии, несколько скринкастов по веб-программированию и работе с графическими программами. Была протестирована функция изменения и удаления подкастов. Также в систему были успешно загружены несколько аудиокастов на тему "Бизнес-процессы в IT". Была проверена работоспособность плеера в различных браузерах и операционных системах [7]. В систему были добавлены пользователи каждой из групп, сформированы группы пользователей, для которых были сформированы правила доступа к подкастам. Форум (обсуждение подкастов) был протестирован на соответствие стандартам безопасности, скорость работы, а также на вывод лишь тех сообщений, которые были одобрены преподавателями [6]. Была осуществлена пакетная загрузка пользователей-студентов в систему через интерфейс администратора системы. 

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

Сайт был загружен и протестирован во всех популярных браузерах и операционных системах. Все страницы, содержащие веб-интерфейс, выводили информацию одинаково в каждом из них. Распределение прав в системе происходит посредством разбиения пользователей по группам. Группы могут содержать неограниченное количество пользователей, то же самое можно сказать и о пользователях. Данная система во многом аналогична распределению прав в *nix-системах. При авторизации создается переменная в сессии, что обеспечивает возможность ограничения доступа к информации, просмотр которой запрещен определенным группам пользователей. 

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

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

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

В состав сметной стоимости входят следующие статьи затрат:

расходные материалы;

специальное оборудование;

затраты на электроэнергию для технологических целей;

основная заработная плата разработчиков;

дополнительная заработная плата;

единый социальный налог;

прочие затраты;

накладные расходы.

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



	10.1 Оценка затрат на расходные материалы



Стоимость затрат на материалы проводилась по действующим рыночным ценам по формуле



,	(1)



где	n - число позиций применяемых материалов;

m - номенклатура примененных покупных изделий;

Nnj - количество покупных изделий, полуфабрикатов j-го вида;

Цnj - цена покупного изделия, полуфабриката j-го вида, руб;

КТЗ - величина транспортно-заготовительных расходов, КТЗ = (1,03...1,05).

Результаты расчета затрат на расходные материалы приведены в таблице 1. 



Таблица 1– Затраты на расходные материалы

№

п/п

Наименование материалов

Единицы измерения

Кол-

во

Цена единицы

(руб.)

Сумма

(руб.)

Итого

материальных

затрат

(руб.)

1

Бумага офисная формата А4

упаковка

(500 листов)

1

128

128

128

2

Картридж для принтера

штука

1

1240

1240

1240

3

Папка-скоросшиватель

штука

1

48

48

48

4

Ручки шариковые

штука

5

15

75

75

Итого

1491

Затраты на расходные материалы составили одну тысячу четыреста девяносто один рубль.



	10.2 Оценка затрат на специальное оборудование



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

Стоимость амортизационных отчислений рассчитывалась по формуле



,	(2)



где	НА - годовая норма амортизационных отчислений;

tn - время использования оборудования для исследования работы, число лет.



Результаты расчета затрат на специальное оборудование приведены в таблице 2.



Таблица 2 – Оценка затрат на специальное оборудование

№

п/п

Номенклатура специального оборудования

Единицы измерения

Кол-

во

ед.

Цена ед.

(руб.)

Время исполь-

зования



Годовая норма амортиза-ционных отчисле-ний

Итого

стоимость спец.

обору-дования

(руб.)

1

Компьютер

штука

1

18000

0,3

0,2

1080

2

Принтер Canon i-SENSYS LBP-3010B Black

штука

1

5300

0,1

0,2

106

Итого

1186




Затраты на специальное оборудование составили одну тысячу сто восемьдесят шесть рублей.



	10.3 Оценка затрат на электроэнергию для технологических целей



Затраты определялись по формуле



,	(3)



где	l – номенклатура оборудования, используемого для разработки;

Wi - суммарная мощность оборудования по паспорту (0,6 кВт);

Ti - время использования для проведения разработки, час;

Сkr - стоимость одного кВт-часа электроэнергии, руб.;

Кwi - коэффициент использования мощности (0,85).

Затраты на электроэнергию для технологических целей составили восемьсот двадцать шесть рублей.



	10.4 Оценка затрат на заработную плату сотрудников



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



,	(4)



где	к - количество категорий разработчиков;

Пmj - количество разработчиков данной категории;

Зmj - среднечасовая заработная плата j-й категории;

Р - продолжительность работы, выполняемой работником определенной категории, час.

Результаты расчета основной заработной платы приведены в таблице 3.



Таблица 3 – Затраты на заработную плату сотрудников

№ 

п/п

Сотрудник

Среднечасовая заработная плата

(руб./час)

Продолжитель-ность работы

(час.)

Итого заработная плата

(руб.)

1

Руководитель

300

160

48000

2

Студент

120

640

76800

Итого

124800



Дополнительная заработная плата была рассчитана по формуле



,	(5)



где d – норматив затрат на дополнительную зарплату от основной, d = 15 %.

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



	10.5 Единый социальный налог



В статью «Единый социальный налог» входят отчисления от основной и дополнительной заработной платы. Отчисления осуществляются по установленной норме, которая составляет 26 % от суммы основной и дополнительной заработной платы. Затраты на единый социальный налог были определены по формуле:



,	(6)

где r - общий процент отчислений.

Затраты на единый социальный налог составили тридцать семь тысяч триста пятнадцать рублей.



	10.6 Оценка прочих расходов



К статье «Прочие затраты» относятся затраты на апробацию практикума, аренда жилого помещения, затраты на освещение и отопление. Эти затраты Сп были определены на основе статистической информации и составили 7 процентов от суммарной величины предыдущих статей, что равно двенадцать тысяч девятьсот три рубля шестьдесят шесть копеек.



	10.7 Оценка общей сметной стоимости проекта



Общая сметная стоимость Ср проекта определялась суммированием ее составляющих:



Ср = + + + + +  + Сп.	(7)



Составим сводную таблицу 4 с указанием всех статей расходов и затрат.



Таблица 4 – Общая Сметная Стоимость проекта

№

п/п

Статья расходов

Условное обозначение

Затраты по статье

(руб.)

1

Затраты на расходные материалы



1491

2

Затраты на специальное оборудование



1186

3

Затраты на электроэнергию



826

4

Затраты на основную заработную плату сотрудников



124800

5

Затраты на дополнительную заработную плату сотрудников



18720

6

Единый социальный налог



37315

7

Прочие затраты

Сп

12903,66

Итого

197241,66



Таким образом, общая сметная стоимость проекта составила сто девяносто семь тысяч двести сорок один рубль шестьдесят шесть копеек.




11 Безопасность жизнедеятельности



	11.1 Описание условий эксплуатации проектируемой сетевой среды



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

В системе предусмотрено разделение пользователей по следующим ролям:

администратор;

студент;

преподаватель (тьютор);

автор.

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

«Администратор»:

добавление, редактирование и удаление страниц на сайте;

добавление, редактирование и удаление модулей сайта;

изменение настроек доступа для различных групп пользователей;

добавление, изменение и удаление анонсов сайта;

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

создание, редактирование и удаление категорий форума "вопросы преподавателям";

удаление ветвей форума "вопросы преподавателям";

удаление ответов в форуме "вопросы преподавателям";

загрузка и удаление видеокастов в систему.

«Студент»:

задание вопросов в форуме "вопросы преподавателям";

просмотр доступных видеокастов.

«Преподаватель»:

создание и редактирование ветвей форума "вопросы преподавателей";

возможность отвечать и одобрять вопросы обучающихся;

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

«Автор»:

загрузка видеокастов в систему;

возможность отвечать на вопросы студентов в форуме "вопросы преподавателям".

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

В результате видно, что пользователи сайта, взаимодействуя с сайтом, подвергаются многим негативным воздействиям при работе с ПК.

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


11.2 Анализ и выявление потенциально опасных и вредных факторов



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

Воздействие электромагнитного и электростатических полей (от монитора, системного блока, устройств ввода/вывода) на внутренние органы и на деформацию живых клеток;

Излучение (рентгеновский, ультрафиолетовый и инфракрасный спектры);

Воздействие шумов и вибраций на организм;

Воздействие эргономики рабочего места и дизайна внешних устройств компьютера (клавиатура, «мышь») на опорно-двигательную систему и мышечный тонус;

Напряжение зрения (условия освещения, контраст монитора);

Опасность поражения электрическим током;

Нервно-эмоциональные перегрузки.

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

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

	11.3 Описание мероприятий, обеспечивающих или повышающих безопасность



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



	11.3.1 Меры предотвращения вредных воздействий электромагнитного и электростатических полей

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

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

Меры, предотвращающие вредное воздействие излучения:

С целью предупреждения заболеваний пользователей, вызванных воздействием излучений при работе на ПК, рекомендуется применять мониторы с пониженным уровнем излучения, соответствующие международным стандартам MPR-II, ТСО’95, ТСО’99, и контролировать соблюдение работающими регламентированных режимов труда и отдыха.

Меры по предотвращению вредного воздействия вибрации и шумов на рабочем месте:

Для уменьшения шума в помещении с ПК, как правило, применяют метод акустической обработки помещений, используя для облицовки ограждающих поверхностей звукопоглощающие материалы с максимальными коэффициентами звукопоглощения (α) в интервале частот 63 – 8000 Гц. C этой целью на потолках и стенах размещают перфорированные панели с звукопоглощающим наполнителем (минеральной ватой). Панели укрепляют непосредственно на поверхности ограждения или с отнесением от него на расстояние 20 см. В последнем случае применение звукопоглощающей облицовки более эффективно.

Дополнительным звукопоглощением могут служить однотонные занавеси из плотной ткани, гармонирующие с окраской стен и подвешенные в складку на расстоянии 15 – 20 см от оконного стекла. Ширина занавеси должна быть в 2 раза больше ширины окна. Снизить уровень шума можно также, используя для печати малошумные лазерные принтеры.



	11.3.2 Меры, позволяющие устранить вредные факторы, оказывающие влияние на мышцы и суставы

Обеспечение удобной формы и площади рабочего места.

Удобство положения клавиатуры с возможностью изменения наклона плоскости клавишного поля на дискретные значения, составляющие следующий ряд в градусах: 3, 6, 9, 12.

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

Перерыв на 15 минут через каждые 45 минут работы.

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



	11.3.3 Меры предотвращения вредных воздействий на глаза 

Создание оптимальной по удобству конструкции рабочего места (расстояние до экрана, наклон экрана и т.д.); 

Использование специальных очков с линзами-фильтрами людьми с уже нарушенным зрением;

Применение специальных защитных фильтров, уменьшающих вредное воздействие монитора. 

Монитор следует выбирать с затемненным экраном, покрытым антибликовым слоем.

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

Поддержка хорошей освещенности рабочего места.

Необходимо обращать внимание на частоту и разрешение монитора. Чем выше разрешение, тем ниже частота и, следовательно, заметнее мерцание изображения.

Важным параметром монитора является размер зерна (влияет на четкость изображения). Зерно не должно быть больше, чем 0,28 мм. В 17-дюймовых же мониторах стандартом считается размер зерна в 0,26 мм.



	11.3.4 Меры безопасности, для предотвращения возможности поражения электрическим током

Заземление всех подключаемых устройств.

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

Исключение из использования неисправной техники.

Соблюдение правил техники безопасности.



	11.3.5 Средства улучшения качества электропитания

Электронное оборудование, питающееся от сети переменного тока, подвергается различным негативным воздействиям со стороны этой питающей сети. Стандартным требованием к питающей сети является напряжение питания 220 В с допустимыми отклонениями от –15% до +10% от номинала (187-242 В) при частоте 50±1 Гц. К основным негативным воздействующим факторам относятся следующие:

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

радиочастотные шумы от воздействия мощных радиопередающих и иных устройств и помехи от импульсных блоков питания;

повышения напряжения выше 110% от номинала, кратковременные (на несколько периодов сети) или длительные, вызванные неполадками в сети, например, перекосом фаз;

кратковременные провалы (в течение нескольких периодов), вызванные подключением мощной нагрузки, и длительные понижения напряжения ниже 85% от номинального значения;

пропадание напряжения более чем на два полупериода частоты;

отклонение частоты питающей сети от номинала 50 Гц;

гармонические искажения питающего напряжения (отклонение формы от синусоидальной).

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



	11.3.6 Комплекс мер для защиты от воздействия сетевых возмущений

сетевой LC-фильтр – задерживает высокочастотные помехи из сети и в сеть от импульсных блоков питания. Этот фильтр входит в состав практически любого блока питания, а также в сетевые колодки питания типа «Pilot» и им подобные;

ограничитель перенапряжения (surge protector) – подавляет высоковольтные выбросы, как относительно длинные коммутационные (до 10 мкс), возникающие при переключениях мощных цепей, так и короткие – грозовые. Энергия импульсов перенапряжений поглощается полупроводниковым варистором. При хорошем подборе параметров варистор может спасать и от длительных значительных повышений напряжения сети, например, при перекосе фаз. В этом случае варистор будет ограничивать напряжение, выделяя значительную мощность, что приведет к его пробою на короткое замыкание и отключению питания предохранителями токовой защиты (если они есть и рассчитаны на соответствующий ток);

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

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



	11.3.7 Меры, ведущие к устранению нервно-эмоциональных перегрузок

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

Исключение присутствия на экране несистематизированной информации в большом количестве.

Пользователям необходимо обеспечить вычислительные средства достаточного быстродействия. Время реакции на запрос не должно превышать в среднем 5-10 секунд.


11.4 Пожарная безопасность



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

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

открытый огонь и искры;

повышенная температура воздуха и окружающих предметов;

токсичные продукты горения;

дым;

пониженная концентрация кислорода в воздухе;

обрушение и повреждение зданий, сооружений, установок.

В современных ЭВМ очень высокая плотность размещения элементов электронных схем. В непосредственной близости друг от друга располагаются соединительные провода, коммутационные кабели. При протекании по ним электрического тока выделяется значительное количество теплоты, что может привести к повышению температуры отдельных узлов до 80-100 °С. При этом возможно оплавление изоляции соединительных проводов, их оголение и, как следствие, короткое замыкание, которое сопровождается искрением, ведет к недопустимым перегрузкам элементов электронных схем. Последние, перегреваясь, сгорают с разбрызгиванием искр.

Эффективным средством защиты от токов перегрузки и короткого замыкания является использование плавких предохранителей или автоматов защиты. Необходимо соблюдать требования пожарной безопасности, которые предусматриваются в ГОСТ 12.1.004-76 ССБТ «Пожарная безопасность. Общие требования.»:

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

Помещения ВЦ должны соответствовать требованиям СН 512-78 «Инструкция по проектированию зданий и помещений для ВЦ» и СНиП 2-2-80 «Противопожарные нормы проектирования зданий и сооружений». Все помещения ВЦ проектируются или сооружаются из кирпича, железобетона, металла, стекла и др. несгораемых материалов, и отделяются от других помещений несгораемыми стенами. Стальные несущие конструкции над помещениями ВЦ защищаются огнестойкой защитной краской. Перекрытия имеют изоляцию.

В соответствии с СНиП 2-90-81 «Проектирование зданий промышленных предприятий» для помещений ВЦ устанавливается категория пожарной безопасности «В» (для твердых сгораемых веществ и материалов). Стены ВЦ должны быть несгораемыми с пределом огнестойкости не менее 0.75. Для технологических полов устанавливаются трудносгораемые плиты. Подпольное помещение должно разделяться несгораемыми переборками на отсеки с площадью не более 250 квадратных метров. При прокладке кабелей электрических линий используются плиты из минеральной ваты.

Согласно ГОСТ 12.4.009-75 «Первичные средства тушения пожара» в ВЦ должны быть: гидрант (пожарный ствол), огнетушитель, сухой песок в железном ящике и асбестовые одеяла. По приведенному ГОСТу пожарный кран располагается на высоте 1.35 метров от пола в доступном и удобном месте и оснащается рукавами диаметром 50 мм и длиной 10-20 метров. В машинном зале применение воды для тушения пожара возможно только в случае отключения энергоустановок от электросети. В ВЦ применяют такие виды огнетушителей как ОЦ-5 – газовый углекислотный, для подачи двуокиси углерода в виде газа или снега при тушении твердых веществ и электроустановок, находящихся под напряжением и ОП-1, ОПС-5, ОПС-10 – порошковые, для тушения порошками типа ПСБ и ПС-1 устройств, содержащих редкоземельные и щелочные металлы.

Для указания местонахождения пожарной техники и огнетушащих средств применяются указательные знаки по ГОСТ 12.4.026-76 «Знаки указательные». Знаки размещаются на высоте 2-2.5 метров. У места расположения гидрантов устанавливается цветной указатель в виде букв «ПГ». Огнетушители размещаются на высоте не более 1.5 метров от пола в тумбе с такой конструкцией, чтобы можно было определить тип огнетушителя.






Заключение



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

При разработке сетевой среды использовались следующие инструменты: веб-сервер nginx-0.7.64 в качестве фронтового веб-сервера, Apache 2.2.14 в качестве бэкенда, язык серверных сценариев PHP 5.2.11, СУБД MySQL 5.1.41. 

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

В качестве планов на будущее нужно рассматривать интеграцию с существующей информационной системой СПбГУ ИТМО, возможное добавление платежного функционала в данную систему. Также стоит решить вопрос с хранением видеокастов и, что самое главное, начинать предоставлять доступ к определенным загруженным видеокастам студентам других ВУЗов. Реализация перечисленных нововведений позволит улучшит работу с системой и увеличит информационно-содержательную ценность ресурса.