УДК 004.23
А. В. Морозов, В. В. Лаптев, А. А. Кожушко
МЕТОД ОЦЕНИВАНИЯ ЗНАНИЙ В ОБУЧАЮЩЕЙ СИСТЕМЕ ПО ПРОЕКТИРОВАНИЮ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Введение
Обучение проектированию программных систем осуществляется в рамках нескольких дисциплин специальности «Автоматизированные системы обработки информации и управления»: «Технологии программирования», «Проектирование АСОИУ», «Базы данных». Во всех дисциплинах проектные решения обычно представляются в виде диаграмм унифицированного языка моделирования ИМЬ [1]. Например, модель «сущность-связь», изучаемая в курсе «Базы данных», прекрасно представляется в виде диаграммы классов ИМЬ [2]. При изучении технологий проектирования значительную часть перечисленных курсов составляют лабораторные работы, во время которых студенты приобретают практический опыт построения моделей с использованием языка ИМЬ. Поэтому обязательной подсистемой в составе обучающей системы по проектированию программного обеспечения (ПО) является инструментальная исполняющая система [3], которая и обеспечивает процесс построения студентом проектных диаграмм.
Одной из важнейших проблем, требующих решения при разработке этой подсистемы, является проблема оценивания задания, выполненного студентом. Технологии тестирования [4], широко используемые для оценивания уровня знаний при обучении многим естественнонаучным дисциплинам, плохо подходят при обучении проектированию ПО. С помощью тестирования возможно осуществить проверку знаний только на уровне узнавания типовых проектных решений - паттернов проектирования [5, 6]. Однако тестирование не позволяет проверить и оценить умение студента строить проектные диаграммы. Именно поэтому разработка методов, позволяющих автоматически оценивать степень правильности построения проектной диаграммы, является весьма актуальной задачей.
Анализ проектных диаграмм
Рассмотрим более детально проектные диаграммы UML. Поскольку в UML достаточно много видов диаграмм, остановимся на важнейшей - диаграмме классов. Пример диаграммы классов приведен на рис. 1. Базовыми понятиями данной диаграммы являются классы, ассоциации, поля, свойства и методы.
Рис. 1. Пример диаграммы классов
Класс в языке ИМЬ служит для определения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами других классов. Класс изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции. В этих разделах могут указываться имя класса, поля (переменные), свойства и операции (методы). Эти составляющие определяют внутреннюю структуру класса.
Атрибуты класса (поля или свойства) записываются во второй сверху секции прямоугольника класса. В языке ИМЬ каждому атрибуту класса соответствует отдельная строка текста, которая имеет определенный вид.
Операции (методы класса) указываются в третьей секции прямоугольника. Операция представляет собой некоторый сервис, предоставляемый каждым экземпляром класса по определенному требованию. Совокупность операций характеризует функциональность, обеспечиваемую классом. Запись операций класса в языке ИМЬ также стандартизована и подчиняется определенным синтаксическим правилам.
Кроме внутренней структуры классов на диаграмме показываются отношения между классами. Совокупность типов отношений фиксирована в языке ИМЬ и предопределена семантикой этих отношений. Базовыми отношениями в языке ИМЬ являются зависимости, ассоциации, обобщения.
Предлагаемое решение
Система содержит множество заданий на построение диаграмм классов. Текст каждого задания однозначно определяет вид требуемой диаграммы классов. Это позволяет оценить диаграмму, построенную студентом, путем сравнения с эталонной диаграммой, хранящейся в системе. Для выполнения такого сравнения требуется определить модель внутреннего представления диаграммы.
Внутренняя эталонная модель для каждого задания по созданию диаграммы классов может быть представлена в виде неориентированного графа специального вида (рис. 2). Вершинами графа являются: классы - С, отношения - Ь;, поля - ^к, методы - Мт, свойства - Рф где /,], к, т, д е ^ Каждой вершине графа поставлен в соответствие вес wnе [0, 1], где п е ^ Вес определяет важность данного компонента диаграммы классов и используется тренажерной подсистемой для количественной оценки правильности выполнения задания. Вес проставляется экспертом (преподавателем) при построении эталонной модели.
Рис. 2. Граф диаграммы классов (эталонная модель)
Аналогичная модель (только без весов) создается тренажерной подсистемой при выполнении задания студентом (рис. 3).
Рис. 3. Граф диаграммы классов (построенная модель)
Обозначения вершин - те же, что и в эталонной модели. Если студент при выполнении задания построит правильную диаграмму, то построенная модель будет в точности соответствовать эталонной. Если же студент допустил ошибки, то и модель будет отличаться от эталонной.
Например, студент мог изобразить лишние элементы диаграммы, пропустить (не изобразить) тот или иной элемент диаграммы или использовать другой элемент диаграммы вместо требуемого (например, указать отношение другого типа). Порядок построения диаграммы не существенен, важно наличие и отсутствие элементов диаграммы. Использование другого элемента тоже считается отсутствием требуемого.
Задача установления изоморфизма графов в общем виде является КР-полной проблемой. Однако построенные модели являются графами очень небольшого размера, поэтому сравнение моделей можно выполнить с помощью эвристического алгоритма, основанного на проверке соответствия атрибутов сопоставляемых вершин. Модели в системе представлены в виде ХМЬ-документов, которые имеют четко определенную древовидную структуру. Каждой вершине графа сопоставлен отдельный конкретный тег. В соответствии с типами вершин требуется всего пять различных тегов: <е1а88>, <6еЫ>, <теШоё>, <ргореі1у>, <1іпк>. Алгоритм сравнивает структуру эталонного и созданного ХМЬ-документов.
При несовпадении структур вычисляется количественная оценка несоответствия. Степень несоответствия В - это вещественное число в диапазоне от 0 до 1, причем 0 означает полное отсутствие построенной диаграммы, а 1 - точное соответствие построенной и эталонной моделей. Значение В < 1 показывает степень несоответствия построенной и эталонной модели: чем более неточно студент выполнил задание, тем ближе В к нулю.
Вычисление оценки основано на использовании веса. Пусть п - количество вершин эталонной модели, а т - количество вершин построенной модели. Оценка соответствия В вычисляется по формуле
Поскольку при неточном выполнении задания всегда п > т («лишние» вершины не учитываются), то тах(В) = 1.
Заключение
Предложенный метод позволяет решить проблему оценивания работы студента в автоматизированной обучающей системе по проектированию ПО. В настоящее время нами разрабатываются модели для других видов диаграмм ИМЬ и их представление в виде ХМЬ-документов. Однако нужно отметить, что предложенный метод не ограничивает обучение проектированию только изучением иМЬ. При разработке соответствующих моделей возможно оценивать работу студента и при построении проектных диаграмм другого типа: функциональных, сущность-связь, потоков данных и т. д.
1. Рамбо Дж., Блаха М. ИМЬ 2.0. Объектно-ориентированное моделирование и разработка. - СПб.: Питер, 2007. - 544 с.
2. КренкеД. Теория и практика построения баз данных. - СПб.: Питер, 2003. - 800 с.
3. Лаптев В. В., Толасова В. В. Предпроектный анализ архитектуры интеллектуальной обучающей среды по программированию // Информационные технологии и математическое моделирование (ИТММ-2008): материалы VII Всерос. науч.-практ. конф. с междунар. участием (14-15 ноября 2008 г.). - Томск: Изд-во Том. ун-та, 2008. - Ч. 1. - С. 76-80.
4. Переверзев В. Ю. Технологии разработки тестовых заданий: справ. руководство. - М.: Е-Медиа,
5. Шаллоуэй А., Трот Дж. Р. Шаблоны проектирования. Новый подход к объектно-ориентированному
анализу в проектировании. - М.: Изд. дом «Вильямс», 2002. - 288 с.
6. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма,
Р. Хелм., Р. Джонсон, Дж. Влиссидес. - СПб.: Питер, 2001. - 368 с.
СПИСОК ЛИТЕРАТУРЫ
2005. - 265 с.
Статья поступила в редакцию 25.12.2008
THE METHOD OF KNOWLEDGE ESTIMATION IN THE EDUCATIONAL SYSTEM FOR OBJECT-ORIENTED SOFTWARE DESIGN
A. V. Morozov, V. V. Laptev, A. A. Kozhushko
The problem of automatic students’ knowledge estimation while their learning software design is considered in the paper. The authors propose to estimate students’ knowledge using the comparison of the standard model with a model built by a student. The models are graphs of a special type. It is possible to solve the problem of graph isomorphism by means of the comparison of two XML-documents due to the fact that these graphs are rather small. The mismatch level of models is computed using a simple heuristic function.
Key words: software, standard model, mismatch level.