Разработка подсистемы анализа SCORM-пакетов (лекционный материал)

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,2 Мб
  • Опубликовано:
    2012-08-27
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка подсистемы анализа SCORM-пакетов (лекционный материал)

Содержание

 

Введение

1. Формирование требований к программному средству

2. Анализ предметной области

2.1 Описание потоков данных

2.2 Входные данные

2.3 Выходные данные

2.4 Построение диаграммы потоков данных

3. Проектирование программного средства

4. Реализация программного средства

4.1 Выбор средств реализации подсистемы

4.2 Организация взаимодействия приложения с базой данных

4.3 Реализация пользовательского интерфейса

4.4 Реализация функциональности подсистемы

5. Тестирование программного средства

Приложения

Приложение А

Введение

Министерство Обороны (DoD) и Департамент политики в области науки и технологии Администрации Президента США (OSTP) в ноябре 1997 объявили о создании инициативы ADL (Advanced Distributed Learning). Целью создания данной инициативы является развитие стратегии, проводимой министерством обороны и правительством в области модернизации обучения и тренинга, а также для объединения высших учебных заведений и коммерческих предприятий для создания стандартов в сфере дистанционного обучения.

Создание стандарта SCORM (Sharable Content Object Reference Model) является первым шагом на пути развития концепции ADL, так как данный стандарт определяет структуру учебных материалов и интерфейс среды выполнения, за счет чего учебные объекты могут быть использованы в различных системах электронного дистанционного образования. SCORM описывает эту техническую структуру с помощью некоторых основных принципов, спецификаций, и стандартов, основанных на работе других уже созданных спецификаций и стандартов электронного и дистанционного образования. Организации, создавшие эти стандарты продолжают работать с ADL, развивая и улучшая их собственные спецификации и стандарты электронного и дистанционного образования и помогая строить и улучшать SCORM.

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

Определение соответствия представленного курса спецификациям SCORM

         Вывод данных о версии XML, компоновке и наполнении курса.

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

программный тестирование дистанционный обучение

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

1. Формирование требований к программному средству


Основные требования, предъявляемые к разработанной программе, включают в себя:

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

б) Максимальное взаимодействие программы и пользователя. Система должна полностью поддерживать пользователя. Он не должен заниматься поиском информации. Вся необходимая информация должна быть собрана на одном экране. Выводимая информация не должна требовать интерпретации или перекодировки.

в) Минимальный объём оперативной памяти пользователя. От пользователя требуется, чтобы он занимал минимум информации.

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


Таблица 1.1 Описание шаблона проблемы

Проблема

Разработка подсистемы анализа SCORM - пакетов: лекционный материал

Затрагивает

Центр ДО и операторов

Ее следствием является

 Позволяет операторам контролировать лекционные материалы перед их применением Система Управления Обучением (LMS)

Успешное решение

Создание подсистемы анализа Scorm - пакетов, интеграция готовых Scorm - пакетов.


Шаблон документа "Vision" RUP содержит следующие основные разделы:

. Введение

. Позиционирование

. Описания совладельцев и пользователей

. Краткий обзор изделия

. Возможности продукта

. Ограничения

. Показатели качества

. Старшинство и приоритеты

. Другие требования к изделию

10. Требования к документации

. Приложение

1.      Введение - данная подсистема анализа Scorm - пакетов тетов предоставит операторам возможность проверить и при необходимости внести свои поправки в тестовые задания перед проведением тестирования. Эта подсистема взаимодействует с другими подсистемами анализа Scorm - пакетов и образует единую систему тестирования студентов. Scorm (Shared Content Object Reference Model) - Модель Обмена Учебным Материалом.

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

а) Необходимо найти нужный пакет в хранилище пакетов.

б) Распознать тип пакета.

в) Проверить корректность и целостность Scorm - пакета.

г) Проанализировать корректность и целостность необходимой нам информации.

д) Найти необходимую структуру соответствующую лекционному материалу

г) Вывести требуемую информацию в определённой форме.

д) Сохранить полученную информацию на заданно носителе.

Целевым заказчиком являются ЦДО и студенты.

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

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

.        Возможности продукта - обеспечивает более удобную подготовку Scorm - пакетов перед проведением тестирования.

.        Ограничения - система работает на компьютерах с минимальными загрузочными требованиями. Система будет работать на платформе.net Framework 2.0. Операционная система: Microsoft Windows 2000/ХР

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

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

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

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

Выявление акторов

Оператор. Выборка Scorm - пакетов, определение формата и распаковка архива. Корректировка Scorm - пакета, если структура не соответствует стандарту.

LMS. Работа с сохранёнными лекциями, проведение лекций.

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

Рис.1 Диаграмма вариантов использования

2. Анализ предметной области


2.1 Описание потоков данных


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

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

·        Выбор Scorm - пакета;

·        Корректировка пакета;

·        Формирование теста;

·        Сохранение теста.

Входными данными является содержимое Scorm пакета, а именно файл, содержащий ссылки на все ресурсы пакета, imsmanifest. xml. Сам пакет не будет подвержен никакой обработке и не изменит своего содержания. Мы лишь считаем все его содержимое, относящиеся к тестовым заданиям на соответствие, во временное хранилище, и в дальнейшем будем работать именно с этим хранилищем. После получения тестовых заданий на соответствие, оператор может корректировать пакет, путём внесения изменений в сами тестовые задания либо в среду выполнения тестовых заданий. После корректировки пакета, оператор может просмотреть тесты или сохранить их в виде Scorm пакета в хранилище тестов, из которого этот пакет будет брать Система Управления Обучением (LMS).

Выходными данными является конечный Scorm пакет.

2.2 Входные данные


Входными данными является содержимое Scorm пакета, а именно файл, содержащий ссылки на все ресурсы пакета, imsmanifest. xml.

2.3 Выходные данные


Выходными данными является конечный Scorm пакет.

2.4 Построение диаграммы потоков данных


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

Рис.2 Диаграмма потоков данных

3. Проектирование программного средства


Модель содержимого позволяет продумать структуру и общую организацию интерфейса без необходимости рисования картинок и выбора конкретных элементов GUI (Graphical User Interface - графический интерфейс пользователя).

Рис.3. Основные пространства взаимодействий

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

Рис.4. Карта навигации по контекстам

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

XML-анализатор:

·        Форма (Form1), содержащая все графические элементы взаимодействия.

·        Текстовое окно (textBox) - элемент, в который пользователь вводит адрес симуляции SCORM-пакета, который он хочет проанализировать.

·        Кнопка "Browse” (button) - открывает стандартное Windows-окно поиска файлов.

·        Текстовое поле (textArea) - элемент, в который заносится XML-структура выбранного пакета

·        Кнопка "Анализ" - при ее нажатии происходит анализ симуляции и открытие диалогового окна с результатом.

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

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

СЭ = Sсущн/Sреальн*100

Sсущн = 5

Sреальн = 8

СЭ = 5/8*100 = 62.5

Вывод: спроектированный интерфейс является эффективным.

4. Реализация программного средства


4.1 Выбор средств реализации подсистемы


В качестве среды визуального программирования будет использована MS Visual Studio.net 2008, язык программирования C# и расширяемый язык разметки XML. Среда программирования Visual Studio 2008 в настоящее время имеет огромную популярность, она дает большие возможности для быстрой и надежной разработки этого программного средства, а так же его отладки и тестирования.

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

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

Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. Словари, основанные на XML (например, RDF, RSS, #"552389.files/image005.gif">

Рис.5. Панель "Common Controls"

Для новой кнопки мы также можем изменить цвет, название, размеры, ориентацию на форме и другие свойства в панели "Properties". Назовём нашу первую кнопку "Анализ"

Рис.6. Панель "Properties" для элемента управления "Button1"

Так же поступим и с остальными элементами управления. Создадим ещё две кнопки "О программе" и "Выход".

Рис.7. Форма с тремя элементами управления.

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

Рис.8. Форма с Логотипом.

Рис.9. Конечный вариант главной формы.

4.4 Реализация функциональности подсистемы


В данном разделе будут рассмотрены этапы работы со Scorm пакетом.

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

string path = System. Environment. CurrentDirectory;. openFileDialog1. FileName = "*. xml";(this. openFileDialog1. ShowDialog () == DialogResult. OK)

Если файл imsmanifest. xml загружен - начинаем анализ его структуры на корректность, находим путь к файлу runtime. xml

{reader = null;. Collections. ArrayList simList = new System. Collections. ArrayList ();

{= new XmlTextReader (openFileDialog1. FileName);. WhitespaceHandling = WhitespaceHandling. None; // пропускаем пустые узлы(reader. Read ())(reader. NodeType == XmlNodeType. Element)(reader. Name == "resource")

{(int i = 0; i < reader. AttributeCount; i++)

{(reader. GetAttribute (i) == "sco")

{(reader. Read () && reader. Name == "file")(reader. GetAttribute (0). IndexOf ("runtime. xml")! = - 1)

{name = openFileDialog1. FileName. Replace ("imsmanifest. xml","") + "\\" + reader. GetAttribute (0). Replace ("/", "\\");

listBox1. Items. Add (name);

}

}

}

}


Если путь к файлу runtime. xml найден, начинаем его анализ, в который будет входить создание двух массивов для вопросов и ответов, пропуск пустых узлов, поиск структуры тестов на соответствие и запись их в массив.

System. Collections. ArrayList questionsList = new System. Collections. ArrayList ();. Collections. ArrayList answersList = new System. Collections. ArrayList ();

{= new XmlTextReader (listBox1. Items [0]. ToString ());. WhitespaceHandling = WhitespaceHandling. None;(reader. Read ())(reader. NodeType == XmlNodeType. Element)(reader. Name == "q_question")

{(reader. Read ())

{(reader. Name == "q_variants")

{(reader. Read ())

{(reader. Name == "item")

{(reader. Read ())

{(reader. Name == "q_target")

{. Add (stripTags (reader. ReadString (). ToString ()));

}if (reader. Name == "q_bullet")

{. Add (stripTags (reader. ReadString (). ToString ()));

}

}

}

}

}

}

}

}

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

private void button1_Click_1 (object sender, EventArgs e)

{_fs = new FileStream (filename, FileMode. Open);_reader = new StreamReader (_fs);str = "";= _reader. ReadToEnd ();

_reader. Close ();

_fs. Close ();fs = new FileStream (filename, FileMode. Create);_writer = new StreamWriter (fs);

_writer. Write (str. Replace (listBox1. SelectedItem. ToString (),textBox1. Text));

_writer. Close ();. Close ();. Items [listBox1. SelectedIndex] = textBox1. Text;

}void listBox1_Click (object sender, EventArgs e)

{. Text = listBox1. SelectedItem. ToString ();. Enabled = true;

}void listBox2_Click (object sender, EventArgs e)

{. Text = listBox2. SelectedItem. ToString ();. Enabled = true;

}void button2_Click (object sender, EventArgs e)

{_fs = new FileStream (filename, FileMode. Open);_reader = new StreamReader (_fs);str = "";= _reader. ReadToEnd ();

_reader. Close ();

_fs. Close ();fs = new FileStream (filename, FileMode. Create);_writer = new StreamWriter (fs);

_writer. Write (str. Replace (listBox2. SelectedItem. ToString (), textBox2. Text));

_writer. Close ();. Close ();. Items [listBox2. SelectedIndex] = textBox2. Text;

}

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

private void listBox1_DoubleClick (object sender, EventArgs e)

{. Diagnostics. Process. Start (filename. Replace ("runtime. xml","start.html"));

}void listBox2_DoubleClick (object sender, EventArgs e)

{. Diagnostics. Process. Start (filename. Replace ("runtime. xml", "start.html"));

}

5. Тестирование программного средства


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

Протестируем систему на ошибки при попытки анализа некорректных Scorm пакетов.

·        Попытка анализировать оригинал Scorm пакета, вместо его экземпляра во временном хранилище;

Ответ: пожалуйста разархивируйте ваш Scorm пакет.

·        Выбранный Scorm пакет не имеет файла imsmanifest. xml;

Ответ: выбранный вами архив не является Scorm пакетом.

·        Выбранный Scorm пакет не имеет файла runtime. xml;

Ответ: выбранный вами архив не является Scorm пакетом.

·        В файле imsmanifest. xml определена некорректная ссылка на файл runtime. xml;

Ответ: выбранный вами архив не является Scorm пакетом;

·        Файл runtime. xml не содержит тестов на соответствие;

Ответ: выбранный вами Scorm пакет не содержит тестов на соответствие;

·        Не возможно запустить Программное Средство;

Ответ: установите.net Framework 2.0;

6. Руководство пользователя


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

. Состав Подсистемы анализа Scorm пакетов.

В состав подсистемы анализа Scorm пакетов входит программное средство "scorm. exe" и файл справки, содержащий данное руководство пользователя "справка. chm"

. Запуск приложения

Запуск приложения осуществляется запуском файла "Scorm. exe". После запуска на экран выводится главное окно приложения, с помощью которого можно управлять подсистемой анализа Scorm пакетов.

. Начало работы с подсистемой

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

Рис.10. Главная Форма Приложения

Первое что нам нужно сделать, это выбрать место расположения Scorm пакета на локальном диске или на заданном носителе. Выбор Scorm пакета заключается в поиске файла "imsmanifest. xml" на локальном диске или на заданно носителе. Это можно осуществить из главного мену "Файл" "Открыть".

Рис.11. Выбор Scorm пакета

Для того что бы начать анализировать SCORM пакеты, оператор должен нажать кнопку "Анализировать". Если расположение Scorm пакета не было определено, то программа предложит выбрать его на локальном диске или заданном носителе.

Рис.12. Выбор SCORM пакета

После выбора SCORM пакета, программа некоторое время анализирует его и выводит найденные в нём лекции.

. Редактирование Вопросов и Ответов

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

Вывод информации о программе

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

Окончание работы с программой.

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

Заключение


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

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

Приложения


Приложение А


Код основной функции для анализа пакета

{path = System. Environment. CurrentDirectory;. openFileDialog1. FileName = "*. xml";(this. openFileDialog1. ShowDialog () == DialogResult. OK) {

{reader = null;. Collections. ArrayList simList = new System. Collections. ArrayList ();

{= new XmlTextReader (openFileDialog1. FileName);. WhitespaceHandling = WhitespaceHandling. None; // пропускаем пустые узлы(reader. Read ())(reader. NodeType == XmlNodeType. Element)(reader. Name == "resource")

{(int i = 0; i < reader. AttributeCount; i++)

{(reader. GetAttribute (i) == "sco")

{(reader. Read () && reader. Name == "file")(reader. GetAttribute (0). IndexOf ("runtime. xml")! = - 1)

{name = openFileDialog1. FileName. Replace ("imsmanifest. xml","") + "\\" + reader. GetAttribute (0). Replace ("/", "\\");. Items. Add (name);

}

}

}

}

}(Exception ex)

{. Show ("Ошибка: " + ex. Message);

}

{(reader! = null). Close ();

}. Collections. ArrayList questionsList = new System. Collections. ArrayList ();. Collections. ArrayList answersList = new System. Collections. ArrayList ();

{= new XmlTextReader (listBox1. Items [0]. ToString ());. WhitespaceHandling = WhitespaceHandling. None; // пропускаем пустые узлы(reader. Read ())(reader. NodeType == XmlNodeType. Element)(reader. Name == "q_question")

{(reader. Read ())

{(reader. Name == "q_variants")

{(reader. Read ())

{(reader. Name == "item")

{(reader. Read ())

{(reader. Name == "q_target")

{. Add (stripTags (reader. ReadString (). ToString ()));

}if (reader. Name == "q_bullet")

{. Add (stripTags (reader. ReadString (). ToString ()));

} } } }

} } } }

ПРИЛОЖЕНИЕ Б

Код функции редактирования пакетаvoid Form3_Load (object sender, EventArgs e)

{(int i = 0; i < questionsList. Count; i++). Items. Add (questionsList [i]. ToString ());(int i = 0; i < answersList. Count; i++). Items. Add (answersList [i]. ToString ());(int i = 0; i < textList. Count; i++). Items. Add (textList [i]. ToString ());

}void button1_Click (object sender, EventArgs e)

{

}void label1_Click (object sender, EventArgs e)

{

}void listBox1_SelectedIndexChanged (object sender, EventArgs e)

{

}void button1_Click_1 (object sender, EventArgs e)

{_fs = new FileStream (filename, FileMode. Open);_reader = new StreamReader (_fs);str = "";= _reader. ReadToEnd ();

_reader. Close ();

_fs. Close ();fs = new FileStream (filename, FileMode. Create);_writer = new StreamWriter (fs);. Write (str. Replace (listBox1. SelectedItem. ToString (),textBox1. Text));

_writer. Close ();. Close ();. Items [listBox1. SelectedIndex] = textBox1. Text;

}void listBox1_Click (object sender, EventArgs e)

{. Text = listBox1. SelectedItem. ToString ();. Enabled = true;

}void listBox2_Click (object sender, EventArgs e)

{. Text = listBox2. SelectedItem. ToString ();. Enabled = true;

}void button2_Click (object sender, EventArgs e)

{_fs = new FileStream (filename, FileMode. Open);_reader = new StreamReader (_fs);str = "";= _reader. ReadToEnd ();

_reader. Close ();

_fs. Close ();fs = new FileStream (filename, FileMode. Create);_writer = new StreamWriter (fs);

_writer. Write (str. Replace (listBox2. SelectedItem. ToString (), textBox2. Text));

_writer. Close ();. Close ();. Items [listBox2. SelectedIndex] = textBox2. Text;

}void listBox1_DoubleClick (object sender, EventArgs e)

{. Diagnostics. Process. Start (filename. Replace ("runtime. xml","start.html"));

}void listBox2_DoubleClick (object sender, EventArgs e)

{. Diagnostics. Process. Start (filename. Replace ("runtime. xml", "start.html"));

}

Похожие работы на - Разработка подсистемы анализа SCORM-пакетов (лекционный материал)

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!