Разработка подсистемы автоматизированного обучения компьютерного тренажерного комплекса оператора перегрузочной машины

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 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 Форма «Информация об упражнении»

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.