УДК 004.896
А. Н. АФАНАСЬЕВ, Н. Н. ВОИТ
РАЗРАБОТКА КОМПОНЕНТНО-СЕРВИСНОЙ ПЛАТФОРМЫ ОБУЧЕНИЯ: ПРОТОКОЛА, МОДЕЛИ ПРОЕКТНЫХ ХАРАКТЕРИСТИК ОБУЧАЕМОГО ИНЖЕНЕРА В ДИАГРАММАТИКЕ ЯЗЫКА ТЖЬ
Разработаны диаграммы программных компонентов реализации протокола и модели проектных характеристик обучаемого инженера системы обучения
Ключевые слова: кибернетика, интеллект, САПР, системы обучения.
Введение
В продолжение к предыдущей статье (Вестник УлГТУ, 2012, №2, с. 32-36) разработаны иМЬ-диаграммы классов программных компонентов протокола и модели проектных характеристик обучаемого инженера, помогающие в успешном написании кода на языке программирования.
Диаграммы
Диаграмма класса компонента протокола представлена на рис. 1.
Диаграмма содержит классы «Протокол» и «Обучаемый» в отношении 1:*.
Класс «Протокол» включает поля: «Число вопросов», «Число правильных ответов», «Всего баллов», «Запись обучаемого», «Время тестирования», «Время обучения», методы: «Создать», «Удалить», «Вычислить число вопросов», «Вычислить число правильных ответов», «Вычислить число баллов», «Вычислить время тестирования», «Вычислить время обучения».
Поле «Запись обучаемого» раскрыто в классе «Обучаемый».
Класс «Обучаемый» включает поля: «Имя обучаемого», «Описания задания», «Время решения», «Решение», «Правильность», «Сложность», «Балл», методы: «Создать», «Удалить».
EER-диаграмма протокола представлена на рис. 2, она содержит таблицы «user» - профиль обучаемого, «testlog» - протокол заданий, «test_log_answer» - протокол вопросов и ответов, «test» - информация о тесте, «test_question» - список вопросов, «testanswer» - список ответов, «dynamic_way» - динамическая траектория обучаемого [1-4].
Все таблицы имеют ключ id. Таблица «user» содержит поля. group_id - номер группы, Login - логин, Pass - пароль, Role - роль, FirstName - имя, SecondName - отчество,
Протокол ч
-Число вопросов -Число правильных ответов -Всего баллов -Запись обучаемого : Обучаемый -Время тестирования -Время обучения -Обучаемый Обучаемый
-Имя обучаемого -Описание задания -Время решения -Решение -Правильность -Сложность -Балл
+Создать() +Удалить() ♦ Вычислить число вопросов() ♦ Вычислить число правильных ответов() -»-Вычислить число баллов() ♦ Вычислить время тестирования() -»-Вычислить время обучения() 1
+Создать() +Удалить()
Рис. 1. Диаграмма класса компонента протокола
© Афанасьев А. Н., Войт Н. П., 2012
ThirdName - фамилия,
deleted - флаг удалённого обучаемого.
Таблица <<test_log» содержит поля. user_id - номер обучаемого, testid - номер теста,
updated - время продолжения прохождения теста,
closed - время завершения теста, score - набранный балл, script_instance_id - номер исполняемого сценария,
history_rec_id - номер «истории».
Таблица «test__log_answer» содержит поля. test_Jog_jd - номер протокола, updated - время продолжения ответа на вопрос,
answer_id - номер ответа, questioned - номер вопроса, score - набранный балл, answer - текст вопроса.
Таблица «test» содержит поля, title - название теста, created - время создания, max_value - максимальный балл.
Таблица «test_question» содержит поля.
content - содержание вопроса,
weight - «вес» вопроса,
test id - номер теста,
node_id - номер узла,
max_value - максимальный балл,
free_question - флаг вопроса.
Таблица «test_answer» содержит поля.
text - текст теста,
score - балл,
questioned - номер вопроса.
Таблица «dynamic_way» содержит поля.
node_id - номер узла,
test_log_id - номер протокола теста.
Диаграмма классов компонента проектных характеристик обучаемого инженера представлена на рис. 3 [4].
Диаграмма содержит EngineerService, ServerModule, CriterialParameter, CriterialType, MySqlHelper классы.
EngineerService содержит функции.
AppendUser - добавление пользователя к списку обучаемых;
AppendParameters - добавление значений проектных характеристик к профилю пользователя;
GetLowestParameter - запрос на получение наименьшего значения проектных характеристик обучаемого инженера;
GetAverageParameteres - запрос на получение среднего значения проектных характеристик обучаемого инженера;
GetAlIParameters - запрос на получение всех проектных характеристик обучаемого инженера.
ServerModule содержит поля, api - интерфейс серверной части.
ServerModule содержит функции.
V id INT(ll) О text VARCHAR(255) О score INT(ll) * Question id INT(ll)
o-
t id INT(ll) О content TEXT v weight INT(11) Ф testjd INT(ll) Onodejd INT(ll) '> m ax jralue INTCll) >> free_quesb'on BIT (1)
4 id INT(li) >> ЪЙе VARCHAR{255) s> created TIM EST AMP 4>max_w*ue INT(ll)
>\-
Ю-----
-----К
7 idlNT(il) <» testjogjd 1NT(11) О updated TIMESTAMP Оanswer jd INT(II) OQuestonjd INT(ll) <.>store INT(ll) О answer TEXT
I id INT(ll) onodejd INT(ij; О testjogjd IWTUU
9r
> Id IKT(ll) Ogroupjd int(ii) OLcgln VARCHAR(25S) О Pass VARCHAR(25S) О Role VARCHA»4(255) ч> FtrstfJan-i e V ARCMAR(255) О SecondN СП e VARCHAR(25S) ^ThirdName VARCH *R(255) Oddeted BIT(l)
----^-------К
-41-
-H-
i IdlNT(ll) <> user jd JNT(ll) ♦ testjd INT(il) О updated TIT« ST /MP Odos^d DATETIME О score INT(Jl) О scriptjnstence Jd INT(ll) j history rec >d IWT(U)
ШШШШШШ
Рис. 2. ERR-диаграмма протокола
Atir;0UtC3
> . , ■ ■ . a i • •• .
Operations
public int AppendUsei{ String name j
public void AppendParanr№t«rs{ in} engineerid. CritenalParameter znanie. OriterialParamef* umenie. CriterialRaramettf navik, CriterialPaiamster kompelentnost. float haracteristikalO..*)) public CriterialParameter Ge!Lov/esiParameter( inl engineerld) :: :
public CriterialPafameierfO./J G«tAverageParametef^s( int
public CriterialParameterl0..',0.:-I GetA)iPaf3metefs( int engineerld) | ,
Шга'ОТ --^i: i:
iniiii-lr:;: ..- .
fe MySqIHelper
[^■ServerModule
ASfibWdS
prr/ate IServerCorsAPI _api
Of*f$ti0B3
public boolean lnstall( ) public boolean Uninstallj ) public Object getSeivicsClassi ) public String ggtNama( ) public String. getDescriptio.n( ) public String getAuthor( ) public String getVersioni ) public void s&tCoreAPI(IS*rverCo
api)
CriterialParameter
Attributes public float dist public float nu public type . : . .
Opf.'iiMS 1Щ;
№
^CriterialType Uerats Znanle Umenle Navik Kompetentriost
Рис. 3. Диаграмма классов компонента проектных характеристик обучаемого инженера
Install - установка компонента на сервере; Uninstall - удаление компонента с сервера; getServiceClass - получение сервиса с сервера; getName - получение названия компонента; getDescription - получение описания компонента;
getAuthor - получение имени автора; getVersion - получение версии компонента; setCoreAPI - назначение сервиса в серверной части.
Класс CriterialParameter содержит поля, dist - значение Евклидова расстояния; пи - значение принадлежности к классу; type проектная характеристика. CriterialType содержит поля. Literals - лингвистическая характеристика обучаемого инженера;
Znanie - проектная характеристика - знание; Umenie - проектная характеристика - умение; Navik - проектная характеристика - владение навыками;
Kompetentnost - проектная характеристика -компетентность.
CriterialType является перечисляемым типом для CriterialParameter.
MySqlHelper является классом, обслуживающим SQL-запросы к базе данных компонент обучаемого инженера.
Заключение
Настоящие диаграммы используются при программировании исходного кода системы обучения на языке Java, позволяют быстро вносить изменения в архитектуру и исправлять ошибки.
БИБЛИОГРАФИЧЕСКИМ СПИСОК
1. Афанасьев, А. Н. Разработка компонентно-сервисной платформы обучения: диаграммы классов программного компонента сценария на UML-языке / А. Н. Афанасьев, Н. Н. Войт // Вестник УлГТУ. - 2012. - №2. - С. 32-36.
2. Афанасьев, А. Н. Разработка компонентно-сервисной платформы обучения: диаграммы использования и деятельности программного компонента сценария на UML-языке / А. Н. Афанасьев, Н. Ы. Войт // Вестник УлГТУ. - 2012. -№1.- С. 66-69.
3. Афанасьев А.Н. Анализ парадигм, разработка архитектуры и компонентно-сервисной платформы обучения: модель предметной области в диаграмматике UML-языка / А. Н. Афанасьев, Н. Н. Войт // Вестник УлГТУ. - 2011. - №4. -С. 29-40.
4. Voit, N. Development of intelligent 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.
Афанасьев Александр Николаевич, кандидат технических наук, профессор кафедры «Вычислительная техника» УлГТУ. Войт Николай Николаевич, кандидат технических наук, доцент кафедры «Вычислительная техника» УлГТУ.