Научная статья на тему 'Проблема повторного использования в разработке семейства игровых программных систем учебного назначения'

Проблема повторного использования в разработке семейства игровых программных систем учебного назначения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
163
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ / СЕМЕЙСТВО ПРОГРАММНЫХ СИСТЕМ / SOFTWARE REUSE / PROGRAM FAMILY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гусс С. В.

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

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

Software reusability problem in development of game-based learning program family

The paper is about software reusability problem in development of program family in specific domain. There is also author software development projects list.

Текст научной работы на тему «Проблема повторного использования в разработке семейства игровых программных систем учебного назначения»

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

Вестн. Ом. ун-та. 2010. № 4. С. 147-149.

УДК 004.4'24 С. В. Гусс

Омский государственный университет им. Ф. М. Достоевского

ПРОБЛЕМА ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ В РАЗРАБОТКЕ СЕМЕЙСТВА ИГРОВЫХ ПРОГРАММНЫХ СИСТЕМ УЧЕБНОГО НАЗНАЧЕНИЯ

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

Ключевые слова: повторное использование, семейство программных систем.

Введение

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

Проблема повторного использования

Очевидно, что компьютерные игры, а главным образом обучающие компьютерные игры, являются важным объектом научного исследования в психологии [1], культурологии [2] и в других областях науки. Не чужды они исследованиям и в области инженерии программного обеспечения [3]. Что касается одной из важных проблем разработки программного обеспечения, проблемы повторного использования, впервые обозначенной в работе Малькольма Дугласа Макил-роя (Malcolm Douglas Mcllroy) в 1968 г. [4], она актуальна и по сей день. Это подтверждается активным строительством на её основе парадигмы программирования, названной фабриками программного обеспечения (Software Factories) [5]. Эта «новая» парадигма сочетает в себе весьма перспективные технологии, которые уже успели принести определённую пользу в процессе разработки программного обеспечения и смогли себя оправдать.

Предметом исследований автора статьи является систематическое повторное использование в процессе разработки программных систем учебного назначения для проведения занятий лингвистической направленности в игровой форме. Такое повторное использование невозможно без рассмотрения компьютерной программы как продукта из определённого семейства. А если смотреть на разработку программного обеспечения как на зрелую индустрию, то разговор возможен в терминах линеек программных продуктов как «производственных вместилищах семейства программных продуктов» [5]. Эта проблема дала о себе знать как раз в то самое время, когда компьютер-

ОС. Я Гусс, 2010

148

С. В. Гусс

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

Что же касается лингвистических занятий, то на протяжении многих лет они демонстрировали свой успех в обучении не только языку и его особенностям, но и применению его в профессиональной сфере. Об игровой форме таких занятий можно говорить так же, как и о других обучающих занятиях в той же форме. Существенная работа в этом направлении проделана Марком Пренским - исследователем в области электронного обучения, в основе которого лежат компьютерные игры. В одной из его публикаций [7], можно найти информацию о том, почему именно игровая форма является привлекательной. Это объясняется тем, что игры приносят радость. Способствуют интенсивному вовлечению в процесс обучения. В них заложена система правил, что способствует упорядоченности структуры процесса. Они мотивируют, ставя перед игроком определённые цели. Они интерактивны, что вынуждает действовать, чтобы получить результат. У них есть обратная связь, что способствует обучению. Игровому процессу характерно свойство привыкания, что позволяет без труда получать новые знания посредством игры. У игры есть состояния победы, что даёт возможность почувствовать свои силы и увидеть конечный результат. Они развивают творческие способности благодаря тому, что заставляют справляться с проблемами, искать способы их решения. Игры способны социализировать благодаря специальным многопользовательским режимам.

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

Специально созданные или отобранные, адаптированные и настроенные на определённое семейство программных систем средства разработки в сочетании с определённой профессиональной подготовкой исполнителей проекта способны

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

К таким средствам относятся модели, каркасы, шаблоны и предметно-ориентированные языки, способные связать составные части приложения в рамках общей архитектуры семейства программных систем [5; 8; 9]. В моделях отображаются общие очертания программных единиц. Каркасы определяют характерные для программных единиц повторно-используемые абстракции. Предметно-ориентированные языки делают процесс работы с этими абстракциями производительным, а шаблоны повышают эффективность процесса, ограничивая возможность совершения некорректных действий, в то же время, указывая верный путь работы с абстракциями. Добавив к этому автоматические программные инструкции, оказывающие помощь разработчикам, непосредственно во время создания приложений можно объединить всё вместе в специальный пакет, расширяющий возможности интегрированной среды разработки. К примеру, среда Microsoft Visual Studio 2010 имеет в своём арсенале все необходимые для расширения средства (те же возможности имеются в версиях 2005 и 2008), включая специальные шаблоны проектов, есть нечто подобное и в средах IDE Eclipse и Embarcadero RAD Studio. Особое выделение продуктов компании Microsoft вызвано тем, что в рамках одной из её исследовательских инициатив (а именно «фабрики программного обеспечения») проводятся поиск и развитие методов автоматизации, а в конечном счёте, и индустриализации разработки программных продуктов, что должно повысить уровень зрелости разработки программного обеспечения.

Проекты

Ниже приводится список проектов, составленных автором статьи, в рамках которых создаются программные продукты учебного назначения. Каждый проект на текущей стадии развития описывает семейство приложений, в рамках которого возможно создание продуктов с определёнными характеристиками. В скобках указан регистрационный номер продукта во ВНТИЦ, разработанного в рамках проекта.

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

Главные проекты:

1. Проект «Защищённая система тестирования и проверки знаний на основе классического кроссворда» (ВНТИЦ: 50200700813);

2. Проект «Учебная система развития словарного запаса на основе венгерского кроссворда» (ВНТИЦ: 50200701105);

3. Проект «Система контроля и проверки знаний на основе китайского кроссворда» (ВНТИЦ: 50200702345).

Экспериментальные проекты (на основе которых производится испытание новых технологий):

4. Проект «Программная система учебного назначения We Need Your Help». В основе лежит набор занимательных лингвистических задач;

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

Заключение

Систематическое повторное использование в разработке программного обеспечения предполагает разработку в рамках проекта не единичного продукта, но похожих членов одного семейства. Для работы с семейством необходим специальный инструментарий. Сюда входят связки каркасов и предметно-ориентированных языков моделирования/программирования, позволяющих генерировать необходимый код, используя абстракции каркасов. В рамках указанных в работе проектов ведётся создание подобных инструментов и средств. Подробнее об этом можно узнать в работах [10-12].

ЛИТЕРАТУРА

[1] Керделлан К., Грезийон Г. Дети процессора:

Как интернет и видеоигры формируют зав-

трашних взрослых. Екатеринбург: У-Фактория,

2006. 272 с.

[2] Липкое А. И. Ящик Пандоры: Фенонмен компьютерных игр в мире и в России. М. : Изд-во ЛКИ, 2008. 192 с.

[3] Flynt J., Salem O. Software Engineering for Game Developers. United States of America : Thomson Course Technology PTR, 2005. 890 p.

[4] Mcllroy M. Mass Produced Software Components // Report on a conference sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968, Scientific Affairs Division, NATO, Brussels, 1969. URL : http://www. cs.dartmouth.edu/~doug/components.txt (дата обращения: 11.08.2010).

[5] Гоинфилд Д., Шорт К., Кент С., Круп и Д.

Фабрики разработки программ: потоковая

сборка типовых приложений, моделирование, структуры и инструменты. М. : ООО «И.Д. Вильямс», 2007. 592 с.

[6] Parnas D. L. On the Design and Development of Program Families // IEEE Transactions on Software Engineering. Vol. SE-2. No. 1. 1976. URL : http://web.cecs.pdx.edu/~omse532/Parnas_Famili es.pdf (дата обращения: 11.08.2010).

[7] Prensky M. Digital Game-Based Learning. United States of America: Paragon House Publishers,

2007. 442 p.

[8] Басс П., Клементс П., Кацман Р. Архитектура программного обеспечения на практике. 2-е изд. СПб. : Питер, 2006. 575 с.

[9] Брукс Ф. Мифический человеко-месяц или как создаются программные системы. СПб. : Символ-Плюс, 2001. 304 с.

[10] Гусс С. В. Элементы повторного использования для программных систем учебного назначения. Концептуальное проектирование и анализ // Математические структуры и моделирование. Омск : ООО «УниПак», 2009. Вып. 20. С. 78-92.

[11] Гусс С. В. Модель каркаса программных компонентов поддержки занятий лингвистической направленности в игровой форме // Прикладная информатика. М. : ООО «Маркет ДС Кор-порейшн», 2010. Вып. 3 (27). С. 62-77.

[12] Гусс С. В. Использование компьютерных лингвистических игр в процессе обучения // Открытое образование. М. : CAPITALPRESS, 2010. Вып. 1. С. 18-29.

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