Расширение возможностей системы Moodle за счет внедрения мультиагентной системы дистанционного обучения

 

Введение


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

Дистанционное обучение занимает всё большую роль в модернизации образования. Согласно приказу 137 Министерства образования и науки РФ от 06.05.2005 «Об использовании дистанционных образовательных технологий», итоговый контроль при обучении с помощью ДОТ (дистанционных образовательных технологиях) можно проводить как очно, так и дистанционно. Госдума РФ рассматривает проект поправок к закону об образовании, связанных с дистанционным обучением.

На данный момент существуют системы управления обучением, позволяющие проводить дистанционное обучение средствами сети Internet, такие как ATutor, Claroline, Dokeos, LAMS, Moodle, OLAT, OpenACS, Sakai.


1. Специальная часть


1.1 Аргументация выбора системы Moodle


1.1.1 Обзор систем управления обучением.

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

·авторские программные продукты (Authoring Packages),

·системы управления обучением (Learning Management Systems - LMS),

·системы управления контентом (содержимым учебных курсов) (Content Management Systems - CMS),

·системы управления учебным контентом (Learning Content Management Systems - LCMS)

1.1.1.1 Свободно распространяемые LMS\LCMS

На основе анализа существующих OpenSource систем LMS\LCMS были выделены следующие: ATutor, Claroline, Dokeos, LAMS, Moodle, OLAT, OpenACS, Sakai. Основными критериями отбора были выбраны степень поддержки системы и многоязыковое сопровождение.представляет собой свободно распространяемую web-ориентированную систему управления учебным контентом, разработанную с учетом идей доступности и адаптируемости. Администраторы могут обновить или инсталлировать Atutor за несколько минут, разработать собственные шаблоны оформления системы. Преподаватели могут быстро собирать, структурировать содержание учебного материала для проведения занятий on-line. Обучаемые работают с гибкой, адаптивной средой обучения.(Classroom Online) - платформа построения сайтов дистанционного обучения, созданная с учетом пожеланий преподавателей.

Приложение было создано в институте педагогики и мультимедиа католического университета в Лувене. Продукт бесплатен и доступен. Требует установки PHP/MySQL/Apache. Claroline позволяет создавать уроки, редактировать их содержимое, управлять ими. Приложение включает генератор викторин, форумы, календарь, функцию разграничения доступа к документам, каталог ссылок, систему контроля за успехами обучаемого, модуль авторизации.- платформа построения сайтов дистанционного обучения, основанная на ветке (fork) Claroline (версии 1.4.2.). Ветка представляет собой клон свободно распространяемого программного продукта, созданный с целью изменить приложение-оригинал в том или ином направлении.- результат работы некоторых членов первоначальной команды разработчиков Claroline, которые задумали: изменить ориентацию приложения. Теперь оно подойдет скорее организациям, чем университетам. Дело в том, что Claroline прекрасно адаптирована для университетской среды, что выражается в поддержке большого количества учеников и курсов. Dokeos , как нам кажется, больше ориентирован на профессиональную клиентуру, например, на персонал предприятия.бесплатен и останется таковым, поскольку лицензия Claroline (GNU/GPL) предполагает, что ветки подпадают под ту же лицензию.

LAMS. Спецификация IMS Learning Design была подготовлена в 2003 году. В ее основу положены результаты работы Открытого университета Нидерландов (Open University of the Netherlands - OUNL) по языку образовательного моделирования «Educational Modelling Language» (EML), при помощи которого описывается «метамодель» разработки учебного процесса.

На основе данной спецификации была создана «Система управления последовательностью учебных действий» Learning Activity Management System (LAMS). LAMS предоставляет преподавателям визуальные средства для разработки структуры учебного процесса, позволяющие задавать последовательность видов учебной деятельности.представляет собой революционно новое приложение для создания и управления электронными образовательными ресурсами. Она предоставляет преподавателю интуитивно понятный интерфейс для создания образовательного контента, который может включать в себя различные индивидуальные задания, задания для групповой работы и фронтальную работу с группой обучаемых.- приложение, предназначенное для организации online-уроков и обучающих web-сайтов. Проект был задуман для распространения социо-конструктивистского подхода в обучении.

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

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

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

OLAT Разработка системы началась еще в 1999 году, где она является основной образовательной платформой электронного обучения.Open Architecture Community System) это система для разработки масштабируемых, переносимых образовательных ресурсов. Она является основой для многих компаний и университетов, занимающихся использованием технологий электронного обучения.представляет собой онлайн систему организации учебного образовательного пространства. Sakai является системой с полностью открытым исходным кодом, которая поддерживается сообществом разработчиков. В систему интегрирована поддержка стандартов и спецификаций IMS Common Cartridge, SCORM.


.1.1.2 Анализ OpenSource LMS\LCMS


Таблица 1.1.1.2 Анализ OpenSource LMS\LCMS

ATutorClarolineDokeosLAMSMoodleOLATOpenACSSakaiОценка54461632Текущая версия1.6.2 (2009)1.8.11 (2009)1.8.6 (2009)2.2 (2009)1.9.5 (2009)6.0.7 (2009)5.4.3 (2009)2.5.4 (2009)ЛицензияGPLGNU GPLGNU GPLOpen SourceGNU GPLOpen SourceGNUECLРейтинг трафика (alexa.com)123.735128.01757.5331.474.40817.545365.390125.430114.293Многоязыковой интерфейсДа (более 30 языков)Да (более 30 языков)Да (более 30 языков)Да (Более 20 языков)Да (более 50 языков)ДаНетДа (более 10 языков)Поддержка русского языкаДаДанетдаДаНетНетДаПоддержка SCORMДаДаДанетдаданетдаПоддержка IMSДаДаДанетдаданетдаСтруктураядро+набор модулеймонолитнаяядро+набор модулеймонолитнаяядро+набор модулеймонолитнаямодульнаяядро+набор модулейВозможность расширенияДа за счет внешних модулейзависит от разработчиковДа за счет внешних модулейзависит от разработчиковДа за счет внешних модулейзависит от разработчиковзависит от разработчиковДа за счет внешних модулейДополнительное ПОApache, MySQL, PHPApache, MySQL, PHPApache, MySQL, PHPApache, JBOSS, Tomcat, MySQLApache, MySQL, PHPJava SDKAOLServer,Oracle, PostgreSQLMySQL, OracleПлатформаWindows, Linux, Unix, MacOSWindows, Linux, Unix, MacOSWindows, Linux, Unix, MacOSWindows, MacOSWindows, Linux, Unix, MacOSLinux, UnixWindows, Linux, Unix, MacOSWindows, Linux, Unix, MacOSСистема тестированиядадададададададаПоддержка внешних тестовнетнетнетнетдаданетдаНадежность сервера (0-5 баллов)33334334Стабильность сервера (0-5 баллов)34345234Ограничение на количество слушателейнетнетнетнетнетнетнетнетСреда разработки учебного материалавстроеннаявстроеннаявстроеннаявстроеннаявстроеннаявстроеннаявстроеннаявстроеннаяСистема проверки знанийТесты, куксы, блоги, активность на форумахтесты, упражнениятестытестытесты, задания, семинары, активность на форумахтесты, заданиятестытесты, задания, активность на форумахСистема отчетностисредне развитасредне развитасредне развитаслабо развитаразвита, постоянно развиваетсяслабо развитаслабо развитаразвита, постоянно развиваетсяПроведенный анализ показал, что систем LMS\LCMS «Moodle» является наиболее подходящей платформой для организации дистанционного обучения.


1.2 Обзор существующих подходов к расширению возможностей системы Moodle


1.2.1 Структура системы Moodle

Moodle (модульная объектно-ориентированная динамическая учебная среда) - свободная система управления обучением (LMS), распространяющаяся по лицензии GNU General Public License. Moodle написана на PHP с использованием SQL-базы данных (MySQL, PostgreSQL, Microsoft SQL Server и др. БД - используется ADO DB XML). Moodle может работать с объектами SCO и отвечает стандарту SCORM.

Благодаря развитой модульной архитектуре, возможности Moodle могут легко расширяться сторонними разработчиками.

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

Структуру Moodle можно описать подобной схемой:


Схема 1.2.1 Структура динамической учебной среды Moodle









1.2.1.1 Подходы к расширению возможностей системы Moodle

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

1.2.1.2 Изменение ядра системы

LMS Moodle распространяющаяся по лицензии GNU GPL. Цель GNU GPL - предоставить пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы (что по умолчанию запрещено законом об авторских правах), а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права.

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

1.2.1.3 Написание модулей для системы

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

·Элементы курса

·Отчеты администратора

·Типы заданий

·Плагины аутентификации

·Блоки

·Форматы курсов

·Отчеты по курсам

·Поля базы данных (для элемента курса "База данных")

·Плагины подписки на курсы

·Фильтры

·Отчеты по оценкам

·Форматы экспорта оценок

·Форматы импорта оценок

·Портфолио

·Типы вопросов в тестах

·Форматы импорта/экспорта тестов

·Отчеты по тестам

·Хранилища файлов

·Типы ресурсов

·Плагины поиска

1.2.1.4 Написание независимого программного обеспечения на той же предметной области

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

1.2.1.5 Интеграция стороннего программного обеспечения посредствам модулей реализующих интерфейсы

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

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

1.2.1.6 Комбинированный

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


Таблица 1.2.1.6 Анализ подходов к расширению возможностей системы Moodle

Изменение ядра системыНаписание модулей для системыНаписание независимого программного обеспечения на той же предметной областиИнтеграция в систему стороннего программного обеспечения посредствам модулей реализующих интерфейсыКомбинированныйКонечное ПО должно быть реализовано на языке PHP++--+/-Внесение системных изменений в систему Moodle+---+/-Поддержка ПО следующими версиями Moodle той же серии-++++/-Увеличение сетевого трафика---++/-Зависимость от структуры Moodle--+-+/-

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


Актуальность

LMS Moodle является на данный момент одной из самых динамично развивающихся систем дистанционного обучения. Moodle переведена на десятки языков, в том числе и русский и используется почти в 50 тысячах организаций из более чем 200 стран мира. В Российской Федерации зарегистрировано более 400 инсталляций. Количество пользователей Moodle в некоторых инсталляциях достигает 40 тысяч человек.

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

Цель

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

Решаемые задачи

В ходе дипломного проектирования должны быть выполнены следующие задачи:

·Техническое исследование системы Moodle.

·Выбор типа подключаемого модуля расширения системы Moodle, наиболее удовлетворяющего целям дипломного проектирования.

·Разработка структуры и реализация модуля.

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

·Написание руководства по установке и эксплуатации созданного модуля.

Свойства объекта разработки

Объект разработки должен обладать следующими свойствами:

·Модуль должен реализовывать:

oИнтерфейс, связывающий систему Moodle и мультиагентную систему дистанционного обучения

oПользовательский интерфейс

·Модуль не должен влиять на скорость загрузки страницы.

·Модуль должен быть гибко настраиваемым.

·Модуль должен выполнять все требования совместимости, предъявляемые к модулям в системе.

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

·Модуль удовлетворяет требованиям системы к подключаемым модулям соответствующего типа.

·Модуль должен быть реализован с использованием скриптового языка PHP.


2.1 Проектирование


Техническое исследование системы Moodle.

Moodle является системой управления курсами (CMS - Course Management System), распространяемой в соответствии с условиями лицензии GNU Public License и в связи с этим обладает рядом особенностей, присущих бесплатному свободно распространяемому программному обеспечению. В их числе - отсутствие завершенной документации. Поэтому данное исследование проводится на основании самих исходных кодов системы Moodle с минимальным привлечением документации с официального сайта системы. В настоящее время система активно развивается, поэтому перед прямым использованием результатов исследования необходимо убедиться в том, что версия пользователя совпадает с версией, которая была исследована.

В данном исследовании рассматривается система Moodle версии 1.9.5 от 30 мая 2009г.

Требования. Аппаратное обеспечение.

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

·Доступный объем ПЗУ: не менее 160 МБ. Для хранения учебных материалов, используемых в обучении, будет необходим дополнительный объем.

·Доступный объем ОЗУ: не менее 256 МБ. Рекомендуется 1ГБ. Можно считать, что система Moodle может обслуживать по 50 пользователей одновременно на каждый 1 ГБ доступной оперативной памяти. Точность этого правила зависит от конкретной комбинации используемого аппаратного и программного обеспечения.

Программное обеспечение.

Система Moodle написана на скриптовом языке PHP и представляет собой совокупность текстовых файлов, в которых описаны все алгоритмы работы системы. Эта совокупность файлов не является самостоятельной программой - для функционирования ей необходим, как минимум, интерпретатор скриптового языка PHP, который и будет выполнять описанные алгоритмы по инструкциям в файлах системы. При этом, так как Moodle - система дистанционного обучения, необходим веб-сервер, как средство взаимодействия с пользователем через сеть Интернет. Особенность подобной организации работы состоит в том, что по каждому запросу пользователя системы создается отдельная «нить» (thread) исполнения, которая уничтожается по завершении выполнения данного запроса. Таким образом, возникает необходимость во внешнем по отношению к веб-серверу и интерпретатору PHP хранилище данных для сохранения результатов взаимодействия системы и пользователя между его обращениями. В роли такого хранилища выступает реляционная база данных, функционирующая под управлением СУБД (Системы Управления Базами Данных). Наличие и нормальное взаимодействие всех описанных выше программных продуктов является необходимым для функционирования системы Moodle. При этом на используемые программные продукты накладываются следующие ограничения:

·Веб-сервер. Большинство предпочитают Apache, но Moodle будет хорошо работать и с любым другим веб-сервером, который поддерживает PHP, например IIS на Windows платформе.

·На данный момент существует 2 основные версии (ветки) PHP: PHP4 и PHP5. В зависимости от версии Moodle предъявляет следующие требования:

oДля Moodle версии 1.4 или выше: поддерживаются PHP4 (версия 4.1.0 или выше) или PHP5 (версия 5.1.0 или выше).

oДля Moodle версии 1.6 или выше: поддерживаются PHP4 (версия 4.3.0 или выше) или PHP5 (версия 5.1.0 или выше).

oНастройки PHP

§safe_mode должна быть отключена

§memory_limit должна иметь значение по-крайней мере 16M (32M рекомендуется для Moodle 1.7 и 40M для Moodle 1.8 или выше).

§session.save_handler должно иметь значение files.

oБиблиотеки и расширения PHP

§mbstring обязателен для Moodle 1.6 и выше. Это расширение предназначено для работы с многобайтными строками и особенно важно для русскоязычных инсталяций.

§iconv обязателен для Moodle 1.6 и выше.

§библиотека GD и FreeType 2 необходимы для создания графиков, диаграмм и для построения страниц логов.

§Расширение mysql необходимо, если вы используете MySQL.

§Расширение pgsql необходимо, если вы используете PostgreSQL.

§Расширение zlib необходимо для работы с архивами zip.

§Расширение curl рекомендуется для Moodle 1.8 и выше.

§Расширение tokenizer рекомендуется для Moodle 1.8 и выше.

§Расширения curl и openssl необходимы для функционирования Moodle network - сетевое взаимодействия нескольких инсталяций Moodle (для Moodle 1.8 и выше).

§Могут потребоваться другие расширения PHP, особенно если используется внешняя аутентификация и/или запись на курсы (например, расширение LDAP для аутентификации с использованием LDAP или расширение sockets для Chat-сервера).

·Работающий сервер СУБД: MySQL или PostgreSQL полностью поддерживаются и совместимы для использования с Moodle. Поддержка Microsoft SQL Server и Oracle была добавлена в Moodle 1.7.

oДля Moodle 1.5 требуется MySQL не ниже 3.23 или PostgreSQL не ниже 7.4.

oДля Moodle 1.6 требуется MySQL не ниже 4.1.16 (4.1.12 если вы используете только языки на основе латинского алфавита) или PostgreSQL не ниже 7.4.

oДля Moodle 1.7 требуется MySQL не ниже 4.1.16 (4.1.12 если вы используете только языки на основе латинского алфавита), PostgreSQL не ниже 7.4 или Microsoft SQL Server 2005 (версия 9 или SQL Server Express 2005).

·Опция MySQL"strict mode" должна быть отключена.

·Минимально возможная версия PostgreSQL - 7.4, но Moodle широко используется и с 8.0 и 8.1.

Процесс установки.

Описание процесса установки системы Moodle подразумевает, что необходимое ПО установлено, настроено и взаимодействует.

Процесс установки системы Moodle автоматизирован, поэтому не требует знакомства с внутренним устройством системы. Для запуска процесса установки необходимо обеспечить доступ к дистрибутиву Moodle средствами веб-сервера (в случае веб-сервера Apache это означает поместить дистрибутив в папку htdocs/httpdocs). Процесс установки описан в файле install.php, который находится в корневой папке дистрибутива. Для его правильной активации необходимо обратиться к нему с помощью программы-браузера. При обращении по адресу, соответствующему файлу install.php, отображается страница мастера установки, для нормальной работы которого требуется, чтобы браузер поддерживал и принимал cookies от сайта с системой. В ходе работы мастера необходимо ввести параметры, необходимые Moodle для инициализации основных конфигурационных файлов. Помимо этого, будет произведена диагностика установленного программного комплекса (веб-сервер+интерпретатор PHP и СУБД) на корректную взаимную работу, проверены необходимые параметры интерпретатора PHP. После завершения работы мастера будет создан файл config.php, который будет содержать основные параметры конфигурации системы и будет в дальнейшем задействован в работе. После создания файла config.php при первом посещении сайта установленной системы Moodle будет произведено создание таблиц Moodle в базе данных.

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

На этом установка Moodle завершена, система готова к использованию.

Схема хранения в базе данных.

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


adodb_logsql_assignment_assignment_submissions_backup_config_backup_courses_backup_files_backup_ids_backup_log_block_block_instance_block_pinned_block_rss_client_block_search_documents_cache_filters_cache_flags_cache_text_capabilities_chat_chat_messages_chat_users_choice_choice_answers_choice_options_config_config_plugins_context_context_temp_course_course_allowed_modules_course_categories_course_display_course_meta_course_modules_course_request_course_sections_data_data_comments_data_content_data_fields_data_ratings_data_records_enrol_authorize_enrol_authorize_refunds_enrol_paypal_event_events_handlers_events_queue_events_queue_handlers_forum_forum_discussions_forum_posts_forum_queue_forum_ratings_forum_read_forum_subscriptions_forum_track_prefs_glossary_glossary_alias_glossary_categories_glossary_comments_glossary_entries_glossary_entries_categories_glossary_formats_glossary_ratings_grade_categories_grade_categories_history_grade_grades_grade_grades_history_grade_import_newitem_grade_import_values_grade_items_grade_items_history_grade_letters_grade_outcomes_grade_outcomes_courses_grade_outcomes_history_grade_settings_groupings_groupings_groups_groups_groups_members_hotpot_hotpot_attempts_hotpot_details_hotpot_questions_hotpot_responses_hotpot_strings_journal_journal_entries_label_lams_lesson_lesson_answers_lesson_attempts_lesson_branch_lesson_default_lesson_grades_lesson_high_scores_lesson_pages_lesson_timer_log_log_display_message_message_contacts_message_read_mnet_application_mnet_enrol_assignments_mnet_enrol_course_mnet_host_mnet_host2service_mnet_log_mnet_rpc_mnet_service_mnet_service2rpc_mnet_session_mnet_sso_access_control_modules_newnameforthetable_post_question_question_answers_question_attempts_question_calculated_question_categories_question_dataset_definitions_question_dataset_items_question_datasets_question_match_question_match_sub_question_multianswer_question_multichoice_question_numerical_question_numerical_units_question_randomsamatch_question_sessions_question_shortanswer_question_states_question_truefalse_quiz_quiz_attempts_quiz_feedback_quiz_grades_quiz_question_instances_quiz_question_versions_resource_role_role_allow_assign_role_allow_override_role_assignments_role_capabilities_role_names_role_sortorder_scale_scale_history_scorm_scorm_scoes_scorm_scoes_data_scorm_scoes_track_scorm_seq_mapinfo_scorm_seq_objective_scorm_seq_rolluprule_scorm_seq_rolluprulecond_scorm_seq_rulecond_scorm_seq_ruleconds_sessions2_stats_daily_stats_monthly_stats_user_daily_stats_user_monthly_stats_user_weekly_stats_weekly_survey_survey_analysis_survey_answers_survey_questions_tag_tag_correlation_tag_instance_timezone_user_user_info_category_user_info_data_user_info_field_user_lastaccess_user_preferences_user_private_key_webdav_locks_wiki_wiki_entries_wiki_locks_wiki_pages_workshop_workshop_assessments_workshop_comments_workshop_elements_workshop_grades_workshop_rubrics_workshop_stockcomments

mdl_workshop_submissions


Краткое описание назначения некоторых из этих таблиц приведено ниже.

Таблица 2.1 Описание назначения таблиц базы данных

mdl_role*Группа таблиц, описывающих действующую систему привилегий для различных пользователей.mdl_userПеречень всех пользователей, сведения о них, ряд служебных флагов.mdl_blockПеречень всех установленных в системе модулей типа «блок» и их параметры.mdl_block_module_name*Общее правило именование таблиц для блоков (в данном случае - таблицы для блока module_name)mdl_block_instance mdl_block_pinnedДанные блоков привязанных к разделам и страницам

Типы подключаемых модулей расширения в Moodle.

·Activity modules - большие модули, вовлекающие студентов и преподавателей во взаимодействие (обычно формируют множество страниц, содержат сложную систему управления). Например: wiki (движок Wikipedia в Moodle), forum (форумы в Moodle).

·Admin reports - дополнительные отчеты, доступные администратору сайта.

·Assignment types - дополнительные типы заданий.

·Authentication plugins - дополнительные способы аутентификации пользователей.

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

·Course formats - дополнительные способы организации курса (например разделяемый по неделям, разделяемый по темам).

·Course reports - дополнительные отчеты по курсу.

·Database fields - поддержка дополнительных структур данных, при работе с БД.

·Database presets

·Enrolment plugins - дополнительные средства оплаты обучения.

·Filters - дополнительные средства преобразования текста, введенного пользователем.

·Gradebook plugins

oGradebook report - отчет по успеваемости студентов в рамках курса.

oGradebook export - дополнительные средства выгрузки данных об успеваемости студентов.

oGradebook import - дополнительные средства загрузки данных об успеваемости студентов.

·Question engine - дополнительные типы вопросов для использования в системе (например тестовые, числовые, с текстовым ответом)

·Question import/export formats - дополнительные средства загрузки/выгрузки вопросов в систему.

·Quiz reports - дополнительные отчеты по результатам выполнения студентами тестов.

·Resource types - дополнительные типы ресурсов.

·SSO plugins

·Search engine adapters - дополнительные адаптеры для преобразования внутренних данных других модулей к формату встроенного в систему Moodle механизма поиска для предоставления возможности пользователям производить поиск по данных этих модулей.

Программный интерфейс модуля типа block

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

·init() - функция, задачей которой является установка значений полей title и version. Первое используется как заголовок модуля и будет отображаться как имя модуля в системе Moodle, а второе, являясь обязательным, используется только для блоков, которые работают с базой данных для того, чтобы дать возможность разработчику изменять структуру хранимых данных от версии к версии с сохранением работоспособности модуля. Принято присваивать полю version значение в формате ГГГГММДД00, то есть для версии выпущенной 30го мая 2009 года необходимо использовать значение 2009053000.

·get_content() - функция, которая вызывается каждый раз при открытии страницы курса, на которой задействован блок. Возвращаемым значением должен быть экземпляр класса stdClass с определенными полями text и footer. Значение поля text - будет выведено в основной части блока (значение этого поля может быть текстом с html разметкой), а значение поля footer - меньшим шрифтом под основным содержимым (html также разрешен). Возвращаемое значение (содержимое блока, отображаемое на странице курса) должно быть сохранено в поле content описываемого класса.

Таким образом, простейший модуль типа block описывается следующим кодом:


<?phpblock_demoblock extends block_base {init() {

$this->title = 'Block_title';

$this->version = 2009053000;

}get_content() {($this->content !== NULL) {$this->content;

}

$this->content = new stdClass;

$this->content->text = 'Block content';

$this->content->footer = 'Footer here...';

return $this->content;

}

}

?>


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

Описанный выше простейший блок является полноправным модулем системы Moodle - в случае, если его поместить в папку blocks в корневом каталоге дистрибутива системы и после этого обратиться к странице администратора (#"justify">Помимо указанной функциональности, базовый класс block_base, предоставляет еще ряд возможностей, к которым можно получить доступ, переопределяя некоторые функции или изменяя значения полей.

Поля, разрешенные для присваивания.

·title - заголовок (имя) модуля в системе; разрешено прямое присваивание в методе init().

·content_type - тип блока. Может принимать одно из двух значений BLOCK_TYPE_TEXT (обычный блок) и BLOCK_TYPE_LIST (блок, отображающий список). Типы различаются организацией поля content и методом вывода блока на страницу. Разрешено прямое присваивание в методе init().

·content - содержание блока для отображения при вызове со страницы курса. Должно присваиваться и обновляться в методе get_content().

·edit_controls - разрешенные действия с блоком (создается методом _add_edit_controls())

·version - версия модуля. Должна быть определена в методе init().

·cron - время в секундах между запусками метода cron(), описанного далее. Если присвоено значение 0, запусков не будет вовсе.

·pinned - не может быть передвинут, всегда отображается

Методы, доступные для переопределения.


·after_install()

·before_delete()

·after_restore($restore)

·get_title()

·get_content_type()

·has_config()

·config_print()

·config_save($data)

·applicable_formats()

·preferred_width()

·hide_header()

·html_attributes()

·specialization()

·instance_allow_config()

·instance_allow_multiple()

·instance_config_print()

·instance_config_save($data,$pinned=false)

·instance_create()

·instance_delete()

·user_can_edit()

·user_can_addto(&$page)


2.2 Проектирование модуля интеграции


Правила построения модуля.

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

·Модуль должен быть Объектно-Ориентированным.

·Работоспособность модуля должны организовывать классы ядра модуля.

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

·Реализация протокола должна быть отделена от классов ядра.

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

Входные и выходные данные

Входными для модуля являются следующие источники данных: настройки самого модуля, настройки системы дистанционного обучения Moodle, ответ от мультиагентной системы.

Ответ от мультиагентной системы приходит в формате описанном по стандартам SOAP, и десереализуется в PHP-переменные.

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

Процесс ввода настроек должен отвечать следующим требованиям:

·не занимать много времени

·пользователь должен быть ознакомлен с JSON форматом представления данных

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

·связь между преподавателем и сервером системы Moodle возможна только с помощью общественных каналов сети Интернет

·доступ к серверу из сети Интернет разрешен только для взаимодействия с программой веб-сервера по протоколу http

·серверу доступен сервер баз данных под управлением СУБД, совместимой с системой Moodle, а также интерпретатор скриптового языка PHP, интегрированный с веб-сервером.

В состав настроек модуля входят следующие данные:

·Общие настройки

oЗаголовок блока

oЛокальный путь, где расположен клиент дл обмена данных с МАС

·Настройки клиента

oПолный путь до WSDL, содержащего описание сервисов MAS

oАдрес Proxy-сервера

oЛогин (proxy)

oПорт (proxy)

oПароль (proxy)

oConnect timeout

oResponce timeout

oСервис по умолчанию

oДанные для сервиса по умолчанию

oШаблон для вывода по умолчанию

oТип авторизации

oЛогин (авторизация)

oПароль (авторизация)

oЗапросы к МАС, которые не требуют ответа, но их необходимо посылать при каждом обновлении страницы

Ввод этих настроек осуществляется со страницы настройки блока




Выходными данными модуля являются:

·Пользовательский интерфейс модуля

·Интерфейс ввода настроек модуля

Методы решения задачи

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


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

ПараметрActivity moduleРазличные отчетыBlocksGradebook pluginsПростота интеграции в систему3454Область видимостиОпределяется в ходе интеграцииНа странице генерации отчетовНа странице курсаНа странице успеваемостиВозможность выполнять периодические работыДаНетДаНетВстроенный механизм хранения параметров для каждого курсаНетНетДаНет

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

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

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

2.3 Алгоритм решения задачи


Схема данных работы модуля

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

Все необходимые для работы системы данные хранятся в базе данных под управлением СУБД (с которой у интерпретатора PHP налажена связь через внутреннюю сеть) или в оперативной памяти, как параметры, переданные в http запросе.

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

На основании адреса запрошенной страницы запускается на исполнение нужный скрипт. Запущенный на исполнение скрипт PHP запрашивает у СУБД нужные данные, СУБД производит выборку из БД и возвращает данные интерпретатору PHP.

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

Структура модуля интеграции

Модуль построен на базе стандартного модуля LMS Moodle типа «Блок».











Модуль можно разделить на несколько частей:

Базовые классы (классы ядра), организующие работы модуля в целом.

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

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

Реализация протокола для связи с мультиагентной системой. На данный момент построен на базе протокола SOAP и языка описания веб-сервисов WSDL. Классы реализующие протокол не являются базовыми, поэтому при смене протокола не нужно будет вносить системные изменения в модуль. При реализации протокола реализованы как клиентская так и сервисная части, то есть модуль может выступать как клиент, так и как сервис. Для второго случая не предусмотрен пользовательский интерфейс, сервисы создаются программистом.

Схема работы модуля интеграции


Авторизация пользователя, проверка достаточно ли у него прав для просмотра страницы или блока производится средствами Moodle.

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

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


.4 Описание интерфейсов общения с мультиагентной системой


Интерфейсы общения с мультиагентной системой построены на безе библиотеки nuSOAP и включают в себя реализацию языка описания веб сервисов WSDL и протокола SOAP.

WSDL.

Для описания интерфейса программной компоненты, включая спецификацию корректных сообщений, был разработан язык WSDL (Web Service Definition Language). Описание на языке WSDL включает в себя следующие семь составляющих


Рис. Составные части WSDL документа


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

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

.Описание операций (сервисов программной компоненты), с каждой из которых связывается входящее и исходящее сообщение.

.Описание типов портов (идентификаторов программных компонент), с каждым из которых связывается некоторый набор операций.

.Описание привязок ( binding ), связывающие типы портов и их сообщений с определенным типом кодирования тела пакета, а также с версией протокола SOAP.

.Описание портов, связывающие типы портов и соответствующие им привязки с конкретными URL.

.Общее описание службы (интерфейса программной компоненты) как совокупности портов.

Упрощенная структура WSDL-документа:

<wsdl:definitions>

<wsdl:types>...</wsdl:types>

<wsdl:message>...<wsdl:message/>

<wsdl:portType>...</wsdl:portType>

<wsdl:binding>...</wsdl:binding>

<wsdl:service>...<wsdl:service>

<wsdl:definitions>

С помощью нескольких элементов обозначаются главные разделы WSDL-документа.


wsdl:typesЭлемент-контейнер определений типов данных, созданных с помощью XML-схемы (XSD) или другой аналогичной системой для типов данных.wsdl:messageОпределение данных сообщения, с которыми устанавливается связь. Сообщение может состоять из нескольких частей, и эти части могут быть разных типов.wsdl:portTypeАбстрактный набор операций, поддерживаемых одной или несколькими конечными точками.wsdl:bindingКонкретная спецификация протокола и формата данных для определенного типа порта.wsdl:serviceКоллекция связанных конечных точек.

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

SOAP.

SOAP - протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался, в основном, для реализации удалённого вызова процедур, а название было аббревиатурой: Simple Object Access Protocol - простой протокол доступа к объектам. Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. Официальная спецификация последней версии 1.2 протокола никак не расшифровывает название SOAP. SOAP является расширением протокола XML-RPC.может использоваться с любым протоколом прикладного уровня: SMTP, FTP, HTTP и др. Однако его взаимодействие с каждым из этих протоколов имеет свои особенности, которые должны быть определены отдельно. Чаще всего SOAP используется поверх HTTP.является одним из стандартов, на которых базируется технологии веб-сервисов.

Сообщение SOAP выглядит так:


<?xml version='1.0' ?>

<env:Envelope xmlns:env="#"justify"><env:Header>

</env:Header>

<env:Body>

</env:Body>

</env:Envelope>


Заголовок SOAP является расширением, предоставляющим способ передачи в SOAP-сообщениях информации, вообще говоря не являющейся полезной для приложения. Подобная "контрольная" информация включает, например, директивы прохождения сообщения или контекстную информацию, относящуюся к обработке сообщения. Это позволяет подстраивать SOAP-сообщения под каждое конкретное приложение. Следующие непосредственно за env:Header дочерние элементы называются заголовочными блоками. Они представляют логическую группировку данных, которые, как показано позже, могут быть индивидуально адресованы SOAP-узлам, встречаемым сообщением на пути от отправителя к конечному получателю.

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

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

Для вызова SOAP RPC требуется следующая информация:

1.Адрес SOAP-узла места назначения;

2.Имя процедуры либо метода;

.Наименования и значения всех аргументов, передаваемых процедуре или методу вместе с выходными параметрами и возвращаемым значением;

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

.Определение шаблона обмена сообщениями, а также так называемого "Web-метода", которые будут использоваться для передачи RPC.

.Данные, которые могут быть переданы как часть заголовочных блоков SOAP. Эти данные не являются обязательными.также предлагает проектировщику приложений общую функцию, называемую Web-методо SOAP, которая позволяет приложениям полностью контролировать выбор так называемого "Web-метода" - одного из GET, POST, PUT, DELETE, чья семантика определена в спецификациях HTTP Web-метод может использоваться поверх привязки. Эта функция гарантирует, что SOAP-приложения могут взаимодействовать поверх привязки образом, совместимым с архитектурными принципами World Wide Web. (Говоря кратко, простота и масштабируемость Web существует в значительной степени благодаря существованию множества "общеупотребительных" методов (GET, POST, PUT, DELETE), которые могут быть использованы для взаимодействия с любым ресурсом Web посредством URI.) Функция SOAP Web-метод поддерживается HTTP-привязкой SOAP, хотя, в принципе, она доступна и для всех других привязок SOAP к нижележащим протоколам.

Преимущества SOAP:

oОбеспечивает взаимодействие программных систем независимо от платформы.

oИспользование интернет-протокола HTTP обеспечивает взаимодействие программных систем через межсетевой экран.

Недостатки SOAP:

oИспользование SOAP для передачи сообщений увеличивает их объём и снижает скорость обработки.

oХотя SOAP является стандартом, различные программы часто генерируют сообщения в несовместимом формате. Например, запрос сгенерированный AXIS-клиентом, не будет понят сервером WebLogic.


Схема сетевого взаимодействия системы Moodle и мультиагентной системы

















Moodle и мультиагентная система «общаются» по принципам взаимодействия веб-сервисов:

1.Клиентское приложение инициализирует SOAPClient

2.SOAPClient читает файлы описания методов веб-сервиса (WSDL).

.SOAPClient формирует пакет запроса (SOAP Envelope) и отправляет на сервер. Возможно использование любого транспортного протокола, но, как правило, используется HTTP.

.Пакет принимает серверное приложение, создает объект SOAPServer и передает ему пакет запроса

.SOAPServer читает описание веб-сервиса, загружает описание и пакет запроса в XML DOM деревья

.SOAPServer вызывает метод объекта/приложения, реализующего сервис

.Результаты выполнения метода или описание ошибки конвертируются объектом SOAPServer в пакет ответа и отправляются клиенту

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


2.5 Расчет надежности программного комплекса


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

Основное свойство, описываемое количественными характеристиками работоспособность. Утрата работоспособности - отказ.

Количественные характеристики надежности (работоспособности) различаются для восстанавливаемых и невосстанавливаемых изделий.

Основные характеристики надежности для невосстанавливаемых изделий:

·вероятность безотказной работы за время t: P(t);

·вероятность отказа за время t: Q(t)= 1 - P(t);

·интенсивность отказов l(t) - указывает среднее число отказов, возникающее за единицу времени эксплуатации изделия;

·среднее время наработки изделия до отказа T0.

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

В расчетах времени до отказа t считается случайной величиной, поэтому используется аппарат теории вероятностей.

Свойства (аксиомы):(0)=1 (рассматривается эксплуатация работоспособных изделий);t ® ? P(t)=0 (работоспособность не может быть сохранена неограниченное время);

(для невосстанавливаемых) dP(t)/dt?0 (после отказа изделие не восстанавливается).

Выбор показателя надежности:

·Если невосстанавливаемое изделие работает однократно в течение небольшого заданного отрезка времени tзад. <<T, то в качестве показателя подходит P(t) или Q(t)

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


2.6 Методика расчета надежности невосстанавливаемых изделий


Условия расчета:

·расчет производится для этапа нормальной эксплуатации изделия, поэтому считают l(t)-const;

·создают надежностную схему изделия, причем считают, что отказ элемента (группы элементов), включенных в надежностную схему, приводит к отказу всего изделия;

·каждый элемент, включаемый в надежностную схему, характеризуется интенсивностью отказов li и вероятностью безотказной работы Pi(t); считают, что отказы отдельных элементов независимы между собой (хотя бы в первом приближении), поэтому вероятность безотказной работы изделия Pизд(t) (по теории вероятностей):


Pизд.(t)=P1(t) * P2(t) * …* Pn(t) =

а интенсивность отказов изделия lизд


lизд=l1 + l2 + …+ ln =


(складываются показатели степени в выражении P=exp(-lt) ),

тогда для среднего времени наработки на отказ Tизд = 1/lизд


Надежностная схема


Методика расчета надежности восстанавливаемых изделий и систем.

Процесс эксплуатации восстанавливаемых систем и изделий отличается от такого же процесса для невосстанавливаемых тем, что наряду с потоком отказов элементов изделия присутствуют стадии ремонта отказавших элементов, т.е. присутствует поток восстановления элементов. Для восстанавливаемых систем не выполняется третье свойство характеристик надежности: dP(t)/dt<0. За период времени Dt могут отказать два элемента системы, а быть восстановленными - три аналогичных элемента, а значит производная dP(t)/dt>0.

Характеристики надежности восстанавливаемых систем должны описывать как поток отказов элементов, так и поток восстановлений. Для описания потока отказов используются, по-прежнему, интенсивность отказов l и среднее время наработки на отказ T, а для описания потока восстановлений - интенсивность восстановлений m и среднее время восстановлений ТВ.

Интегральной характеристикой надежности восстанавливаемых систем является коэффициент готовности системы КГ, показывающий вероятность нахождения системы в работоспособном состоянии в произвольно выбранный момент времени и вычисляемый в соответствии с выражением:


КГ=Т/(Т+ТВ), ТВ=1/m


Условиями приближенного расчета надежности восстанавливаемых изделий и систем являются следующие положения:

·время восстановления намного меньше времени наработки элемента на отказ;

·интенсивность отказов и восстановлений - постоянные величины;

·отказы и восстановления отдельных элементов и подсистем - независимые случайные события.

Для последовательной надежностной схемы включение n-элементов, описываемых характеристиками li, КГi и mi, имеются следующие приближенные выражения для определения интенсивности отказов l, интенсивности восстановлений m и коэффициента готовности системы КГ



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


, поскольку m>>l.

В восстанавливаемых системах достаточно часто используется резервирование элементов.

Резервирование приводит к появлению групп параллельно включенных элементов в надежностной схеме. Для определения характеристик параллельного включения элементов l, КГ и m в подсистеме при горячем резервировании используются выражения:


.


Пример параллельного включения m-элементов при горячем резервировании



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

Составляем надежностную схему и определяем критерии отказа системы.



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


Значение КГ рассчитывается КГ»1-l/mУстройствоИнтенсивностьКоэффициент готовностиотказов, l, 1/чвосстановления, m, 1/ч1. Сервер (оборудование)2*10-50,10,99982. Веб-сервер0,86 * 10-30,50,99833. Сервер баз данных0,86 * 10-30,50,99834. Ядро обучающей системы0,4 * 10-40,10,9996

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


Pi(t)=exp(-lit)изд.(t)=P1(t) * P2(t) * …* Pn(t)=


t, ч1005001000P1(t)0,9980020,990050,980199P2(t)0,7725950,2752710,075774P3(t)0,7725950,2752710,075774P4(t)0,9960080,9801990,960789Pизд(t)0,5933330,0735350,005407


В соответствии с выражением для последовательного включения устройств и подсистем имеем:


lS= 1,7*10-3

КГS= 0,9865

mS=lS/(1- КГS)= 0,15852 1/ч


Результат расчета для системы:

Т=1/lS= 561 ч, время наработки на отказ

Тн=1/mS= 2,2 ч, время восстановления

КГS= 0,99596 коэф. Готовности


3. Разработка рекомендаций для пользователей


3.1 Содержимое архива


·\mas\classes\nusoap\nusoap.php - библиотека nuSOAP.

·\mas\classes\interface\module_interface.php - интерфейс, описывающий, какие методы должен содержать в себе класс, реализующий получение данных о модуле.

·\mas\classes\mas_base.php - базовый класс.

·\mas\classes\mas_block.php - класс, реализующий получение данных о модуле типа «Блок»

·\mas\classes\mas_client.php - SOAP-клиент.

·\mas\classes\mas_nusoap.php - классы-наследники от классов библиотеки nuSOAP

·\mas\classes\mas_replacements.php - класс реализующий в себе замену по маске во входных параметрах.

·\mas\mas_request.php- скрипт, инициализирующий клиента

·\mas\mas_request_background.php- скрипт отправки запросов в фоне

·\mas\administrate.php - административный интерфейс

·\mas\services\ - директория сервисов

·\mas\templates\ - директория шаблонов вида

·\mas\templates\block\ - директория шаблонов вида для блоков

·\mas\templates\block\admin\ - директория шаблонов вида для административной части

·\lib\jquery-1.3.2.min.js- javascript-фрэймворк jQuery

·\lib\jquery-json.js - реализация JSON для jQuery

·\lib\moodlemas.js - объект javascript, реализующий асинхронную отправку запроса

·\blocks\mas\block_mas.php - модуль типа «Блок» для LMS Moodle

·\blocks\mas\config_instance.html - страница настроек модуля

·\admin\settings\mas.php - интеграция модуля в административный блок

·\lang\en_utf8\block_mas.php- локализация


3.2 Установка


Процесс установки модуля производится только администратором системы Moodle. Для установки модуля необходимо:

·Скопировать файлы из архива в соответствующие директории LMS Moodle, если таковых нет, то создать их.

·Отредактировать файл \lib\javascript.php

Добавить в него строки:


<script type="text/javascript" src="<?php echo $CFG->httpwwwroot ?>/lib/jquery-1.3.2.min.js"></script>

<script type="text/javascript" src="<?php echo $CFG->httpwwwroot ?>/lib/jquery-json.js"></script>

<script type="text/javascript" src="<?php echo $CFG->httpwwwroot ?>/lib/moodlemas.js"></script>


После аналогичных.

·Удостовериться что все файлы сохранены в кодировке UTF-8

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

Эксплуатация.

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

Необходимо на странице настройки блока установить начальные настройки.

Общие настройки

Заголовок блока - название, которое будет отображаться в заголовке блока на странице.

Локальный путь - Локальный путь, где расположен клиент для обмена данных с МАС (от корня системы).

Настройки клиента

Полный путь до WDSL MAS - Полный путь до WSDL, содержащего описание сервисов MAS.

Настройки прокси-сервера (опционально):

oАдрес Proxy-сервера

oЛогин

oПорт

oПароль

Время ожидания запроса - в секундах, по умолчанию 0.

Время ожидания ответа - в секундах, рекомендуется устанавливать его до 30 секунд. Должно быть больше 0.

Сервис по умолчанию - сервис к которому будет произведен запрос.

Данные для сервиса по умолчанию - данные для запроса в формате JSON.

Шаблон для вывода - шаблон вывода для блока.

Настройки авторизации (опционально):

oТип авторизации

oЛогин

oПароль

Запросы в фоне (опционально) - запросы к МАС, которые не требуют ответа, но их необходимо посылать при каждом обновлении страницы.

Каждый запрос описывается двумя строками, в первой указывается имя сервиса, к которому будет отправлен запрос, во второй данные для запроса в формате JSON. Разделителем между описаниями запросов является пустая строка.

В данных для запроса можно указывать метки типа ::user_id::, которые будут заменены при отправке запроса на реальные данные, полный список меток можно посмотреть в файле \mas\classes\mas_replacements.php.

После установки настроек модуль котов к эксплуатации.

Разработка. Создание меток.

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

Лучше всего это делать прямо в файле \mas\classes\mas_replacements.php, так как к моменту интерпритации данного файла уже загружен и подключен конфигурационный файл LMS Moodle, что дает полный доступ к данным системы.

Например mas_replacements::add('::user_id::', $USER->id); добавит метку ::user_id:: которая при отправке запроса будет заменена на реальное значение ID текущего пользователя.

Moodlemas.js.

Является надстройкой над jQuery.aJax для упрощения работы, но накладывает некоторые ограничения.

Функции:() - инициализация объекта(text) - Установка сообщения о передаче данных(text) - Установка сообщения об ошибке(int) - Установка ID блока

setMethod(text) - название метода, который надо вызвать на сервере(text) - Установка параметров для запроса(text) - Установка URL, на который будет отправлен запрос() - Действия перед отправкой запроса(json) - Действия при успешной отправке запроса() - Действия при ошибке отправки запроса() - отправка запроса

Создание шаблонов вида.

Структура и расположение шаблонов вида жестко определены.

Шаблоны вида должны располагаться в папке \mas\templates\block\, причем для каждого шаблона должен тапк же быть создан одноименный шаблон для административной части в папке \mas\templates\block\admin\.

Например:

\mas\templates\block\simpleText.phtml - шаблон для блока

\mas\templates\block\admin\simpleText.phtml - шаблон для административной части.

Структура шаблона для блока должна иметь вид


<div>

<script>

// эту часть можно не менять (за исключением имени переменной)

mmas = moodlemas.init();.setInstance("<?php print $html_instance_id; ?>");.setMethod("<?php print $html_agent; ?>");.setParameters(<?php print $html_agent_data; ?>);.setRequestFile("<?php print $html_request_file; ?>");.setTextLoading("<?php print get_string('mas_request_loading', 'block_mas'); ?>");.setTextFail("<?php print get_string('mas_request_fail', 'block_mas'); ?>");

// действия, для каждого шаблока свои

// действия перед отправкой

mmas.beforeSend=function() {

$(".mas_content_"+mmas.instanceid).html(mmas.loading);

};

// действия при успешном получении ответа

mmas.success=function(json) {

var result = json.result;(json.result == "fail") {= mmas.fail;

}

$(".mas_content_" + mmas.instanceid).html(result);

};

// отправка запроса

mmas.send();

</script>


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

Разработка программы и методики испытаний.

Объект испытаний

Модуль для LMS Moodle, реализующий интеграцию мультиагентных сервисов системы дистанционного обучения.

Цель испытаний

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

Требования к программе

К модулю интеграции предъявляются следующие требования:

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

2.выполнять все требования совместимости, предъявляемые к модулям в системе Moodle

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

4.модуль должен обеспечивать бесперебойную работу при.наличии нагрузки на сервер до 20 запросов/сек

b.количестве подключенных курсов до 10 с 30 обучающимися в каждом

5.модуль должен обеспечивать соединение с мультиагентной системой по протоколу SOAP

6.модуль должен гарантированно обеспечивать передачу данных таких типов как строка, массив, многомерный массив, ассоциативный массив, число, Boolean.

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

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

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

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

.Модуль не должен вносить графический дисбаланс на страницу.

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

Средства и порядок испытаний

В ходе испытаний были использованы следующие технические и аппаратные средства:

·IBM PC совместимый компьютер следующей конфигурации:

oПроцессор Intel Pentium IV с тактовой частотой 3ГГц

o2Гб оперативной памяти

·Веб-сервер Apache версии 2.2

·Интерпретатор PHP версии 5.2.5

·СУБД MySQL версии 5.0.16

·Система дистанционного обучения Moodle версии 1.9.4

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

Методы испытаний.

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

·Общие настройки

oЗаголовок блока

oЛокальный путь, где расположен клиент дл обмена данных с МАС

·Настройки клиента

oПолный путь до WSDL, содержащего описание сервисов MAS

oАдрес Proxy-сервера

oЛогин (proxy)

oПорт (proxy)

oПароль (proxy)

oConnect timeout

oResponce timeout

oСервис по умолчанию

oДанные для сервиса по умолчанию

oШаблон для вывода по умолчанию

oТип авторизации

oЛогин (авторизация)

oПароль (авторизация)

oЗапросы к МАС, которые не требуют ответа, но их необходимо посылать при каждом обновлении страницы

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

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

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

.В ходе испытаний выявлено, что соединение успешно создается SOAP-клиентом.

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

.В ходе испытаний выявлено, что все запросы успешно отсылаются асинхронно средствами javascript-фрэймворка jQuery.

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

.В ходе испытания выявлено, что при отправке запроса определенные метки успешно заменяются реальными данными.

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

Номер испытанияБез модуляС подключенным модулемTi0.2900.27920.2840.29730.2830.29440.2720.30350.2870.305

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

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

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


4. Охрана труда


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

Любой производственный процесс, в том числе работа с ЭВМ, связан с появлением опасных и вредных факторов.

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

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

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

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

moodle система мультиагентный дистанционный

4.1 Исследование опасных и вредных факторов при работе с ЭВМ


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

·ПК на основе процессора Intel Pentium IV c необходимым набором устройств ввода-вывода и хранения информации

·Цветной XGA монитор Sony 17 (TCO 99) на базе ЭЛТ Trinitron:

·разрешение по горизонтали (max) - 1600 пикселей;

·разрешение по вертикали (max) - 1200 пикселей;

·легко регулируемые контрастность и яркость;

·частота кадровой развертки при максимальном разрешении - 85Гц;

·частота строчной развертки при максимальном разрешении - 42кГц.

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

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

Воздействие электрического тока на человека может носить следующий характер:

-термический - нагрев тканей,

-электролитический - влияние на состав крови,

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

механический - разрыв тканей, получение ушибов, вывихов.

При поражении электрическим током человек может получить травмы следующего вида:

Общие повреждения - электроудары.

Различают электроудары четырех степеней сложности:

-первая степень: судорожное болезненное сокращение мышц без потери сознания;

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

третья степень: судорожное сокращение мышц, потеря сознания, нарушение работы сердца или дыхания (либо и то, и другое вместе);

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

I.Местные повреждения - ожоги, металлизация кожи, электрические знаки, уплотнение кожи, электроофтальмия, механические повреждения.

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

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

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

может возникнуть нарушение в протекании беременности;

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

способствует нарушению репродуктивной функции и возникновению злокачественных образований;

способствует нарушению терморегуляции организма;

способствует изменениям в нервной системе (потере порога чувствительности);

может привести к понижению/повышения артериального давления;

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

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

. При работе за экраном дисплея пользователь попадает под воздействие ультрафиолетового излучения (УФИ). Это электромагнитное излучение в области, которая примыкает к коротким волнам и лежит в диапазоне длин волн ~ 200 - 400 нм. При повышении плотности данного излучения, оно становиться для человека вредным фактором. Его воздействие особенно сказывается при длительной работе с компьютером. Необходимо учитывать, что человек подвергается суммарному воздействию:

УФИ, испускаемого монитором,

УФИ, излучаемого люминесцентными лампами,

УФИ, проникающего сквозь оконные проемы.

Такая совокупность излучения может превысить нормируемую плотность УФИ, равную 10 Вт/м2.

Биологическое воздействие на организм человека УФИ оценивается зрительным потоком, который измеряется внесистемной единицей - Эp и установленные нормы облучения УФИ равняются 7,5 за смену, и 60 за сутки.

На человека малые дозы УФИ оказывают благотворное действие - способствуют образованию витаминов группы D, улучшают иммунобиологические свойства организма. Однако превышение нормируемой плотности может иметь следующие негативные последствия:

-могут обостряться некоторые заболевания кожи: угревая сыпь, себорроидная экзема, розовый лишай, рак кожи и др.;

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

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

-серьезные повреждения глаз (катаракта);

-рак кожи;

кожно-биологический эффект: гибель клеток, мутация, канцерогенные накопления;

фототоксичные реакции.

4. При напряжении на аноде электронно-лучевой трубки 3 - 500кВ присутствует рентгеновское излучение различной жесткости. Поскольку анод электронно-лучевой трубки дисплея имеет напряжение свыше 15кВ, оператор попадает в зону мягкого рентгеновского излучения. Таким образом, появляется вредный фактор - рентгеновское излучение. Суть опасности данного вредного фактора состоит в следующем:

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

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

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

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

При повышении напряженности поля Е>15 кВ/м, статическое электричество может привести к выходу компьютера из строя, замыканию клавиатуры и потере информации на экране, так как изделия в ВТ питаются U=3-12В.

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

-близорукости и переутомлению глаз;

-мигрени и головной боли;

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

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

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


.2 Методы защиты пользователей от опасных и вредных факторов


Защита от поражения электрическим током

Для защиты от напряжения прикосновения используется зануление. Занулением называется преднамеренное соединение нетоковедущих частей с нулевым защитным проводником (рис. 3.1). Оно применяется в трехфазных четырехпроводных сетях с заземленной нейтралью в установках до 1000 вольт и является основным средством обеспечения электробезопасности.

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


Рисунок. Зануление


Расчет возможной величины тока короткого замыкания производится на основе следующих данных:

1.В качестве нейтральной электропроводки (НЭП) используются три провода, параметры которых приведены в таблице 4.1


Таблица 4.1

ПроводДлина, мПлощадь сечения, мм2материалl15002алюминийl2201медьl3151медь

2.Коэффициент, учитывающий тип защитного устройства: к=3.

3.Фазовое напряжение: U=220В.

.Паспортная величина сопротивления обмотки трансформатора:

= 0.312 Ом.

.Удельное сопротивление медных проводников: =0.0175Ом*м.

.Удельное сопротивление алюминиевых проводников: =0.0280Ом*м.

Расчет величины возможного тока короткого замыкания по заданным параметрам



где - ток короткого замыкания [А];

- фазовое напряжение [B];

- общее сопротивление цепи [Ом];

- сопротивление катушек трансформатора [Ом].



где и - сопротивление первого и второго проводника соответственно [Ом];

- сопротивление нулевого защитного проводника [Ом];

Расчет сопротивления проводника производится по формуле


где - удельное сопротивление материала проводника [Ом*м];- длина проводника [м];

S - площадь поперечного сечения проводника [мм2].

Таким образом, получаем следующие значения:

= 0.0280*(500/2)=7 (Ом);

= 0,0175*(20/1)=0.35(Ом);

= 0,0175*(15/1)=0.2625(Ом);

= 7+0.35+0.2625=7.6125 (Ом);

= 220/(0.312/ 3 + 7.6125) = 28.51 (А).

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



где - номинальный ток срабатывания защитного устройства, [А];

к - коэффициент, учитывающий тип защитного устройства.

Таким образом, номинальный ток срабатывания защитного устройства



= 28.51/3=9.5 (А).

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


.3 Защита от излучения электромагнитных полей низкой частоты


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

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

-Удалять рабочее место от источника электромагнитного поля: оператор должен находиться на расстоянии вытянутой руки от экрана монитора.

Необходимо рациональное размещение оборудования. Располагать ЭВМ следует на расстоянии не менее 1.22 м от боковых и задних стенок других мониторов, а расстояние между рабочими местами не менее 1,5м.

Запрещается работать при снятых внешних кожухах (корпусах) персональных компьютеров.

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


.4 Защита от ультрафиолетового излучения


Для ослабления ультрафиолетового излучения необходимо:

-использовать в помещении, где установлена вычислительная техника, люминесцентные лампы мощностью не более 40 Вт;

-стены в помещении должны быть побелены обычной побелкой, или побелкой с добавлением гипса (что ослабляет воздействие УФИ на 45-50%);

использовать светофильтры (очки, шлемы) из тёмно-зелёного стекла, полную защиту от УФИ всех длин волн обеспечивают очки «флинтглаз» (стекло, содержащее окись свинца) толщиной 2 мм;

рекомендуется находиться в одежде из тканей, наименее пропускающих УФИ (например, из поплина или фланели).


4.5 Защита от рентгеновского излучения


Защиту от рентгеновского излучения можно обеспечить:

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

2.выбором расстояния до экрана монитора;

3.экранированием.

Рассмотрим более подробно каждый пункт.

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

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

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

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


где Pо - начальная мощность дозы на расстоянии 5 см от экрана, равная 100мкР/ч;- расстояние от экрана, измеряемое в сантиметрах;

- линейный коэффициент ослабления рентгеновского излучения воздухом, измеряемый в 1/см.

Поскольку энергетический уровень рентгеновского излучения неизвестен, для расчета возьмем .

Рассчитаем мощность дозы облучения на расстояниях: 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 см (обычно оператор не находится от монитора далее, чем на 1 метр). Результаты расчетов приведены в таблице 3.2, где в первой строке указано расстояние, а во второй величина дозы облучения.


Таблица 4.2

r, см.5102030405060708090100Р, МкР/ч.10073.153.43928.52115.211.18.15.94.3

На основании таблицы 3.2 можно построить график зависимости мощности дозы излучения от расстояния до экрана (рис. 3.2).


Рисунок График зависимости мощности дозы излучения от расстояния до экрана


Как правило, пользователь располагается на расстоянии 50 - 60см от экрана дисплея. Таким образом, он подвергается дозе облучения 15,2-21 мкР/ч (для дальнейших расчетов будем использовать максимальное значение 21 мкР/ч).

Годовая норма дозы облучения составляет 0.1 Р/год. Для определения годовой нормы облучения оператора за год рассчитаем данную величину, учитывая, что человек находился перед монитором по 4 часа в сутки (максимально допустимое время) и 5 дней в неделю.

Доза за смену = 4*21 = 84 мкР/ч

Доза за неделю = 84*5 = 420 мкР/ч

Доза за год = 420*45 = 18900 мкР/ч

Из расчета получено, что годовая доза облучения составляет 0,0189 Р/год, что не превышает нормированное значение.

Таким образом, при нахождении оператора на расстоянии 50-60 см от монитора по 4 часа в сутки 5 дней в неделю соблюдено условие защиты человека от радиации.

. Пользователи, использующие мониторы, не соответствующие стандарту MPRII, нуждаются в дополнительной защите от воздействия рентгеновского излучения. Такая защита обеспечивается экранированием. Экранирование - это использование специальных экранов для монитора. Лучшим из них считаются экраны: Ergostar, дающие ослабление 0.03 мкР/ч. на 5 см., а также Global Shield, соответствующие стандарту MPRII.

Защита от статического электричества.

Для защиты от статического электричества необходимо выполнять следующие требования:

1.Иметь контурное заземление

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

3.Покрытие полов должно быть антистатичным.

4.Использовать экраны для снятия статики.

.Обеспечить подвижность воздуха в помещении не выше 0.2 м/сек.

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

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

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

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

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

Различают несколько типов нейтрализаторов:

-коронного разряда (индуктивные и высоковольтные);

-радиоизотопные;

комбинированные;

аэродинамические.

Нейтрализаторы радиоизотопного и аэродинамического типов используют во взрывоопасных производствах. Индуктивные нейтрализаторы применимы в случаях, когда их можно расположить очень близко к наэлектризованному материалу (20 мм и менее). Кроме того, они не ликвидируют заряд полностью, остаточная плотность заряда на материале может достигать Кл/м2. Высоковольтные нейтрализаторы высокоэффективны, и их работа не зависит от величины заряда на материале.

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

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

Блики и мерцание экрана.

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

Блики на экране монитора могут возникнуть из-за неправильного освещения в помещении.

Эргономические требования к рабочим местам пользователей.

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

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

Требования к визуальным эргономическим параметрам дисплеев с учетом их эксплуатации.

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

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

При выборе дисплея необходимо в первую очередь обращать внимание на следующие параметры:

·размер видимого изображения по диагонали,

·размер точки изображения,

·максимальное разрешение изображения.

Требования к помещениям и оборудованию рабочих мест.

1.Конструкция рабочего стола должна обеспечивать оптимальное размещение на рабочей поверхности используемого оборудования (монитора, системного блока, клавиатуры, принтера и т.д.) с учетом его количества и конструктивных особенностей, характера выполняемой работы, а также возможности выполнения трудовых операций в пределах досягаемости. Поверхность стола должна быть ровной, без углублений. Высота рабочей поверхности стола должна регулироваться в пределах 680-800 мм. При отсутствии такой возможности высота рабочей поверхности - 725 мм. Рабочий стол должен иметь пространство для ног высотой не менее 620 мм, шириной - не менее 550 мм, глубиной на уровне колен - не менее 450 мм, и на уровне вытянутых ног - не менее 650 мм.

2.Конструкция рабочего стула (кресла) должна обеспечивать поддержание рациональной рабочей позы при работе, позволять изменять позу с целью снятия статического напряжения мышц шейно-плечевой области и спины для предупреждения развития утомления. Рабочий стул (кресло) должен быть подъемно-поворотным и регулируемым по высоте и наклону сиденья и спинки, а также по расстоянию спинки от переднего края сиденья. При этом регулировка каждого параметра должна осуществляться независимо от других, легко, и иметь надежную фиксацию. Поверхность сиденья должна быть полумягкой, с не электризуемым, воздухопроницаемым покрытием, а также легко чистящейся. Ширина и глубина поверхности сиденья - не менее 400 мм, регулировка высоты - в пределах 400-500 мм и углам наклона вперед - до 150, назад - до 50, высота опорной поверхности спинки стула (кресла) -300 мм (+/-)20 мм, ширина - не менее 380 мм, угол наклона спинки в вертикальной плоскости от 0 до 300.

3.Экран монитора должен находиться на расстоянии 500-700 мм от глаз пользователя.

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

.Линия взгляда должна быть в пределах от 00 до 600 вниз от горизонтали.

.Подставка для бумаг должна находиться не под экраном, а возле него на той же высоте, что и экран, и на расстоянии, обеспечивающем хорошую считываемость символов. Подставка для книг должна иметь минимальную ширину опорной поверхности - 400 мм, минимальную глубину опорной поверхности - 300 мм, наклон опорной поверхности к горизонтали - 100, или регулируемый. Край опорной поверхности должен быть регулируемым по высоте в пределах 40-150 мм от пола. Если регулировка не произвольная, то она должна иметь три положения. Опорная поверхность должна быть скользкой, и подставка должна плотно прилегать к полу.

.Рекомендуемый микроклимат в помещениях при работе с ПЭВМ:

-температура 19-210 С;

-относительная влажность воздуха 55-62%.

Подвижность воздуха 0,1-0,2 м/с

8.Площадь на одно рабочее место должна составлять примерно 6 м2.

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

Требования к режиму работы и отдыха.

Режимы труда и отдыха при работе с ПЭВМ зависят от категории трудовой деятельности. Все работы с использованием ПЭВМ делятся на три категории:

I.Эпизодическое считывание и ввод информации в ПЭВМ или работа в режиме диалога (не более 2-х часов за 8-часовую рабочую смену).

II.Считывание информации с предварительным запросом не более 40 тыс. знаков или ввод информации не более 30 тыс. знаков или творческая работа в режиме диалога не более 4-х часов за 8-часовую смену.

III.Считывание информации с предварительным запросом более 40 тыс. знаков или ввод информации более 30 тыс. знаков или творческая работа в режиме диалога более 4-х часов за 8-часовую рабочую смену.

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

Продолжительность непрерывной работы с ПЭВМ без регламентированного перерыва не должна превышать 2 часов.

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

При 8-часовой рабочей смене регламентированные перерывы целесообразно устанавливать:

-для I категории работ с ПЭВМ через 2 часа от начала смены и через 2 часа после обеденного перерыва продолжительностью 15 минут каждый;

-для категории работ II через 2 часа от начала смены и через 2 часа после обеденного перерыва продолжительностью 15 минут каждый или продолжительностью 10 минут через каждый час работы;

для III категории работ с ПЭВМ через 2 часа от начала смены, через 1,5 и 2,5 часа после обеденного перерыва продолжительностью 5-15 минут и через каждый час работы.

При 12-часовой рабочей смене регламентированные перерывы устанавливаются в первые 8 часов работы аналогично перерывам при 8-часовой рабочей смене, а в течение последних 4 часов работы, независимо от категории и вида работ, через каждый час продолжительностью 5-10 минут.

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

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

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

Требования к освещенности рабочих мест.

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

Назначение его состоит в следующем:

-снижать утомляемость,

-увеличивать условия зрительной работы,

способствовать повышению производительности труда и качества продукции,

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

уменьшать уровень травматизма и увеличивать безопасность труда.

К освещению в помещения предъявляются следующие требования:

1.Помещения должны иметь естественное и искусственное освещение.

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

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

.Для общего освещения в помещении должна быть обеспечена норма освещенности, равная 400 Лк.

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

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

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

из нейлоновой сетки с графическим покрытием и заземлением: повышают контрастность и снимают электростатику.

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

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

8.Спектральный состав света должен быть приближен к естественному свету.

.Уровень освещенности должен быть достаточен и соответствовать условиям зрительной работы.

.Уровень освещенности должен обеспечивать равномерность и устойчивость уровня освещенности.

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

Дополнительные требования к освещению в вычислительных центрах:

1.Местное освещение не рекомендуется. Используется общее освещение. Максимальная освещенность 400 лк, блескость менее 15 ед., пульсация менее 10%.

2.Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300-500 лк. Допускается установка светильников местного освещения для подсветки документов. Местное освещение не должно создавать бликов на поверхности экрана и увеличивать освещенность экрана более 300 лк.

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

.Следует ограничивать неравномерность распределения яркости в поле зрения монитором и ПЭВМ, при этом соотношение яркости между рабочими поверхностями не должно превышать 3:1 - 5:1, а между рабочими поверхностями и поверхностями стен и оборудования 10:1.

.Лампы рекомендуется использовать белого света, холодного белого света, наиболее близкие к естественному свету. Мощность ламп 36-40 ВТ, температура 3000-4200 градусов Кельвина, тогда они не дают высокого ультрафиолетового излучения.

.Основной поток естественного света должен быть слева. Солнечные лучи и блики не должны попадать в поле зрения работающего с ПЭВМ.

.Помещения должны иметь естественное и искусственное освещение. Желательна ориентация оконных проемов на север или северо-восток.

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

.Рабочие места должны располагаться от стен с оконными проемами на расстоянии не менее 1,5 м, от стен без оконных проемов на расстоянии не менее 1,0 м.

.Площадь на одно рабочее место должна составлять примерно 6 м2.

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

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

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

-освещенность должна быть равномерной;

потолок должен быть плоским, матовым и однородным;

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

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

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

Рекомендации по защите пользователей от излучений ЭВМ.

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

При подборе вычислительной техники следует отдавать предпочтение мониторам с низкими уровнями излучений, отвечающим шведским стандартам MPR 1990:8, MPR 1990:10, ТСО 91 и повышенными визуальными характеристиками.

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


Выводы


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


Заключение


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

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

Актуальность данного подхода к расширению LMS Moodle обуславливается тем, что нет необходимости вносить системные изменения в LMS; конечный программный продукт не обязательно должен быть реализован на скриптовом языке PHP, тем самым значительно расширяя круг его возможностей; так как модуль написан на базе стандартного, то он гарантированно будет поддерживаться всеми последующими версиями LMS серии 1.9.x. Основным недостатком такого подхода является увеличение сетевого трафика, но в виду уровня развития систем телекоммуникаций я его не считаю критичным.


Приложение


Исходные коды некоторых файлов


Разработанный модуль типа блок.

Скрипт-инициализатор SOAP клиента.

Базовый класс.

SOAP клиент.

Класс для работы с блоками.

Javascript-объект обертка для Ajax запроса.

Разработанный модуль типа блок

<?phpblock_mas extends block_base {

/* инициализация */init() {

$this->title = 'MAS';

$this->version = 20090301;

}


/* можно настраивать */instance_allow_config() {

return true;

}


/* можно создавать несколько */

function instance_allow_multiple() {true;

}


/* контент */get_content() {

// вывод

// html[id] html[class]

$html = $this->html_attributes();

// файл для отправки запроса

$requestFile = $this->config->mas_local_path. '/mas_request.php';

$requestFile = str_replace($_SERVER['DOCUMENT_ROOT'],'#"justify">// подгружаем шаблон

$OB = '';_start();

$tfile = $this->config->mas_local_path . '/mas_request_background.php';(is_file($tfile)) { require_once($tfile); }

$OB .= ob_get_contents();_end_clean();_start();

$html_instance_id= $this->instance->id;

$html_agent= $this->config->mas_default_agent;

$html_agent_data= $this->config->mas_default_agent_data;

$html_request_file= $requestFile;

// непосредственно блок

$tfile = $this->config->mas_local_path . '/templates/block/' . $this->config->mas_default_agent_template;(is_file($tfile)) { require_once($tfile); }

$OB .= ob_get_contents();_end_clean();

// непосредмтвенно вывод

$this->title =$this->config->title;

$this->content=new stdClass;

$this->content->text=$OB;$this->content;

}

}

?>


Скрипт-инициализатор SOAP клиента.

<?php

/* мудловые файлы */_once('../config.php');

/* остальные классы и файлы */_once('classes/mas_client.php');


$client = new mas_client();

$request = $client->makeRequest();(!$request) {

$request = 'fail';

}json_encode(array('result'=>$request));

?>


Базовый класс.

<?php_once(dirname(__FILE__) . '/mas_nusoap.php');_once(dirname(__FILE__) . '/mas_replacements.php');

mas_base {$_request= array();$namespace= 'MASNS';

/* constructor */__construct() {

// забираем входящие данные

$this->_request['instanceid'] = intval($_REQUEST['instanceid']);

$this->_request['method'] = $_REQUEST['method'];

$this->_request['parameters']= array();

$this->_request['parameters']= json_decode(stripslashes($_REQUEST['parameters']));

}

processReplacements() {

$parameters = $this->_request['parameters'];

$this->_request['parameters'] = array();($parameters as $k=>$v) {(mas_replacements::$replacements as $key=>$val) {

$v = str_replace($key,$val,$v);

}

$this->_request['parameters'][$k] = $v;

}

}


/* constructor */mas_base() {

$this->__construct();

}


/* установить пространство имен */setNameSpace( $ns = '') {

$this->namespace = $ns;

}

}

?>

клиент.

<?php_once(dirname(__FILE__).'/mas_base.php');_once(dirname(__FILE__).'/mas_block.php');

mas_client extends mas_base {


/* constructor */__construct() {::__construct();

}


/* constructor */mas_client() {

$this->__construct();

}


/* make & send request to MAS */function makeRequest() {

// забираем конфиг блока

$instance = new mas_block();

$instance->get_moodle_instance($this->_request['instanceid']);

// настройки клиента

$mas_addr = $instance->get_mas_address();

$proxyhost = $instance->get_mas_proxy_host();

$proxyport = $instance->get_mas_proxy_port();

$proxyusername = $instance->get_mas_proxy_user();

$proxypassword = $instance->get_mas_proxy_password();

$timeout= intval($instance->get_mas_connect_timeout());

$response_timeout= (intval($instance->get_mas_responce_timeout()) > 0) ? intval($instance->get_mas_responce_timeout()) : 30;

// клиент($mas_addr) {

$client = new mas_nusoap_client($mas_addr, true, $proxyhost, $proxyport, $proxyusername, $proxypassword, $timeout, $response_timeout);

} else {false;

}

// авторизация($instance->get_mas_auth_type() != '') {

$client->setCredentials($instance->get_mas_auth_login(), $instance->get_mas_auth_password(), $instance->get_mas_auth_type(), array());

}

// запрос($this->_request['method'] && $this->_request['parameters'] && $this->namespace) {

// замена масок ::name:: на присвоенные им значения

$this->processReplacements();$responce = $client->call($this->_request['method'], $this->_request['parameters'], $this->namespace);

} else {false;

}

}

}

//return $responce = $client->call('hardArrayAction', array('input'=>array(array('строка','1'),array('string','2'),array('string','3','last'))), $this->namespace);

//return $responce = $client->call('assoc2textAction', array('input'=>array('id'=>'ИД','name'=>'Какое-то имя')), $this->namespace);

//return $responce = $client->call('array2textAction', array('input'=>array('этот','текст','был','прислан')), $this->namespace);

?>


Класс для работы с блоками.

<?php

// конфиг должен быть загружен выше


// мудловая библиотека для работы с блоками

require_once($CFG->dirroot .'/lib/blocklib.php');_once(dirname(__FILE__) . '/interface/module_interface.php');


// класс mas_blockmas_block implements module_interface {

$block_name= 'mas';$block_object= false;


// забираем данные блока с заданным ид из базы

public function get_moodle_instance($instance_id = 0) {

// объект блока

$block_object = block_instance($this->block_name);

// выбираем таблицу($block_object->pinned) { $table = 'block_pinned'; } else { $table = 'block_instance'; }

// создаем класс-обманку

$hackInstance = new stdClass;

$hackInstance->configdata = $configdata = get_field_select($table, 'configdata', 'id = ' . $instance_id);

// расшифровываем конфиг

$this->block_object = block_instance($this->block_name,$hackInstance);

}


// если данные уже есть, то апдейтим

public function update_moodle_instance($data) {

$hackInstance = new stdClass;

$hackInstance->configdata = $data;

$this->block_object = block_instance($this->block_name, $hackInstance);

}


// класс блокаfunction return_moodle_instance() {$this->block_object;

}


// класс блокаfunction set_moodle_instance($object) {

$this->block_object = $object;

}


// параменты для запросаfunction get_mas_address() {$this->block_object->config->mas_address;

}function get_mas_proxy_host() {$this->block_object->config->mas_proxy_host;

}function get_mas_proxy_port() {$this->block_object->config->mas_proxy_port;

}function get_mas_proxy_user() {$this->block_object->config->mas_proxy_user;

}function get_mas_proxy_password() {$this->block_object->config->mas_proxy_password;

}function get_mas_connect_timeout() {$this->block_object->config->mas_connect_timeout;

}function get_mas_responce_timeout() {$this->block_object->config->mas_responce_timeout;

}public function get_mas_auth_type() {$this->block_object->config->mas_auth_type;

}function get_mas_auth_login() {$this->block_object->config->mas_auth_login;

}function get_mas_auth_password() {$this->block_object->config->mas_auth_password;

}

}

?>


Javascript-объект обертка для Ajax запроса.


// namespace= {:function() {new this.masobject();

}

};

// constructor.masobject = function () {

// id.instanceid= false;

// агент.method= false;

// данные для отправки

this.parameters= false;

// файл запроса.requestfile= false;

// загрузка (текст).loading= "";

// неудача (текст)

this.fail= "";

};

// proptotype.masobject.prototype = {:function (text) {.loading = text;

},:function (text) {.fail = text;

},:function(instance) {.instanceid = new Number(instance);

},:function (method) {.method = new String(method);

},:function(parameters) {.parameters = parameters;

},:function(rf) {.requestfile = new String(rf);

},:function() {},:function(json) {},:function () {},:function() {(this.instanceid != 0 &&.method != "" &&.requestfile != false ) { = this;

// если все определено

$.ajax({

url: this.requestfile,: "POST",: "instanceid="+ this.instanceid +"&method="+ this.method +"&parameters=" + $.toJSON(this.parameters),: "json",: function() {.beforeSend();

},: function(json){.success(json);

},: function () {.error();

}

});

}

}

};


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

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ