УДК 004.896
А. Н. АФАНАСЬЕВ, Н. Н. ВОЙТ
РАЗРАБОТКА КОМПОНЕНТНО-СЕРВИСНОЙ ПЛАТФОРМЫ ОБУЧЕНИЯ: АНАЛИЗ И РАЗРАБОТКА КОМПОНЕНТА МЕТОДА ДИАГНОСТИКИ ПРОЕКТНЫХ ХАРАКТЕРИСТИК ОБУЧАЕМОГО ИНЖЕНЕРА С ПОМОЩЬЮ ДИАГРАММ ТЖГ
Выполнен сравнительный анализ аналогов-методов оценки уровня подготовленности обучаемого, разработана диаграмма программного компонента метода диагностики знаний, умений, владения навыками и компетентности обучаемого.
«г
Ключевые слова: интеллект, кибернетика, САПР, системы обучения.
Введение
В продолжение к предыдущей статье (Вестник УлГТУ, 2012, № 3, с. 36-39) разработана 1ЖЬ-диаграмма класса программного компонента диагностики проектных характеристик обучаемого инженера, помогающая в успешном написании кода на языке программирования.
Анализ компонента метода диагностики проектных характеристик обучаемого инженера
В табл. 1 [1,2] приведён результат анализа ряда известных методов диагностики.
Таблица 1
Анализ метода диагностики
№ Базовая модель сценария (автор) Возможность планирование Возможность адаптации к обучаемому Анализ целевых показателей Использование метода диагностики
1 Семантическая сеть (Юдельсон М. В.) + + 3 Нейронные сети
2 Орграф (Бодрин А. В.) + — —
3 И/ИЛИ-дерево + — Условие по параметрам
4 Орграф (Губанов А. Н.) + 3 Условие по параметрам
5 Орграф (Зайцева Л. В.) — 3 Условие по параметрам
6 Ассоциативное дерево (авторская) + + 3, у, н, к Нечёткая карта Кохонена
Примечание к таблице 1: «+» - учитывается, «-» - не учитывается, з - знания, у - умения, н -владение навыками, к - компетентность.
Разработка компонента метода диагностики проектных характеристик
обучаемого инженера с помощью диаграмм UML
Диаграмма классов компонента метода диагностики проектных характеристик обучаемого инженера содержит классы FSOM, NeuronsLevel, Neuron, InsuranceLevel (рис. 1) [3-6].
FSOM класс содержит функции.
FSOM - конструктор объекта класса; clearAllClass - подготовка всех переменных класса; addKnowledgeClass - добавление класса знаний; addTaskClass - добавление класса умений;
© Афанасьев А. П., Вой г Н. Н., 2012
EÉiFSOM
Attributes
Operations.
public FSOM( )
public void clearAIICl3ss( )
public void addKnowledgeCl3Ss( double c!assMarks[0. *], int mark )
public void addTaskClass( double classMarks[0..*], int mark )
public void addTimeClass( double classMarksjO .*], int mark )
public void addCompetencyClassf double clas$Marks|0. *]. int mark )
public double AnalyzeTestResults( double knowledgeMarks[0..*], double taskMarks[0..*], double timeMarks[0..*])
public NeuronResultjO.*] getResults( )
public void setError!evel( double value )
public void setOecreaseLevel( double value)
puhlin void addlnsuranceLevel( double value, Stung name)
---------------------
knowledqeLeve
taskLevef
timeLevel
competencyLeve^
NeuronsLevel
Attributes.
Operations
public void addMeuronClass( double classMarksjO..■*], int mark }
public double processMarksf double marks[G..*])
public void add!nsur3nceLevel( double value, String name )
public void setErrorlevel( double level)
public void setDecreaseLevei( double level)
public NeuronResult getResuft( )
;\
neurons^).."
nearestNeuron/
Neuron
Attributes
package double ethalonsJCL"] public ini mark
private double lastÀccessLevel private double iastDistance private double errorLevel = 0.1 private double iterationDecrease = I
Operations
public Neuron{ double ethalonMarks(0..*). int mark )
public double getMarksDistancef double rnarksjO./])
private double geJDistance( double oldValues[0..*]. double newValues[0 *))
public void updateWeights( double marksjO *])
private double getDecrease( int iteration)
public void addlnsuranceLevel( double value. -String name )
private void sortlnsuranseLevels( )
public void removelnsurancelevelf double value)
public void removelnsuranceLevelf String name}
public String getlnsuranceMame( )
public double getLastDistance( )
public double getLastAccessLevel( )
public void setDecrea«»pl double value }
public void setErrorLevel( double value )
У
InsuranceLevelb
!52l
lälnsuranceLevel
Attributes package double Value package String f lame
Operations
public lnsuranceLevel( double value, String name )
Рис. 1. Диаграмма классов компонента метода диагностики проектных характеристик обучаемого инженера
addTimeClass - добавление класса владения навыками; addCompetencyClass - добавление класса компетентности;
Апа1у2еТе81Яе5и115 - вызов функции диагностики проектных характеристик обучаемого инженера; §е1Яезик5 - получение вектора проектных характеристик;
5е1Еггог1еуе! - задание значения ошибки для карт Кохонена; setDecreaseLevel - задание скорости обучения нечёткой карты Кохонена;
addInsuranceLevel - добавление нейронов принадлежности для классов знаний, умений, владения навыками и компетентности.
NeuronsLevel содержит функции.
addNeuronClass - добавление нейрона к классу проектных характеристик; processMarks - вычисление активности нейронов класса; addlnsuranceLevel - добавление нейрона к классу принадлежности; setErrorLevel - назначение числа ошибки для класса; setDecreaseLevel - назначение числа скорости обучения нейронов класса;
getResult - получение проектных характеристик знаний, умений, владением навыков и компетентности конкретного класса.
Neuron содержит поля.
ethalons - эталонные значения весов дуг (синопсисов) нейронов; mark - балл за выполненное задание;
iastAccessLevel - значение принадлежности нейрона, полученное на предыдущем шаге вычислений;
lastDistance - значение Евклидова расстояния нейрона, полученного на предыдущем шаге вычислений;
errorLevel - значение ошибки нейрона; iterationDecrease - число итераций.
Neuron содержит функции.
Neuron - конструктор объекта класса;
getMarksDistance - получение значения активности нейрона; getDistance - вычисление Евклидова расстояния; update Weights - изменение весов дуг (синопсисов); getDecrease - получение числа скорости обучения; addlnsuranceLevel - добавление нейрона принадлежности; sortlnsuranseLevels - сортировка по возрастанию чисел принадлежностей; removelnsuranceLevel - удаление нейрона принадлежности по значению; removelnsuranceLevel - удаление нейрона принадлежности по названию; getlnsuranceName - получение названия нейрона принадлежности;
getLastDistance - получение числа Евклидова расстояния нейрона, вычисленного на предыдущем шаге;
getLastAccessLevel - получение числа принадлежности нейрона, вычисленного на предыдущем шаге;
setDecreaseLevel - назначение числа коэффициента обучения; setErrorLevel - назначение числа ошибки.
InsuranceLevel класс содержит поля.
Value - значение нейрона принадлежности;
Name - название класса;
InsuranceLevel класс содержит функции.
InsuranceLevel - конструктор объекта класса.
Заключение
Настоящая диаграмма используется при программировании исходного кода системы обучения на языке Java, позволяет быстро вносить изменения в архитектуру и исправлять ошибки, а также наглядна при изучении кода программы.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Afanas’ev, А. N. Voit, D. Kanev, P. Troitski Methodology and concepts for development of intelli-
gent learning systems of design activity // Proceedings of International Conference. Interactive Systems And Technologies: The Problem of Human-Computer Interaction. - Collection of scientific papers. - Uly-
anovsk : 2011. - September. - P. 93-95.
2. Афанасьев, A. H. Методология разработки распределённых интеллектуальных систем проект-
ной деятельности / А. Н. Афанасьев, H. Н. Войт // Труды конгресса по интеллектуальным системам и информационным технологиям «IS&IT511 ». В 4 т. - Т. 1. - М. : Физматлит, 2011 . - С. 132-142.
3. Войт, Н. Н. Реализация клиент-серверной компьютерной системы обучения САПР / Н. Н. Войт, Д. С. Канев // Труды Российской конференции «Информатика и вычислительная техника». - Ульяновск : УлГТУ, 2011. - С. 162-166.
4. Voit, N. Development of inteliegent mobile learning system of CAD // Proceedings of International Conference. Interactive Systems And Technologies: The Problem of Human-Computer Interaction. - Collection of scientific papers. - Ulyanovsk : ULSTU, 2011. - P. 100-104.
5. Войт, H. H. Реализация компонента «файл-менеджер» для трансфера файлов в интеллектуальной системе обучения САПР / / Н. Н. Войт, Д. С. Канев // Информатика, моделирование, автоматизация проектирования: сборник научных трудов - Ульяновск : УлГТУ, 2011- С. 83-90.
6. Афанасьев, А. Н. Интеллектуальная платформа обучения в технике, образовании и экономике для мобильного оборудования / Н. Н. Войт, Д. С. Канев // Информатика, моделирование, автоматизация проектирования: сборник научных трудов - Ульяновск : УлГТУ, 2011.- С. 45-53.
Афанасьев Александр Николаевич, доктор технических наук, профессор кафедры «Вычислительная техника» УлГТУ.
Войт Николай Николаевич, кандидат технических наук, доцент кафедры «Вычислительная техника» УлГТУ.