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

Автор: Пользователь скрыл имя, 05 Марта 2013 в 10:01, дипломная работа

Описание работы

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

Содержание

Введение 6
1 Постановка задачи и обзор существующих решений 8
1.1 Требования к системам дистанционного обучения 8
1.2 Обзор некоторых существующих решений 9
1.3 Выбор и обоснование решения поставленной задачи 18
1.4 Основные преимущества и возможности системы 19
2 Разработка системы 20
2.1 Проектирование структуры системы 20
2.2 Создание базового приложения Rails 20
3 Реализация дополнительной функциональности и работа с системой 32
3.1 Идентификация пользователей 32
3.2 Контроль уровня доступа 33
3.3 Загрузка файлов на сервер и работа с ними 34
3.4 Работа с комментариями 36
3.5 Начальная настройка 36
3.6 Создание пользователя 37
3.7 Обслуживание системы 38
4 Технико-экономическое обоснование разработки клиент-серверного приложения «обучающая система с использованием интернет-технологий» 39
4.1 Краткая характеристика программного продукта 39
4.2 Расчет сметы затрат, себестоимости и отпускной цены ПО 39
4.3 Расчет экономического эффекта от применения ПО пользователем 48
4.4 Вывод 52
5 Реализация эргономических требований к конструкции и организации рабочего места в системе “человек - тех.средство” 53
5.1 Характеристика трудового процесса технического средства. Функции работника 53
5.2 Выбор и обоснование рабочего положения работника, рабочей поверхности, сидения (рабочего кресла) 54
5.3 Проектирование сенсомоторного поля рабочего места, т.е. пространства с размещенными в нем средствами отображения информации, органами управления и другими техническими средствами с учетом зон досягаемости 56
Заключение 61
Список использованных источников 62

Работа содержит 1 файл

Пояснительная записка 1.docx

— 339.89 Кб (Скачать)

Если требуется ограничить доступ только к определённым методам  контроллера, используется следующая  запись:  «before_filter :confirm_editor, :only => [:new, :edit, :update, :delete, :destroy, :erase_comment, :erase]». Это выражение позволяет получить доступ к методам, перечисленным в квадратных скобках пользователям, положительно прошедшим метод «confirm_editor», подтверждающий их право на редактирование материалов.

3.3 Загрузка файлов на сервер  и работа с ними

Кроме выдачи непосредственно HTML-документов, необходимо обеспечить возможность предоставлять пользователям другие форматы данных, например документы в PDF-формате, аудио и видеозаписи.

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

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

Rails имеет встроенные возможности создавать тэги для изображений а так же формировать HTML5-тэги для отображения мультимедийных файлов (аудио и видеоформаты).

Для того, чтобы загружаемый  на сервер файл не переписал уже  имеющийся файл с тем же именем, при загрузке к имени файла добавляется текущее время. А для удобной организации хранения при загрузке анализируется расширение файла, после чего он записывается в одну из папок: /public/audios, /public/images, /public/uploads, /public/videos. Код проверки типа файла и загрузки его на сервер приведён ниже:

    if params[:lecture][:file]

      file = params[:lecture][:file]

      dt = DateTime.now

      if file.original_filename[-4..-1] == '.jpg' || file.original_filename[-5..-1] == '.jpeg' || file.original_filename[-4..-1] == '.gif' || file.original_filename[-4..-1] == '.png'

        filepath = Rails.root.join("public", "images", dt.to_formatted_s(:number) + '_' + file.original_filename)

      elsif file.original_filename[-4..-1] == '.avi' || file.original_filename[-4..-1] == '.flv' || file.original_filename[-4..-1] == '.mp4' || file.original_filename[-4..-1] == '.ogg' || file.original_filename[-4..-1] == '.ogv'

        filepath = Rails.root.join("public", "videos", dt.to_formatted_s(:number) + '_' + file.original_filename)

      elsif file.original_filename[-4..-1] == '.mp3' || file.original_filename[-4..-1] == '.aac' || file.original_filename[-4..-1] == '.wav'

        filepath = Rails.root.join("public", "audios", dt.to_formatted_s(:number) + '_' + file.original_filename)

      else

        filepath = Rails.root.join("public", "uploads", dt.to_formatted_s(:number) + '_' + file.original_filename)

      end

      File.open(filepath, 'wb:binary') do |f|

        f.write(file.read)

      end

    end

 

В случае, если веб-браузер  не поддерживает HTML5-тэги, а так же для быстрого и удобного скачивания файла на локальный компьютер, создаётся кнопка «Скачать файл» с указанием размера файла. Нажатие на эту кнопку вызывает метод «download», который отсылает пользователю требуемый файл.

3.4 Работа с комментариями

Комментарии добавляются  непосредственно к лекции и отображаются на одной странице с нею. Для этого  в представлении «Show» для контроллера  лекции добавляется цикл, который  выводит все комментарии, которые  относятся к текущей лекции. Для удобного отображения комментарии сортируются по дате и к тексту комментария добавляется дата его создания и автор комментария. Также производится проверка текущего пользователя, и, если его права позволяют, показывается дополнительная кнопка «Удалить комментарий».

Для того, чтобы облегчить  работу с комментариями, используется метод «fresh» в контроллере комментариев, который отображает комментарии  за определённый период прошедшего времени. Исходный текст этого контроллера  представлен в приложении Г. Кроме того, отображаются только те комментарии, которые относятся к курсам, связанным с текущим пользователем.

3.5 Начальная настройка

Необходимость установки  системы как таковая отсутствует. Достаточно иметь настроенный web-сервер, например Apache, Unicorn, Thin или Mongrel и установленный в системе интерпретатор языка Ruby с подключенным расширением Ruby on Rails[1]. Разработка производилась на языке Ruby версии 1.9.2 и Rails версии 3.0.6, поэтому для корректной работы следует использовать именно эти версии.

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

Для использования может  понадобиться изменить некоторые ссылки и названия, отображаемые при работе с системой. Для этого можно отредактировать соответствующие тэги в файле /app/views/layouts/application.html.erb. Этот файл представляет собой «обёртку», «оформление» для всех остальных представлений. Все представления отображают генерируемый ими код в тэг <%= yield %> этого файла. Поэтому application.html.erb следует использовать для размещения таких элементов, как ссылки на сторонние ресурсы, элементы управления общего назначения и такие элементы HTML-страниц, как ‘footer’ и ‘header’

Также создана дополнительная модель Settings в которой могут храниться  настройки сайта. В демонстрационных целях в этой модели присутствуют два поля: название и ссылка на «родительский» сайт.

3.6 Создание пользователя

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

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

Для создания нового пользователя необходимо воспользоваться командой «user = User.new», в результате чего будет создан новый экземпляр класса User. После этого можно полям объекта user присвоить актуальные данные: имя, логин, пароль и администраторские права. Для сохранения этого экземпляра класса используется метод user.save, при исполнении которого в базе данных будет создана запись с указанными значениями параметров. После исполнения этих действий можно использовать web-интерфейс системы. Этот процесс показан на рисунке 3.2.

 

Рисунок 3.2 – Создание первой записи пользователя

3.7 Обслуживание системы

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

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

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

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

4 Технико-экономическое  обоснование разработки клиент-серверного  приложения «обучающая система  с использованием интернет-технологий» 

4.1 Краткая характеристика программного продукта

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

Данное ПО относится к  типу  ПО функционального назначения и направлено на повышение производительности труда пользователей ПО, относится к 3-й группе сложности. По степени новизны ПО относится к группе “В” с коэффициентом Кн = 0,7 (являющееся развитием определенного параметрического ряда ПО ВТ).  Т.к. ПО разрабатывается на платформе “x86-32” для операционных систем Server 2003, которая является типовой программой и охватывает реализуемые функции со степенью от 40% до 60%, то коэффициент использования типовых программ принимается равным 0,7 (Кт = 0,7). Дополнительный коэффициент сложности выбирается для ПО, функционирующего в расширенной операционной среде, и принимается равным 0,07 (Ксл = 0,07).

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

4.2 Расчет сметы затрат, себестоимости и отпускной цены ПО

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

  • заработная плата исполнителей основная (ЗО) и дополнительная (ЗД);
  • отчисления в фонд социальной защиты населения (ЗСЗ);
  • налоги, от фонда оплаты труда (Не);
  • материалы и комплектующие (М);
  • спецоборудование (РС);
  • машинное время (РМ);
  • расходы на научные командировки (РНК);
  • прочие прямые затраты (Пз);
  • накладные расходы (РН).

На основании сметы  затрат рассчитывается себестоимость  и отпускная цена ПО.

Таблица 4.1 – Исходные данные

Наименование показателей

Буквенное обозначение

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

Кол-во

Коэффициент новизны

КН

 

0,7

Группа сложности

   

3

Дополнительный коэффициент  сложности

КСЛ

 

0,07

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

КТ

 

0,7

Установленная плановая продолжительность  разработки

ТР

лет

0,5

Годовой эффективный фонд времени

ФЭФ

дней

230

Продолжительность рабочего дня

ТЧ

ч

8

Месячная тарифная ставка 1-го разряда

ТМ1

руб.

118000

Коэффициент премирования

КП

 

1,25

Норматив дополнительной заработной платы

НЗД

%

15

Ставка отчислений в фонд социальной защиты населения

НЗСЗ

%

34

Ставка налога, уплачиваемого  единым платежом от начисленной заработной платы

Нне

%

0.7

Норматив расходов на научные  командировки

Нрнк

%

30

Норматив прочих затрат

НПЗ

%

20

Норматив накладных расходов

НРН

%

100

Уровень рентабельности

Урнi

%

30

Ставка налога на добавленную  стоимость

НДС

%

20

Норматив расходов на сопровождение  ПО

РСА

%

10

Налог на прибыль при отсутствии льгот

Нn

%

24


 

4.2.1 Определение объема  ПО

Объем ПО определяется на основании  информации о функциях  ПО. По каталогу функций определяется объем функций. Исходные данные для определения  объема ПО приведены в  таблице 4.2.

 

Таблица 4.2 – Характеристика функций и их объем.

Номер функции

Содержание функции

Объем (усл. маш. ком.)

101

Организация ввода информации

150

102

Контроль, предварительная обработка  и ввод информации

450

109

Организация ввода/вывода информации в интерактивном режиме

320

203

Формирование баз данных

2180

204

Обработка наборов и записей  базы данных

2670

207

Манипулирование данными

9550

210

Загрузки базы данных

2780

305

Обработка файлов

720

507

Обеспечение интерфейса между компонентами

970

703

Расчет показателей

460

Всего

 

20250


 

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

(4.1)

,

где  – общий объем  ПО;

 – объем функции  ПО;

 – общее число функций.

VO= 20250 (строк исходного кода)

4.2.2 Расчет трудоемкости

При объеме 20250 строк исходного  кода для данного ПО (3-я группа сложности ПО) соответствует нормативная  трудоемкость 387 человеко-дней. Так как используются современные ПЭВМ, нормы времени применяются с поправочным коэффициентом 0,7 = 0.7*387 = 271 человеко-дня.

Общая трудоемкость ПО (ТО) рассчитывается на основе нормативной путем введения дополнительного коэффициента сложности (КСЛ):

(4.2)

,

где  – общая трудоемкость ПО;

 – нормативная трудоемкость;

 – дополнительный  коэффициент сложности ПО.

271+271*0,07=290 человеко-дней

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