Разработка экспертной системы для автоматизации построения компонентов в системе Moodle
Аналитический обзор системы управления курсами Moodle, программное построение ее модулей. Разработка структурной схемы и базы знаний экспертной системы. Создание дерева вопросов и выбор алгоритма поиска решений. Анализ возможных угроз и защита информации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 14.12.2013 |
Размер файла | 534,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
2.3 Показатели эффективности
Экономические показатели, полученные в процессе расчета экономической эффективности, представлены в таблице 8 для лучшего восприятия.
Таблица 8 - Показатели эффективности
2.4 Вывод
Разработка экспертной системы для автоматизации построения компонентов в системе Moodle является целесообразной. Общая стоимость разработки системы составит 156 459 рублей.
После внедрения экспертной системы трудовые затраты сократятся на 67%, что позволит повысить уровень эффективности использования рабочего времени, а стоимостные затраты на разработку компонентов снизятся на 67%. При этом производительность труда увеличится в 3 раза.
Срок окупаемости единовременных затрат на разработку и внедрение проекта займет 4 месяца.
3. Защита информации
Одним из важнейших аспектов проблемы обеспечения безопасности компьютерных систем является определение, анализ и классификация возможных угроз безопасности. Перечень значимых угроз, оценки вероятностей их реализации, а также модель нарушителя служат основой для проведения анализа рисков и формулирования требований к системе зашиты.
3.1 Анализ возможных угроз безопасности информации в экспертной системе
Под угрозой обычно понимают потенциально возможное событие, процесс или явление, которое может привести к нанесению ущерба чьим-либо интересам.
Угроза интересам субъектов информационных отношений означает потенциально возможное событие, процесс или явление, которое посредством воздействия на информацию, ее носители и процессы обработки может прямо или косвенно привести к нанесению ущерба интересам данных субъектов.
Нарушением безопасности является реализация угрозы безопасности.
Существует значительное число различных видов угроз безопасности субъектов информационных отношений.
Все множество потенциальных угроз по природе их возникновения разделяется на два класса: естественные (объективные) и искусственные (субъективные).
Естественные угрозы - угрозы, вызванные воздействиями на экспертные системы и ее элементы объективных физических процессов или стихийных природных явлений, независящих от человека.
Искусственные угрозы - угрозы экспертным системам, вызванные деятельностью человека. Среди них, исходя из мотивации действий, можно выделить:
непреднамеренные (неумышленные, случайные) угрозы, вызванные ошибками в проектировании системы и ее элементов, ошибками в программном обеспечении, ошибками в действиях персонала и т.п.;
преднамеренные (умышленные) угрозы, связанные с корыстными, идейными или иными устремлениями людей (злоумышленников).
Источники угроз по отношению к экспертной системе могут быть внешними или внутренними. Основными источниками угроз безопасности экспертных систем и информации являются:
- стихийные бедствия и аварии (наводнение, ураган, землетрясение, пожар и т.п.);
- сбои и отказы оборудования (технических средств) систем;
- ошибки проектирования и разработки компонентов экспертных систем (аппаратных средств, технологии обработки информации, программ, структур данных и т.п.);
- ошибки эксплуатации (пользователей, операторов и другого персонала);
- преднамеренные действия нарушителей и злоумышленников (обиженных лиц из числа персонала, преступников, шпионов, диверсантов и т.п.).
Для выбора средств защиты информации был проведен анализ источников угроз, в результате которого определена вероятность наступления угроз. Анализ вероятности возникновения угроз представлен в таблице 9.
Исходя из анализа вероятности возникновения угроз и опасности при реализации угрозы, наиболее актуальной для безопасности информации в экспертной системе является угроза несанкционированного доступа.
Таблица 9 - Анализ вероятности возникновения угроз
Источник угроз |
Вероятность возникновения |
Опасность реализации угрозы |
|
Сбои и отказы оборудования |
низкая |
средняя |
|
Ошибки проектирования и разработки компонентов экспертной системы |
средняя |
низкая |
|
Стихийные бедствия и аварии |
маловероятно |
высокая |
|
Несанкционированный доступ |
высокая |
средняя |
|
Ошибки эксплуатации |
средняя |
низкая |
3.2 Выбор средств защиты информации
Одной из важных задах обеспечения информационной безопасности при взаимодействии пользователей является использование методов и средств, позволяющих одной стороне убедится в подлинности другой стороны. Обычно для решения данной проблемы применяются специальные приемы, дающие возможность проверить подлинность проверяемой стороны. К этим приемам относятся идентификация и аутентификация.
Идентификация - процедура распознавания пользователя по его идентификатору. Эта функция выполняется, когда пользователь делает попытку войти в программу. Пользователь сообщает программе по ее запросу свой идентификатор, и система проверяет в своей базе данных его наличие.
Аутентификация - процедура проверки подлинности пользователя, процесса или устройства. Эта проверка позволяет достоверно убедиться, что пользователь является именно тем, кем себя объявляет. При проведении аутентификации проверяющая сторона убеждается в подлинности проверяемой стороны, при этом проверяемая сторона тоже активно участвует в процессе обмена информацией. Обычно пользователь подтверждает свою идентификацию, вводя в систему уникальную, не известную другим пользователям информацию о себе.
Идентификация и аутентификация являются взаимосвязанными процессами распознавания и проверки подлинности субъектов. Именно от них зависит последующее решение системы: можно ли разрешить доступ к ресурсам системы конкретному пользователю или процессу. После идентификации и аутентификации субъекта выполняется его авторизация.
Процедуру аутентификации пользователя можно представить следующим образом. Пользователь при попытке логического входа в сеть набирает свой идентификатор и пароль. Эти данные поступают для обработки на сервер аутентификации, по идентификатору пользователя находится соответствующая запись. Из нее извлекается пароль и сравнивается с тем паролем, который ввел пользователь. Если они совпали, то аутентификация прошла успешно - пользователь получает легальный статус и получает те права и ресурсы сети, которые определены для его статуса системой авторизации.
Существует три основных типа аутентификации:
· Проверяемый пользователь знает некую уникальную информацию. Например: парольная аутентификация.
· Пользователь имеет некий предмет с уникальными характеристиками или содержимым. Примеры: смарт-карта, USB-токен и т.д.
· Аутентификация информация является неотъемлемой частью пользователя. Пример: отпечаток пальца и другие виды биометрический аутентификации.
Сравнение данных типов аутентификации приводится в таблице 10.
Таблица 10 - Сравнение типов аутентификации
Критерии сравнения Типы аутентификации |
Небольшая стоимость |
Применение без дополнительных устройств |
Простота использования |
|
Парольная |
+ |
+ |
+ |
|
Электронный ключ |
+ |
- |
- |
|
Биометрическая |
- |
- |
+ |
Сравнение типов аутентификации показало, что парольная аутентификация является недорогим и простым в использовании средством защиты информации. Поэтому в разрабатываемой экспертной системе будет использоваться парольная аутентификация.
Заключение
При реализации дипломного проекта были выполнены следующие задачи:
· Проанализировано программное построение существующих модулей системы,
· Разработана структурная схема экспертной системы,
· Выбраны программные средства для реализации экспертной системы,
· Созданы базы знаний и дерево вопросов,
· Выбраны модель представления знаний и алгоритм поиска решений,
· Экспертная система программно реализована,
· Система протестирована, в результате чего были выявлены и исправлены недочеты, что позволило усовершенствовать систему.
В результате была достигнута цель проекта: уменьшились временные затраты на создание компонентов за счет сокращения трудовых затрат на создание модуля в системе Moodle на 67%.
Экспертная система содержит в себе знания, необходимые для построения типового модуля системы Moodle, интерфейс системы построен для специалиста, плохо знакомого с особенностями построения модулей, а результатом работы системы является архив файлов, необходимых для работы модуля.
Список использованной литературы
1. Общие сведения о системе Moodle. Официальный сайт [Электронный ресурс] - Режим доступа: http://moodle.org/
2. Преимущества системы Moodle. Сайт, посвященный открытым технологиям [Электронный ресурс] - Режим доступа: http://www.opentechnology.ru/
3. Экспертная система. Портал, посвященный искусственному интеллекту [Электронный ресурс] - Режим доступа: http://www.aiportal.ru/
4. Достоинства и недостатки интерпретируемого языка Perl. Сайт, посвященный программированию на PHP, ASP.NET, JAVA, C#, Python [Электронный ресурс] - Режим доступа: http://www.weblearn.ru/
5. Delphi (язык программирования). Википедия [Электронный ресурс] - Режим доступа: http://ru.wikipedia.org/
6. Python. Сайт, посвященный компьютерным технологиям [Электронный ресурс] - Режим доступа: http://qtex-program.ucoz.ru/
7. Преимущества PHP. Сайт, посвященный программированию [Электронный ресурс] - Режим доступа: http://losno.ru/
8. Исаев Г.Н. Информационные системы в экономике: учебник для студентов вузов, обучающихся по специальностям "Финансы и кредит", "Бухгалт. учет, анализ и аудит" - М.: Издательство "Омега-Л", 2009.
9. ГОСТ Р 51275-2006, Защита информации. Объект информатизации. Факторы, воздействующие на информацию. Общие положения.
10. Методы аутентификации. Сайт, посвященный работам в области криптографии и защиты компьютерной информации в целом [Электронный ресурс] - Режим доступа: http://www.panasenko.ru/
11. Колесниченко Д.Н. PHP 5/6 и MySQL 6. Разработка Web-приложений. - СПб.: БХВ-Петербург, 2011.
12. Волков А.И. Дипломное проектирование. Методические указания по выполнению дипломных проектов и работ. - М.: РГУИТП, 2006.
Приложение
Исходный код программы
<?php
require_once "config.php";
@mysql_connect ($server, $user,$pswd) or
die("Не могу подключиться к БД");
@mysql_select_db($db) or die ("Не могу выбрать БД");
if (!$_GET['end']){
if (!$_GET['go']){
$q = "SELECT polls.question, answers.answer, answers.answer_ID
FROM polls, answers
WHERE polls.ID = 1
AND answers.ID = polls.ID";
$r = mysql_query($q) or die(mysql_error());
$questions = "";
while($row = mysql_fetch_array($r)) {
$question = $row['question'];
$questions.= ' <input name="answer" type="radio" value="'
$row['answer_ID']. '"> '. $row['answer'];
}
$poll = 2;
echo"<table width=50% height=50% border=1 align= center><tr>";
echo"<td><img src= moodle.jpg align=center width=250 height=100>";
echo "<h1><center>$question<center></h1>";
echo "<form action method=get>";
echo "<p><center><ul style=\"list-style-type: none;\">
$questions</center></ul>";
echo "<input name=poll type=hidden value=$poll>
<center><input type=submit value=\"Далее\" name='go'></center>
</form>";
echo"</td></tr></table>";
}else{
$poll = $_GET['poll'];
$answer = $_GET['answer'];
$check_otv = $poll -1 ;
$q = "SELECT otv
FROM answers
where ID=$check_otv AND answer_ID=$answer";
$r = @mysql_query($q) or die (mysql_error());
$myrow = mysql_fetch_array($r);
$otv = $myrow["otv"];
if ($otv == 1){
$ques = "SELECT otvet,com
FROM votes
WHERE votes.ID = $check_otv AND answer_ID = $answer";
$res = @mysql_query($ques) or die (mysql_error());
$row = mysql_fetch_array($res);
$otvet = $row["otvet"];
$com=$row["com"];
if($poll<=3){
$file = "db/access.php";
file_put_contents($file, $otvet."\n",FILE_APPEND);
file_put_contents($file, $com."\n",FILE_APPEND);
}elseif($poll>=3 && $poll<=6){
$file = "db/install.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=6 && $poll<=7){
$file = "db/install.xml";
file_put_contents($file, $otvet."\n",FILE_APPEND);
file_put_contents($file, $com."\n",FILE_APPEND);
}elseif($poll>=7 && $poll<=8){
$file = "db/log.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=8 && $poll<=10){
$file = "db/uninstall.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=10 && $poll<=15){
$file = "db/upgrade.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=15 && $poll<=16){
$file = "lang/en/newmodule.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=16 && $poll<=17){
$file = "README.txt";
file_put_contents($file, $otvet."\n",FILE_APPEND);
file_put_contents($file, $com."\n",FILE_APPEND);
}elseif($poll>=17 && $poll<=18){
$file = "index.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=18 && $poll<=31){
$file = "lib.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=31 && $poll<=32){
$file = "locallib.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=32 && $poll<=33){
$file = "mod_form.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=33 && $poll<=34){
$file = "version.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}elseif($poll>=34 && $poll<=35){
$file = "view.php";
file_put_contents($file, $com."\n",FILE_APPEND);
file_put_contents($file, $otvet."\n",FILE_APPEND);
}
$q = "SELECT polls.question, answers.answer, answers.answer_ID
FROM polls, answers
WHERE polls.ID = $poll
AND answers.ID = polls.ID";
$r = mysql_query($q) or die(mysql_error());
$questions = "";
while($row = mysql_fetch_array($r)) {
$question = $row['question'];
$questions.= ' <input name="answer" type="radio" value="'
$row['answer_ID']. '"> '. $row['answer'];
}
$poll = $poll + 1;
echo"<table width=50% height=50% border=1 align= center><tr>";
echo"<td><img src= moodle.jpg align=center width=250 height=100>";
echo "<h1><center>$question<center></h1>";
echo "<form action method=get>";
echo "<p><center><ul style=\"list-style-type: none;\">
$questions</center></ul>";
$q = "SELECT polls.question, answers.answer, answers.answer_ID
FROM polls, answers
WHERE polls.ID = $poll
AND answers.ID = polls.ID";
$r = mysql_query($q) or die(mysql_error());
$number = mysql_num_rows($r);
if ($number == 0){
echo "<input name=poll type=hidden value=$poll>
<center><input type=submit value=\"Готово\" name ='end'></center>
</form>";
echo "<form action=add.php method=post>
<center><input type=submit value =\"Добавить вопрос\" name='adds'></center>
</form>";
echo"</td></tr></table>";
}else{
echo "<input name=poll type=hidden value=$poll>
<center><input type=submit value=\"Далее\" name='go'></center>
</form>";
echo"</td></tr></table>";
}
}
else{
$ques = "SELECT otvet, com
FROM votes
WHERE votes.ID = $poll AND answer_ID = $answer";
$res = @mysql_query($ques) or die (mysql_error());
$row = mysql_fetch_array($res);
$otvet = $row["otvet"];
$com=$row["com"];
$q = "SELECT polls.question, answers.answer, answers.answer_ID
FROM polls, answers
WHERE polls.ID = $poll
AND answers.ID = polls.ID";
$r = mysql_query($q) or die(mysql_error());
$questions = "";
while($row = mysql_fetch_array($r)) {
$question = $row['question'];
$questions.= ' <input name="answer" type="radio" value="'
$row['answer_ID']. '"> '. $row['answer'];
}
$poll = $poll + 1;
echo"<table width=50% height=50% border=1 align= center><tr>";
echo"<td><img src= moodle.jpg align=center width=250 height=100>";
echo "<h1><center>$question<center></h1>";
echo "<form action method=get>";
echo "<p><center><ul style=\"list-style-type: none;\">
$questions</center></ul>";
$q = "SELECT polls.question, answers.answer, answers.answer_ID
FROM polls, answers
WHERE polls.ID = $poll
AND answers.ID = polls.ID";
$r = mysql_query($q) or die(mysql_error());
$number = mysql_num_rows($r);
if ($number == 0){
echo "<input name=poll type=hidden value=$poll>
<center><input type=submit value=\"Готово\" name ='end'></center>
</form>";
echo "<form action=add.php method=post>
<center><input type=submit value =\"Добавить вопрос\" name='adds'></center>
</form>";
echo"</td></tr></table>";
}else{
echo "<input name=poll type=hidden value=$poll>
<center><input type=submit value=\"Далее\" name='go'></center>
</form>";
echo"</td></tr></table>";
}
}
}
}else{
$file = 'my_archive.zip';
$zip = new ZipArchive;
// Создаем архив
if ($zip->open($file, ZipArchive::CREATE) === TRUE){
// первый параметр - откуда взять, второй как назвать внутри архива
$zip->addFile('db/access.php', 'db/access.php');
$zip->addFile('db/install.php', 'db/install.php');
$zip->addFile('db/install.xml', 'db/install.xml');
$zip->addFile('db/log.php', 'db/log.php');
$zip->addFile('db/uninstall.php', 'db/uninstall.php');
$zip->addFile('db/upgrade.php', 'db/upgrade.php');
$zip->addFile('lang/en/newmodule.php', 'lang/en/newmodule.php');
$zip->addFile('pix/icon.gif', 'pix/icon.gif');
$zip->addFile('README.txt', 'README.txt');
$zip->addFile('index.php', 'index.php');
$zip->addFile('lib.php', 'lib.php');
$zip->addFile('locallib.php', 'locallib.php');
$zip->addFile('mod_form.php', 'mod_form.php');
$zip->addFile('version.php', 'version.php');
$zip->addFile('view.php', 'view.php');
// закрыть архив
$zip->close();
echo '<center>Архив "my_archive.zip" успешно создан<center>';
echo'<center>Распакуйте архив и прочтите файл README.TXT<center>';
echo'<center>Следуйте указанной в нем инструкции для дальнейшей работы<center>';
echo '<h1><center>Спасибо, что воспользовались данной программой!<center></h1>';
echo'<h2><center>Удачной разработки!<center></h2>';
}else echo 'Ошибка открытия файла архива!';
}
$answer = $answer + 1;
?>
Размещено на Allbest.ru
Подобные документы
Общая характеристика киноиндустрии как предметной области работы. Разработка базы данных и дерева вопросов для получения информации для выбора фильма. Программная реализация экспертной системы. Тестирование системы и создание руководства пользователя.
курсовая работа [1,9 M], добавлен 19.05.2014Управление электронным обучением. Технологии электронного обучения e-Learning. Программное обеспечение для создания e-Learning решений. Компоненты LMS на примере IBM Lotus Learning Management System и Moodle. Разработка учебных курсов в системе Moodle.
курсовая работа [146,6 K], добавлен 11.06.2009Фреймовые модели представления знаний. Разработка структуры фреймов для реализации экспертной системы. Разработка экспертной системы с фреймовой моделью представления знаний. Редактирование базы фактов кандидатов и описание режима консультации.
курсовая работа [1,3 M], добавлен 13.10.2012Назначение экспертной системы. Разработка экспертной системы путем самостоятельного программирования в полном объеме простейшей ЭС в "GURU". Листинг экспертной системы по прогнозированию на бирже уровня цен, если валютный курс доллара падает или растет.
лабораторная работа [17,8 K], добавлен 15.01.2011Настройка интерфейса в MOODLE. Создание и настройка профилей, управление курсами. Форматы представления, создание и настройка ресурсов курса. Организация коллективной работы. Установка и настройка необходимого программного обеспечения. Создание ролей.
дипломная работа [378,5 K], добавлен 20.11.2013Анализ подходов к расширению возможностей системы Moodle. Интеграция мультиагентных сервисов системы дистанционного обучения в модульную объектно-ориентированную динамическую учебную среду Moodle. Рекомендации по защите пользователей от излучений ЭВМ.
дипломная работа [845,1 K], добавлен 14.03.2013Разработка информационной образовательной технологии на основе системы управления обучением Moodle. Теоретические основы электронного образования и программные платформы для организации электронного обучения, преимущества и недостатки такого обучения.
дипломная работа [1,7 M], добавлен 07.07.2012Система управления обучением Moodle. Компьютерное тестирование как элемент контроля и обучения. Проектирование компьютерных тестов в системе дистанционного обучения Moodle. Наполнение банка тестовых заданий. Создание теста и настройка его параметров.
дипломная работа [5,4 M], добавлен 10.11.2010Структура типичной экспертной системы. База данных (рабочая память), её назначение. Функция getsport как экземпляр класса cSport. Алгоритм работы экспертной системы. Реализация пользовательского интерфейса. Результаты тестирования системы пользователем.
курсовая работа [1018,8 K], добавлен 13.06.2012Разработка экспертной системы по выбору языка программирования для данного программного обеспечения. Выбор и обоснование механизма вывода решения. Дерево базы знаний экспертной системы. Программа формирования основного меню, руководство пользователя.
курсовая работа [1,9 M], добавлен 15.08.2012