Разработка подсистемы автоматизированного обучения компьютерного тренажерного комплекса оператора перегрузочной машины
Автоматизация процесса профессионального обучения в разных отраслях с применением компьютерных тренажеров. Выбор средств разработки подсистемы автоматизированного обучения компьютерного тренажерного комплекса. Проектирование пользовательских интерфейсов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.04.2018 |
Размер файла | 4,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
108 $done=$this?>mdl_exercise ?>set_number_of_attempts2($exercises_id,
$number_of_attempts2);
109 }
110
111 $deviation=$this?>input ?>post('deviation');
112 if ($deviation){
113 $done=$this?>mdl_exercise ?>set_deviation($exercises_id, $deviation);
114 }
115
116 $deviation=$this?>input ?>post('threshold_value_of_K_quality_index');
117 if ($deviation){
118 $done=$this?>mdl_exercise ?>set_threshold_value_of_Kquality_index($exercises_id
, $deviation);
119 }
120
121
122 $this?>db?>trans_commit();
123 echo 'OK'. $ done;
124 }
125
126 /**
127 *Информация о показателях качества
128 *
129 * @paraminteger$exersice_id
130 *@ returnv o i d
131 */
132 public function info_of_quality_indicators($exersice_id=null){
133 $this?>load?>model('mdl_exercise');
134 / /p r i n t _ r($ t h is ?>mdl_exercise?>get_quality_indicators_info($exersice_id));
135 / /echo'<br/ > ';
136 / /p r i n t _ r($ t h is ?>mdl_exercise?>get_quality_indicators_group());
137 $output['quality_indicators_info']= $this ?>mdl_exercise?>get_quality_indicators_info($exersice_id);
138 $output['quality_indicators_group_list']=$this ?>mdl_exercise?>get_quality_indicators_group();
139
140 $data=$this?>mdl_exercise?>get_exercise_description($exersice_id);
141 $output['description']=$data['description'];
142 $output['id']=$exersice_id;
143 $output['title'] ='Информация о показателях качества упражнения:"'
144 . $this?>mdl_exercise ?>get_exercise_name($exersice_id) .'"';
145
146 $this?>_view('exercises/view_info_quality_indicators', $output, true );
147 }
148
149
150 /**
151 *Установка группы для показателя качества
152 *
153 *@ returnvoid
154 */
155 public function set_quality_indicators_group($quality_indicators_id=null,
$quality_indicators_group_id=null){
156 if (!$quality_indicators_id==null &&!$quality_indicators_group_id==null){
157 //echo'Success';
158 $this?>load?>model('mdl_exercise');
159 $done=$this?>mdl_exercise?>set_quality_indicators_group($quality_indicators_id
, $quality_indicators_group_id);
160 echo 'Success';
161} e l s e {
162 throw new Exception('Ошибка при обновлении группы');
163 }
164 }
165 /**
166 *Отобразить форму Набор параметров, соответствующих показателю качества"
167 *
168 *@ returnvoid
169 */
170 public function set_parameter_values($indicator_id=null){
171 if (!$indicator_id==null){
172 $this?>load?>model('mdl_exercise');
173
174 $exercise_id=$this?>mdl_exercise?>get_exercise_id($indicator_id);
175 //echo'$exercise_id'.$exercise_id;
176 $output=$this?>mdl_exercise?>get_quality_indicator_info($indicator_id);
177 $output['exercise_name']=$this ?>mdl_exercise ?>get_exercise_name($exercise_id);
178 $output['title'] ='Набор параметров, соответствующих показателю качества';
179 //$output['view_name']='exercises/view_set_parameter_values';
180 $this?>_view('exercises/view_set_parameter_values', $output, true );
181 }
182 }
183
184 /**
185 *Установка порогового значенияк оэффициента освоения
186 *показателя качества
187 *
188 *@ returnvoid
*/
public function set_komplex_quality_indicators(){
$indicatorId=$this?>input ?>post('indicatorId');
$indicatorValue=$this?>input ?>post('indicatorValue');
$this?>load?>model('mdl_exercise');
$done=$this?>mdl_exercise ?>set_quaility_indicators_kcomplex($indicatorId
$indicatorValue);
i f ( $ done ){
echo' Пороговое значение коэффициента освоения показателя качества успешно обновлено';
}else{
thrownew Exception ('Ошибка при установке порогового значения коэффициента качеста');
}
}
/**
*Установка левых и правых границ интервалов,
*сопоставленных с отличным, хорошим, удовлетворительными
*неудовлетворительным значениями выбранного показателя качества
*
* @returnvoid
*/
public function set_evaluation_quality_indicator(){
//print_r($_POST);
$quality_indicator_id=$this?>input ?>post('quality_indicator_id');
$Amin=$this?>input?>post ('Amin');
$Amax=$this?>input?>post('Amax');
$Bmin=$this?>input?>post('Bmin');
$Bmax=$this?>input?>post('Bmax');
$Cmin=$this?>input?>post('Cmin');
$Cmax=$this?>input?>post('Cmax');
$Dmin=$this?>input?>post ('Dmin');
$Dmax=$this?>input?>post('Dmax');
$maxDelta=$this?>input?>post ('maxDelta');
$this?>load?>model('mdl_exercise');
$this?>mdl_exercise?>set_evaluation_quality_indicator($quality_indicator_
$Amin, $Amax, $Bmin, $Bmax, $Cmin, $Cmax, $Dmin, $Dmax,$ max Delta ) ;
echo 'Границы интервалов успешно обновлены';
}
/**
*Форма информация о группах показателей качества
i d,
235 *
236 * @returnvoid
237 */
238 public function create_quality_groups(){
239 $ c rud = new Grocery_CRUD;
240 $crud?>set_theme ('datatables');
241 $crud?>set_table('quality_indicators_groups');
242
243 $crud?>unset_export();
244 $crud?>unset_print();
245 //$crud?>unset_add();
246 //$crud?>unset_edit();
247 //$crud?>unset_delete();
248 //$crud?>unset_read();
249 $output = $crud?>render();
250 $output?>title='Управление группами показателей качества';
251 $this?>_view('complexes/view_complexes.php', $output, true );
252 }
253
254 /**
255 *Определение весов показаетелей качества
256 *
257 * @paramunknown$exercise_id
258 */
259 public function weights_of_quality_indicators ($exercise_id){
260 //echo'weights_of_quality_indicators'.$exercise_id;
261 $ c rud = new Grocery_CRUD;
262 $crud?>set_theme ('datatables');
263 $crud?>set_table('criterions') ?>set_subject('критерий');
264
265 $crud?>where('exercises_id', $exercise_id);
266 $crud?>display_as('name','Наименованиекритерия');
267 $crud?>display_as('all_quality_indicators','Всепоказателикачества');
268
269 $crud?>columns('name','all_quality_indicators');
270 //$crud?>fields('name','all_quality_indicators','exercises_id');
271 $crud?>field_type('exercises_id','hidden',$exercise_id);
272$crud?>set_relation_n_n('quality_indicators','criterions_x_quality_indicators ','quality_indicators','criterions_id','quality_indicators_id','name',
'priority');
273 $crud?>set_relation_n_n('quality_indicators_groups','
criterions_x_quality_indicators_groups','quality_indicators_groups',' criterions_id','quality_indicators_groups_id','name','priority');
274 $crud?>display_as('quality_indicators','Показатели качества');
275 $crud?>display_as('quality_indicators_groups','Группы показателей качества');
276
277 $crud?>add_action ('Сравнение показателей качества','','exercises/
comparison_matrix_quality_indicators','ui ?icon?folder?collapsed');
278 $crud?>unset_export();
279 $crud?>unset_print();
280 //$crud?>unset_add();
281 //$crud?>unset_edit();
282 //$crud?>unset_delete();
283 //$crud?>unset_read();
284 $output = $crud?>render();
285 $output?>title ='Веса показателей качества';
286 $output?>exercise_id = $exercise_id;
287 $this?>_view('exercises/form6.php', $output, true );
288 }
289
290 /**
291 * Матрица попарного сравнения критериев
292 *
293 * @paraminteger$exercise_id
294 *@ returnv o i d
295 */
296 public function comparison_matrix_criteria($exercise_id){
297 //echo'comparison_matrix_criteria'.$exercise_id;
298 $this?>load?>model('mdl_exercise');
299 $output['criterions']=$this ?>mdl_exercise ?>get_list_criteria($exercise_id);
300 $output['title'] ='Матрица попарного сравнения критериев';
301 //print_r($output);
302 $this?>_view ('exercises/form6_1',$output, true );
303 }
304
305 /**
306 *Матрица попарного сравнения показателей качества
307 *
308 * @paraminteger$criterion_id
309 *@ returnv o i d
310 */
311 public function comparison_matrix_quality_indicators($criterion_id){
312 //echo'comparison_matrix_quality_indicators'.$criterion_id;
313 $this?>load?>model('mdl_exercise');
314 $output['criterions']=$this ?>mdl_exercise ?>get_list_quality_indicators(
$criterion_id);
315 $output['title'] ='Матрица попарного сравнения показателей качества';
316 $output['target']=$this ?>mdl_exercise ?>get_criterion_name($criterion_id);
317 //print_r($output);
318 $this?>_view ('exercises/form6_1',$output, true );
319 }
320
321 }
322
323 / *Endoff i l ee x e r c i s es.php */
324 /* Location:./application/controllers/exercises.php */
Модуль mdluser.php
Модуль используется для проверки информации об учетной записи пользователя, пытающегося авторизоваться в АРМ, и получение информации профиля из БД. Исходный код модуля представлен в листинге К.8
ЛистингК.8--Исходный код модуля mdluser.php
1 <?php
2 i f ( ! d e f i n ed ('BASEPATH')) exit('Nodirectscriptaccessallowed');
3 / **Модель
4 *авторизации
5 */
6 class mdl_user extends CI_Model{
7 function __construct(){
8 parent::__construct();
9 }
10
11
12 /**
13 *Проверка на существование пользователя в базе данных
14 *Если пользователь найден и он подтвежден администратором, то создает сессию
15 *
16 *@paramstring$ username
17 *@params t r i n g$ password
18 * @returnboolean
19 */
20 function login($username,$password){
21$query=$this?>db?>query("SELECT*FROMUSERSWHERElogin='$username'AND password='$password'ANDactive=1");
22 i f ( $ query ?>num_rows ( ) == 1 ){
23
24 $userID = $query?>row()?>id;
25 / /$username=$query ?>row() ?>surname;
26
27 $this?>session?>set_userdata('useID',$userID);
28
29 return true;
30} e l s e {
31 r e t u r nf a l s e ;
32 }
33 }
34
35 /**
36 *Уничтожает сессию
37 *
38 *@ returnv o i d
39 */
40 function logout(){
41 $this?>session?>sess_destroy();
42 }
43
44 /**
45 *Получение данных о зарегистрированном пользователе
46 *
47 * @paraminteger$id
48 *@ returna r r a y
49 */
50 function get_info_profile($id) {
51 $info=array();
52
53 //Получение ФИО текущего пользователя
54 $this?>db?>where('id',$id);
55 $query= $this?>db?>get('USERS');
56 $ i n f o ['FIO']=$query ?>row_array();
57
58 //Определяем к каким группам относиться текущий пользователь
59 $this?>db?>select('GROUPS.id,GROUPS.name');
60 $this ?>db?>from('GROUPS');
61 $this?>db?>join ('USERS_X_GROUPS','GROUPS.id=USERS_X_GROUPS.groups_id');
62 $this?>db?>where('users_id',$id);
63 $query=$this?>db?>get();
64 $info['GROUPS']=$query ?>result_array();
65
66 return $info;
67 }
68
69
70 /**
71 * Подтверждение на принадлежность группе
72 *
73 * @paraminteger$groupid
74 * @paraminteger$id
75 * @returnboolean
76 */
77 function gr_conf($id,$groupid){
78 $query= $this?>db?>query("SELECT *FROMUSERS_X_GROUPSuxgWHEREuxg.users_id
='$id'ANDuxg.groups_id='$groupid'LIMIT1");
79 i f ( $ query ?>num_rows ( ) == 1 ){
80 return true;
81} e l s e {
82 r e t u r nf a l s e ;
83 }
84 }
85
86 /**
87 *Получение списка пользователей, принадлежащих
88 * определенной группе
89 *
90 * @paraminteger$group_id
91 *@ returna r r a y
92 */
93 function user_groups_list($group_id=null){
94 $sqltext="SELECT`USERS`.`id`
95 FROM`USERS`JOIN`USERS_X_GROUPS`on`USERS`.`id`=`USERS_X_GROUPS`.`users_id`
96 WHERE`USERS_X_GROUPS`.`groups_id`=?;
97 ";
98 $query=$this?>db?>query($sqltext,array($group_id) );
99 $data=$query?>result_array();
100 return $data;
101 }
102
103 /**
104 *Получение названия группы пользователей по её ID
105 *
106 * @paramunknown$group_id
107 *@ returns t r i n g
108 */
109 public function get_group_name($group_id=NULL){
110 $sqltext="selectname
111 fromnirs.groups
112 whereid=?";
113 $query=$this?>db?>query($sqltext,array($group_id));
114 $data=$query?>row_array();
115 return $data ['name'];
116 }
117
118
119
120 }
121 / * Endoff i lemdl_user.php */
122 /* Location:. /application/models/mdl_user.php */
Модуль mdlstudent.php
Модуль реализует логику работы АРМ обучаемого с БД. Исходный код модуля представлен в листингеК.9.
ЛистингК.9--Исходный код модуля mdlstudent
1 <?php
2 i f ( ! d e f i n ed ('BASEPATH')) exit('Nodirectscriptaccessallowed');
3 / **ПРОХОЖДЕНИЕ
4 * ТЕСТИРОВАНИЯ Выбор
5 * 1.темыВыбор
6 * 2.вопросаОбработка
7 * 3.ответа
8 */
9 class mdl_student extends CI_Model{
10 function __construct(){
11 parent::__construct();
12 }
13
14 /**
15 *Выбор темы для конкретного пользователя
16 *
17 * @paraminteger$id
18 * @returnarray/boolean
19 */
20 function getTheme($id=?1){
21
22 / /Выбор неосвоенной темы порядок (выбора в`THEMES`. `sequence`)
23 $sqltext="
24 SELECT`THEMES`. `id`theme_ id,`THEMES`.`name`theme_name
25 FROM`THEMES`
26 WHERE`THEMES`.`id`in(SELECT`groups_x_themes`.`themes_id`id
27 FROM`groups_ x_themes`
28 JOIN`groups`ON`groups`.`id`=`groups_x_themes`.`groups_id`
29JOIN`users_x_groups`ON`users_x_groups`.`groups_id`=`users_x_groups`.` groups_id`
30 JOIN`users`ON`users`.`id`=`users_x_groups`.`users_id`
31 WHERE`users`.`id`=?)
32 and
33 `THEMES`.`id`notin(SELECT`TESTS`.`themes_id`
34 FROM`t e s ts`
35 WHERE`tests`.`users_id`=?AND`tests`.`success`=1)
36 ORDERBY`THEMES`.`sequence`
37 LIMIT1
38 ";
39 //Получаем тему которую будем решать
40 $query=$this?>db?>query($sqltext,array($id, $id) );
41
42 i f ( $ query ?>num_rows ( ) ){
43 $data=$query?>row_array();
44 //ВыпиливаемИДтемыизрезультатазапроса
45 $count_tries=$query?>row()?>theme_id;
46 //Считаем количество попыток прохождения заданной темы
47 $sqltext="
48 SELECTc o unt( *)ascount
49 FROMTESTS
50 WHERETESTS.users_id=?ANDTESTS.themes_id=?
51 ";
52 $query=$this?>db?>query($sqltext,array($id,$count_tries) );
53 $data['count_tries']=$query ?>row()?>count;
54
55 return $data;
56} e l s e {
57 //Если тем для прохождения теста больше нет
58 r e t u r nf a l s e ;
59 }
60 }
61
62
63 /**
64 *Начало теста, инициализация параметров тестирования
65 *
66 * @paraminteger$id_user
67 * @paraminteger$id_theme
68 * @returnboolean
69 */
70 function startTest($id_user=null, $id_theme=null){
71 //Стартуемтранзакцию
72 $this?>db?>trans_start();
73 //Получение параметров, с которыми начать тестирование
74 $query=$this?>db?>query("SELECTmax(id)asmax_param_idFROMPARAMETERS") ;
75 $param_id=$query?>row()?>max_param_id;
76 $data=array(
77 'i d'=> n u ll,
78 'users_id'=>$id_user,
79 'themes_id'=>$id_theme,
80 'parameters_id'=>$param_id,
81 );
82 //Инициализация теста
83 $this?>db?>insert('TESTS',$data);
84 $insert_id=$this?>db?>insert_id();
85 //Коммит
86 $this?>db?>trans_complete();
87 i f( $ i n s e r t _ i d ) {
88 //Пишем в сессию номер вновь начатого теста
89 $this?>session?>set_userdata('testId',$insert_id);
90 return true;
91} e l s e {
92 r e t u r nf a l s e ;
93 }
94 }
95
96 /**
97 *Выбор вопроса к переданному тесту
98 *
99 * @returninteger$id_test
100 * @returnarray/Boolean
101 */
102 function getQuestion($id_test=null){
103
104
105 $this?>db?>trans_start();
106 $sqltext="
107 SELECTusers_id,themes_idFROMTESTS
108 WHEREid=?AND(complete=0)
109 ";
110 $query=$this?>db?>query($sqltext,array($id_test) );
111 i f( $ query ?>num_rows ( ) ) {
112 $user_id=$query?>row()?>users_id;
113 $theme_id=$query?>row()?>themes_id ;
114
115 $sqltext="selectq.idquestion_id,q.descriptiondescription,q.imagesimages
116 fromQUESTIONSq
117 whereq.themes_id=?
118 and
119 q.idin(selectous.questions_id
120 fromQUESTIONS_X_USERS_X_STATUSESous
121 whereusers_id=?
122 andanswers_idisnull
123 andtests_id=?)
124 ";
125 $query=$this?>db?>query($sqltext,array($theme_id,$user_id,$id_test) );
126
127
128
129 i f ( ! $ query ?>num_rows ( ) ){
130 //Случайным образом выбираем вопрос из основного множества
131 $sqltext="selectq.idquestion_id,q.descriptiondescription,q.imagesimages
132 fromQUESTIONSq
133 whereq.themes_id=?
134 and
135 q.idnotin(selectous.questions_id
136 fromQUESTIONS_X_USERS_X_STATUSESous
137 whereusers_id=?)
138 orderbyrand()
139 l i m i t1";
140 $query=$this?>db?>query($sqltext,array($theme_id,$user_id) );
141
142 //еслиосновноемножествопустое
143 if( ! $ query?>num_rows( ) ) {
144 //Случайным образом выбираем вопрос из дополнительного множества
145 $sqltext="selectq.idquestion_id,q.descriptiondescription,q.imagesimages
146 fromQUESTIONSq
147 whereq.themes_id=?
148 and
149 q.idnotin(selectous.questions_id
150 fromQUESTIONS_X_USERS_X_STATUSESous
151 wheretests_id=?andusers_id=?)
152 orderbyrand()
153 l i m i t1";
154 $query=$this?>db?>query($sqltext,array($theme_id, $id_test, $user_id));
155 i f( ! $ query ?>num_rows ( ) ) {
156 r e t u r nf a l s e ;
157 }
158 }
159 //Заносим тестовое задание в множество использованных вопросов
160 $questions_id=$query?>row()?>question_id;
161 $data=array(
162 'questions_id'=>$questions_id,
163 'users_id'=>$user_id,
164 'tests_id'=>$id_test,
165 );
166 $this ?>db?>insert('QUESTIONS_X_USERS_X_STATUSES',$data);
167} e l s e {
168 $questions_id=$query?>row()?>question_id;
169 }
170
171 $data=$query?>row_array();
172 $sqltext="SELECTa.idanswer_id,a.descriptionsdescriptions
173 FROMANSWERSa
174 WHEREa.questions_id=?";
175 $query=$this?>db?>query($sqltext,array($questions_id) );
176 $ d a t a ['answers']=$query ?>result_array();
177
178 $this?>db?>trans_complete();
179 return $data;
180} e l s e {
181 $this?>db?>trans_complete();
182 r e t u r nf a l s e ;
183 }
184
185
186
187 }
188
189 /**
190 *Проверка на правильность введенного значения
191 * принятие решения о окончании тестирования
192 *подсчет резульатов
193 *
194 * @paraminteger$answer_id
195 * @returnboolean
196 */
197 function processingAnswer( $answer_id=null){
198 $test_id=$this?>session?>userdata('testId');
199 //Стартуемтранзакцию
200 $this?>db?>trans_start();
201
202 //Получим номер вопроса
203 $sqltext="SELECTquestions_id
204 FROMANSWERS
205 WHEREid=?";
206 $query=$this?>db?>query($sqltext,array($answer_id) );
207 $questions_id=$query?>row()?>questions_id;
208
209 //Записываем время получения ответа и самответ
210 $sqltext="UPDATEQUESTIONS_X_USERS_X_STATUSES
211 SET`time_finish`=now(),`answers_id`=?
212 WHERE`questions_id`=?
213 and`tests_id`=?
214 ";
215 $this?>db?>query($sqltext,array($answer_id,$questions_id,$test_id));
216
217
218 //Определение параметров тестирования
219 $sqltext="SELECTKo,Kf,time_answerFROMPARAMETERS
220 whereid=(
221 SELECTparameters_idFROMTESTS
222 WHEREid=?)
223 ";
224 $query=$this?>db?>query($sqltext,array($test_id) );
225 $Kdo=$query?>row()?>Ko;
226 $Kdu=$query?>row()?>Kf;
227 $time_answer=$query?>row()?>time_answer;
228
229 //Проверка на правильность
230 $sqltext="SELECTcorrect
231 FROMANSWERS
232 WHEREi d= ?;
233 ";
234 $query=$this?>db?>query($sqltext,array($answer_id) );
235 $correct=$query?>row()?>correct;
236
237 //Расчитываем коэффициенты время(тожеучитывается)
238 $ s q l t e x t ="SELECT(SELECTc o u nt( *)
239 FROMQUESTIONS_X_USERS_X_STATUSESJOINANSWERS
240 ON(ANSWERS.id=QUESTIONS_X_USERS_X_STATUSES.answers_id)
241 WHEREQUESTIONS_X_USERS_X_STATUSES.tests_id=?ANDANSWERS.correct=1
242 AND
243timestampdiff(second,QUESTIONS_X_USERS_X_STATUSES.time_start, QUESTIONS_X_USERS_X_STATUSES.time_finish)
244 <=(time_to_sec(?) *(SELECTcount( *)FROMnirs.ANSWERS
245 WHEREquestions_id=?)))
246 /
247 (SELECTc o unt( *)FROMQUESTIONS_X_USERS_X_STATUSES
248 WHEREt ests_id=?)Ko";
249 $query=$this?>db?>query($sqltext,array($test_id,$time_answer,$questions_id,
$test_id));
250 $Ko=$query?>row()?>Ko;
251
252 //Определяем нужно ли заканчивать тест
253 if($Kdo==1){//Если установлено в параметрах безошибочное прохождение
254 //При первой ошибке завершаем тестирование
255 if( $Ko< 1 ) {
256 //Записываем коэффициент освоения в базу
257
258 $this?>db?>where('id', $test_id);
259 $this?>db?>update('TESTS', array(
260 'Ko'=> $Ko,
261 'complete'=>1
262 ) );
263 //Удаляем из сессии номер теста
264 $this?>session?>unset_userdata('testId');
265 //Неуспешное завершение теста
266 $this?>db?>where('id', $test_id);
267 $this?>db?>update('TESTS', array(
268 'Ko'=> $Ko,
269 'complete'=>1,
270 'success'=>0,
271 ) );
272 //Подтверждаем транзакцию
273 $this?>db?>trans_complete();
274 $data['success']=0;
275 $data ['Ko']=$Ko;
276 return $data;
277 }
278 }
279 //Расчет вероятности угадывания
280 #Считываем предыдущее значение вероятности
281 $sqltext="SELECTKuFROMTESTS
282 WHEREi d= ?;
283 ";
284 $query=$this?>db?>query($sqltext,array($test_id) );
285 $Ku=$query?>row()?>Ku;
286
287 #Считываем количество вариантов ответа для текущего вопроса
288 $ s q l t e x t ="SELECTc o u nt( *)countFROMANSWERS
289 WHEREquestions_id=?
290 ";
291 $query=$this?>db?>query($sqltext,array($questions_id) );
292 $count=$query?>row()?>count;
293
294 #Расчет коэф. угадывания
295 $Ku/=$count;
296
297 #Записываем новое значение в базу
298 //Втестов
299 $this?>db?>where('id', $test_id);
300 $this?>db?>update('TESTS', array(
301 'Ku'=> $Ku,
302 ) );
303 //В таблицу конкретного ответа
304 $sqltext="UPDATEQUESTIONS_X_USERS_X_STATUSES
305 SET`Ku`=?
306 WHERE`questions_id`=?
307 and`tests_id`=?";
308 $this?>db?>query($sqltext,array($Ku,$questions_id,$test_id));
309
310
311 //Если вероятность угадывания больше допустимой, продолжаем
312 if( $Ku<$Kdu){
313 //Проверяем коэффициент усвоения больше или равен допустимому
314 if( $Ko>=$Kdo){
315 //Успешное завершение теста
316 $this?>session?>unset_userdata('testId');
317 $this?>db?>where('id', $test_id);
318 $this?>db?>update('TESTS', array(
319 'Ko'=> $Ko,
320 'complete'=>1,
321 'success'=>1,
322 ) );
323 //Подтверждаем транзакцию
324 $this?>db?>trans_complete();
325 $data['success']=1;
326 $data ['Ko']=$Ko;
327 return $data;
328} e l s e {
329 //Неуспешное завершение теста
330 $this?>session?>unset_userdata('testId');
331 $this?>db?>where('id', $test_id);
332 $this?>db?>update('TESTS', array(
333 'Ko'=> $Ko,
334 'complete'=>1,
335 'success'=>0,
336 ) );
337 //Подтверждаем транзакцию
338 $this?>db?>trans_complete();
339 $data['success']=0;
340 $data ['Ko']=$Ko;
341 return $data;
342 }
343 }
344
345
346
347 //Подтверждаем транзакцию
348 $this?>db?>trans_complete();
349 / /false ?продожаемтестирование
350 r e t u r nf a l s e ;
351
352 }
353
354 /**
355 *Предоставление информации о тесте по его номеру
356 *
357 * @paraminteger$id
358 *@ returna r r a y
359 */
360 function getInfoTest($id=null){
361 if( $ id ){
362 / /Получение основных характеристик попытки прохождения теста коэффиценты (, успешно неуспешно/)
363 $this?>db?>where('id',$id);
364 $query=$this?>db?>get('tests');
365 $result=$query?>row_array();
366
367
368 //print_r($result);
369 //Получение название темы
370 $this?>db?>where('id',$result['themes_id']);
371 $query=$this?>db?>get('themes');
372 $result_themes=$query?>row_array();
373 $result['theme']= $result_themes['name'];
374
375 //Получение множество вопросов ответов/для конкретного теста
376 $this?>db?>select('questions_id,time_start,time_finish,answers_id,Ku, description');
377 $this?>db?>join('questions','id=questions_id');
378 $this?>db?>where('tests_id',$id);
379 $this?>db?>order_by('Ku','desc');
380 $query=$this?>db?>get('questions_x_users_x_statuses');
381 $result_questions=$query?>result_array();
382 $result['questions']=$result_questions;
383
384 //print_r($result['questions']);
385$ i = 0 ;
386 foreach ($result['questions'] as $answers){
387 //print_r($answers);
388 $this?>db?>select('id,questions_id,descriptions,correct');
389 $this?>db?>where('questions_id',$answers['questions_id']);
390 $query=$this?>db?>get('answers') ;
391 $result_answers=$query?>result_array();
392 //print_r($result_answers);
393 //$result['answers'][$i]=$result_answers;
394 //print_r($answers);
395 $result['questions'][$i]['answers']= $result_answers;
396 //Сколько данный вопрос уже раз задавался?
397 $ s q l t e x t ="SELECTc o u nt( * )count_question
398 FROM`questions_x_users_x_statuses`
399 WHEREusers_id=?
400 ANDtests_id<?
401 ANDquestions_id=?
402 ";
403 $query=$this?>db?>query($sqltext,array($result['users_id'],$id,$answers[' questions_id']));
404 $count=$query?>row()?>count_question;
405
406 $result['questions'][$i]['count']=$count;
407 - - $ i;
408 }
409 //print_r($result['questions'][0]);
410 return $result;
411} e l s e {
412 r e t u r nf a l s e ;
413 }
414 }
415
416 /**
417 * Получение значения параметров по ИД
418 *
419 * @paraminteger$id_param
420 * @returnarray/boolean
421 */
422 function getInfoParam($id_param=null){
423 i f( $ id_ param ) {
424 $this?>db?>where('id',$id_param);
425 $query=$this?>db?>get ('parameters');
426 $result=$query?>row_array();
427 return $result;
428} e l s e {
429 r e t u r nf a l s e ;
430 }
431 }
432
433 /**
434 *Получение списка тем, необходимых для изучение конкретному пользователю
435 *
436 * @paraminteger$id_user
437 *@ returna r r a y
438 */
439 function getInfoThemesForUsers($id_user=null){
440 if ($id_user){
441 $sql="SELECT
442 `themes`. `name`,
443 Max(`tests`.`Ko`)max,
444 Max(success)success,
445 Count(`tests`.`themes_id`)count
446 FROM`themes`
447 JOIN`groups_x_themes`ON`themes`.`id`=`groups_x_themes`.`themes_id`
448 JOIN`groups`ON`groups`.`id`=`groups_x_themes`.`groups_id`
449 JOIN`users_x_groups`ON`users_x_groups`.`groups_id`=`groups`.`id`
450 JOIN`users`ON`users`.`id`=`users_x_groups`.`users_id`
451
452 LEFTJOIN`tests`ON`tests`.`users_id`=`users`.`id`
453 and`groups_x_themes`.`themes_id`=`tests`.`themes_id`
454 and`tests`.`themes_id`=`themes`.`id`
455 WHERE`users`.`id`=?
456 GROUPBY`groups_x_themes`.`themes_id`
457 ";
458
459 $query=$this?>db?>query($sql,array($id_user));
460 $result=$query?>result_array();
461 return $result;
462} e l s e {
463 r e t u r nf a l s e ;
464 }
465 }
466
467
468 }
469
470 /* Endoff i l emdl_student.php */
471 /* Location:./application/models/mdl_student.php */
Модуль mdlexercise.php
Модуль реализует функционал АРМ обучаемого. Исходный код модуля представлен в листинге К.10
ЛистингК.10--Исходный код модуля mdlexercise.php
1 <?php
2 i f ( ! d e f i n ed ('BASEPATH')) exit('Nodirectscriptaccessallowed');
3
4 class mdl_exercise extends CI_Model{
5 public function __construct(){
6 parent::__construct();
7 }
8
9 /**
10 *Получить название упражнения проверки навыков
11 *
12 * @paraminteger$exercise_id
13 *@ returns t r i n g
14 */
15 public function get_exercise_name($exercise_id=null){
16 $sql="SELECTnameFROM`exercises`eWHEREe.id=?";
17 $query=$this?>db?>query($sql,array($exercise_id) );
18 $result=$query?>row_array();
19 return $result['name'];
20 }
21
22 /**
23 * Получить описание упражнения, значения параметров
24 *
25 * @paraminteger$exercise_id
26 *@ returna r r a y
27 */
28 public function get_exercise_description($exercise_id=null){
29 $sql="SELECT`description`,
30 `kcomplex`,
31 `number_of_attempts1`,
32 `number_of_attempts2`,
33 `deviation`,
34 `threshold_value_of_Kquality_index`
35 FROM`exercises`e
36 WHEREe.id=?
37 LIMIT1";
38
39 $query=$this?>db?>query($sql,array($exercise_id) );
40 $result=$query?>row_array();
41 return $result;
42 }
43
44
45
46 /**
47 *Установить итоговое пороговое значение интегрального показателя качества
48 *выполнения упражнения
49 *
50 * @paraminteger$exercise_id
51 * @paramvalue$value
52 * @returnboolean
53 */
54 public function set_k_complex ($exercise_id, $value){
55 t ry {
56 $data=array('kcomplex'=>$value);
57 $this?>db?>where('id', $exercise_id);
58 $this?>db?>update('exercises', $data );
59 return true;
60 }catch (Exception $e){
61 r e t u r nf a l s e ;
62 }
63 }
64
65
66 /**
67 *Установить рекомендуемое количество попыток
68 *выполнения упражнения для освоения умения
69 *
70 * @paraminteger$exercise_id
71 * @paramfloat$value
72 * @returnboolean
73 */
74 public function set_number_of_attempts1($exercise_id, $value){
75 t ry {
76 $data=array('number_of_attempts1'=>$value);
77 $this?>db?>where('id', $exercise_id);
78 $this?>db?>update('exercises', $data );
79 return true;
80 }catch (Exception $e){
81 r e t u r nf a l s e ;
82 }
83 }
84
85 /**
86 *Установить требуемое количество попыток
87 *выполнения упражнения для освоения навыка
88 *
89 * @paraminteger$exercise_id
90 * @paramfloat$value
91 * @returnboolean
92 */
93 public function set_number_of_attempts2($exercise_id, $value){
94 t ry {
95 $data=array('number_of_attempts2'=>$value);
96 $this?>db?>where('id', $exercise_id);
97 $this?>db?>update('exercises', $data );
98 return true;99 }catch (Exception $e){
100 r e t u r nf a l s e ;
101 }
102 }
103
104 /**
105 *Установить допустимое отклонение от итогового порогового
106 *значения комплексного коэффициента освоения
107 *
108 * @paraminteger$exercise_id
109 * @paramfloat$value
110 * @returnboolean
111 */
112 public function set_deviation($exercise_id, $value){
113 t r y{
114 $data=array('deviation'=>$value);
115 $this?>db?>where('id', $exercise_id);
116 $this?>db?>update('exercises', $data );
117 return true;
118 }catch (Exception $e){
119 r e t u r nf a l s e ;
120 }
121 }
122
123 /**
124 *Установка порогового значения коэффициента освоения
125 *показателя качества
126 *
127 * @paraminteger$exercise_id
128 * @paramfloat$value
129 * @returnboolean
130 */
131 public function set_threshold_value_of_Kquality_index($exercise_id, $value){
132 t r y {
133 $data=array('threshold_value_of_Kquality_index'=>$value);
134 $this?>db?>where('id', $exercise_id);
135 $this?>db?>update('exercises', $data );
136 return true;
137 }catch (Exception $e){
138 r e t u r nf a l s e ;
139 }
140 }
141
142
143 /**
144 *
145 * @paramunknown$exercise_id
146 * @returnunknown|boolean
147 */
148 public function get_quality_indicators_info($exercise_id){
149 t r y{
150 $sql="SELECTqi.`id`,qi.`name`,
151 q ig. `id`groupid,
152 q ig. `name`groupname,
153 q i. `kcomplex`,
154 q i. `Amin`,
155 q i. `Amax`,
156 q i. `Bmin`,
157 q i. `Bmax`,
158 q i. `Cmin`,
159 q i. `Cmax`,
160 q i. `Dmin`,
161 q i. `Dmax`,
162 q i. `Delta`,
163 qi.`units`
164 FROM`quality_indicators`qi
165 JOIN`quality_indicators_groups`qigONqi.`quality_indicators_groups_id`= qig.id
166 WHEREqi.`exercises_id`=?
167 ORDERBYq i.`id`";
168
169 $query=$this?>db?>query($sql,array($exercise_id) );
170 $result=$query?>result_array();
171 return $result;
172 }catch(Exception $e){
173 r e t u r nf a l s e ;
174 }
175 }
176
177 /**
178 *Получить информацию о показателе качества
179 *
180 * @paramunknown$indicator_id
181 *@ returna r r a y
182 */
183 public function get_quality_indicator_info($indicator_id){
184 t r y{
185 $sql="SELECTqi.`id`quality_indicator_id,qi.`name`quality_indicator_name,
186 q ig. `id`groupid,
187 q ig. `name`groupname,
188 q i. `kcomplex`,
189 q i. `Amin`,
190 q i. `Amax`,
191 q i. `Bmin`,
192 q i. `Bmax`,
193 q i. `Cmin`,
194 q i. `Cmax`,
195 q i. `Dmin`,
196 q i. `Dmax`,
197 q i. `Delta`,
198 qi.`units`
199 FROM`quality_indicators`qi
200 JOIN`quality_indicators_groups`qigONqi.`quality_indicators_groups_id`= qig.id
201 WHEREq i.`id`=?
202 LIMIT1";
203
204 $query=$this?>db?>query($sql,array($indicator_id) );
205 $result=$query?>row_array();
206 return $result;
207 }catch(Exception $e){
208 r e t u r nf a l s e ;
209 }
210 }
211
212 /**
213 *Получить идентификатор упражнения по показателю качества
214 *
215 * @paraminteger$quality_indicator_id
216 *@ returns t r i n g
217 */
218 public function get_exercise_id($quality_indicator_id=null){
219 t r y{
220 $sql="SELECT`exercises_id`FROM`quality_indicators`WHERE`id`=?LIMIT1";
221
222 $query=$this?>db?>query($sql,array($quality_indicator_id) );
223 $result=$query?>row_array();
224 return $result['exercises_id'];
225 }catch(Exception $e){
226 r e t u r nf a l s e ;
227 }
228 }
229
230
231
232 /**
233 *Получить список групп показателей качества
234 *
235 *@ returnarray
236 */
237 public function get_quality_indicators_group(){
238 t r y{
239 $sql="SELECT`id`,`name`FROM`quality_indicators_groups`";
240 $query=$this?>db?>query($sql, array());
241 $result=$query?>result_array();
242 return $result;
243 }catch(Exception $e){
244 r e t u r nf a l s e ;
245 }
246
247 }
248
249 /**
250 *Присвоить группу показателю качества
251 *
252 * @paramunknown$quality_indicators_id
253 * @paramunknown$quality_indicators_group_id
254 * @returnboolean
255 */
256 public function set_quality_indicators_group($quality_indicators_id=null,
$quality_indicators_group_id=null){
257 t r y{
258 $data=array(
259 'quality_indicators_groups_id'=>$quality_indicators_group_id
260 );
261 $this?>db?>where('id', $quality_indicators_id);
262 $this?>db?>update ('quality_indicators', $data);
263 return true;
264 }catch(Exception $e){
265 r e t u r nf a l s e ;
266 }
267 }
268
269
270 /**
271 *Установить пороговое значение коэффициента
272 * освоения показателя качества
273 *
274 * @paraminteger$quality_indicators_id
275 * @paramfloat$kcomplex_value
276 * @returnboolean
277 */
278 public function set_quaility_indicators_kcomplex($quality_indicator_id=null,
$kcomplex_value=null){
279 t r y{
280 $data=array(
281 'kcomplex'=>$kcomplex_value,
282 );
283 $this?>db?>where('id', $quality_indicator_id);
284 $this?>db?>update ('quality_indicators', $data);
285 return true;
286 }catch(Exception $e){
287 r e t u r nf a l s e ;
288 }
289 }
290
291 /**
292 *Установка значений показателя качества, по
293 *которым ставится оценка
294 *
295 * @paraminteger$quality_indicator_id
296 *@paramf l o a t$Amin
297 *@paramf l o a t$Amax
298 *@paramf l o a t$Bmin
299 * @paramf l o at$Bmax
300 *@paramf l o a t$Cmin
301 * @paramf l o at$Cmax
302 *@paramf l o a t$Dmin
303 *@paramf l o a t$Dmax
304 * @paramfloat$maxDelta
305 * @returnboolean
306 */
307 public function set_evaluation_quality_indicator($quality_indicator_id , $Amin,
$Amax, $Bmin, $Bmax, $Cmin, $Cmax, $Dmin, $Dmax,$ max Delta ) {
308 t ry {
309 $data=array(
310 'Amin'=>$Amin,
311 'Amax'=>$Amax,
312 'Bmin'=>$Bmin,
313 'Bmax'=>$Bmax,
314 'Cmin'=>$Cmin,
315 'Cmax'=>$Cmax,
316 'Dmin'=>$Dmin,
317 'Dmax'=>$Dmax,
318 'Delta'=>$maxDelta,
319 );
320 $this?>db?>where('id', $quality_indicator_id);
321 $this?>db?>update ('quality_indicators', $data);
322 return true;
323 }catch(Exception $e){
324 r e t u r nf a l s e ;
325 }
326 }
327
328
329 /**
330 *Получить список критериев упражнения
331 *
332 * @paraminteger$exercise_id
333 * @returnarray|boolean
334 */
335 public function get_list_criteria($exercise_id){
336 t r y{
337 $sql="SELECT`id`criterion_id,`name`criterion_name
338 FROM`criterions`
339 WHERE`exercises_id`=?";
340 $query=$this?>db?>query($sql,array($exercise_id) );
341 $result=$query?>result_array();
342 return $result;
343 }catch(Exception $e){
344 r e t u r nf a l s e ;
345 }
346 }
347
348 /**
349 *Получение списка показателей качества для
350 * определенного критерия
351 *
352 * @paraminteger$criterion_id
353 * @returnarray|boolean
354 */
355 public function get_list_quality_indicators($criterion_id){
356 t r y{
357 $sql="selectquality_indicators.idcriterion_id,quality_indicators.name criterion_name
358 fromcriterionsjoincriterions_x_quality_indicators
359 oncriterions.id=criterions_x_quality_indicators.criterions_id
360 joinquality_indicators
361 oncriterions_x_quality_indicators.quality_indicators_id=quality_indicators.id
362 wherecriterions.id=?
363
364 uniona ll
365
366 selectquality_indicators_groups.idascriterion_id,quality_indicators_groups
.namecriterion_name
367 fromcriterionsjoincriterions_x_quality_indicators_groups
368 oncriterions.id=criterions_x_quality_indicators_groups.criterions_id
369 joinquality_indicators_groups
370oncriterions_x_quality_indicators_groups.quality_indicators_groups_id= quality_indicators_groups.id
371 wherecriterions.id=?";
372 $query=$this?>db?>query($sql,array($criterion_id ,$criterion_id) );
373 $result=$query?>result_array();
374 return $result;
375 }catch(Exception $e){
376 r e t u r nf a l s e ;
377 }
378 }
379
380 /**
381 *Получить имя критерия
382 *
383 * @paraminteger$criterion_id
384 *@ returns t r i n g
385 */
386 public function get_criterion_name($criterion_id){
387 $sql="SELECTnameFROMcriterions
388 WHEREid=?";
389 $query=$this?>db?>query($sql,array($criterion_id) );
390 $result=$query?>row_array();
391 return $result['name'];
392 }
393
394 }
395
396 /* Endoff i l emdl_exercise.php */
397 /* Location:./application/models/mdl_exercise.php */
Приложение Л
АРМ инструктора. Руководство пользователя
Программное обеспечение
«Автоматизированное рабочее место инструктора компьютерного тренажерного комплекса»
Руководство пользователя
Листов15
Пермь, 2016г.
1 Общие сведения
1.1 Обозначение и наименование программы
Программное обеспечение для управления процессом обучения операторов перегрузочных машин, именуемое в дальнейшем «АРМ инструктора» имеет следующие атрибуты:
-наименование файла скрипта (файл с расширением «php») -
«teachers.php»;
-разработчик - Узякаев М.А., студент группы АСУ-12бзу;
-язык интерфейса -русский.
2 Назначение программы
2.1 Функциональное назначение
АРМ инструктора предназначено для занесения начальных настроек процесса обучения на компьютерном тренажерном комплексе, просмотра результатов обучения операторов.
АРМ инструктора выполняется на персональном компьютере, входящем с состав аппаратуры компьютерного тренажерного комплекса, имеет web-интерфейс (для работы программы необходимо, чтобы на компьютере был установлен web-браузер).
2.2 Эксплуатационное назначение
АРМ инструктора предназначено для применения как подсистема компьютерного тренажерного комплекса.
2.3 Состав функций
АРМ инструктора предназначено управления процессом обучения операторов перегрузочных машин и выполняет функции:
-формирование множества теоретических модулей с вопросами, которые должны быть освоены операторами;
-установка параметров прохождения тестирования по теоретическим модулям;
-установка списка теоретических модулей, тестирование по которым должна пройти та или иная группа обучаемых;
-просмотр результатов прохождения тестирования;
-установка необходимых показателей до начала обучения на тренажерном комплексе;
-автоматический расчет весового коэффициента освоения определенного показателя качества;
-автоматический расчет приоритета определенного показателя качества.
3 Условия выполнения программы
3.1 Климатические условия
Климатические условия эксплуатации, при которых должны обеспечиваться заданные характеристики, должны удовлетворять требованиям, предъявляемым к техническим средствам в части условий их эксплуатации.
3.2 Минимальный состав технических средств
В состав используемых технических средств входят: Платформа: IBM совместимый персональный компьютер (ПЭВМ), включающий в себя:
-процессор Pentium, не ниже, с тактовой частотой, ГГц-1,0,неменее;
-жесткий диск объёмом, Гб - 40, не менее;
-оперативную память объемом, Мб - 512, не менее;
-сетевуюкартуEthernet,скоростьобмена100Мбит/с, неменее.
Устройства ввода-вывода:
-графический цветной дисплей с разрешением 1024х768 точек, не менее;
-клавиатура;
-манипулятор типа «мышь»;
3.3 Минимальный состав программных средств
Операционная система:
-лицензионная локализованная версия операционной системы
«Microsoft Windows7/8/10»;
-современный дистрибутив Linux с установленной графической оболочкой.
Другие программные средства: Web-браузер MozillaFirefox 43.0 или выше,либоGoogleChrome47.0иливыше,либоиханалоги.
3.4 Требования к персоналу
Программа должна эксплуатироваться персоналом, владеющим навыками работы с персональным компьютером в среде Windows 7/8/10, либо в Linux с установленной графической оболочкой.
3.5 Подготовка к работе
Перед началом работы системный администратор должен установить на компьютер необходимое программное обеспечение.
4 Выполнение программы
4.1 Запуск программы
Для возможности использования программы необходимо запустить web-браузер, установленный на компьютере. В строке адреса ввести адрес сервера приложений, на котором установлена программа (строку адреса предварительно необходимо узнать у системного администратора).
Если данные действия выполнены правильно, то в окне web-браузера отобразится окно авторизации (Рисунок Л.4.1, а).
(а) (б)
Рисунок Л.4.1 Форма «Авторизация»: (а) при запуске АРМ, (б) после неудачной попытки ввода связки логин-пароль пользователем
В поля «login/password» необходимо ввести данные своей учетной записи, полученные от системного администратора.
Если введенные данные корректны, то в окне web-браузере отобразиться информация о профиле пользователя, вошедшего в систему. Внешний вид формы представлен на рисунке Л.4.2. На данной форме представлен списков тем, которые ему необходимо освоить и наилучшие результаты предыдущих попыток прохождения тестирования.
Если данные введены некорректно или для данной учетной записи запрещена работа в АРМ, то отобразиться форма, представленная на рисунке Л.4.1,б.
4.2 Ввод теоретических модулей и вопросов к ним
Чтобы начать формирование списка теоретических модулей и вопросов к ним, нужно нажать на «Редактирование тестов». После этого откроется форма «Темы тестирования» (Рисунок Л.4.3). Для того, чтобы добавить новый теоретический модуль нужно нажать на кнопку «Добавить тему тестирования» и ввести название нового теоретического модуля. После нажатия кнопки «Редактирование» напротив выбранного теоретического модуля появится возможность редактирования названия. Нажав «Вопросы» напротив выбранного теоретического модуля, Вы сможете вводить/редактировать список тестовых заданий к данному модулю.
РисунокЛ.4.2 Форма «Профиль пользователя»
Рисунок Л. 4.3 Форма «Темы тестирования»
4.3 Установка параметров тестирования
Параметры тестирования -- параметры, по значениям которых подсистема проверки знаний будет руководствоваться при принятии решения об успешности/неуспешности прохождения тестирования обучаемыми. Для того чтобы перейти к редактированию параметров тестирования нужно перейти по ссылке «Параметры тестирования», после чего отобразиться форма «Параметры тестирования», внешний вид которой представлен на рисунке Л.4.4. Для того чтобы изменить значения параметров, необходимо нажать кнопку «Добавить параметры тестирования» и ввести новые значения.
Рисунок Л.4.4 Форма «Параметры тестирования»
«Допустимый коэффициент освоения» -- значение коэффициента освоения, которое должно быть достигнуто обучаемым в ходе прохождения тестирования, чтобы получить положительный результат.
«Допустимая вероятность угадывания последовательности заданий»
-- значение вероятности угадывания последовательности заданий, после достижении которого прекращается тестирование и расчитываются результаты.
«Время на обдумывание варианта ответа» -- промежуток времени, которое может быть использован обучаемым на обдумывание варианта ответа в тестовом задании и на подтверждение ответа. Если ответ был дан позже, то он не может быть признан «правильным».
4.4 Просмотр результатов тестирования
Результаты прохождения тестирования обучаемыми можно просмотреть выбрав в меню «Просмотр результатов тестирования». Форма «Результаты тестирования» представлена на рисунке Л.4.5. Для того, чтобы получить детальный отчет по попытке прохождения тестирования нужно нажать на кнопку «Отчет».
4.5 Установка теоретических модулей, которые необходимо пройти группе обучаемых
Для того чтобы задать теоретические модули, которые необходимы освоить той или иной группе обучаемых нужно перейти по ссылке «Список
Рисунок Л. 4.5 Форма «Результаты тестирования»
группы обучаемых». После открытия формы «Список группы обучаемых» (Рисунок Л.4.6) выбрать необходимую группу обучаемых, нажав напротив её кнопку «Темы тестирования».
Рисунок Л.4.6 Форма «Список группы обучаемых»
После нажатия кнопки отобразится форма «Установка тем тестирования для группы». Внешний вид формы представлена на рисунке 4.7. Чтобы добавить еще один теоретический модуль для группы необходимо нажать кнопку «Добавить тему тестирования». Для удаления теоретического модуля необходимо нажать на кнопку «Удалить» напротив выбранного теоретического модуля.
Рисунок Л. 4.7 Форма «Установка тем тестирования для группы»
4.6 Настройка для группы обучаемых для практического этапа
Чтобы ввести настройки для группы обучаемых нужно перейти по ссылке «Список группы обучаемых», отобразится форма «Список группы обучаемых» (РисунокЛ.4.6).
Далее следует нажать кнопку «Упражнения» напротив выбранной группы. Отобразиться форма «Настройки для группы обучаемых». Внешний вид формы представлен на рисунке Л.4.8.
Рисунок Л.4.8 Форма «Настройки для группы обучаемых»
Для установки нового упражнения, которое необходимо выполнить данной группе обучаемых необходимо нажать на кнопку «Добавить упражнение» и выбрать необходимое упражнение из выпадающего списка. Для удаления упражнения необходимо нажать на кнопку «Удалить» напротив выбранного упражнения.
На данной форме есть возможность вводить такие настройки подсистемы:
-значения показателя качества, соответствующие конкретным оценкам;
-итоговое пороговое значение интегрального показателя качества выполнения;
-рекомендуемое количество попыток выполнения упражнения для освоения умения;
-требуемое количество попыток выполнения упражнения для освоения навыка;
-допустимое отклонение от итогового порогового значения комплексного коэффициента освоения;
-пороговое значение коэффициента освоения показателя качества.
Данные настройки являются настройками «По умолчанию» для всех упражнений для данной группы обучаемых.
4.6.1 Установка параметров для упражнения
При нажатии на кнопку «Информация об упражнении» происходит переход к форме «Информация об упражнении». Внешний вид формы представлен на рисункеЛ.4.9.
На данной форме есть возможность установки параметров для данного упражнения:
-итоговое пороговое значение интегрального показателя качества выполнения упражнения;
-рекомендуемое количество попыток выполнения упражнения для освоения умения;
-требуемое количество попыток выполнения упражнения для освоения навыка;
-допустимое отклонение от итогового порогового значения комплексного коэффициента освоения;
-пороговое значение коэффициента освоения показателя качества.
Чтобы введенные значения сохранились в базе данных необходимо нажать кнопку «Применить изменение параметров».
Для изменения подсказок и предупреждений нужно нажать «Изменить» и ввести новые подсказки редактировать существующие.
Рисунок Л.4.9 Форма «Информация об упражнении»
На данной форме есть возможность выбирать группу показателей качества, к которой будет относиться тот или иной показатель качества, вводить «Пороговое значение коэффициента освоения показателя качества» и просматривать рассчитанные коэффициенты для конкретных показателей качества (Столбцы таблицы «Весовой коэффициент» и «Приоритет»).
Подобные документы
Анализ методов и средств профессионального обучения операторов перегрузочных машин, автоматизация процесса. Построение функциональной модели компьютерного тренажера оператора портального крана. Разработка программного и информационного обеспечения.
дипломная работа [3,7 M], добавлен 12.05.2018Характеристика предприятия, анализ целей и проблемных ситуаций, структура информационного обеспечения. Проектирование подсистемы для автоматизации процесса составления отчетности по обучению на авторских курсах фирмы "1С", ее экономическая эффективность.
дипломная работа [7,2 M], добавлен 01.07.2011Исследование специфики и этапов освоения технологии создания компьютерного теста. Основные принципы организации компьютерного тестирования средствами офисных технологий, порядок работы с тестовыми оболочками. Разработка компьютерного теста по теме.
лабораторная работа [2,0 M], добавлен 29.04.2011Разработка алгоритма автоматизации работы компьютерного магазина, изменив и доработав имеющиеся модули в системе "1С" в соответствии с заявленными требованиями. Состав выполняемых функций. Требования к составу и параметрам технических средств приложения.
дипломная работа [1,2 M], добавлен 26.09.2014Система управления обучением Moodle. Компьютерное тестирование как элемент контроля и обучения. Проектирование компьютерных тестов в системе дистанционного обучения Moodle. Наполнение банка тестовых заданий. Создание теста и настройка его параметров.
дипломная работа [5,4 M], добавлен 10.11.2010Особенности и классификация программных комплексов, их обзор и функциональные возможности в сфере обучения. Объектно-ориентированное проектирование компьютерного практикума. Разработка и структура информационного обеспечения, основные требования к нему.
дипломная работа [3,3 M], добавлен 19.01.2017Понятие дистанционного обучения, его сущность и особенности, содержание и цели. Разновидности дистанционного обучения и их характерные черты. Эффективность дистанционного обучения на современном этапе. Основные требования к программному обеспечению.
научная работа [40,2 K], добавлен 29.01.2009Анализ рынка автоматизированных информационных систем по учёту работы тренажерного зала. Разработка форм ввода-вывода информации учета посещений тренажерного зала в образовательном учреждении. Используемый язык запросов. Вкладка "Тренировочная Программа".
дипломная работа [969,6 K], добавлен 24.02.2015Анализ применения информационных технологий в организации обучения. Особенности проектирования автоматизированных информационно-справочных систем. Обзор средств создания приложения. Разработка пользовательского интерфейса программы, ее тестирование.
курсовая работа [1,2 M], добавлен 09.04.2015Анализ существующих стандартов образовательных сред в системах адаптивного компьютерного обучения. Краткая характеристика и оценка состояния рассматриваемой проблемы. Стандарты и спецификации ЭО. Обоснование выбранного метода направления исследования.
научная работа [8,3 K], добавлен 29.01.2009