WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

На правах рукописи

ГУСС СВЯТОСЛАВ ВЛАДИМИРОВИЧ

АРХИТЕКТУРНАЯ СРЕДА КОМПОНЕНТОВ ВОПРОС

ОТВЕТНЫХ ЛИНГВИСТИЧЕСКИХ ИГР ДЛЯ ОБУЧАЮЩИХ

ПРОГРАММНЫХ СРЕДСТВ

Специальность 05.13.11 – математическое и программное обеспечение

вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ

диссертации на соискание учной степени кандидата технических наук

Омск – 2012

Работа выполнена в Омском государственном университете имени Ф.М.

Достоевского.

Научный руководитель:

Официальные оппоненты:

Ведущая организация:

Защита диссертации состоится «»_20г. вна заседании диссертационного совета_при _ по адресу:

С диссертацией можно ознакомиться в библиотеке

Автореферат разослан «_»_20г.

Учный секретарь Диссертационного совета

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Конечный результат научного исследования, имеющего место в процессе разработки программного обеспечения – предметно-ориентированные проектные решения для конкретной предметной области (т.е. «области знаний или деятельности, в которой пользователь использует программное обеспечение» [1]). К ним относят различные технические и инженерные артефакты (т.е. промежуточные продукты проекта), такие как описания, модели, шаблоны, компоненты и т.д., которые можно повторно использовать в разных программных проектах.

Цель предметно-ориентированных проектных решений – задать основу для производственных решений, на экономические характеристики которых могут влиять [2]: а) результаты концептуального и системного анализа, б) модели предметной области, в) формализация требований и декомпозиция программных средств. Чем качественнее подготовлены проектные решения, тем больше шансов, что производственные решения будут адекватными и рентабельными.

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

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

В рамках объектно-ориентированного проектирования тоже используется такое понятие, как архитектурная среда, однако исторически сложилось, что в русскоязычной литературе она обозначена таким термином, как каркас (в английском это вс тот же framework). Согласно определению из [3]: «каркас – набор взаимодействующих классов, составляющих повторно используемый дизайн для конкретного класса программ».

В программной инженерии можно встретить термин стиль (framework) [4]. В стандарте IEEE 1320.2 «Standard for Conceptual Modeling Language»

отмечается, что «framework представляет собой проект (модель или код), предназначенный для многократного повторного использования, который может быть усовершенствован (специализирован) и расширен и на основе которого может быть реализована некоторая часть полных функциональных возможностей для многих приложений» [4].

Итак, в русском языке есть три термина для обозначения одного и того же англоязычного понятия «framework». С точки зрения русского языка они действительно характеризуют сущность «framework» в рамках своей теоретической базы. Поскольку диссертационное исследование актуально для предметно-ориентированной разработки программных средств, то и термин выбран соответствующий – архитектурная среда. Тем не менее, там, где необходимо показать детали, будет использоваться термин «каркас», поскольку в качестве методологической базы моделирования выбрана именно объектноориентированная парадигма. Что касается термина «стиль», то он использоваться не будет, но когда повествование будет идти в контексте программной инженерии, термин «стиль» будет заменн на «каркас».

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

Актуальность исследования Технический аспект. Современные методы программной инженерии развиваются в направлении обеспечения поддержки автоматизации и систематизации процесса разработки [6; 7; 8]. Этот процесс протекает в рамках конкретной предметной области. Чем уже область, тем более актуально проведение серьзных работ по проектированию структуры и взаимодействия составляющих семейства программных средств. Решения для целого класса программных систем характеризуются пригодностью для использования в будущих проектах. С каждым новым проектом затраты на разработку уменьшаются, а проектные решения развиваются и становятся более гибкими.



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

Каждая предметная область имеет свои характерные особенности, которые определяют свойства проектов и форму соответствующих решений.

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

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

В данном случае встат вопрос о создании программных средств, предоставляющих уникальное учебное содержимое, которое способен передать конкретный преподаватель. Речь идт в равной степени, как о необходимости передачи статического содержимого, так и о желании придать динамический характер работе с этим содержимым (наиболее подходящий кандидат на средства предоставления такой возможности – лингвистическая игра [9]).

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

Для решения проблемы в ходе исследования были подобраны определнные методы и средства, предложены проектные решения, разработаны программные активы.

Актуальность проделанной работы связана с необходимостью развития и адаптации подходов к разработке программного обеспечения и их уточнению в определнной предметной области. По прогнозу ряда исследователей (таких, как Джек Гринфилд (Jack Greenfield), Стив Кук (Steave Cook), Стив Макконнелл (Steve McConnell), Кшиштоф Чарнецки (Krzystof Czarnecki), Эрик Эванс (Eric Evans), Стивен Келли (Steven Kelly) и Юха-Пекка Толванен (JuhaPekka Tolvanen)) подход, основанный на учте знаний предметной области, в ближайшем будущем будет играть первостепенную роль среди прочих.

Как отмечают исследователи, зачастую проектирование программного обеспечения выполняется таким образом, что ни программный код, ни документация не выражают знания, полученные в ходе долгих исследований, в явной, понятной форме [1]. Средства предметно-ориентированного проектирования и моделирования как раз направлены на придание ясности и прозрачности артефактам разработки, однако необходимо их уточнение в рамках конкретных предметных областей для повышения полезного эффекта от их применения.

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

Особая важность головоломок, лежащих в основе лингвистических игр, видна уже из их определения. Согласно современному толковому словарю русского языка Т.Ф. Ефремовой [12]: «головоломка – специально подобранная загадка, задача и т.п., для решения которой требуются сообразительность и знания в соответствующей области». К тому же, лингвистические игры могут использоваться в процессе обучения лиц различных возрастных категорий [6;

10], что весьма важно, учитывая сегодняшнюю потребность в так называемом «обучении на протяжении всей жизни».

Исследования и программные разработки в области электронного игрового обучения ведутся достаточно давно, в том числе и в России, о чм свидетельствуют статьи в научных журналах об образовании (например, журнал «Информатика и Образование») за 80-е годы и начало 90-х. Сегодня это направление опять становится популярным в связи с развитием компьютерных средств мультимедиа и появлением интереса у правительства Российской Федерации к вопросу о развитии информационного общества [13]. Более того, в утвержднной в конце сентября 2010 года государственной программе (до г.) «Информационное общество» в направлении повышения качества жизни граждан значится необходимость улучшения уровня образования. А для этого необходимо качественное, наджное и эффективное программное обеспечение.

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

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

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

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

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

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

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

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

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

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

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

2. Для создания компонентов уровня предметной области предлагается объектно-ориентированный каркас, как основной элемент программной архитектуры, построенной по принципам предметно-ориентированного моделирования.

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

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

1. «Инновационные технологии в повышении качества образования».

Международная практическая конференция, 15 апреля, 2006 года. Омский экономический институт (ОмЭИ).

Представленная работа отмечена грамотой за активное участие.

2. «Наука. Технологии. Инновации». Всероссийская научная конференция молодых учных, 6–9 декабря, 2007 года. Новосибирский государственный технический университет (НГТУ).

3. «Новые технологии и информатизация современного общества».

Международная научно-практическая конференция молодых учных, 29 марта – 15 апреля, 2008 года. Омский экономический институт (ОмЭИ).

Выдан диплом III степени за лучший доклад.

4. «Студент и научно-технический прогресс». XLVI международная научная конференция для студентов, аспирантов и молодых учных, 26–30 апреля, года (за работу, представленную на конференции, присуждн диплом второй степени). Новосибирский государственный университет (НГУ). Исследования также были представлены на XLVII конференции (11–15 апреля, 2009 года) и XLVIII (10–14 апреля, 2010 года).

5. «Молоджь третьего тысячелетия». XXXII региональная научнопрактическая конференция, 15 апреля – 17 мая, 2008 года. Омский государственный университет им. Ф.М. Достоевского (ОмГУ).

За доклад присуждн диплом II степени.

6. «Информационные технологии и автоматизация управления». II межвузовская научно-практическая конференция, 6–9 апреля, 2010 года.

Омский государственный технический университет (ОмГТУ).

7. «Технологии Microsoft в теории и практике программирования».

Всероссийская конференция молодых учных, 13–14 мая, 2010 года.

Нижегородский государственный университет им. Н.И. Лобачевского (ННГУ).

8. «Объектные системы 2011». III Международная научно-практическая конференция, 10–12 мая, 2011 года. Южно-российский государственный технический университет (ЮРГТУ).

Разработанные в рамках исследования конечные программные продукты и компоненты повторного использования прошли проверку на новизну и зарегистрированы в таких организациях, как «Объединнный фонд электронных ресурсов “Наука и Образование”» (ОФЭРНиО) и «Федеральный институт промышленной собственности» (ФИПС), а также использовались в процессе обучения учеников средней школы (проверка функциональных возможностей программных систем) и студентов высших учебных заведений (контроль знаний), преимущественно инженерных и технических специальностей. Был проведн эксперимент по определению эффективности применения конечных программных продуктов как проверочных систем, результаты опубликованы в журнале «Открытое образование» №1 (78) за год.

Структура диссертации Диссертация состоит из введения, четырх глав, заключения, списка используемых источников и двух приложений. Общий объм работы составляет 182 страницы. Основной текст: 151 страница (введение – страниц, 1 глава – 43 страницы, 2 глава – 18 страниц, 3 глава – 27 страниц, глава – 40 страниц, заключение – 8 страниц), 25 рисунков, 4 таблицы. Список использованных источников представлен 200 наименований. Приложения содержат копии свидетельств о регистрации и апробации программных систем.

Содержание диссертации Во введении к диссертационной работе обосновывается е актуальность с позиции программной инженерии, потребностей представителей сферы образования и политики правительства Российской Федерации в области информатизации общественной жизни. Рассматривается суть проблемы, выделяются пути решения, датся характеристика проработанности проблемы.

Глава 1 носит название «Анализ конъюнктуры и выбор подходов разработки обучающих программных продуктов». Это обзорная глава. Здесь анализируются и раскрываются вопросы, связанные с предварительным исследованием общего и специализированного рынков программного обеспечения, рассматриваются фундаментальные принципы традиционной программной инженерии и их современная реализация, приводятся соответствующие уточнения для подхода на основе повторного использования, представлены методы и подходы, работающие в контексте предметной области.

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

Глава 2 носит название «Концептуальное моделирование предметной области». Здесь стоит задача разработать пояснительную концептуальную модель предметной области.

На рис. 1 – 2 представлена диаграмма концептуальной модели предметной области обучающих программных средств. Можно выделить три уровня: непосредственно «Обучающая система» (то, что видно снаружи), «Типичные подсистемы», «Возможные подсистемы». Поскольку рассматривается конкретный класс программных средств, то по отношению к подсистеме «Обучение», как имеющей прямую связь с формой процесса обучения, все остальные подсистемы – проблемно-ориентированные (относятся к горизонтальной предметной области), необходимы они для поддержания е функционирования.

Рис. 1. Задачи, решаемые с помощью обучающих программных средств Рис. 2. Обобщнная структура обучающих программных средств Эта модель похоже на BOM (Business Object Model) – объектную модель деятельности, которая устанавливает структуру для стратегии разработки и представляет начальную терминологию для связи клиента (или заинтересованных лиц) и разработчика. Она говорит о границах, обязанностях и сущностях. Эта модель задат контекст, предлагает сценарии использования или более общие – регулярные (системные) сценарии использования. В объектно-ориентированном проектировании также выделяют DOM (Domain Object Model) – модель подмножества BOM, объектную модель предметной области. Здесь действует принцип «Сжатие знаний в модели» – узнав чтонибудь важное об области, вы поймте куда двигаться. Это также инфраструктура для обеспечения порядка и карта контекста, позволяющая расставить контрольные точки и определить, куда прикладывать усилия, время, умения. У каждого контекста есть свой общеупотребительный язык (ubiquitous language), т.е. набор понятий и связей между ними.

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

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

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

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

Глава 3 носит название «Каркас программных компонентов». Здесь предлагается архитектурная модель, которая детализирует игровой аспект концептуальной модели для вопрос ответных игр лингвистической направленности, которая и будет смысловым ядром предметной области.

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

На рис. 4 – 5 представлен один из аспектов логической структуры, это – элементы системы. В качестве программного элемента, представляющего предметно-ориентированную часть, будет выступать библиотека каркаса. На диаграмме (рис. 5) хорошо прослеживается триада субъектов игрового процесса – «Игрок-Соперник-Судья». Обязанность «Соперника» – быть противником «Игрока» в процессе решения задачи и реагировать ответом на его действия в соответствии с заданной стратегией. «Соперник» также устанавливает состояние ситуации. «Судья» следит за процессом и собирает статистику.

«Управляющий процессом» находится над этой триадой и отвечает за «Базу знаний», «Правила» и «Состояние процесса».

Рис. 4. Взаимодействие с детализированным каркасом На рис. 6 – 7 представлены программная и физическая структуры. Связи между элементами остались практически теми же, только за состоянием ситуации («GamePuzzleState») в программной реализации отвечает «Судья»

(«UmpireRole»), а не «Соперник» («CompetitorRole»), тем самым реализуется принцип проектирования – «Принцип единственной обязанности».

Реализация «Управляющего процессом» представлена двумя классами:

«GameCompetent» и «GameManager». Сделано это для удобства сопровождения.

Т.е. если понадобится внести какие-то несущественные изменения в каркас, то лучше это делать в пределах класса «GameManager», более того – класс «GameManager» – посредник с внешним миром, предоставляющий два главных метода – начать игру («StartGame») и сделать шаг («MakeGameStep»), и вызывающий событие ответа на вопрос («QuestionProcessed»), которое нужно для внешнего клиента (который в нашей системе будет выступать в роле игрока).

Рис. 6. Диаграмма классов уровня основных элементов Рис. 7. Диаграмма классов уровня управления процессом Для реализации стратегий проверки вопросов и ответов на них введены интерфейсы «IGetAnswerStrategy» и «IVerifyQuestionStrategy». Так исполняется ещ один принцип проектирования, говорящий о том, что нужно выделить аспекты приложения, которые могут измениться, и отделить их от тех, которые навсегда остаются постоянными.

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

На рис. 8 – 11 представлено описание взаимодействия между элементами каркаса.

Детализируется операция – «Сделать игровой ход». Чтобы сделать ход – нужен список вопросов (от «Игрока») и если процесс активен, «Выполнить ход». Как только ход выполнен, имеет смысл ожидать изменения состояния ситуации. Если задача не решена или почти решена – запомнить это состояние, в противном случае (когда задача решена) – сразу вызвать событие обработки вопроса. Под выполнением хода подразумевается – получить ответ от «Соперника», учитывая задаваемые ему вопросы и правила игры. Далее – обновить состояние ситуации и статистики, после чего вернуть состояние текущей ситуации.

Рис. 8. Операция «Сделать игровой ход» на объекте типа «Игрок»

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

Ответ выдатся согласно заданной стратегии ответа. Получение результата проверки начинается с проверки условия: запрещены повторы или нет. Далее – проверить вопросы согласно заданной стратегии.

Процесс уточнения каркаса представлен следующим образом (рис. 12).

Действия: 1) Клиент создат объект «Управляющий процессом», который а) создат задачу, б) устанавливает е в объекте «Соперник», в) в объекте «Правила» устанавливает стратегию проверки, г) в объекте «Соперник»

устанавливает стратегию ответа; 2) Клиент начинает процесс.

Рис. 10. Операция «Получить ответ от Рис. 12. Обобщнная диаграмма последовательности детализации каркаса Проблема использования каркаса – процесс его уточнения. Чтобы избавить разработчика от рутинной работы по настройке каркаса, предлагается шаблон приложения и шаблон предоставления точек расширения (рис. 13). Оба они работают во взаимодействии. Первый – скрыт от программиста и является средством для существования второго, который виден программисту.

Разработчик должен его заполнить – задать более подходящее имя классу «CustomizedGameManager» и уточнить аспекты: задание задачи и стратегий проверки и ответа. Шаблон работает с каркасом и вне его не используется.

Глава 4 носит название «Проверка и испытание проектных решений».

Для иллюстрации процесса конструирования игрового компонента представлен пример уточнения каркаса (рис. 14). В первой секции задатся задача. Во второй устанавливается стратегия проверки вопроса. В третьей секции устанавливается стратегия ответа.

Рис. 13. Шаблон приложения и предоставления точек расширения Рис. 14. Конструирование игрового компонента В контексте представленного программного кода стоит сказать несколько слов о предметно-ориентированном языке уточнения каркаса. Набор абстракций каркаса и правила их использования образуют DSL (предметноориентированный язык). DSL – «косметический фасад над библиотекой или программной структурой» [14]. Фасад определяет интерфейс более высокого уровня, который упрощает использование системы. DSL позволяет сделать некоторые частные задачи программирования более лгкими для понимания, а значит, соответствующие программы можно будет быстрее писать, легче изменять, и они будут менее подвержены ошибкам. Для DSL чтение написанного кода имеет большее значение, чем написание. DSL работает в рамках семейств (в нашем случае это компоненты поддержки игрового обучающего процесса). Семейства систем при общности большинства компонентов (составляющих) и поведения имеют некоторые важные различия (в данном случае выделяют общий и варьируемый код). Если мы хотим думать о каком-то предмете или явлении, то нужно сделать так, чтобы этот словарный запас (используемый в данной предметной области) присутствовал в программном коде. Это принцип проектирования на основе предметной области (DDD) единого языка (Ubiquitous Language). DDD используется для построения модели и е настройки (в каком виде вс это делается – вопрос реализации в рамках выбранной парадигмы моделирования). Общий код может быть представлен библиотекой компонентов. Варьируемый код – это информация для уточнения, конфигурации или сборки компонента. Мы структурируем общий код в набор компонентов, которые затем настраиваем для различных целей. Получаем библиотеку (с общим кодом), используемую в нескольких конфигурациях.

Встат вопрос, а действительно ли то, что представлено каркасом (набор абстракций, правила и примеры), является DSL. Ответ положительный, поскольку DSL скрыт в синтаксисе (который представлен в примерах и ограничен закодированными в каркасе правилами), но это по-прежнему DSL.

Это так называемый внутренний DSL, т.е. «стилизованное использование языка программирования для предметно-ориентированных целей» [14], механизм для выражения конфигурации модели.

На рис. 15 показан пример использования готового компонента, построенного на основе каркаса. Последовательность действий: 1) подготовка, 2) запись на события, 3) запуск процесса. После того как процесс запущен – следует последовательность вопросов и ответов, причм ответ приходит, как отправка сообщения о наступлении события. Т.е. игра в рамках конечного продукта представляет последовательность вопросов и ответов на них, где вопросы задат «Игрок», а отвечает на них «Соперник», который работает согласно заданным стратегиям проверки вопроса и выдачи ответа.

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

РЕЗУЛЬТАТЫ ИССЛЕДОВАНИЯ, ВЫНОСИМЫЕ НА ЗАЩИТУ

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

Обобщнная структура обучающих программных средств. Типичные подсистемы и области ответственности.

Подсистема «Обучение». Отправные точки для выделения смыслового ядра предметной области обучающих программных средств на основе игр лингвистической направленности.

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

Логическая структура: элементы системы, внутренние роли, внешние клиенты.

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

Логическая структура каркаса: операции.

Процесс уточнения каркаса.

3. Шаблоны приложения и предоставления точек расширения в каркасе.

Конструирование игрового компонента.

Использование игровых компонентов.

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

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

СПИСОК НАУЧНЫХ РАБОТ, В КОТОРЫХ ЗАФИКСИРОВАНЫ

РЕЗУЛЬТАТЫ ДИССЕРТАЦИИ

1. Монография.

1.1. Гусс С.В. Предметно-ориентированное проектирование обучающих программных средств. Germany (Saarbrucken): LAP LAMBERT Academic Publishing, 2011. 185 c.

2. Статьи в изданиях из перечня, рекомендуемого ВАК.

2.1. Гусс С.В. Использование компьютерных лингвистических игр в процессе обучения // Открытое образование. 2010. № 1 (78). С. 18–29.

2.2. Гусс С.В. Модель каркаса программных компонентов поддержки занятий лингвистической направленности в игровой форме // Прикладная информатика.

2010. № 3 (27). С. 62–77.

2.3. Гусс С.В. Проблема повторного использования в разработке семейства игровых программных систем учебного назначения // Вестник Омского университета. 2010. №4 (58). С. 147–149.

2.4. Гусс С.В. Пакет вспомогательных средств для построения семейства программных систем в определнной предметной области // Программная инженерия. 2011. №1. С. 25–33.

2.5. Гусс С.В. Задачи исследования программной инженерии в контексте предметно-ориентированного проектирования // Вестник Омского университета. 2011. №2 (60). С. 155–158.

3. Статьи в рецензируемых научно-периодических изданиях.

3.1. Гусс С.В. Обучающие программы на основе игр лингвистической направленности // Информатика и образование. 2009. № 11. С. 123– (журнал, рекомендованный ВАК на время публикации в нм статьи).

3.2. Гусс С.В. Элементы повторного использования для программных систем учебного назначения. Концептуальное проектирование и анализ // Математические структуры и моделирование. 2009. № 20. С. 78–92.

3.3. Гусс С.В. Высокоуровневая модель семейства программных компонентов для поддержки занятий в игровой форме // Математические структуры и моделирование. 2010. № 21. С. 44–54.

3.4. Гусс С.В. Разработка семейства программных систем в специфической предметной области // Математические структуры и моделирование. 2010. № 22. С. 55–68.

3.5. Гусс С.В. Язык детализации каркаса программных компонентов поддержки занятий лингвистической направленности // Математические структуры и моделирование. 2011. № 23. С. 58–75.

3.6. Гусс С.В. Предметно-ориентированные проектные решения для тематической области обучающих программных средств на основе лингвистических игр // Математические структуры и моделирование. 2011. № 24. С. 55–68.

СПИСОК ЛИТЕРАТУРЫ

1. Эванс Э. Предметно-ориентированное проектирование (DDD):

структуризация сложных программных систем. М.: ООО «И.Д. Вильямс», 2011.

448 с.

2. Липаев В.В. Экономика производства программных продуктов. Издание второе. М.: СИНТЕГ, 2011. 352 с.

3. Примы объектно-ориентированного проектирования. Паттерны проектирования / Гамма Э. [и др.]. СПБ.: Питер, 2008. 366 c.

4. Батоврин В.К. Системная и программная инженерия. Словарь-справочник.

М.: ДМК Пресс, 2010. 280 с.

5. Першиков В.И., Савинков В.М. Толковый словарь по информатике. М.:

Финансы и статистика, 1991. 543 с.

6. Фабрики разработки программ: потоковая сборка типовых приложений, моделирование, структуры и инструменты. / Гринфилд Д. [и др.]. М.: ООО «И.Д. Вильямс», 2007. 592 с.

7. Чарнецки К., Айзенекер У. Порождающее программирование: методы, инструменты, применение. СПб.: Питер, 2005. 731 с.

8. Kelly S., Tolvanen J-P. Domain-Specific Modeling. Enabling Full Code Generation. Canada: John Wiley & Sons, Inc., 2008. 448 p.

9. Любич Д.В. Лингвистические игры. СПб: Издательство Буковского, 1998.

272 с.

10. Michael D., Chen S. Serious Games: Games That Educate, Train, and Inform.

Canada: Thompson Course Technology PTR, 2006. 352 p.

11. Керделлан К., Грезийон Г. Дети процессора: Как интернет и видеоигры формируют завтрашних взрослых. Екатеринбург: У-Фактория, 2006. 272 с.

12. Ефремова Т.Ф. Современный толковый словарь русского языка. В 3 томах.

Том 1. А – Л. М.: АСТ, 2006. 1168 с.

13. Авдулов А.Н., Кулькин А.М. Контуры информационного общества. М.:

ИНИОН РАН, 2005. 162 с.

14. Фаулер М. Предметно-ориентированные языки программирования. М.:

ООО «И.Д. Вильямс», 2011. 576 с.





Похожие работы:

«НИМБУЕВА АЮНА ЗОРИКТОЕВНА ТЯЖЕЛЫЕ МЕТАЛЛЫ В ОРГАНИЧЕСКОМ ВЕЩЕСТВЕ ЛУГОВО-ЧЕРНОЗЕМНЫХ МЕРЗЛОТНЫХ И СЕРЫХ ЛЕСНЫХ ПОЧВ ЗАБАЙКАЛЬЯ 03.00.27 – Почвоведение АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата биологических наук г. Улан- Удэ 2007 Работа выполнена в лаборатории биохимии почв Института общей и экспериментальной биологии СО РАН Научный руководитель : доктор сельскохозяйственных наук, профессор Чимитдоржиева Галина Доржиевна Официальные оппоненты : доктор...»

«КНЯЗЕВА Марина Геннадьевна ИЗУЧЕНИЕ, МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ И КОМПЬЮТЕРНАЯ ВИЗУАЛИЗАЦИЯ ГИПЕРБОЛИЧЕСКИХ ОБЪЕКТОВ 05.13.18 - Математическое моделирование, численные методы и комплексы программ АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата физико-математических наук Санкт-Петербург 2008 Работа выполнена в Санкт-Петербургском Институте Информатики и Автоматизации Российской Академии Наук Научный руководитель :...»

«Хамидуллин Рустем Василович Управление развитием промышленного комплекса региона (на примере Республики Татарстан) Специальность 08.00.05 – Экономика и управление народным хозяйством (экономика, организация и управление предприятиями, отраслями, комплексами – промышленность; управление инновациями и инвестиционной деятельностью) АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата экономических наук Ижевск– 2009 Работа выполнена в Институте экономики Уральского...»

«Дашинамжилов Одон Борисович СТРУКТУРА И ДЕЯТЕЛЬНОСТЬ ОРГАНОВ УПРАВЛЕНИЯ РЕСПУБЛИКИ БУРЯТИЯ В 1990-е гг. Специальность 07.00.02 – Отечественная история Автореферат диссертации на соискание ученой степени кандидата исторических наук Новосибирск 2008 Работа выполнена в секторе истории социально-экономического развития Института истории СО РАН Научный руководитель : доктор исторических наук, профессор М.М. Ефимкин Официальные оппоненты : доктор исторических наук, профессор Г.П....»

«Иванов Евгений Владимирович ОПРЕДЕЛЕНИЕ КООРДИНАТ В БЕСПРОВОДНЫХ СЕНСОРНЫХ СЕТЯХ Специальность 05.12.13 – Системы, сети и устройства телекоммуникаций АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Москва, 2008 Работа выполнена в Московском Физико-Техническом Институте (Государственном Университете) на кафедре прикладной электродинамики и информационных систем реального времени в ОАО “Радиофизика” Научный руководитель : кандидат технических наук...»

«Лаптинский Виктор Валентинович Педагогические условия формирования системы ценностных отношений учащихся в воспитательном процессе 13.00.01 - общая педагогика, история педагогики и образования Автореферат диссертации на соискание ученой степени кандидата педагогических наук Ижевск - 2004 Работа выполнена в государственном образовательном учреждении высшего профессионального образования Удмуртский государственный университет Научный руководитель : кандидат педагогических наук,...»

«УДК 517.53, 517.98 Комлов Александр Владимирович Аналитические свойства решений некоторых классических и некоммутативных интегрируемых систем 01.01.01 вещественный, комплексный и функциональный анализ АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук Москва 2010 Работа выполнена на кафедре теории функций и функционального анализа...»

«НЕКРАСОВА Анастасия Корнельевна ОБЩИЙ ЗАКОН ПОДОБИЯ ДЛЯ ЗЕМЛЕТРЯСЕНИЙ ПРИМЕНЕНИЕ К СЕЙСМИЧЕСКИ АКТИВНЫМ РЕГИОНАМ МИРА Специальность 25.00.10 –Геофизика, геофизические методы поисков полезных ископаемых АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук Москва – 2008 г. Работа...»

«Аткарская Агата Сергеевна Изоморфизмы линейных групп над ассоциативными кольцами Специальность 01.01.06 математическая логика, алгебра и теория чисел АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата физико-математических наук Москва 2014 Работа выполнена на кафедре высшей алгебры Механико-математического факультета ФГБОУ ВПО „Московский государственный университет имени М. В. Ломоносова“....»

«Кондратенко Михаил Сергеевич Влияние полибензимидазолов на структуру трехфазной границы, протонную проводимость и механизмы деградации поверхности платины в активных слоях электродов фосфорнокислотных топливных элементов Специальности: 02.00.06 – высокомолекулярные соединения 02.00.05 – электрохимия АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук Москва – 2013 Работа выполнена на кафедре физики полимеров и кристаллов физического...»

«Засухина Елена Семеновна Быстрое автоматическое дифференцирование в задачах оптимального управления Специальность 01.01.09 - Дискретная математика и математическая кибернетика Автореферат диссертации на соискание ученой степени кандидата физико-математических наук Москва – 2007 Работа выполнена в Вычислительном центре им. А.А. Дородницына Российской академии наук Научный руководитель : доктор физико-математических наук Зубов Владимир Иванович Официальные доктор...»

«БЕРКО АЛЕКСАНДР ВЛАДИМИРОВИЧ УГОЛОВНАЯ ОТВЕТСТВЕННОСТЬ ЗА ПРИМЕНЕНИЕ ЗАПРЕЩЕННЫХ СРЕДСТВ И МЕТОДОВ ВЕДЕНИЯ ВОЙНЫ АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата юридических наук по специальности 12.00.08 (уголовное право и криминология; уголовно-исполнительное право) Ставрополь 2002 Диссертация выполнена на кафедре уголовного права Ставропольского государственного университета Научный руководитель : доктор юридических наук, профессор Зырянов Виктор...»

«Смагин Михаил Александрович ИЗМЕРЕНИЕ ПОЛЕЙ УЛЬТРАЗВУКОВЫХ МЕДИЦИНСКИХ ПРЕОБРАЗОВАТЕЛЕЙ МЕТОДАМИ АКУСТИЧЕСКОЙ ГОЛОГРАФИИ И ОПТИЧЕСКОЙ ВИЗУАЛИЗАЦИИ Специальность 01.04.06 – акустика Автореферат диссертации на соискание ученой степени кандидата физико-математических наук Москва – 2007 Работа выполнена на кафедре акустики физического факультета Московского государственного университета им. М.В. Ломоносова (МГУ). Научный руководитель : кандидат физико-математических наук...»

«Филимонов Иван Сергеевич КИНЕТИЧЕСКИЕ ЗАКОНОМЕРНОСТИ КАТАЛИЗА И ИНАКТИВАЦИИ ФЕРМЕНТА ПРОСТАГЛАНДИН Н СИНТАЗЫ Специальность 03.01.02. – Биофизика АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата физико-математических наук Москва – 2010 Работа выполнена в Международный учебно-научном биотехнологическом центре МГУ имени М.В.Ломоносова и Институте биохимической физики имени Н.М.Эмануэля РАН. Научный руководитель : доктор химических наук, профессор Вржещ Петр...»

«Лосев Борис Викторович ВЕНЧУРНЫЕ КАПИТАЛОВЛОЖЕНИЯ В ИННОВАЦИОННОЕ РАЗВИТИЕ ОРГАНИЗАЦИЙ 08.00.05 – Экономика и управление народным хозяйством (управление инновациями) Автореферат диссертации на соискание ученой степени кандидата экономических наук Москва-2010 Диссертация выполнена на кафедре экономики строительства и управления инвестициями ГОУ ВПО Государственный университет управления Научный руководитель : доктор экономических наук, профессор Козловский А.В. Официальные...»

«Танфильев Олег Вадимович СОВЕРШЕНСТВОВАНИЕ АЛГОРИТМОВ АВТОМАТИКИ ЛИКВИДАЦИИ АСИНХРОННОГО ХОДА ДЛЯ РАБОТЫ В УСЛОВИЯХ НЕПОЛНОФАЗНЫХ РЕЖИМОВ Специальность 05.14.02 – Электрические станции и электроэнергетические системы АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук Новосибирск – 2010 Работа выполнена в Государственном образовательном учреждении высшего профессионального образования Новосибирский государственный технический университет. Научный...»

«ШЕМАХИН АЛЕКСАНДР ЮРЬЕВИЧ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ГАЗОДИНАМИКИ СТРУЙ ВЧ-ПЛАЗМЫ ПРИ ПОНИЖЕННЫХ ДАВЛЕНИЯХ Специальность 05.13.18 математическое моделирование, численные методы и комплексы программ АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата физико-математических наук Казань - 2012 Работа выполнена в федеральном государственном автономном образовательном учреждении высшего профессионального образования Казанский (Приволжский) федеральный университет...»

«Короткий Геннадий Анатольевич МУЛЬТИКУЛЬТУРАЛИЗМ КАК СОЦИО-КУЛЬТУРНАЯ ПАРАДИГМА ЭПОХИ ГЛОБАЛИЗАЦИИ специальность 09.00.11 - социальная философия Автореферат диссертации на соискание учёной степени кандидата философских наук Москва – 2012 Работа выполнена на общеуниверситетской кафедре философии ГБОУ ВПО города Москвы Московский городской педагогический университет – МАМЕДОВА Наталья Михайловна, Научный руководитель доктор философских наук, профессор СЕРГЕЕВА Ольга Алексеевна,...»

«Силаева Ирина Александровна Развитие книжной культуры Сибири конца XVI – XVII вв. Специальность 07.00.02 – Отечественная история А В Т О Р Е Ф Е РА Т диссертации на соискание ученой степени кандидата исторических наук Барнаул 2010 Работа выполнена на кафедре истории России Нижневартовского государственного гуманитарного университета Доктор исторических наук, профессор Научный руководитель : Солодкин Янкель Гутманович Доктор исторических наук, профессор Официальные оппоненты :...»

«ФЕДОРОВ Сергей Павлович ФАРМАКОКИНЕТИКА И ФАРМАКОДИНАМИКА РАБЕПРАЗОЛА 14.00.25 – фармакология, клиническая фармакология 14.00.05 – внутренние болезни АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата медицинских наук МОСКВА 2008 Работа выполнена в Филиале Клиническая фармакология Научного центра биомедицинских технологий РАМН Научные руководители: Доктор медицинских наук, профессор БОГДАНОВ Александр Николаевич Кандидат медицинских наук СЕРЕБРОВА Светлана Юрьевна...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.