Научная статья на тему 'РАЗВИТИЕ НАВЫКОВ ОБРАТНОЙ ИНЖЕНЕРИИ НА ПРИМЕРЕ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОГО МУЛЬТИМЕДИА-ПРОЕКТА'

РАЗВИТИЕ НАВЫКОВ ОБРАТНОЙ ИНЖЕНЕРИИ НА ПРИМЕРЕ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОГО МУЛЬТИМЕДИА-ПРОЕКТА Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
14
3
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ОБРАТНАЯ ИНЖЕНЕРИЯ / ИНФОРМАТИКА / МУЛЬТИМЕДИА-ПРОЕКТ / АВТОМАТИЗАЦИЯ ВИДЕОФАЙЛА / ПРОГРАММИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Белоцерковская И.Е., Втюрин М.Ю., Городецкая Наталья Ивановна

В статье рассматривается вариант формирования первичных навыков обратной инженерии у обучающихся старшей школы на примере разработки автоматизированного мультимедиа-проекта в рамках обучения программированию в среде Visual Basic for Applications (VBA). На основе использования бесплатного программного средства Bolide Movie Creator и написанного на VBA проекта описывается механизм автоматизированного создания видеофайла.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «РАЗВИТИЕ НАВЫКОВ ОБРАТНОЙ ИНЖЕНЕРИИ НА ПРИМЕРЕ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОГО МУЛЬТИМЕДИА-ПРОЕКТА»

УДК 004.9.032.6

Белоцерковская И.Е., канд. физ.-мат. наук,

доцент кафедры Втюрин М.Ю., канд. физ.-мат. наук,

зав. кафедрой ГБОУ ДПО «Нижегородский институт развития образования» (Нижний Новгород, Россия)

РАЗВИТИЕ НАВЫКОВ ОБРАТНОЙ ИНЖЕНЕРИИ НА ПРИМЕРЕ РАЗРАБОТКИ АВТОМАТИЗИРОВАННОГО МУЛЬТИМЕДИА-ПРОЕКТА

Аннотация. В статье рассматривается вариант формирования первичных навыков обратной инженерии у обучающихся старшей школы на примере разработки автоматизированного мультимедиа-проекта в рамках обучения программированию в среде Visual Basic for Applications (VBA). На основе использования бесплатного программного средства Bolide Movie Creator и написанного на VBA проекта описывается механизм автоматизированного создания видеофайла.

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

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

Развитие навыков обратной инженерии [10] на примере разработки автоматизированного мультимедиа-проекта предполагает

• знакомство с интерфейсом и простейшими операциями видео-редактора Bolide Movie Creator (размещение статичной картинки, титров и дорожки звукового файла [4]);

• изучение XML-формата хранения данных проекта (корневой узел, узлы дорожек контента, узлы и атрибуты сегментов для картинки, звука и титров) [3];

• Изучение основных объектов библиотеки Microsoft XML 3.0 (загрузка и сохранение XML-файла, корневой узел, узлы одного уровня, дочерние узлы, узлы -элементы и узлы - атрибуты, клонирование узлов и наполнение их контентом) [9];

• знакомство со средой VBA в MS EXCEL (описание базы данных: имена файлов, титры подписи, звуковые файлы) [1], [6] - [8].

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

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

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

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

Обучение первичным навыкам использования обратной инженерии связано с разработкой программного кода для автоматизированного формирования файла проекта) [5];

03D Bolide Movie Creator 3.5 - Шаблон2.Ьтс - ознакомительный режим. Файл Настройки Помощь & Купить лицензию

О проекте Общее время: 5.000s, Разрешение проекта: 1024x768

Рисунок 1. Отображение исходных данных проекта в программе Bolide Movie Creator

Рассмотрим пример разработки автоматизированного мультимедиа-проекта, в котором создаётся промо-ролик клуба собаководов.

Программа, написанная в среде VBA с комментариями к каждой строке представлена ниже: Option Explicit

//Обязательность объявления переменных Dim oXMLDoc As MSXML2.DOMDocument //Объект - документ XML

Dim oXMLNode1, oXMLNode2, oXMLNode3, oXMLNode4, oXMLNode5 As MSXML2.IXMLDOMNode

//Объекты - узлы

Dim NewNode, NewChild As MSXML2. IXMLDOMElement

//Объекты - узлы-элементы

Dim NewAttr As MSXML2. IXMLDOMAttribute

//Объекты - узлы-атрибуты

Sub LoadXML()

//Процедура обработки

Dim GetFile, ResFile As Variant //Путь к исходном шаблону Dim CurDog, CurChar As Integer //Путь к выходному файлу Dim LineStr As String

GetFile = "CЛUsers\moish\Desktop\Кино\Шаблон2.bmc" ResFile = "C:\Users\moish\Desktop\Кино\Результат.bmc" Set oXMLDoc = New MSXML2.DOMDocument //Создаем объект XML-документ

oXMLDoc.Load (GetFile) //Загружаем XML-документ вызовом метода Load Set oXMLNode1 = oXMLDoc.FirstChild Set oXMLNode2 = oXMLNodeLNextSibling Set oXMLNode3 = oXMLNode2.ChildNodes(0) //Выбираем нужный узел иерархии

CurDog = 2 // Проходим по всем картинкам в цикле While Sheets( 1). Cells(CurDog, 1) <> ""

Set NewNode =

oXMLDoc.createNode(oXMLNode3.ChildNodes(0).NodeType, "Seg" + CStr(CurDog - 1), oXMLDoc.NamespaceURI)

//Создаем новый узел Segs+Индекс строки

Set NewAttr =

oXMLDoc.createNode(oXMLNode3.ChildNodes(0).Attributes(0).NodeType, "MediaType", oXMLDoc.NamespaceURI)

NewAttr.NodeValue = 4 NewNode.setAttributeNode NewAttr //Устанавливаем атрибут MediaType FillNode

NewNode.ChildNodes(0).Attributes(0).NodeValue = CStr(CLng(50000000) + CLng(50000000) * (CurDog - 2) - 1500000)

NewNode.ChildNodes(3). nodeTypedValue = CStr(Sheets(1).Cells(CurDog,

1))

//Устанавливаем сдвиг картинки на заданное время

oXMLNode3. appendChild NewNode //Добавляем новый сегмент в дорожку CurDog = CurDog + 1 Wend

Set oXMLNode4 = oXMLNode3.NextSibling //Переходим на узел дорожки с титрами CurDog = 2

While Sheets( 1). Cells(CurDog, 1) <> ""

Set NewNode =

oXMLDoc.createNode(oXMLNode4.ChildNodes(0).NodeType, "Seg" + CStr(CurDog - 1), oXMLDoc.NamespaceURI)

Set NewAttr =

oXMLDoc.createNode(oXMLNode4.ChildNodes(0).Attributes(0).NodeType, "MediaType", oXMLDoc.NamespaceURI)

NewAttr.NodeValue = 5 NewNode.setAttributeNode NewAttr FillNodeText

NewNode.ChildNodes(0).Attributes(0).NodeValue = CStr(CLng(50000000) + CLng(50000000) * (CurDog - 2) - 1500000) LineStr = ""

For CurChar = 1 To Len(Sheets(1).Cells(CurDog, 2)) //Цикл по буквам, для формирования строки титров в формате Unicode

LineStr = LineStr + CStr(AscW(Mid(Sheets(1).Cells(CurDog, 2), CurChar,

//Выбираем 1 символ и преобразовываем его числовое Unicode-значение в текст

LineStr = LineStr + "," Next CurChar

NewNode.ChildNodes(3). ChildNodes(2). ChildNodes(0). nodeTypedValue = "9223934987143745536,"+ LineStr

oXMLNode4.appendChild NewNode CurDog = CurDog + 1 Wend

Set oXMLNode5 = oXMLNode4.NextSibling

//Переходим на узел дорожки со звуковыми файлами CurDog = 2

While Sheets( 1). Cells(CurDog, 1) <> ""

Set NewNode =

oXMLDoc.createNode(oXMLNode5.ChildNodes(0).NodeType, "Seg" + CStr(CurDog - 1), oXMLDoc.NamespaceURI)

Set NewAttr =

oXMLDoc.createNode(oXMLNode5.ChildNodes(0).Attributes(0).NodeType, "MediaType", oXMLDoc.NamespaceURI)

NewAttr.NodeValue = 3 NewNode.setAttributeNode NewAttr FillNodeSound

NewNode.ChildNodes(0).Attributes(0).NodeValue = CStr(CLng(50000000) + CLng(50000000) * (CurDog - 2))

NewNode.ChildNodes(4). nodeTypedValue = C Str(Sheets( 1). Cells(CurDog,

3))

oXMLNode5.appendChild NewNode CurDog = CurDog + 1 Wend

oXMLDoc.Save (ResFile) End Sub

//Заполнение узла-картинки

Sub FillNode()

Dim CurChildNode As Integer For CurChildNode = 0 To 3

Set NewChild =

oXMLNode3.ChildNodes(0).ChildNodes(CurChildNode).CloneNode(True) NewNode.appendChild NewChild Next CurChildNode End Sub

//Заполнение узла-титра Sub FillNodeText() Dim CurChildNode As Integer For CurChildNode = 0 To 3

Set NewChild =

oXMLNode4.ChildNodes(0).ChildNodes(CurChildNode).CloneNode(True) NewNode.appendChild NewChild Next CurChildNode End Sub

//Заполнение узла-звука Sub FillNodeSound() Dim CurChildNode As Integer For CurChildNode = 0 To 4

Set NewChild =

oXMLNode5.ChildNodes(0).ChildNodes(CurChildNode).CloneNode(True) NewNode.appendChild NewChild Next CurChildNode End Sub

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

ЛИТЕРАТУРА

1. Гайдышев И. Решение научных и инженерных задач средствами Excel, VBA и C/C++, 2014

2. Губайдуллин, Р.А. Модуль инжиниринг в образовательной программе основной школы - М.: Точка, 2016 - 145 с.

3. Емельянова С.В. Информационные технологии и вычислительные системы: Обработка информации и анализ данных. Программная инженерия. Математическое моделирование. Прикладные аспекты информатики / Под ред. С.В. Емельянова. - М.: Ленанд, 2015. - 104 c.

4. Ефимова Э.В., Голунова М.И., Втюрин М.Ю. Мультимедийные программные продукты в работе учителя/ Э.В. Ефимова, М.И. Голунова, М.Ю. Втюрин. - Н.Новгород: Нижегородский институт развития образования, 2016. - 43 с.

5. Казанский А.А. Прикладное программирование на Excel 2013, 2019 - 160

с.

6. Комолова Н., Яковлева Е. Программирование на VBA в Excel 2016. Самоучитель, 2017-431 с.

7. Кудрявцев Н. Г., Кудин Д. В., Беликова М. Ю. Программирование на VBA MS Excel / Н. Г. Кудрявцев, Д. В. Кудин, М. Ю. Беликова - Горно-Алтайск: РИО ГАГУ, 2015 - 116 с.

8. Лебедев В.М. Программирование на VBA в MS Excel, 2019 - 272 с.

9. Одиночкина С.В. Основы технологий XML/ С.В. Одиночкина - СПб: НИУ ИТМО, 2013 - 56 с.

10. Орлов, С.А. Программная инженерия. Технологии разработки программного обеспечения. Стандарт третьего поления: Учебник / С.А. Орлов. - СПб.: Питер, 2019.- 224 c.

i Надоели баннеры? Вы всегда можете отключить рекламу.