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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.04.2018
Размер файла 4,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

К работе должны допускаться специалисты, прошедшие правила техники безопасности и правила пожарной безопасности, изложенные в действующих документах о технике безопасности и пожарной безопасности на предприятии.

Компьютеры и периферийные устройства, должны быть подключены к защитному заземлению, выполненному в соответствии с требованиями ГОСТ 12.2.007.0 и ГОСТ25861.

При проведении технического обслуживания технические средства должны быть отключены от сети 220В.

Технические средства должны соответствовать общим требованиям к обеспечению пожарной безопасности при эксплуатации системы.

Освещенность рабочего места персонала должна соответствовать 200300 Лк (Норма освещенности согласно СНиП для офиса общего назначения с использованием компьютеров).

4.1.6 Требования к эргономике и технической эстетике

Система должна удовлетворять следующим требованиям эргономики и технической эстетики:

- при ошибках в действиях пользователя должно выдаваться сообщение с диагностикой, достаточной для понимания и устранения ошибки;

- должно поддерживаться использование манипулятора «мышь»;

- случайное (или целенаправленное) нажатие пользователем каких-либо комбинаций клавиш на клавиатуре или кнопок манипулятора «мышь» не должно приводить к сбоям или «зависаниям» автоматизированного рабочего места;

- на мониторе автоматизированные рабочие места должны корректно отображаться все экранные формы при любых допустимых значениях параметров графического разрешения (от 1024х800 и выше) и размерах основных используемых шрифтов.

- наличие графического однооконного режима. В части диалога с пользователем;

- должен быть обеспечен удобный и интуитивно понятный интерфейс для пользователя, который хорошо знает свою предметную область и не является специалистом в области информационных технологий. Интерфейс должен быть оптимизирован для выполнения типовых и часто используемых прикладных операций;

- взаимодействие пользователя с системой должно осуществляться на русском языке. Исключения могут составлять только системные сообщения, не подлежащие русификации;

- должно быть обеспечено предоставление контекстно-зависимой помощи;

- интерфейс пользователя должен способствовать уменьшению вероятности совершения оператором случайных ошибочных действий;

- рабочие места должны обеспечивать возможность непрерывной работы операторов в течение смены в соответствии с Гигиеническими требования к персональным электронно-вычислительным машинам и организации работы (Санитарные правила и нормы. СанПин2.2.2/2.4.1340-03 (Утв. Постановлением Госкомсанэпиднадзора России от 03.07.2003 N 120), в том числе за счет:

- правильного и удобного расположения монитора;

- удобного расположения и формы клавиатуры;

- удобной формы манипуляторов.

4.1.7 Требования к транспортабельности для подвижных АС

Все составные части подсистемы формирования отчета по исполнению плана движения платежных средств являются стационарными и после монтажа и проведения пуско-наладочных работ транспортировке не подлежат.

Требования к эксплуатации, техническому обслуживанию, ремонту и хранению компонентов системы

Условия эксплуатации, а также виды и периодичность обслуживания технических средств КСА, должны соответствовать требованиям по эксплуатации техническому обслуживанию, ремонту и хранению, изложенным в документации завода изготовителя производителя на них.

Для обеспечения выполнения требований по надежности должен быть создан комплект запасных изделий и приборов ЗИП.

Техническое обслуживание КСА должно осуществляться эксплуатационным персоналом.

4.1.8 Требования к защите информации от несанкционированного доступа

Для обеспечения требований к защите информации должны быть обеспечены:

- защита данных от несанкционированного доступа;

- защита данных от вирусов при помощи средств антивирусной защиты.

Защита информации от НСД обеспечивается:

- механизмами управления доступом и идентификации системы автоматизированного рабочего места инструктора;

- механизмами защиты от внешних воздействий.

Защита данных от вирусов обеспечивается при помощи антивирусной защиты рабочих станций(АРМов).

Средства антивирусной защиты должны обеспечивать надежный контроль над потенциальными источниками проникновения компьютерных вирусов на АРМ пользователей. Инсталляция антивирусного программного обеспечения и автоматическое обновление баз вирусных сигнатур на АРМ пользователей должны выполняться централизованно и контролироваться обслуживающим персоналом компании.

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

Доступ пользователей к данным организуется при помощи ролей пользователей и механизма проверки полномочий.

4.1.9 Требования по сохранности информации при авариях

При авариях сохранность информации должна обеспечиваться, питанием ЭВМ и серверов от бесперебойного источника питания.

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

Сервер должен иметь несколько жестких дисков дублирующих информацию (RAID-массив), для обеспечения ее сохранности, при повреждении дисков.

4.1.10 Требования к защите от влияния внешних воздействий

Защита от влияния внешних воздействий должна обеспечиваться средствами программно-технического комплекса заказчика.

4.1.11 Требования к патентной частоте

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

Все компоненты и используемое ПО должны быть лицензионными. В том числе АРМ пользователя - используемая ОС должна быть лицензирована.

4.1.12 Требования по стандартизации и унификации

Взаимодействие пользователей с прикладным программным обеспечением, входящим в состав системы должно осуществляться посредством визуального графического интерфейса (GUI). Интерфейс системы должен быть понятным и удобным, не должен быть перегружен графическими элементами и должен обеспечивать быстрое отображение экранных форм. Навигационные элементы должны быть выполнены в удобной для пользователя форме. Средства редактирования информации должны удовлетворять принятым соглашениям в части использования функциональных клавиш, режимов работы, поиска, использования оконной системы. Ввод-вывод данных системы, прием управляющих команд и отображение результатов их исполнения должны выполняться в интерактивном режиме. Интерфейс должен соответствовать современным эргономическим требованиям и обеспечивать удобный доступ к основным функциям и операциям системы.

Интерфейс должен быть рассчитан на преимущественное использование манипулятора типа «мышь», то есть управление системой должно осуществляется с помощью набора экранных меню, кнопок, значков и т. п. элементов. Клавиатурный режим ввода должен используется главным образом при заполнении и/или редактировании текстовых и числовых полей экранных форм. Все надписи экранных форм, а также сообщения, выдаваемые пользователю (кроме системных сообщений) должны быть на русском языке.

Экранные формы должны проектироваться с учетом требований унификации:

- все экранные формы пользовательского интерфейса должны быть выполнены в едином графическом дизайне, с одинаковым расположением основных элементов управления и навигации;

- для обозначения сходных операций должны использоваться сходные графические значки, кнопки и другие управляющие (навигационные) элементы. Термины, используемые для обозначения типовых операций (добавление информационной сущности, редактирование поля данных), а также последовательности действий пользователя при их выполнении, должны быть унифицированы;

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

4.1.13 Дополнительные требования

Дополнительные требования не предъявляются.

4.2 Требования к функциям (задачам), выполняемым системой

Автоматизированное рабочее место администратора должно предоставлять следующий функционал:

- позволяет вводить новые учетные записи пользователей, редактировать существующие;

- позволяет вводить новые группы обучаемых, включать в них ранее зарегистрированных пользователей;

- деактивировать учетные записи пользователей, которые закончили работы по освоению знаний, умений и навыков.

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

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

Автоматизированное рабочее место инструктора устанавливать параметры (как по умолчанию для любого упражнения, так и конкретные для того или иного упражнения):

- итоговое пороговое значение интегрального показателя качества выполнения упражнения (комплексного коэффициента освоения);

- рекомендуемое количество попыток выполнения упражнения для освоения умения;

- допустимое отклонение от итогового порогового значения комплексного коэффициента освоения;

- пороговое значение коэффициента освоения показателя качества (по умолчанию для любого показателя качества любого упражнения).

Автоматизированное рабочее место инструктора должно иметь возможность вводить и редактировать подсказки и предупреждения, которые могут быть выданы обучаемому в процессе и/или по окончании выполнения упражнения на компьютерном тренажерном комплексе.

Автоматизированное рабочее место инструктора должно устанавливать параметры того или иного показателя качества:

- группу показателю качества;

- пороговое значение коэффициента освоения показателя качества;

- значения показателя качества, соответствующие оценкам:

«отлично», «хорошо», «удовлетворительно»,

«неудовлетворительно».

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

Автоматизированное рабочее место обучаемого для теоретического этапа должно информировать обучаемого о том, какие теоретические модули необходимо освоить его группе, о результатах его тестирования.

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

4.3 Требования к видам обеспечения

Требования по применению систем управления базами данных определяются требованиями по применимости СУБД системы - БД, должна функционировать под управлением серверной СУБД.

Инструкции администратора и разработчика БД можно найти в технической документации к указанной СУБД.

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

Допускается использование стандартных языков высокого уровня, отвечающих требованиям реализации задач предметной области.

Способ организации диалога с пользователем должен обеспечивать:

- уменьшение вероятности совершения оператором случайных ошибочных действий;

- предусматривать логический контроль ввода данных;

- возможность индивидуальной настройки пользователем с сохранением настроек;

- возможность создания, изменения и сохранения вида отчета;

Автоматизированное рабочее место должно осуществлять корректный ввод-вывод информации на русском языке.

Требований к метрологическому обеспечению не предъявляется.

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

Нормативно-техническая документация должна соответствовать требованиям - ГОСТ34.602-89;

4.3.1 Требования к математическому обеспечению системы

Математические методы и алгоритмы, используемые для шифрования/дешифрования данных (хранение парольных слов в базе данных, шифрование сессий подключения), а также программное обеспечение, реализующее их, должны быть сертифицированы уполномоченными организациями для использования в государственных органах Российской Федерации.

4.3.2 Требования информационному обеспечению системы

Состав, структура и способы организации данных в системе должны быть определены на этапе технического проектирования. Уровень хранения данных в системе должен быть построен на основе современных реляционных или объектно-реляционных СУБД. Для обеспечения целостности данных должны использоваться встроенные механизмы СУБД.

Средства СУБД, а также средства используемых операционных систем должны обеспечивать документирование и протоколирование обрабатываемой в системе информации.

Структура базы данных должна поддерживать кодирование хранимой и обрабатываемой информации в соответствии с общероссийскими классификаторами (там, где они применимы). Доступ к данным должен быть предоставлен только авторизованным пользователям с учетом их служебных полномочий, а также с учетом категории запрашиваемой информации.

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

Технические средства, обеспечивающие хранение информации, должны использовать современные технологии, позволяющие обеспечить повышенную надежность хранения данных и оперативную замену оборудования (распределенная избыточная запись/считывание данных; зеркалирование; независимые дисковые массивы; кластеризация).

В состав системы должна входить специализированная подсистема резервного копирования и восстановления данных.

4.3.3 Требования к лингвистическому обеспечению системы

Моделирование предметной области, требований Системы, её архитектуры, компонентов Системы и их взаимодействия должно быть произведено с использованием стандартов в области разработки ПО.

Система должна поддерживать использование для текстовых полей кодировкиUTF-8.

Система должна быть реализована с использованием языков программирования высокого уровня, имеющих промышленные масштабы развития и сопровождения. Выбор языков программирования и средств разработки должен быть сделан по результатам НИР на стадии технического проектирования.

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

В качестве языка манипулирования данными и языка определения данных в СУБД должен быть использован язык SQL.

4.3.4 Требования к программному обеспечению системы

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

Используемое при разработке программное обеспечение и библиотеки программных кодов должны иметь широкое распространение, быть общедоступными и использоваться в промышленных масштабах.

Программное обеспечение Системы включает в себя системное и прикладное.

Системное программное обеспечение (СПО) состоит из:

1) СПО рабочих станций;

2) СПО серверов.

В состав СПО рабочих станций должны входить:

- Операционная система MS Windows 7/8/10 или Linux с установленной графической оболочкой;

- Web-браузерMozillaFirefox43.0иливыше,либоGoogleChrome 47.0 или выше, либо иханалоги.

В состав СПО серверов должны входить:

- СУБД MySQL 6.8 и выше, либо аналоги, поддерживающие совместимость;

- Серверные редакции ОС семейства UNIX/Windows;

- Web-сервер с установленным интерпретатором php 5.4 или выше (Apache2.4.18 или выше, nginx 1.9.9 или выше).

4.3.5 Требования к техническому обеспечению

Требования к оборудованию:

- Процессор - IntelPentiumIV 2 Гц и выше;

- HDD - 200 GB минимум;

- Оперативная память - 1024 МБ минимум, но рекомендуется 2048 МБ.

Система должна гарантированно функционировать на технических средствах и программно-аппаратных платформах, используемых в офисах компании-заказчика.

4.3.6 Требования к организационному обеспечению

Организационное обеспечение системы должно быть достаточным для эффективного выполнения персоналом возложенных на него обязанностей при осуществлении автоматизированных и связанных с ними

неавтоматизированных функций системы. Заказчиком должны быть определены должностные лица, ответственные за:

- обработку информаций АРМ;

- администрирование АРМ;

- обеспечение безопасности информации АРМ;

- управление работой персонала по обслуживанию АРМ.

К работе с системой должны допускаться сотрудники, имеющие навыки работы на персональном компьютере, ознакомленные с правилами эксплуатации и прошедшие обучение работе с системой.

4.3.7 Требования к методическому обеспечению

В состав методического обеспечения системы должны входить следующие документы:

- программа и методика испытаний;

- методические рекомендации по проведению технического обслуживания;

- техническая документация по эксплуатации подсистемы;

- руководства пользователей подсистемы.

5. Состав и содержание работ по созданию (развитию)системы

5.1 Общие требования к проведению работ

В соответствии с ГОСТ 34.601-90 работы по созданию подсистемы формирования отчета по исполнению плана движения платежных средств, как компонента АС выполняются с учетом стадий приведенных в таблице И.1. Стадии и этапы создания АС в общем случае:

Таблица И.1

Стадии и этапы создания АС в общем случае

Стадии

Этапы работ

1. Формирование требований кАС

1.1.Обследованиеобоснование

объекта и необходимости создания АС. 1.2.Формирование требований пользователя к АС.

1.3.Оформление отчёта о выполненной работе и заявки на разработку АС (тактико-технического задания)

2. Разработка концепции АС

2.1 .Изучение объекта.

2.2 .Проведение необходимых научно-исследовательских работ.

2.3 .Оформление отчета о выполненной работе.

3. Техническое задание

Разработка и утверждение технического задания на создание АС.

4. Ввод в действие

4.1 .Подготовка объекта автоматизации к вводу АС в действие.

4.2 .Подготовка персонала.

4.3 .Комплектация АС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями).

4.4. Пусконаладочные работы.

4.5. Проведение предварительных испытаний.

4.6. Проведение опытной эксплуатации.

4.7. Проведение испытаний.

5. СопровождениеАС

5.1. Выполнение работ в соответствии с гарантийными обязательствами.

5.2. Послегарантийное обслуживание.

5.2 План выполнения работ по созданию системы

Таблица И.2

План работ по созданию системы

№ п/п

Содержание этапа

Срок

Результат(документ)

1

Исследование предметной области: исследование процесса реферирование

1.12.2015

ТЗ, Общая часть пояснительной записки ДП

1.1

Разработка архитектуры системы: разработка алгоритма работы системы, разработка логической и физической схемы данных

2

Провести экспериментальные исследования, реализация проекта

20.12.2015

Специальная часть пояснительной записки ДП

3

Расчет себестоимости или экономической

Эффективности проекта

20.12.2015

Экономическая часть ДП

5

Оформление пояснительной записки

28.12.2015

6. Порядок контроля и приёмки системы

6.1 Виды, состав, объем и методы испытаний системы

Виды, состав, объем и методы испытаний, устанавливаются заказчиком и выполняются со стороны заказчика.

6.2 Общие требования к приемке работ по стадиям

Испытания системы должны быть проведены на стадии: «Ввод в действие, на основании соответствующих программ и методик испытаний», - подготовленных исполнителем и утверждаемых заказчиком на этапе рабочего проектирования.

Результаты работ по этапу: «Опытная эксплуатация», - принимаются с оформлением «Акта о завершении опытной эксплуатации». Погрешности в программном обеспечении и эксплуатационной документации, обнаруженные при сдаче инструмента в опытную эксплуатацию или в процессе опытной эксплуатации, должны быть устранены исполнителем до предъявления инструмента на приемочные испытания.

Порядок и сроки проведения приемочных испытаний согласуются на этапе «Опытная эксплуатация».

Этап «Проведение приемочных испытаний» заканчивается оформлением акта о приемке инструмента в промышленную эксплуатацию, подписанного специально для этого созданной комиссией.

6.3 Статус приемочной комиссии

Статус приемочной комиссии определяется заказчиком до начала выполнения испытаний.

7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие

Технические мероприятия не требуются.

Поддержкой функционирования инструмента в компании заказчика, внедряющей систему: «Формирование отчета по исполнению плана движения платежных средств», должен заниматься отдел дополнительного ПО.

После завершения этапа работ «Разработка рабочей документации» исполнитель должен предоставить заказчику программу обучения персонала и программу опытной эксплуатации инструмента.

Заказчик должен организовать проведение обучения персонала по программе, подготовленной исполнителем.

Для организации информационного обеспечения системы должен быть разработан и утвержден регламент работы с системой.

Перечень регламентов может быть изменен.

8. Требования к документированию

Пояснительная записка к техническому проекту должна содержать:

- Общие положения;

- описание процесса деятельности;

- описание методики технического проектирования;

- описание основных технических решений.

8.1 Руководства пользователей

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

9. Источники разработки

Источниками разработки являются:

- техническое задание на создание автоматизированной системы ГОСТ34.602-89;

- образцы рабочих документов полученных в процессе обследования;

- информационные материалы и проектная документация на автоматизированные системы;

- Интернет-ресурс: http://www.rugost.com.

Приложение К

Текст программы

Модуль MyController.php

Модуль расширяет функционал исходного контроллера, предоставляет единый интерфейс для отрисовки формы. Исходный код модуля представлен в листингеК.1

ЛистингК.1--Исходный код модуля MYController.php

1 <? php i f ( !d e f i n e d ('BASEPATH')) exit('Nodirectscriptaccessallowed');

2

3 class MY_Controller extends CI_Controller {

4

5 /**

6 *Повторяет конструктор родителя

7 *

8 *@ returnvoid

9 */

10 public function __construct(){

11 parent::__construct();

12 }

13

14 /**

15 *Формирование отображения страницы.

16 *

17 *@paramstring$name_view

18 * @paramarray$data

19 * @paramboolean$show_menu

20 *@ returnv o i d

21 */

22 protected function _view($name_view,$data=NULL,$show_menu=TRUE)

23 {

24 $this?>load?>view('template/header');

25 $this?>load?>view('template/headerCRUD',$data);

26 $id=$this?>session?>userdata('useID');

27

28 i f ( $show_menu ){

29 $this?>load?>view('template/view_start_menu.php');

30 //Есливгруппеадминистраторов

31 if (($id ) and ($this?>mdl_user?>gr_conf($id,1)) ){

32 $this?>load?>view('admins/view_admin_menu.php');

33 }

34

35 //Если в группе преподавателей

36 if (($id ) and ($this?>mdl_user?>gr_conf($id,2)) ){

37 $this?>load?>view('teachers/view_teacher_menu.php');

38 }

39

40 //Если в группе обучаемых

41 if (($id ) and ($this?>mdl_user?>gr_conf($id,3)) ){

42 $this?>load?>view('students/view_student_menu.php');

43 }

44 $this?>load?>view('template/view_end_menu.php');

45 }

4647 $this?>load?>view($name_view);

48 $this?>load?>view('template/footer.php');

49 }

50 }

51

52 / * Endoff i leMY_Controller.php */

53 /* Location:. /application/core/MY_Controller.php */

Модуль auths.php

Реализует функционал аутентификации пользователей подсистем. Исходный код модуля представлен в листингеК.2

ЛистингК.2--Исходный код модуля auths.php

1 <?php

2 i f ( ! d e f i n ed ('BASEPATH')) exit('Nodirectscriptaccessallowed');

3

4 class Auths extends CI_Controller{

5

6 function

__construct(){

7 parent::__construct();

8 $this?>load?>helper('form');

9 }

10

11 /**

12 *Отображение формы авторизации

13 *

14 *@ returnvoid

15 */

16 public function index(){

17 if ($this?>session?>userdata('useID')) redirect('userprofiles');

18 $this?>load?>view('login');

19 }

20

21 /**

22 *Проверка корректности ввода данных учетной записи

23 *

24 *@ returnvoid

25 */

26 function login() {

27 if ($this?>session?>userdata('useID')) redirect('userprofiles');

28 $username= $this?>input?>post('login');

29 $password= $this?>input?>post('password');

30 //$passwordx=sha1($password);

31

32 if ($this?>mdl_user?>login($username,$password) ) {

33 / /echo$ t his ?>mdl_user?>login($username,$password);

34 redirect('userprofiles/');

35

36} e l s e {

37 $data['error']='Theusernameorpasswordnotcorrect.Please,tryagain';

38 $this?>load?>view('login',$data);

39 //$this ?>load?>view('index');

40 }

41 }

42

43 /**

44 *Выход пользователя из системы

45 *

46 *@ returnvoid

47 */

48 function logout(){

49 $this?>mdl_user?>logout();

50 redirect('auths/');

51 }

52 }

53

54 / * Endoff i l ea u ths.php */

55 /* Location:./application/controllers/auths.php */

Модуль userprofiles.php

Модуль реализует логику отображение формы «Профиль пользователя». Исходный код модуля представлен в листинге К.3

ЛистингК.3--Исходный код модуля userprofiles.php

1 <?php

2 i f ( ! d e f i n ed ('BASEPATH')) exit('Nodirectscriptaccessallowed');

3 /**

4 *Контроллер для отображения информации

5 *об профиле зарегистрированного пользователя

6 */

7 class Userprofiles extends MY_Controller{

8

9 /**

10 *Проверка на прохождение пользователем аутентификации

11 *

12 *@ returnvoid

13 */

14 public function __construct(){

15 parent::__construct();

16 $id=$this?>session?>userdata('useID');

17 i f ( ! $ i d ){

18 redirect('auths');

19 }

20 }

21

22 /**

23 *Отображение информации о профиле пользователя

24 *

25 *@ returnvoid

26 */

27 public function index(){

28 $id=$this?>session?>userdata('useID');

29 //Получение информации о пользователе

30 $data=$this?>mdl_user?>get_info_profile($id);

31 //Если принадлежит группе обучаемых, то отобразить темы, по которым нужно пройти тестирование

32 if (($id ) and ($this?>mdl_user?>gr_conf($id,3)) ){

33 $this?>load?>model('mdl_student');

34 $ d a t a ['themes']= $ t h is ?>mdl_student?>getInfoThemesForUsers($id);

35 }

36 $this?>_view('view_userprofiles', $data, true );

37 }

38

39

40 }

41

42 / * Endoff i l eu s e r p r o f i les.php */

43 /* Location:./application/controllers/userprofiles.php */

Модуль admins.php

Реализует функционал АРМ администратора. Исходный код модуля представлен в листингеК.4

ЛистингК.4--Исходный код модуля admins.php

1 <?php

2 i f ( ! d e f i n ed ('BASEPATH')) exit('Nodirectscriptaccessallowed');

3 /**4 *Контроллер, реализующий функционал администратора в системе

5 *Управление учетными записями пользователей, группами пользователей

6 */

7 classAdminsextendsMY_Controller{

8

9 /**

10 *Проверка на принадлежность зарегистрированного пользователя

11 *группе администраторов

12 *

13 *@ returnvoid

14 */

15 public function __construct(){

16 parent::__construct();

17 $id=$this?>session?>userdata('useID');

18 if (($id ) and ($this?>mdl_user?>gr_conf($id,1)) ){

19 $this?>load?>library('grocery_CRUD');

20} e l s e {

21 redirect('auths');

22 }

23 $this?>load?>library('grocery_CRUD');

24 }

25

26

27 /**

28 * Перенаправление из-за - особенностей работы библиотеки Grocery_Crud

29 *

30 *@ returnv o i d

31 */

32 public function index(){

33 redirect('admins/users');

34 }

35

36 /**

37 *Построение формы управления учетными данными пользователей

38 *

39 *@ returnvoid

40 */

41 public function users(){

42 $ c rud = new Grocery_CRUD;

43 $crud?>set_table('users');

44 $crud?>set_theme ('datatables');

45 $crud?>unset_export();

46 $crud?>unset_delete();

47 $crud?>unset_print();

48 $crud?>unset_columns('password');

49 $crud?>set_subject('пользователя');

50 $crud?>display_as('login','Логин');

51 $crud?>display_as ('surname','Фамилия') ;

52 $crud?>display_as('name','Имя');

53 $crud?>display_as('secondname','Отчество');

54 $crud?>display_as('active','Разрешить');55$crud?>set_relation_n_n('Groups','USERS_X_GROUPS','GROUPS','users_id',' groups_id','name','');

56 $crud?>display_as('Groups','Группы');

57

58 $output = $crud?>render();

59 $output?>title='Администрирование учетных записей пользователей';

60

61 $this?>_view('admins/view_admins.php', $output, true );

62 }

63

64

65 /**

66 *Управление группами пользователей

67 *

68 *@ returnvoid

69 */

70 public function groups(){

71 //echo'admins/groups';

72 $ c rud = new Grocery_CRUD;

73 $crud?>set_table('groups');

74 $crud?>where('id>=',3);

75 $crud?>set_theme ('datatables');

76 $crud?>unset_export();

77 $crud?>unset_delete();

78 $crud?>unset_print();

79

80

81 $output = $crud?>render();

82 $output?>title='Администрирование групп пользователей';

83

84 $this?>_view('admins/view_admins.php', $output, true );

85 }

86

87 }

88

89 / * Endoff ileadmins.php */

90 /* Location:./application/controllers/admins.php */

Модуль students.php

Модуль реализует функционал АРМ обучаемого. Исходный код модуля представлен в листинге К.5

ЛистингК.5--Исходный код модуля students.php

1 <?php

d');

еским

49 */

50 public function start($id_theme=null){

51

52 $id_user=$this?>session?>userdata('useID');

53 $ok=$this?>mdl_student?>startTest( $id_user,$id_theme);

54 i f ( $ok ){

55 redirect('students/question/');

56} else{

57 die('При инициализации теста произошла ошибка.');

58 }

59

60 }

61

62

63 /**

64 * Выбор очередного вопроса для теста

65 *

66 *@ returnvoid

67 */

68 public function question(){

69 $id_test=$this?>session?>userdata('testId');

70 $data=$this?>mdl_student?>getQuestion($id_test);

71 i f ( $ d a t a ){

72$ d a t a ['t i t l e']='Вопрос';

73 $this?>_view('students/view_question.php', $data, false);

74} e l s e {

75 $data['title']='Ошибка';

76 $ data['message']='Закончились вопросы. Обратитесь к преподавателю.';

77 $this?>_view ('students/view_not_themes.php',$data, true );

78 }

79

80 }

81

82 /**

83 * Проверка правильности ответа

84 *

85 *@ returnvoid

86 */

87 public function processing_response(){

88 $answer_id=$this?>input?>post('answer');

89 if ( $answer_id ){

90 $data=$this?>mdl_student?>processingAnswer($answer_id);

91 i f( ! $ d a t a ) {

92 redirect('students/question/');

93} e l s e {

94 $data['title']='Результаты тестирования';

95 if ($data['success']){

96 $data['message']='Вы успешно завершили тестирование по заданной теме';

Модуль teachers.php

Модуль реализует функционал АРМ инструктора. Исходный код модуля представлен в листинге К.5

ЛистингК.6--Исходный код модуля teachers.php

1 <?php

2 i f ( ! d e f i n ed ('BASEPATH')) exit('Nodirectscriptaccessallowed');

3 / **Функционал

4 * преподавателя в системе

5 */

6

7 class Teachers extends MY_Controller{

8

9

10 /**

11 *Проверка на принадлежность пользователя к группе Преподаватели" "

12 *

13 *@ returnvoid

14 */

15 public function __construct(){

16 parent::__construct();

17 / /Проверка на принадлежность к группе Преподаватели""

18 $id=$this?>session?>userdata('useID');

19 if (($id ) and ($this?>mdl_user?>gr_conf($id,2)) ){

20 $this?>load?>library('grocery_CRUD');

21} e l s e {

22 redirect('auths');

23 }

24 $this?>load?>library('grocery_CRUD');

25 }

26 /**

27 *Перенапраление на редактирование тем тестирования

28 * из-за особенностей работы библиотеки GroceryCrud

29 *@ returnv o i d

30 */

31 public function index(){

32 redirect('teachers/themes');

33 }

34

35 /**

36 *Управление темами тестирования

37 *

38 *@ returnvoid

39 */

40 public function themes(){

41 $ c rud = new Grocery_CRUD;

42 $crud?>set_theme ('datatables');

43 $crud?>set_table('themes');

44 $crud?>unset_export();

45 $crud?>unset_delete();

46 $crud?>unset_print();

47 //$crud?>unset_read();

48 / /$ crud ?>columns( 'name' );

49 //$crud?>fields('name');

50

51 $crud?>set_subject('темутестирования');

52 $crud?>display_as('name','Тематестирования');

53

54 $crud?>display_as('sequence','Порядок прохождения теста');

55 $crud?>add_action('Вопросы','','teachers/questions','ui ?icon?plus');

56 $output = $crud?>render();

57 $output?>title='Темы тестирования';

58 $this?>_view('teachers/view_teachers', $output, true );

59 //$this ?>_output_view($output);

60

61

62 }

63

64 /**

65 *Управление вопросами, которые задаются при прохождении теста по теме

66 *

67 * @paraminteger$theme_id

68 *@ returnv o i d

69 */

117 ?>where('questions _id',$id_question);

118 //Отключениедопфункций

119 $crud?>unset_export();

120 $crud?>unset_print();

121 //Переименование столбцов

122 $crud?>set_subject('вариант ответа');

123 $crud?>columns('descriptions','correct');

124 $crud?>display_as('descriptions','Вариантответа');

125 $crud?>display_as('correct','Правильность');

126

127 //Присвоение вновь введенного вопроса выбранной теме

128 $crud?>field_type('questions_id','hidden',$id_question);

129

130 $output = $crud?>render();

131 //print_r($output);

132 $output?>title='Варианты ответов';

133 $this?>_view('teachers/view_teachers',$output, true );

134 $this?>load?>view('teachers/view_back',$data);

135 }

136

137 /**

138 *Управление параметрами прохождения тестирования

139 *

140 *@ returnvoid

141 */

142 public function params(){

143 / /echo'params';

144 $ c rud = new Grocery_CRUD;

145 $crud?>set_theme ('datatables');

146 $crud?>set_table('parameters') ?>set_subject('параметры тестирования');

147

148 //Отключение допфункций

149 $crud?>unset_print();

150 $crud?>unset_edit();

151 $crud?>unset_export();

152 $crud?>unset_delete();

153 $crud?>unset_read();

154 //Переименование столбцов

155 $crud?>display_as('Ko','Допустимый коэффициент освоения');

156 $crud?>display_as('Kf','Допустимая вероятность угадывания последовательности заданий');

157 $crud?>display_as('time_answer','Время на обдумывание варианта ответа');

158

159 $output = $crud?>render();

160 //print_r($output);

161 $output?>title='Настройка параметров тестирования';

162 $this?>_view('teachers/view_teachers',$output, true );

163 //$this ?>_output_view($output);

164

','success');

ndname}');

йКосв:{Ko}\

?image');n?plus');

212 /**213 *Управление группами обучаемых

214 *

215 *@ returnvoid

216 */

217 public function groups(){

218 $crud=new Grocery_CRUD;

219 $crud?>set_table('groups');

220 //$crud?>limit(3,4);

221 $crud?>where('id>=',3);

222 $crud?>set_theme ('datatables');

223 $crud?>unset_export();

224 $crud?>unset_delete();

225 $crud?>unset_print();

226 $crud?>unset_add();

227 $crud?>unset_read();

228 $crud?>columns('name','themes','exercises');

229 $crud?>set_relation_n_n('themes','groups_x_themes','themes','groups_id',' themes_id','name','');

230$crud?>set_relation_n_n('exercises','groups_x_exercises','exercises',' groups_id','exercises_id','name','');

231 $crud?>fields('name','themes','exercises');

232 $crud?>display_as('themes','Темытестирования');

233 $crud?>display_as('name','Названиегруппы');

234 $crud?>display_as('exercises','Упражнения');

235$crud?>add_action('Темы тестирования','','teachers/settings_themes_for_group',' ui?icon?wrench');

236 $crud?>add_action ('Упражнения','','teachers/settings_exercises_for_group','ui ?

icon?wrench');

237 $output = $crud?>render();

238

239 $output?>title='Список групп обучаемых';

240 $this?>_view('teachers/view_teachers', $output, true );

241

242 }

243

244 /**

245 * Установка соотвествия тема "тестирования группа ?обучаемых"

246 *

247 * @paraminteger$group_id

248 *@ returnv o i d

249 */

250 public function settings_themes_for_group($group_id=null){

251

252 $crud=new Grocery_CRUD;

253 //$crud?>set_table( 'groups');

254 //$crud?>limit(3,4);

255 $group_name = $this?>mdl_user?>get_group_name($group_id);

256 $ c rud = new Grocery_CRUD;257 $crud?>set_theme ('datatables');

258 $crud?>set_table('groups_x_themes') ?>set_subject('тему тестирования')

259 ?>where('groups_id',$group_id);

260 //Отключение допфункций

261 $crud?>unset_export();

262 //$crud ?>unset_delete();

263 $crud?>unset_print();

264 $crud?>unset_read();

265 $crud?>unset_edit();

266

267 $crud?>columns('themes_id') ?>display_as('themes_id','Наименование темы тестирования');

268 $crud?>fields('themes_id','groups_id');

269 $crud?>set_relation('themes_id','themes','name') ;

270 $crud?>field_type('groups_id','hidden',$group_id );

271

272 $output = $crud?>render();

273 $output?>title='Установка тем тестирования для группы"'. $group_name.'"';

274 $output?>group_name=$group_name;

275 $this?>_view('teachers/view_teachers',$output, true );

276 }

277

278 /**

279 * Форма№2 - Настройки для всей группы обучаемых

280 *

281 * @paraminteger$group_id

282 */

283 public function settings_exercises_for_group($group_id=null){

284 //echo'setings_exercises_for_group';

285 $group_name = $this?>mdl_user?>get_group_name($group_id);

286 $ c rud = new Grocery_CRUD;

287 $crud?>set_theme ('datatables');

288 $crud?>set_table('groups_x_exercises') ?>set_subject('упражнение')

289 ?>where('groups_id',$group_id);

290 //Отключениедопфункций

291 $crud?>unset_export();

292 //$crud ?>unset_delete();

293 $crud?>unset_print();

294 $crud?>unset_read();

295 $crud?>unset_edit();

296

297 $crud?>columns('exercises_id') ?>display_as('exercises_id','Наименование упражнения');

298 $crud?>fields('exercises_id','groups_id');

299 $crud?>set_relation('exercises_id','exercises','name');

300 $crud?>field_type('groups_id','hidden',$group_id );

301

302 $crud?>add_action('Информация об упражнении','','exercises/exercise_info','ui ?

icon?plus');

303

304 $output = $crud?>render();

305 $output?>title='Настройки для группы обучаемых"'. $group_name.'"';

306 $output?>group_name=$group_name;

307 $this?>_view ('teachers/view_form2',$output, true );

308 }

309

310

311

312 /**

313 * Формирование отчета в формате pdf

314 *

315 * @paraminteger$test_id

316 *@ returnv o i d

317 */

318 public function report($test_id=null){

319 i f ( $ t e s t _ i d ){

320

321 i n i _ s e t ("memory_limit"," ?1");

322 $this?>load?>model('mdl_student');

323 $this?>load?>library('mpdf60/mpdf.php');

324 $this?>load?>model('mdl_user') ;

325 $test_info=$this?>mdl_student?>getInfoTest($test_id);

326 i f( $ t e s t _ i n f o ) {

327 $user_info=$this?>mdl_user?>get_info_profile($test_info['users_id']);

328 $param_info=$this?>mdl_student?>getInfoParam ($test_info['parameters_id']);

329 }

330

331

332 $mpdf=new mPDF ( );

333 $mpdf?>Bookmark('Результаты прохождения теста обучаемым') ;

334 $mHTML='<divid="headerРезультаты">прохождениятестаобучаемым</div>';

335$mHTML.='<div><spanclass="paramОбучаемый">:</span>'.$user_info['FIO'][' surname'].''.$user_info['FIO']['name'].''.$user_info['FIO']['secondname'

].'</div>';

336 $mHTML.='<div><spanclass="paramТема">:</span>'.$test_info['theme'].'</div>';

337

338 if ($test_info['success']){

339 $mHTML.='<div><spanclass="paramРезультат">:</span>тестпройденуспешно</div>';

340} e l s e {

341 $mHTML.='<div><spanclass="paramРезультат">:</span>тестпройденнеуспешно</div>';

342 }

343

344 $mHTML. ='<div><spancl a s s="paramТекущий">коэффициент освоения на (момент окончания теста):</span>'.$test_info['Ko'].'</div>';

345 $mHTML.='<div><spanclass="paramДопустимый">коэффициентосвоения:</span>'.

$param_info ['Ko'].'</div>';

346

347 $mHTML. ='<div><spanclass="paramТекущая">вероятностьугадыванияпоследовательности заданий на (момент окончания теста):</span>'. $ t e s t _ i n f o ['Ku'].'</div>';

348

349 $mHTML. ='<div><spanclass="paramДопустимая"> вероятность угадывания последовательности заданий:</span>'. $param_info['Kf'] .'</div>';

350

351$ i = 1 ;

352 $mHTML.='<tablecols="3"class="questions">';

353 foreach ($test_info['questions'] as $questions){

354

355$mHTML.='<trclass="questions"><thcolspan="3"class="task_titlequestions Вопрос">№'.$i.'</th></tr>';

356$mHTML.='<trclass="questions"><tdcolspan="3"class="questions">'.$questions[ 'description'].'</td></tr>';

357 $mHTML.='<trclass="questions"><thclass="questionsВарианты">ответа</th><th

class="questionsВыбран"></th><thclass="questionsПравильный"></th></tr>';

358

359 $count_answers=0;

360 foreach($questions['answers'] as $answers){

361 $mHTML.='<trclass="questions">';

362 $mHTML.='<tdclass="questions">'.$answers['descriptions'].'</td>';

363 $mHTML.='<tdclass="checkquestions">';

364 if ($answers['correct']){

365 $mHTML.='&radic;';

366} e l s e {

367 $mHTML.='&nbsp;';

368 }

369 $mHTML.='</td>';

370 $mHTML.='<tdclass="checkquestions">';

371 if ($answers['id']==$questions['answers_id']){

372 $mHTML.='&radic;';

373} e l s e {

374 $mHTML.='&nbsp;';

375 }

376 $mHTML.='</td>';

377 - - $count_answers;

378 $mHTML. ='</tr>';

379 }

380

381$mHTML.='<trclass="questions"><thcolspan="3"class="questionsДругая">информацияовопросе</th></tr>';

382$mHTML.='<trclass="questions"><tdcolspan="2"class="questionsВероятность"> угадывания данного задания</td><tdclass="questions">'. 1/$count_answers .'</td

></tr>';

383$mHTML.='<trclass="questions"><tdcolspan="2"class="questionsТекущая"> вероятность угадывания последовательности заданий</td><tdclass="questions">'. $questions['Ku'] .'</td></tr>';

384 $mHTML. ='<t rc l a s s="q u e s t i o n s"><t dc o l s p a n=" 2 "c l a s s="q u e s t i o n sВремя"> постановкивопроса</td><tdclass="questions">'.$questions['time_start'].'</ td></tr>';

385 $mHTML. ='<t rc l a s s="q u e s t i o n s"><t dc o l s p a n=" 2 "c l a s s="q u e s t i o n sВремя">полученияответа</td><tdclass="questions">'.$questions['time_finish'].'</ td></tr>';

386$mHTML.='<trclass="questions"><tdcolspan="2"class="questions">Сколько раз данный вопрос задавался в предыдущих попытках</td><tdclass="questions">'.

$questions['count'] .'</td></tr>';

387 - - $ i;

388 }

389 $mHTML.='</table>';

390

391 $stylesheet=file_get_contents('./css/report_style.css');

392 $mpdf?>WriteHTML($stylesheet,1);

393 $mpdf?>WriteHTML ($mHTML, 2) ;

394 $mpdf?>Output('','I');

395

396} else{

397 echo'При формировании отчета произошла ошибка.';

398 }

399

400 }

401

402 }

403

404 / *Endoff i l et e a c h e rs.php */

405 /* Location:./application/controllers/teachers.php */

Модуль exercises.php

Модуль реализует функционал АРМ инструктора для управления практическим этапом обучения. Исходный код модуля представлен в листингеК.7

ЛистингК.7--Исходный код модуля exercises.php

1 <?php

2 i f ( ! d e f i n ed ('BASEPATH')) exit('Nodirectscriptaccessallowed');

3 / **Управление

4 *упражнениями из комплекса упражнений

5 *

6 *

7 */

8 class Exercises extends MY_Controller{

9

10 function

__construct(){

11 parent::__construct();

12 / /Проверка на принадлежность к группе Преподаватели""

13 $id=$this?>session?>userdata('useID');

14 if (($id ) and ($this?>mdl_user?>gr_conf($id,2)) ){

15 $this?>load?>library('grocery_CRUD');

16} e l s e {

17 redirect('auths');

18 }

19 }

20

21 /**

22 *Перенаправление к списку комплексов упражнений

23 * из-за особенностей работы библиотеки GroceryCrud

24 *

25 *@ returnv o i d

26 */

27 public function index(){

28 redirect('exercise/start/');

29 }

30

31

32 /**

33 *Отображение списка упражнений соответствующего комплекса

34 *

35 * @paraminteger$complexes_id

36 *@ returnv o i d

37 */

38 public function start ( $complexes_id=null) {

39 $ c rud = new Grocery_CRUD;

40 $crud?>set_theme ('datatables');

41 $crud?>set_table('exercises');

42 $crud?>where('complexes_id', $complexes_id);

43

44 $crud?>unset_export();

45 $crud?>unset_print();

46 $crud?>unset_add();

47 $crud?>unset_edit();

48 $crud?>unset_delete();

49 $crud?>unset_read();

50

51 $crud?>columns('name');

52 $crud?>display_as('name','Наименование упражнения');

53

54 $crud?>add_action('Перейти к выполнению','','exercises/exercise_info','ui ?icon?image');

55 $output = $crud?>render();

56

57 $this?>load?>model('mdl_complex');

58 $output?>title=$this?>mdl_complex?>get_complex_name($complexes_id);

59 $output?>description=$this?>mdl_complex?>get_complex_description($complexes_id);

60

61 $this?>_view('complexes/view_complexes',$output, true );

62

63 }

64

65 /**

66 *Отображение информации о конкретному пражнении

67 * @paraminteger$exersice_id

68 *@ returnv o i d

69 */

70 public function exercise_info($exersice_id=null) {

71 $this?>load?>model('mdl_exercise');

72 $output=$this?>mdl_exercise?>get_exercise_description($exersice_id);

73 $output['id']=$exersice_id;

74

75 $output['quality_indicators_info']= $this ?>mdl_exercise?>get_quality_indicators_info($exersice_id);

76 $output['quality_indicators_group_list']=$this ?>mdl_exercise?>get_quality_indicators_group();

77

78 $ o u t p u t ['t i t l e'] =$ t h is ?>mdl_exercise ?>get_exercise_name($exersice_id);

79

80 $this?>_view('exercises/view_exercises',$output, true );

81 }

82

83 /**

84 *Установить параметры упражнения

85 *

86 *@ returnvoid

87 */

88 public function set_parameters_exersice(){

89 / /p r i n t _ r($_POST);

90 //Тут необходимо передать введенные значения серверу

91 $this?>load?>model('mdl_exercise');

92 $this?>db?>trans_start();

93

94 $exercises_id=$this?>input ?>post('exercise_id');

95

96 $Kcomplex=$this?>input?>post ('Kcomplex');

97 i f ( $Kcomplex ){

98 $done=$this?>mdl_exercise ?>set_k_complex($exercises_id, $Kcomplex);

99 }

100

101 $number_of_attempts1=$this?>input ?>post('number_of_attempts1');

102 if ($number_of_attempts1){

103 $done=$this?>mdl_exercise ?>set_number_of_attempts1($exercises_id,

$number_of_attempts1);

104 }

105

106 $number_of_attempts2=$this?>input ?>post('number_of_attempts2');

107 if ($number_of_attempts2){


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

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