- •Аннотация
- •Введение
- •Анализ существующих информационных технологий поддержки систем профессиональной диагностики. Постановка задачи проектирования
- •О компании оао «ржд» и квалификационной аттестации
- •Целесообразность проведения квалификационной аттестации в компании оао «ржд»
- •Основные подходы к оценке качества персонала
- •Анализ существующих технологий оценки качества персонала
- •Основные достоинства существующихтехнологий
- •Важнейшие недостатки существующих технологий
- •Обоснование целесообразности разработки автоматизированной процедуры интерактивной оценки квалификационной готовности персонала
- •Постановка задачи
- •Техническое задание на измерительную часть
- •Требования к разрабатываемой системе оценки качества персонала
- •Требования к системе в целом
- •Требования к разрабатываемой измерительной процедуре
- •Требования к функциям системы
- •Требования к программному обеспечению
- •Требования к хостингу
- •Требования к политике информационной безопасности
- •Анализ исходных данных
- •Требования к пользовательскому интерфейсу
- •Требования к персоналу системы оценки качества персонала
- •Описание разработанных подсистем оценки квалификационной готовности персонала
- •Введение в главу
- •Обоснование выбора средств разработки подсистем оценки квалификационной готовности персонала
- •Обоснование выбора системы управления контентом
- •Обоснования выбранной субд
- •Обоснование выбора хостинга
- •Обоснование выбора средстваAdobeFlashдля разработки инструментов оценки квалификационной готовности персонала
- •Обоснование выбора средства eRwin для проектирования и генерации базы данных
- •Описание созданной базы данных
- •Логическая и физическая модели базы данных
- •Генерация базы данных из eRwin в MySql
- •Описание разработанной системы
- •Описание функциональных характеристик разработанных подсистем оценки квалификационной готовности
- •Описание модулей системы
- •Описание модулей подсистемы «Рисуночный экзамен по иностранному языку»
- •Описание модулей подсистемы «Цветовой экзамен по иностранному языку»
- •Интерфейс системы
- •Демонстрация разработанных процедур оценки квалификационной готовности персонала
- •Заключение к главе
- •Системотехнические расчеты
- •Расчет среднего времени реакции системы
- •Выбор модели расчёта
- •Расчёт среднего времени реакции
- •Оценка безошибочности исходных данных
- •Общие сведения
- •Выбор модели расчёта
- •Расчёт информационной цепи
- •Вероятности возникновения ошибок на различных этапах переработки данных
- •Вероятности пропуска ошибок при различных методах контроля
- •Построение информационной цепи
- •Вероятность возникновения ошибки после I-ой операции переработки данных
- •Заключение
- •Экономика
- •Эффективность автоматизации
- •Постановка экономической задачи
- •Расчет затрат, связанных с разработкой проекта автоматизации
- •Затраты на техническое обеспечение
- •Затраты на программное обеспечение
- •Затраты на организационное обеспечение
- •Затраты на информационное обеспечение
- •Итоговые затраты
- •Расчет показателей эффективности проекта
- •Расчет показателя «уровень информационного обеспечения» разрабатываемой системы
- •Расчет показателя «уровень трудозатрат отдела кадров»
- •Расчет экономического эффекта.
- •Анализ человеко-машинного взаимодействия (ачмв)
- •Рисуночный экзамен по иностранному языку
- •Цветовой экзамен по иностранному языку
- •Инструкция лаборанта
- •Тестовые результаты прохождения методики «Рисуночный экзамен по иностранному языку»
- •Заключение
- •Список использованной литературы
- •Приложение №1 Инструкция пользователя
- •Рисуночный экзамен по языку
- •Цветовой экзамен по языку
- •Приложение №2 Листинг методики «Рисуночный экзамен по иностранному языку» Слой «Диагностика: Кадр 1»
- •Слой «Диагностика: Кадр 2»
- •Слой «Диагностика: Кадр 3»
- •Слой «Buttons: Кадр 1»
- •Фрагмент ролика «StartBtnMc»
- •Кнопка «Save_username»
- •Кнопка «Save»
- •Фрагмент ролика «StopBtnMc»
- •Кнопка «Закрыть»
- •Фрагмент ролика «в начало»
- •Кадр 1 «StartBtnMc: Layer 1»
- •Кадр 1 «StopBtnMc: Слой 1»
- •Кадр 1 «в начало: Слой 1»
- •Приложение №3 Листинг методики «Цветовой экзамен по иностранному языку» Слой «Оппонентные цвета: Кадр 1»
- •Кадр 2 «Оппонентные цвета»
- •Кадр 3 «Оппонентные цвета»
- •Слой «Buttons: Кадр 1»
- •Фрагмент видеоролика «StartBtnMc»
- •Кнопка «Save_username»
- •Кнопка «Save»
- •Фрагмент видеоролика «StopBtnMc»
- •Оглавление
- •Глава 1Анализ существующих информационных технологий поддержки систем профессиональной диагностики. Постановка задачи проектирования 5
- •Глава 2 Описание разработанных подсистем оценки квалификационной готовности персонала 37
- •Глава 3Системотехнические расчеты 69
- •Глава 4Экономика 82
- •Глава 5Анализ человеко-машинного взаимодействия (ачмв) 95
Цветовой экзамен по языку
При выборе второй методики перед Вами откроется следующее окно:
Рисунок 12 - Окно авторизации методики «Цветовой экзамен по языку»
В методике «Цветовой экзамен по языку» авторизация аналогична вышеописанной авторизации в методике «Рисуночный экзамен по языку» за исключением случая, когдаданная методика не входит в список, назначенных пользователю для прохождения диагностических методик. В этом случае Вам в поле, где Вы вводили id, выйдет следующее сообщение:
Рисунок 13 - Ошибка при авторизации в методике «Цветовой экзамен по языку»
В противном случае, Вам откроется Вы перейдете в окно для непостредственного прохождения диагностирования:
Рисунок 14 - Окно диагностирования методики «Цветовой экзамен по языку»
При прохождении диагности Вампредлагается подобрать цвета, ассоциирующие у Вас с предъявляемыми названиями цветов (посередине слева) на родном или иностранном языке, например, показывается слово «Экрю», для которого надо подобрать ассоциирующийся цвет с помощью специальных регуляторов цветности (три регулятораRA,GA,BAпосередине справа). Подбираемый Вами цвет, Вы можете видеть в специальном поле в верхней правой части окна:
Рисунок 15 - Окно диагностирования методики «Цветовой экзамен по языку»
Для того, чтобы дать ответь, подберите с помощью регуляторов нужный цвет и нажмите круглую красную с серым треугольником кнопку под регуляторами цветности.
Если Вам требуется немедленно (аварийно) завершить методику, то нажмите кнопку «Закончить тестирования>>» и затем кнопку «Закрыть» или нажмите «крестик» в верхнем правом углу.
После каждого ответа Вам для сравнения в правой половине этого же поля Вам будет отображаться эталонный цвет, соответствующий данному названию цвета. А также в нижней части окна в специальном поле будет указываться близость (в процентах) данного Вами ответа к эталонному ответу:
Рисунок 16 - Окно диагностирования методики «Цветовой экзамен по языку»
По окончанию прохождения диагностики Вы перейдете в окно следующего вида:
Рисунок 17 - Окно методики «Цветовой экзамен по языку»
Приложение №2 Листинг методики «Рисуночный экзамен по иностранному языку» Слой «Диагностика: Кадр 1»
stop();
ukazanie='Введите ваш id '
var example1:SharedObject=SharedObject.getLocal("example1");
example1.data.resultat=0;
example1.data.count=0;
example1.data.vremya_nachala=0;
example1.data.username=0;
example1.data.risunok=0;
example1.data.idusera=0;
example1.data.delitefile.clear();
//*********************ОПРЕДЕЛЯЕМ ТЕКУЩУЮ ДАТУ**********************
CurrentDate = new Date();
year = CurrentDate.getFullYear();
month = CurrentDate.getMonth()+1;
date = CurrentDate.getDate();
if (month<10)
{
month = "0"+month;
}
if (date<10)
{
date = "0"+date;
}
example1.data.Data = year add "-" add month add "-" add date;
trace("Текущая дата: "+example1.data.Data);
Слой «Диагностика: Кадр 2»
var example1:SharedObject=SharedObject.getLocal("example1");
example1.data.o1=0; //счетчик для нажатий на чебокс о1
example1.data.o2=0; //счетчик для нажатий на чебокс о2
example1.data.o3=0; //счетчик для нажатий на чебокс о3
example1.data.o4=0; //счетчик для нажатий на чебокс о4
example1.data.countcount=1;
//---------------------ЧТЕНИЕ КАРТИНОК ИЗ БАЗЫ ДАННЫХ---------------------
var risunok:Array=new Array;
var MyVars= new LoadVars();
MyVars.onLoad = function(ok)
{
if (ok)
//___________________________НАЧАЛО_______________________________________
{
//*******************ВЫВОД ДАННЫХ О МЕТОДИКЕ***************************
//получим кол-во каринок, id картинкок и вариант методики
var r:String='';
r=this['r'];
if (r=='0')
{
_root.createTextField('oshibka',120,135,85,600,300);
oshibka.align = 'center';
oshibka.size=20;
oshibka.text = '\n\n\n\n\n\n\n ИЗВИНИТЕ! НО ДАННАЯ МЕТОДИКА НЕ ВХОДИТ В СПИСОК ЭТОГО ПОЛЬЗОВАТЕЛЯ!';
oshibka.background = true;
}
else
{
example1.data.r=r;
a= new Array;
for(var i:Number=1;i<=r;i++)
{
a[i]=0;
}
//создаем массив, где будут лежать массивы с названиями деталей
NameDetails= new Array;
//создаем массив, где будут лежать массивы с id деталей
IdDetails= new Array;
//создаем массив, где будут лежать массивы с первыми неверными названиями деталей
FalseNameDetails1= new Array;
//создаем массив, где будут лежать массивы со вторыми неверными названиями деталей
FalseNameDetails2= new Array;
//создаем массив, где будут лежать массивы с третьими неверными названиями деталей
FalseNameDetails3= new Array;
for(var i:Number=1;i<=r;i++)
{
NameDetails[i]=' ';
IdDetails[i]=' ';
FalseNameDetails1[i]=' ';
FalseNameDetails2[i]=' ';
FalseNameDetails3[i]=' ';
}
pic=new Array();
met=new Array();
for(var i:Number=1;i<=r;i++)
{
pic[i]=this['pic'+i];
met[i]=this['met'+i];
}
example1.data.pic=pic[1];
example1.data.met=met[1];
//****************ВЫВОД ИЗОБРАЖЕНИЯ ИЗ БД*******************************
//читаем URL картинок из БД
for(var i:Number=1;i<=r;i++)
{
risunok[i]= [i,this['mas1'+i]];
trace('Рисунок №'+i+' '+risunok[i]);
}
example1.data.risunok=risunok[1][1];
//выводим картинку на экран
/*
ширина и высота контейнера
*/
WIDTH = 510;
HEIGHT = 450;
/*
дальше расположен код с обработчиками событий, который позволяет следить за процессом загрузки изображения
*/
var movieClipLoader:MovieClipLoader = new MovieClipLoader();
var obj:Object = new Object();
obj.onLoadStart = function(target:MovieClip)
{
trace("Загрузка стартовала...");
};
obj.onLoadProgress = function(target:MovieClip, loadedBytes:Number, totalBytes:Number)
{
trace("Загружено: "+(totalBytes/totalBytes*100)+" %");
};
obj.onLoadComplete = function(target:MovieClip)
{
trace("Загрузка завершена...");
};
obj.onLoadInit = function(target:MovieClip)
{
trace("С загруженным объектом можно работать...");
/*
масштабируем полученное изображение, если это изображение по ширине или высоте превышает размеры контейнера
*/
if (target._width>WIDTH || target._height>HEIGHT)
{
var n;
if (target._width>WIDTH)
{
n = target._width/WIDTH;
target._width /= n;
target._height /= n;
}
if (target._height>HEIGHT)
{
n = target._height/HEIGHT;
target._width /= n;
target._height /= n;
}
}
/*
располагаем изображение по центру контейнера
*/
target._x = (WIDTH-target._width)/2;
target._y = (HEIGHT-target._height)/2;
};
obj.onLoadError = function(target:MovieClip, errorCode:String)
{
trace("Ошибка при загрузке файла! Код ошибки: "+errorCode);
};
movieClipLoader.addListener(obj);
/*
создаём контейнер, в который будем загружать изображение
*/
_root.createEmptyMovieClip("conteiner", _root.getNextHighestDepth());
/*
запускаем загрузку изображения
*/
movieClipLoader.loadClip(example1.data.risunok, conteiner);
//********************ВЫВОД ДАННЫХ О ДЕТАЛЯХ****************************
for(var j:Number=1;j<=r;j++)
{
if((met[j]=='a') or (met[j]=='c'))
{
name_details= new Array;
for(var i:Number=1;i<=this['k'+j];i++)
{
name_details[i]=' ';
}
id_details= new Array;
for(var i:Number=1;i<=this['k'+j];i++)
{
id_details[i]=' ';
}
//--читаем id и название деталей из БД
for(var i:Number=1;i<=this['k'+j];i++)
{
id_details[i]=this['mas2'+j+i];
name_details[i]=this['mas3'+j+i];
}
trace("ID детали " + id_details[2][1]); // здесь первый элемент это id детали, а второй колонку в матрице (0 -это номер картинки, которой принадлежат эти детали/1 - название детали)
trace("Элемент массива " + name_details[2][1]); // здесь первый элемент это id детали, а второй колонку в матрице (0 -это номер картинки, которой принадлежат эти детали/1 - название детали)
NameDetails[j]=name_details;
IdDetails[j]=id_details;
var d=new Array; //кол-во деталей у данной картинки
d[j]=this['k'+j];
trace('новый счетчик '+d[j]);
a[j]=d[j];
if(j==1)
{
example1.data.schet=d[j];
trace(example1.data.schet);
}
}
}
//------------------------------------------------------------------------
for(var j:Number=1;j<=r;j++)
{
if(met[j]=='b')
{
id_details1= new Array;
for(var i:Number=1;i<=this['m'+j];i++)
{
id_details1[i]=' ';
}
//--читаем id из БД
for(var i:Number=1;i<=this['m'+j];i++)
{
id_details1[i]= this['mas2'+j+i];
}
IdDetails[j]=id_details1;
var d=new Array; //кол-во деталей у данной картинки
d[j]=this['m'+j];
trace('новый счетчик '+d[j]);
a[j]=d[j];
if(j==1)
{
example1.data.schet=d[j];
trace(example1.data.schet);
}
}
//***********ВЫВОД НЕПРАВИЛЬНЫХ ОТВЕТОВ*******************************
for(var j:Number=1;j<=r;j++)
{
if(met[j]=='a')
{
answer_false1= new Array;
for(var i:Number=1;i<=this['l'+j];i++)
{
answer_false1[i]=' ';
}
answer_false2= new Array;
for(var i:Number=1;i<=this['l'+j];i++)
{
answer_false2[i]=' ';
}
answer_false3= new Array;
for(var i:Number=1;i<=this['l'+j];i++)
{
answer_false3[i]=' ';
}
//--читаем неправильные ответы из БД
for(var i:Number=1;i<=this['l'+j];i++)
{
answer_false1[i]=this['mas5'+j+i];
answer_false2[i]=this['mas6'+j+i];
answer_false3[i]=this['mas7'+j+i];
}
FalseNameDetails1[j]=answer_false1;
FalseNameDetails2[j]=answer_false2;
FalseNameDetails3[j]=answer_false3;
}
}
//***************ЗАДАНИЕ ПЕРЕМЕННЫХ ЧЕКБОКСАМ*************************
//---присваиваем значения чекбоксам (вариант а)------------
if(met[1]=='a')
{
var rand: Number;
var massiv=new Array();
massiv[1]=NameDetails[1][1];
massiv[2]=FalseNameDetails1[1][1];
massiv[3]=FalseNameDetails2[1][1];
massiv[4]=FalseNameDetails3[1][1];
var massiv1=new Array();
massiv1[1]=o1;
massiv1[2]=o2;
massiv1[3]=o3;
massiv1[4]=o4;
var p=new Array();
for(var i:Number=1;i<=4;i++)
{
p[i]=0;
}
var t:Number=1;
while((massiv1[1].label==' ')or(massiv1[2].label==' ')or(massiv1[3].label==' ')or(massiv1[4].label==' '))
{
while((p[1]==rand) or (p[2]==rand) or (p[3]==rand) or (p[4]==rand))
{
rand=Math.round(Math.random()*3+1);
}
massiv1[rand].label=massiv[t-1];
p[t]=rand;
t++;
}
}
//---присваиваем значения чекбоксам (вариант b)------------
if (met[1]=='b')
{
o1.enabled=false;
o2.enabled=false;
o3.enabled=false;
o4.enabled=false;
_root.createTextField('txt',120,535,197,230,25);
txt.type='input'; //поле ввода
txt.text = ' ';
txt.background = true;
txt.border = true;
_root.attachMovie("ris", "mc",1);
_root["mc"]._x = 511;
_root["mc"]._y = 150;
}
//---присваиваем значения чекбоксам (вариант c)------------
if(met[1]=='c')
{
o2.label=' '+NameDetails[1][1];
o1.enabled=false;
//o2.enabled=false;
o3.enabled=false;
o4.enabled=false;
_root.attachMovie("ris", "mc",1);
_root["mc"]._x = 511;
_root["mc"]._y = 150;
}
}
//________________________________КОНЕЦ______________________________________
}
else
{
text="Error loading variables";
}
};
MyVars.load('http://site.ru/'+example1.data.delitefile+'.php');
//указываем номер детали
per.text='1';