Разработка подсистемы автоматизированного обучения компьютерного тренажерного комплекса оператора перегрузочной машины
Анализ методов и средств профессионального обучения операторов перегрузочных машин, автоматизация процесса. Построение функциональной модели компьютерного тренажера оператора портального крана. Разработка программного и информационного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 12.05.2018 |
Размер файла | 3,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Для обеспечения выполнения требований по надежности должен быть создан комплект запасных изделий и приборов ЗИП.
Техническое обслуживание КСА должно осуществляться эксплуатационным персоналом.
Требования к защите информации от несанкционированного доступа
Для обеспечения требований к защите информации должны быть обеспечены:
защита данных от несанкционированного доступа;
защита данных от вирусов при помощи средств антивирусной защиты.
Защита информации от НСД обеспечивается:
механизмами управления доступом и идентификации системы автоматизированного рабочего места инструктора;
механизмами защиты от внешних воздействий.
Защита данных от вирусов обеспечивается при помощи антивирусной защиты рабочих станций (АРМов).
Средства антивирусной защиты должны обеспечивать надежный контроль над потенциальными источниками проникновения компьютерных вирусов на АРМ пользователей. Инсталляция антивирусного программного обеспечения и автоматическое обновление баз вирусных сигнатур на АРМ пользователей должны выполняться централизованно и контролироваться обслуживающим персоналом компании.
Аутентификация должна производиться по персональным именам при помощи механизма аутентификации разработанного автоматизированного рабочего места инструктора.
Доступ пользователей к данным организуется при помощи ролей пользователей и механизма проверки полномочий.
Требования по сохранности информации при авариях
При авариях сохранность информации должна обеспечиваться, питанием ЭВМ и серверов от бесперебойного источника питания.
При авариях и различных повреждениях ЭВМ, сохранность информации обеспечивается, резервированием данных через заданный промежуток времени.
Сервер должен иметь несколько жестких дисков дублирующих информацию (RAID-массив), для обеспечения ее сохранности, при повреждении дисков.
Требования к защите от влияния внешних воздействий
Защита от влияния внешних воздействий должна обеспечиваться средствами программно-технического комплекса заказчика.
Требования к патентной частоте
Проектные решения подсистемы формирования отчета по исполнению плана движения платежных средств должны отвечать требованиям по патентной частоте согласно действующему законодательству и регламентирующих создание системы распорядительных документов.
Все компоненты и используемое ПО должны быть лицензионными. В том числе АРМ пользователя используемая ОС должна быть лицензирована.
Требования по стандартизации и унификации
Взаимодействие пользователей с прикладным программным обеспечением, входящим в состав системы должно осуществляться посредством визуального графического интерфейса (GUI). Интерфейс системы должен быть понятным и удобным, не должен быть перегружен графическими элементами и должен обеспечивать быстрое отображение экранных форм. Навигационные элементы должны быть выполнены в удобной для пользователя форме. Средства редактирования информации должны удовлетворять принятым соглашениям в части использования функциональных клавиш, режимов работы, поиска, использования оконной системы. Ввод-вывод данных системы, прием управляющих команд и отображение результатов их исполнения должны выполняться в интерактивном режиме. Интерфейс должен соответствовать современным эргономическим требованиям и обеспечивать удобный доступ к основным функциям и операциям системы.
Интерфейс должен быть рассчитан на преимущественное использование манипулятора типа «мышь», то есть управление системой должно осуществляется с помощью набора экранных меню, кнопок, значков и т.п. элементов. Клавиатурный режим ввода должен используется главным образом при заполнении и/или редактировании текстовых и числовых полей экранных форм. Все надписи экранных форм, а также сообщения, выдаваемые пользователю (кроме системных сообщений) должны быть на русском языке.
Экранные формы должны проектироваться с учетом требований унификации:
все экранные формы пользовательского интерфейса должны быть выполнены в едином графическом дизайне, с одинаковым расположением основных элементов управления и навигации;
для обозначения сходных операций должны использоваться сходные графические значки, кнопки и другие управляющие (навигационные) элементы. Термины, используемые для обозначения типовых операций (добавление информационной сущности, редактирование поля данных), а также последовательности действий пользователя при их выполнении, должны быть унифицированы;
внешнее поведение сходных элементов интерфейса (реакция на наведение указателя «мыши», переключение фокуса, нажатие кнопки) должны реализовываться одинаково для однотипных элементов. Система должна соответствовать требованиям эргономики и профессиональной медицины при условии комплектования высококачественным оборудованием (ПЭВМ, монитор и прочее оборудование), имеющим необходимые сертификаты соответствия и безопасности Росстандарта.
Дополнительные требования
Дополнительные требования не предъявляются.
Требования к функциям (задачам), выполняемым системой
Автоматизированное рабочее место администратора должно предоставлять следующий функционал:
позволяет вводить новые учетные записи пользователей, редактировать существующие;
позволяет вводить новые группы обучаемых, включать в них ранее зарегистрированных пользователей;
деактивировать учетные записи пользователей, которые закончили работы по освоению знаний, умений и навыков.
Автоматизированное рабочее место инструктора должно позволять определять состав и содержание теоретических модулей, которые необходимо освоить операторам перегрузочных машин, наполнять множество вопросов, которые могут быть заданы оператору при проверки теоретических знаний по тому или иному модулю, устанавливать параметры тестирования, иметь возможность просмотра результатов прохождения теста обучаемым.
Автоматизированное рабочее место инструктора должно позволять устанавливать упражнения, которые необходимо выполнить той или иной группе обучаемых.
Автоматизированное рабочее место инструктора устанавливать параметры (как по умолчанию для любого упражнения, так и конкретные для того или иного упражнения):
итоговое пороговое значение интегрального показателя качества выполнения упражнения (комплексного коэффициента освоения);
рекомендуемое количество попыток выполнения упражнения для освоения умения;
допустимое отклонение от итогового порогового значения комплексного коэффициента освоения;
пороговое значение коэффициента освоения показателя качества (по умолчанию для любого показателя качества любого упражнения).
Автоматизированное рабочее место инструктора должно иметь возможность вводить и редактировать подсказки и предупреждения, которые могут быть выданы обучаемому в процессе и/или по окончании выполнения упражнения на компьютерном тренажерном комплексе.
Автоматизированное рабочее место инструктора должно устанавливать параметры того или иного показателя качества:
группу показателю качества;
пороговое значение коэффициента освоения показателя качества;
значения показателя качества, соответствующие оценкам:
«отлично», «хорошо», «удовлетворительно»,
«неудовлетворительно».
Автоматизированное рабочее место инструктора должно иметь возможность автоматизированного расчета весового коэффициента и приоритета каждого показателя качества, которые могут быть использованы для получения комплексного коэффициента освоения упражнения при его выполнении на компьютерном тренажерном комплексе.
Автоматизированное рабочее место обучаемого для теоретического этапа должно информировать обучаемого о том, какие теоретические модули необходимо освоить его группе, о результатах его тестирования.
Автоматизированное рабочее место обучаемого должно позволять выполнить проверку знаний обучаемого в форме тестирования по конкретному теоретическому модулю и рассчитать коэффициент освоения темы.
Требования к видам обеспечения
Требования по применению систем управления базами данных определяются требованиями по применимости СУБД системы БД, должна функционировать под управлением серверной СУБД.
Инструкции администратора и разработчика БД можно найти в технической документации к указанной СУБД.
Используемые при разработке языки высокого уровня должны обеспечивать решение всех задач по реализации функций автоматизированного рабочего места.
Допускается использование стандартных языков высокого уровня, отвечающих требованиям реализации задач предметной области.
Способ организации диалога с пользователем должен обеспечивать:
уменьшение вероятности совершения оператором случайных ошибочных действий;
предусматривать логический контроль ввода данных;
возможность индивидуальной настройки пользователем с сохранением настроек;
возможность создания, изменения и сохранения вида отчета;
Автоматизированное рабочее место должно осуществлять корректный ввод-вывод информации на русском языке.
Требований к метрологическому обеспечению не предъявляется.
Должны быть разработаны и внедрены методики и инструкции выполнения операций с помощью подсистемы формирования отчета по исполнению плана движения платежных средств.
Нормативно-техническая документация должна соответствовать требованиям ГОСТ 34.602-89;
Требования к математическому обеспечению системы
Математические методы и алгоритмы, используемые для шифрования/дешифрования данных (хранение парольных слов в базе
данных, шифрование сессий подключения), а также программное обеспечение, реализующее их, должны быть сертифицированы уполномоченными организациями для использования в государственных органах Российской Федерации.
Требования информационному обеспечению системы
Состав, структура и способы организации данных в системе должны быть опеределены на этапе технического проектирования. Уровень хранения данных в системе должен быть построен на основе современных реляционных или объектно-реляционных СУБД. Для обеспечения целостности данных должны использоваться встроенные механизмы СУБД.
Средства СУБД, а также средства используемых операционных систем должны обеспечивать документирование и протоколирование обрабатываемой в системе информации.
Структура базы данных должна поддерживать кодирование хранимой и обрабатываемой информации в соответствии с общероссийскими классификаторами (там, где они применимы). Доступ к данным должен быть предоставлен только авторизованным пользователям с учетом их служебных полномочий, а также с учетом категории запрашиваемой информации.
Структура базы данных должна быть организована рациональным способом, исключающим единовременную полную выгрузку информации, содержащейся в базе данных системы.
Технические средства, обеспечивающие хранение информации, должны использовать современные технологии, позволяющие обеспечить повышенную надежность хранения данных и оперативную замену оборудования (распределенная избыточная запись/считывание данных; зеркалирование; независимые дисковые массивы; кластеризация).
В состав системы должна входить специализированная подсистема резервного копирования и восстановления данных.
Требования к лингвистическому обеспечению системы
Моделирование предметной области, требований Системы, её архитектуры, компонентов Системы и их взаимодействия должно быть произведено с использованием стандартов в области разработки ПО.
Система должна поддерживать использование для текстовых полей кодировки UTF-8.
Система должна быть реализована с использованием языков программирования высокого уровня, имеющих промышленные масштабы развития и сопровождения. Выбор языков программирования и средств разработки должен быть сделан по результатам НИР на стадии технического проектирования.
В системных диалогах с пользователями в текстах сообщений должен применяться русский язык, за возможным исключением для сообщений общесистемного ПО, которые могут не подлежать переводу на русский язык.
В качестве языка манипулирования данными и языка определения данных в СУБД должен быть использован язык SQL.
Требования к программному обеспечению системы
При проектировании и разработке системы необходимо максимально эффективным образом использовать ранее закупленное программное обеспечение, как серверное, так и для рабочих станций.
Используемое при разработке программное обеспечение и библиотеки программных кодов должны иметь широкое распространение, быть общедоступными и использоваться в промышленных масштабах.
Программное обеспечение Системы включает в себя системное и прикладное.
Системное программное обеспечение (СПО) состоит из:
СПО рабочих станций;
СПО серверов.
В состав СПО рабочих станций должны входить:
Операционная система MS Windows 7/8/10 или Linux с установленной графической оболочкой;
Web-браузер Mozilla Firefox 43.0 или выше, либо Google Chrome
47.0 или выше, либо их аналоги.
В состав СПО серверов должны входить:
СУБД MySQL 6.8 и выше, либо аналоги, поддерживающие совместимость;
Серверные редакции ОС семейства UNIX/Windows;
Web-сервер с установленным интерпретатором php 5.4 или выше (Apache 2.4.18 или выше, nginx 1.9.9 или выше).
Требования к техническому обеспечению
Требования к оборудованию:
Процессор Intel Pentium IV 2 Гц и выше;
HDD 200 GB минимум;
Оперативная память 1024 МБ минимум, но рекомендуется 2048 МБ.
Система должна гарантированно функционировать на технических средствах и программно-аппаратных платформах, используемых в офисах компании-заказчика.
Требования к организационному обеспечению
Организационное обеспечение системы должно быть достаточным для эффективного выполнения персоналом возложенных на него обязанностей при осуществлении автоматизированных и связанных с ними
неавтоматизированных функций системы. Заказчиком должны быть определены должностные лица, ответственные за:
обработку информаций АРМ;
администрирование АРМ;
обеспечение безопасности информации АРМ;
управление работой персонала по обслуживанию АРМ.
К работе с системой должны допускаться сотрудники, имеющие навыки работы на персональном компьютере, ознакомленные с правилами эксплуатации и прошедшие обучение работе с системой.
Требования к методическому обеспечению
В состав методического обеспечения системы должны входить следующие документы:
программа и методика испытаний;
методические рекомендации по проведению технического обслуживания;
техническая документация по эксплуатации подсистемы;
руководства пользователей подсистемы.
Состав и содержание работ по созданию (развитию) системы
Общие требования к проведению работ
В соответствии с ГОСТ 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 Комплектация АС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями). |
|
Пусконаладочные работы. Проведение предварительных испытаний. Проведение опытной эксплуатации. Проведение испытаний. |
||
5. Сопровождение АС |
5.1 Выполнение работ в соответствии с гарантийными обязательствами. 5.2 Послегарантийное обслуживание. |
План выполнения работ по созданию системы
Таблица И.2
План работ по созданию системы
№ п/п |
Содержание этапа |
Срок |
Результат (документ) |
|
1 |
Исследование предметной области: исследование процесса реферирование |
1.12.2015 |
ТЗ, Общая часть пояснительной записки ДП |
|
1.1 |
Разработка архитектуры системы: разработка алгоритма работы системы, разработка логической и физической схемы данных |
|||
2 |
Провести экспериментальные исследования, реализация проекта |
20.12.2015 |
Специальная часть пояснительной записки ДП |
|
3 |
Расчет себестоимости или экономической эффективности проекта |
20.12.2015 |
Экономическая часть ДП |
|
5 |
Оформление пояснительной записки |
28.12.2015 |
Порядок контроля и приёмки системы
Виды, состав, объем и методы испытаний системы
Виды, состав, объем и методы испытаний, устанавливаются заказчиком и выполняются со стороны заказчика.
Общие требования к приемке работ по стадиям
Испытания системы должны быть проведены на стадии: «Ввод в действие, на основании соответствующих программ и методик испытаний», подготовленных исполнителем и утверждаемых заказчиком на этапе рабочего проектирования.
Результаты работ по этапу: «Опытная эксплуатация», принимаются с оформлением «Акта о завершении опытной эксплуатации». Погрешности в программном обеспечении и эксплуатационной документации, обнаруженные при сдаче инструмента в опытную эксплуатацию или в процессе опытной эксплуатации, должны быть устранены исполнителем до предъявления инструмента на приемочные испытания.
Порядок и сроки проведения приемочных испытаний согласуются на этапе «Опытная эксплуатация».
Этап «Проведение приемочных испытаний» заканчивается оформлением акта о приемке инструмента в промышленную эксплуатацию, подписанного специально для этого созданной комиссией.
Статус приемочной комиссии
Статус приемочной комиссии определяется заказчиком до начала выполнения испытаний.
Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
Технические мероприятия не требуются.
Поддержкой функционирования инструмента в компании заказчика, внедряющей систему: «Формирование отчета по исполнению плана движения платежных средств», должен заниматься отдел дополнительного ПО.
После завершения этапа работ «Разработка рабочей докуменации» исполнитель должен предоставить заказчику программу обучения персонала и программу опытной эксплуатации инструмента.
Заказчик должен организовать проведение обучения персонала по программе, подготовленной исполнителем.
Для организации информационного обеспечения системы должен быть разработан и утвержден регламент работы с системой.
Перечень регламентов может быть изменен.
Требования к документированию
Пояснительная записка к техническому проекту должна содержать:
общие положения;
описание процесса деятельности;
описание методики технического проектирования;
описание основных технических решений.
Руководства пользователей
Руководства пользователей должны быть разработаны для каждой из функциональных частей автоматизированного рабочего места.
Источники разработки
Источниками разработки являются:
техническое задание на создание автоматизированной системы ГОСТ 34.602-89;
образцы рабочих документов полученных в процессе обследования;
информационные материалы и проектная документация на автоматизированные системы;
Интернет-ресурс
Приложение К
Текст программы
Модуль MyController.php
Модуль расширяет функционал исходного контроллера, предоставляет единый интерфейс для отрисовки формы. Исходный код модуля представлен в листинге К.1
Листинг К.1 -- Исходный код модуля MYController.php
1 <? php i f (! d e f i n e d ('BASEPATH')) e x i t ('Nod i r e c ts c r i p ta c c e s sa l l o w e d');
3 c l a s s MY_ Controller e x t e n d s C I _ C o n t r o l l e r {
5 / **
6 * Повторяет конструктор родителя
7 *
8 * @ returnv o i d
9 * /
10 p u b l i c f u n c t i o n _ _ c o n s t r u c t () {
11 p a r e n t:: _ _ c o n s t r u c t ();
12 }
13
14 / **
15 * Формирование отображения страницы.
16 *
17 * @params t r i n g$name_view
18 * @parama r r a y$ d a t a
19 * @paramb o o l e a n$show_menu
20 * @ returnv o i d
21 * /
22 p r o t e c t e d f u n c t i o n _ view ($name_view, $ d a t a =NULL, $show_menu=TRUE)
23 {
24 $ t h i s ?> load ?> view ('t e m p l a t e/h e a d e r');
25 $ t h i s ?> load ?> view ('t e m p l a t e/headerCRUD', $ d a t a);
26 $ i d = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID');
28 i f ($show_menu) {
29 $ t h i s ?> load ?> view ('t e m p l a t e/v i e w _ s t a r t _ m e n u.php');
30 / /Если в группе администраторов
31 i f (($ i d) and ($ t h i s ?> mdl_ user ?> g r _ c o n f ($ id, 1))) {
32 $ t h i s ?> load ?> view ('admins/view_admin_menu.php');
33 }
35 / /Если в группе преподавателей
36 i f (($ i d) and ($ t h i s ?> mdl_ user ?> g r _ c o n f ($ id, 2))) {
37 $ t h i s ?> load ?> view ('t e a c h e r s/v i ew_ t eacher_ menu.php');
38 }
40 / /Если в группе обучаемых
41 i f (($ i d) and ($ t h i s ?> mdl_ user ?> g r _ c o n f ($ id, 3))) {
42 $ t h i s ?> load ?> view ('s t u d e n t s/v i ew_ s tudent_ menu.php');
43 }
44 $ t h i s ?> load ?> view ('t e m p l a t e/view_end_menu.php');
45 }
47 $ t h i s ?> load ?> view ($name_view);
48 $ t h i s ?> load ?> view ('t e m p l a t e/f o o t e r.php');
49 }
50 }
52 / * Endoff i l eMY_ Controller.php * /
53 / * L o c a t i o n:. /a p p l i c a t i o n/c o r e/MY_ Controller.php * /
Модуль auths.php
Реализует функционал аутентификации пользователей подсистем. Исходный код модуля представлен в листинге К.2
Листинг К.2 -- Исходный код модуля auths.php
1 <? php
2 i f (! d e f i n e d ('BASEPATH')) e x i t ('Nod i r e c ts c r i p ta c c e s sa l l o w e d');
4 c l a s s Auths e x t e n d s C I _ C o n t r o l l e r {
6 f u n c t i o n
_ _ c o n s t r u c t () {
7 p a r e n t:: _ _ c o n s t r u c t ();
8 $ t h i s ?> load ?> h e l p e r ('form');
9 }
11 / **
12 * Отображение формы авторизации
13 *
14 * @ returnv o i d
15 * /
16 p u b l i c f u n c t i o n i n d e x () {
17 i f ($ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID')) r e d i r e c t ('u s e r p r o f i l e s');
18 $ t h i s ?> load ?> view ('l o g i n');
19 }
20
21 / **
22 * Проверка корректности ввода данных учетной записи
23 *
24 * @ returnv o i d
25 * /
26 f u n c t i o n l o g i n () {
27 i f ($ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID')) r e d i r e c t ('u s e r p r o f i l e s');
28 $ username = $ t h i s ?> i n p u t ?> p o s t ('l o g i n');
29 $ password = $ t h i s ?> i n p u t ?> p o s t ('password');
30 / /$ passwordx=sha 1($ password);
31
32 i f ($ t h i s ?> mdl_ user ?> l o g i n ($ username, $ password)) {
33 / /echo$ t h i s ?>mdl_ user ?>l o g i n($ username,$ password);
34 r e d i r e c t ('u s e r p r o f i l e s/');
36 } e l s e {
37 $ d a t a ['e r r o r']='Theusernameorpasswordn o tc o r r e c t.P l e a s e,t r ya g a i n';
38 $ t h i s ?> load ?> view ('l o g i n', $ d a t a);
39 / /$ t h i s ?>load ?>view('i n d e x');
40 }
41 }
43 / **
44 * Выход пользователя и зсистемы
45 *
46 * @ returnv o i d
47 * /
48 f u n c t i o n l o g o u t () {
49 $ t h i s ?> mdl_ user ?> l o g o u t ();
50 r e d i r e c t ('a u t h s/');
51 }
52 }
54 / * Endoff i l ea u t h s.php * /
55 / * L o c a t i o n:. /a p p l i c a t i o n/c o n t r o l l e r s/a u t h s.php * /
Модуль userprofiles.php
Модуль реализует логику отображение формы «Профиль пользователя». Исходный код модуля представлен в листинге К.3
Листинг К.3 -- Исходный код модуля userprofiles.php
1 <? php
2 i f (! d e f i n e d ('BASEPATH')) e x i t ('Nod i r e c ts c r i p ta c c e s sa l l o w e d');
3 / **
4 * Контроллер для отображения информации
5 * об профиле зарегистрированного пользователя
6 * /
7 c l a s s U s e r p r o f i l e s e x t e n d s MY_ Controller {
8
9 / **
10 * Проверка на прохождение пользователем аутентификации
11 *
12 * @ returnv o i d
13 * /
14 p u b l i c f u n c t i o n _ _ c o n s t r u c t () {
15 p a r e n t:: _ _ c o n s t r u c t ();
16 $ i d = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID');
17 i f (! $ i d) {
18 r e d i r e c t ('a u t h s');
19 }
20 }
21
22 / **
23 * Отображение информации о профиле пользователя
24 *
25 * @ returnv o i d
26 * /
27 p u b l i c f u n c t i o n i n d e x () {
28 $ i d = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID');
29 / /Получение информации о пользователе
30 $ d a t a = $ t h i s ?> mdl_ user ?> g e t _ i n f o _ p r o f i l e ($ i d);
31 / /Если принадлежит группе обучаемых, то отобразить темы, по которым нужно пройти тестирование
32 i f (($ i d) and ($ t h i s ?> mdl_ user ?> g r _ c o n f ($ id, 3))) {
33 $ t h i s ?> load ?>model ('m d l _ s t u d e n t');
34 $ d a t a ['themes']= $ t h i s ?> m d l _ s t u d e n t ?> g e t I n f o T h e m e s F o r U s e r s ($ i d);
35 }
36 $ t h i s ?>_ view ('v i e w _ u s e r p r o f i l e s', $ data, t ru e);
37 }
38
39
40 }
42 / * Endoff i l eu s e r p r o f i l e s.php * /
43 / * L o c a t i o n:. /a p p l i c a t i o n/c o n t r o l l e r s/u s e r p r o f i l e s.php * /
Модуль admins.php
Реализует функционал АРМ администратора. Исходный код модуля Исходный код модуля admins.php представлен в листинге К.4
Листинг К.4
1 <? php
2 i f (! d e f i n e d ('BASEPATH')) e x i t ('Nod i r e c ts c r i p ta c c e s sa l l o w e d');
3 / **
4 * Контроллер, реализующий функционал администратора в системе
5 * Управление учетными записями пользователей, группами пользователей
6 * /
7 c l a s s Admins e x t e n d s MY_ Controller {
8
9 / **
10 * Проверка на принадлежность зарегистрированного пользователя
11 * группе администраторов
12 *
13 * @ returnv o i d
14 * /
15 p u b l i c f u n c t i o n _ _ c o n s t r u c t () {
16 p a r e n t:: _ _ c o n s t r u c t ();
17 $ i d = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID');
18 i f (($ i d) and ($ t h i s ?> mdl_ user ?> g r _ c o n f ($ id, 1))) {
19 $ t h i s ?> load ?> l i b r a r y ('grocery_CRUD');
20 } e l s e {
21 r e d i r e c t ('a u t h s');
22 }
23 $ t h i s ?> load ?> l i b r a r y ('grocery_CRUD');
24 }
/ **
28 * Перенаправление из-за - особенностей работы библиотеки Grocery_ Crud
29 *
30 * @ returnv o i d
31 * /
32 p u b l i c f u n c t i o n i n d e x () {
33 r e d i r e c t ('admins/u s e r s');
34 }
35
36 / **
37 * Построение формы управления учетными данными пользователей
38 *
39 * @ returnv o i d
40 * /
41 p u b l i c f u n c t i o n u s e r s () {
42 $ c rud = new Grocery_CRUD;
43 $ crud ?> s e t _ t a b l e ('u s e r s');
44 $ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
45 $ crud ?> u n s e t _ e x p o r t ();
46 $ crud ?> u n s e t _ d e l e t e ();
47 $ crud ?> u n s e t _ p r i n t ();
48 $ crud ?> u n s e t _ c o l u m n s ('password');
49 $ crud ?> s e t _ s u b j e c t ('пользователя');
50 $ crud ?> d i s p l a y _ a s ('l o g i n','Логин');
51 $ crud ?> d i s p l a y _ a s ('surname','Фамилия');
52 $ crud ?> d i s p l a y _ a s ('name','Имя');
53 $ crud ?> d i s p l a y _ a s ('secondname','Отчество');
54 $ crud ?> d i s p l a y _ a s ('a c t i v e','Разрешить');
55 $ crud ?> s e t _ r e l a t i o n _ n _ n ('Groups','USERS_X_GROUPS','GROUPS','u s e r s _ i d',' g r o u p s _ i d','name','');
56 $ crud ?> d i s p l a y _ a s ('Groups','Группы');
57
58 $ o u t p u t = $ crud ?> r e n d e r ();
59 $ o u t p u t ?> t i t l e ='Администрирование учетных записей пользователей';
60
61 $ t h i s ?>_ view ('admins/view_ admins.php', $ o u t p u t, t ru e);
62 }
63
64
65 / **
66 * Управление группами пользователей
67 *
68 * @ returnv o i d
69 * /
70 p u b l i c f u n c t i o n g r o u p s () {
71 / /echo'admins/g r o u p s';
72 $ c rud = new Grocery_CRUD;
73 $ crud ?> s e t _ t a b l e ('g r o u p s');
74 $ crud ?> where ('i d>=', 3);
75 $ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
76 $ crud ?> u n s e t _ e x p o r t ();
77 $ crud ?> u n s e t _ d e l e t e ();
78 $ crud ?> u n s e t _ p r i n t ();
79
80
81 $ o u t p u t = $ crud ?> r e n d e r ();
82 $ o u t p u t ?> t i t l e ='Администрирование групп пользователей';
83
84 $ t h i s ?>_ view ('admins/view_ admins.php', $ o u t p u t, t ru e);
85 }
86
87 }
88
89 / * Endoff i l eadmins.php * /
90 / * L o c a t i o n:. /a p p l i c a t i o n/c o n t r o l l e r s/admins.php * /
i f (! d e f i n e d ('BASEPATH')) e x i t ('Nod i r e c ts c r i p ta c c e s sa l l o w e
/ ** Контроллер
* студентов Формирует
* отображение, обрабатывает ввод пользователя Работает
* с моделью m d l _ s t u d e n t
* /
c l a s s S t u d e n t s e x t e n d s MY_ Controller {
f u n c t i o n _ _ c o n s t r u c t () {
p a r e n t:: _ _ c o n s t r u c t ();
/ /Проверка на принадлежность к группе Студенты" "
$ i d = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID');
i f (($ i d) and ($ t h i s ?> mdl_ user ?> g r _ c o n f ($ id, 3))) {
$ t h i s ?> load ?> l i b r a r y ('grocery_CRUD');
} e l s e {
r e d i r e c t ('a u t h s');
}
$ t h i s ?> load ?>model ('m d l _ s t u d e n t');
}
/ **
* Отображено окно начала тестирования
*
* @ returnv o i d
* /
p u b l i c f u n c t i o n i n d e x () {
/ /echo'i n d e xs t u d e n t';
$ i d = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID');
/ /echo$ i d;
$ d a t a = $ t h i s ?> m d l _ s t u d e n t ?> get Theme ($ i d);
i f ($ d a t a) {
$ d a t a ['t i t l e']='Начать тестирование';
$ t h i s ?>_ view ('s t u d e n t s/v i e w _ s t a r t _ t e s t.php', $ data,t ru e);
} e l s e {
$ d a t a ['t i t l e']='Освоены все теоретические модули';
$ d a t a ['message']='Вы освоили все теоретические модули. Переходите к практич занятиям';
$ t h i s ?>_ view ('s t u d e n t s/v i ew_ not_ t hemes.php', $ data, t ru e);
}
}
/ **
Инициализация теста
*
@parami n t e g e r$ id_ theme
@ returnv o i d
Модуль students.php
Модуль реализует функционал АРМ обучаемого. Исходный код модуля представлен в листинге К.5
Листинг К.5 --Исходный код модуля students.php
1 <? php
d');
49 * /
50 p u b l i c f u n c t i o n s t a r t ($ id_ theme = n u l l) {
51
52 $ i d _ u s e r = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID');
53 $ok= $ t h i s ?> m d l _ s t u d e n t ?> s t a r t T e s t ($ i d _ u s e r, $ id_ theme);
54 i f ($ok) {
55 r e d i r e c t ('s t u d e n t s/q u e s t i o n/');
56} e l s e {
57 d i e ('При инициализации теста произошла ошибка');
58}
59
60 }
61
62
63 / **
64 * Выбор очередного вопроса для теста
65 *
66 * @ returnv o i d
67 * /
68 p u b l i c f u n c t i o n q u e s t i o n () {
69 $ i d _ t e s t = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('t e s t I d');
70 $ d a t a = $ t h i s ?> m d l _ s t u d e n t ?> g e t Q u e s t i o n ($ i d _ t e s t);
71 i f ($ d a t a) {
72 $ d a t a ['t i t l e']='Вопрос';
73 $ t h i s ?>_ view ('s t u d e n t s/v i e w _ q u e s t i o n.php', $ data, f a l s e);
74 } e l s e {
75 $ d a t a ['t i t l e']='Ошибка';
76 $ d a t a ['message']='Закончились вопросы. Обратитесь к преподавателю';
77 $ t h i s ?>_ view ('s t u d e n t s/v i ew not t hemes.php', $ data, t ru e);
78}
79
80}
81
82 / **
83 * Проверка правильности ответа
84 *
85 * @ returnv o i d
86 * /
87 p u b l i c f u n c t i o n p r o c e s s i n g _ r e s p o n s e () {
88 $ a n s w e r _ i d = $ t h i s ?> i n p u t ?> p o s t ('answer');
89 i f ($ a n s w e r _ i d) {
90 $ d a t a = $ t h i s ?> m d l _ s t u d e n t ?> p r o c e s s i n g A n s w e r ($ a n s w e r _ i d);
91 i f (! $ d a t a) {
92 r e d i r e c t ('s t u d e n t s/q u e s t i o n/');
93 } e l s e {
94 $ d a t a ['t i t l e']='Результаты тестирования';
95 i f ($ d a t a ['s u c c e s s']) {
96 $ d a t a ['message']='Вы успешно завершили тестирование по заданной теме';
$ t h i s ?>_ view ('s t u d e n t s/v i e w _ t e s t _ r e s u l t.php', $ data,t ru e)
} e l s e {
$ d a t a ['message']='Вы не освоили тему';
$ t h i s ?>_ view ('s t u d e n t s/v i e w _ t e s t _ r e s u l t.php', $ data,t ru e);
}
/ /p r i n t _ r($ d a t a);
}} e l s e {
$ t h i s ?> q u e s t i o n ();
}
/ /echo$ a n s w e r _ i d;
/ /p r i n t _ r($ d a t a);
}
}
/ * Endoff i l es t u d e n t s.php * /
/ * L o c a t i o n:. /a p p l i c a t i o n/c o n t r o l l e r s/s t u d e n t s.php * /
Модуль teachers.php
Модуль реализует функционал АРМ инструктора. Исходный код модуля представлен в листинге К.5
Листинг К.6--Исходный код модуля teachers.php
<? Php
i f (! d e f i n e d ('BASEPATH')) e x i t ('Nod i r e c ts c r i p ta c c e s sa l l o w e d');
/ ** Функционал преподавателя в системе
* /
c l a s s T e a c h e r s e x t e n d s MY_ Controller {
/ **
* Проверка на принадлежность пользователя к группе Преподаватели" "
*
* @ returnv o i d
* /
p u b l i c f u n c t i o n _ _ c o n s t r u c t () {
p a r e n t:: _ _ c o n s t r u c t ();
/ /Проверка на принадлежность к группе Преподаватели" "
$ i d = $ t h i s ?> s e s s i o n ?> u s e r d a t a ('use ID');
i f (($ i d) and ($ t h i s ?> mdl_ user ?> g r _ c o n f ($ id, 2))) {
$ t h i s ?> load ?> l i b r a r y ('grocery_CRUD');
} e l s e {
r e d i r e c t ('a u t h s');
}
$ t h i s ?> load ?> l i b r a r y ('grocery_CRUD');
}
/ **
* Перенаправление на редактирование тем тестирования
* из-за особенностей работы библиотеки Grocery Crud
* @ returnv o i d
* /
p u b l i c f u n c t i o n i n d e x () {
r e d i r e c t ('t e a c h e r s/themes');
}
/ **
* Управление темами тестирования
*
* @ returnv o i d
* /
p u b l i c f u n c t i o n themes () {
$ c rud = new Grocery_CRUD;
$ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
$ crud ?> s e t _ t a b l e ('themes');
$ crud ?> u n s e t _ e x p o r t ();
$ crud ?> u n s e t _ d e l e t e ();
$ crud ?> u n s e t _ p r i n t ();
/ /$ crud ?>u n s e t _ r e a d();
/ /$ crud ?>columns('name');
/ /$ crud ?>f i e l d s('name');
$ crud ?> s e t _ s u b j e c t ('тему тестирования');
$ crud ?> d i s p l a y _ a s ('name','Тема тестирования');
$ crud ?> d i s p l a y _ a s ('s e q u e n c e','Порядок прохождения теста');
$ crud ?> a d d _ a c t i o n ('Вопросы','','t e a c h e r s/q u e s t i o n s','ui ?icon ? p l u s');
$ o u t p u t = $ crud ?> r e n d e r ();
$ o u t p u t ?> t i t l e ='Темы тестирования';
$ t h i s ?>_ view ('t e a c h e r s/v i e w _ t e a c h e r s', $ o u t p u t, t ru e);
/ /$ t h i s ?>_ o u t p u t _ v i e w($ o u t p u t);
}
/ **
* Управление вопросами, которые задаются при прохождении теста по теме
*
* @parami n t e g e r$ theme_ id
* @ returnv o i d
* /
p u b l i c f u n c t i o n q u e s t i o n s ($ theme_ id = n u l l) {
$ d a t a ['l i n k']='/i n d e x.php/t e a c h e r s/themes';/ / Проблема с роутингом
$ t h i s ?> s e s s i o n ?> s e t _ u s e r d a t a ('theme', $ theme_ id);
$ d a t a ['l a b e l']='Назадктемам';
$ c rud = new Grocery_CRUD;
$ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
$ crud ?> s e t _ t a b l e ('q u e s t i o n s')
?> where ('t h e m e s _ i d', $ theme_ id);
/ /Отключениедопфункций
$ crud ?> u n s e t _ e x p o r t ();
$ crud ?> u n s e t _ d e l e t e ();
$ crud ?> u n s e t _ p r i n t ();
/ /$ crud ?>u n s e t _ r e a d();
/ /Переименование столбцов
$ crud ?> s e t _ s u b j e c t ('тестовое задание');
$ crud ?> columns ('d e s c r i p t i o n','images');
$ crud ?> d i s p l a y _ a s ('d e s c r i p t i o n','Постановка вопроса');
$ crud ?> s e t _ f i e l d _ u p l o a d ('images','download');
$ crud ?> d i s p l a y _ a s ('images','Иллюстрация к заданию');
/ /Присвоение вновь введенного вопроса выбранной теме
$ crud ?> f i e l d _ t y p e ('t h e m e s _ i d','h i d d e n', $ theme_ id);
$ crud ?> a d d _ a c t i o n ('Варианты ответов','','t e a c h e r s/answers','ui ?icon ? p l u s');
$ o u t p u t = $ crud ?> r e n d e r ();
$ o u t p u t ?> t i t l e ='Вопросы к теме';
$ t h i s ?>_ view ('t e a c h e r s/v i e w _ t e a c h e r s', $ o u t p u t, tru e);
$ t h i s ?> load ?> view ('t e a c h e r s/view_ back', $ d a t a);
}
103
/ **
* Управление вариантами ответа на заданный вопрос
*
* @paramunknown$ i d _ q u e s t i o n
* @ returnv o i d
* /
p u b l i c f u n c t i o n answers ($ i d _ q u e s t i o n = n u l l) {
$ d a t a ['l i n k']='/i n d e x.php/t e a c h e r s/q u e s t i o n s/'. $ t h i s ');/ /Проблемасроутингом?> s e s s i o n ?> u s e r d a t a ('theme
$ d a t a ['l a b e l']='Назадквопросам';
$ c rud = new Grocery_CRUD;
$ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
$ crud ?> s e t _ t a b l e ('answers')
?> where ('q u e s t i o n s _ i d', $ i d _ q u e s t i o n);
/ /Отключениедопфункций
$ crud ?> u n s e t _ e x p o r t ();
$ crud ?> u n s e t _ p r i n t ();
/ /Переименование столбцов
$ crud ?> s e t _ s u b j e c t ('вариантответа');
$ crud ?> columns ('d e s c r i p t i o n s','c o r r e c t');
$ crud ?> d i s p l a y _ a s ('d e s c r i p t i o n s','Вариантответа');
$ crud ?> d i s p l a y _ a s ('c o r r e c t','Правильность');
/ /Присвоение вновь введенного вопроса выбранной теме
$ crud ?> f i e l d _ t y p e ('q u e s t i o n s _ i d','h i d d e n', $ i d _ q u e s t i o n);
$ o u t p u t = $ crud ?> r e n d e r ();
/ /p r i n t _ r($ o u t p u t);
$ o u t p u t ?> t i t l e ='Варианты ответов';
$ t h i s ?>_ view ('t e a c h e r s/v i e w _ t e a c h e r s', $ o u t p u t, t ru e);
$ t h i s ?> load ?> view ('t e a c h e r s/view_ back', $ d a t a);
}
/ **
* Управление параметрами прохождения тестирования
*
* @ returnv o i d
* /
p u b l i c f u n c t i o n params () {
/ /echo'params';
$ c rud = new Grocery_CRUD;
$ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
$ crud ?> s e t _ t a b l e ('p a r a m e t e r s') ?> s e t _ s u b j e c t ('параметры тестирования');
/ /Отключение допфункций
$ crud ?> u n s e t _ p r i n t ();
$ crud ?> u n s e t _ e d i t ();
$ crud ?> u n s e t _ e x p o r t ();
$ crud ?> u n s e t _ d e l e t e ();
$ crud ?> u n s e t _ r e a d ();
/ /Переименование столбцов
$ crud ?> d i s p l a y _ a s ('Ko','Допустимый коэффициент освоения');
$ crud ?> d i s p l a y _ a s ('Kf','Допустимая вероятность угадывания последовательности заданий');
$ crud ?> d i s p l a y _ a s ('t i me_ ans wer','Время на обдумывание варианта ответа');
$ o u t p u t = $ crud ?> r e n d e r ();
/ /p r i n t _ r($ o u t p u t);
$ o u t p u t ?> t i t l e ='Настройка параметров тестирования';
$ t h i s ?>_ view ('t e a c h e r s/v i e w _ t e a c h e r s', $ o u t p u t, t ru e);
/ /$ t h i s ?>_ o u t p u t _ v i e w($ o u t p u t);
}
/ **
Вывод результатов прохождения тестирования
*
@ returnv o i d
* /
p u b l i c f u n c t i o n r e s u l t s () {
$ c rud = new Grocery_CRUD;
$ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
$ crud ?> s e t _ t a b l e ('t e s t s');
/ /Вывод только заверешенных тестов
$ crud ?> where ('c o m p l e t e', 1);
/ /Отключение допфункций&столбцов
$ crud ?> u n s e t _ e x p o r t ();
$ crud ?> u n s e t _ p r i n t ();
$ crud ?> u n s e t _ a d d ();
$ crud ?> u n s e t _ e d i t ();
$ crud ?> u n s e t _ d e l e t e ();
$ crud ?> u n s e t _ r e a d ();
$ crud ?> columns ('u s e r s _ i d','t h e m e s _ i d','p a r a m e t e r s _ i
$ crud ?> d i s p l a y _ a s ('Ku','Вероятностьугад.посл.заданий');
$ crud ?> d i s p l a y _ a s ('Ko','Косвоения');
$ crud ?> d i s p l a y _ a s ('s u c c e s s','Успешно');
/ /Связи
#Студенты
$ crud ?> s e t _ r e l a t i o n ('u s e r s _ i d','USERS','{surname}{n
$ crud ?> d i s p l a y _ a s ('u s e r s _ i d','ФИО');
#Темы
$ crud ?> s e t _ r e l a t i o n ('t h e m e s _ i d','THEMES','{name}');
$ crud ?> d i s p l a y _ a s ('t h e m e s _ i d','Тема тестирования');
#Параметры
$ crud ?> s e t _ r e l a t i o n ('p a r a m e t e r s _ i d','PARAMETERS',' Допустимая nвероятность угад.: {Kf} \Время n: {t i me_ ans w
$ crud ?> d i s p l a y _ a s ('p a r a m e t e r s _ i d','Параметры');
/ /Просмотрвы бранных ответов
$ crud ?> a d d _ a c t i o n ('Отчет','','t e a c h e r s/r e p o r t','u i
/ /$ crud ?>a d d _ a c t i o nОтветы(' ', ' ', 't e a c h e r s/t e s t', 'u
d','Ko','Ku
ame}{seco
Допустимы e r}');
?icon
i ?ico
$ crud ?> o r d e r _ b y ('i d','d e s c');
$ o u t p u t = $ crud ?> r e n d e r ();
$ o u t p u t ?> t i t l e ='Результаты тестирования';
$ t h i s ?>_ view ('t e a c h e r s/v i e w _ t e a c h e r s', $ o u t p u t,t ru e);
}
','s u c c e s s');
ndname}');
йКосв: {Ko} \
?image'); n ? p l u s');
212 / **
213 * Управление группами обучаемых
214 *
215 * @ returnv o i d
216 * /
217 p u b l i c f u n c t i o n g r o u p s () {
218 $ c rud =new Grocery_CRUD;
219 $ crud ?> s e t _ t a b l e ('g r o u p s');
220 / /$ crud ?>l i m i t(3,4);
221 $ crud ?> where ('i d>=', 3);
222 $ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
223 $ crud ?> u n s e t _ e x p o r t ();
224 $ crud ?> u n s e t _ d e l e t e ();
225 $ crud ?> u n s e t _ p r i n t ();
226 $ crud ?> u n s e t _ a d d ();
227 $ crud ?> u n s e t _ r e a d ();
228 $ crud ?> columns ('name','themes','e x e r c i s e s');
229 $ crud ?> s e t _ r e l a t i o n _ n _ n ('themes','groups_ x_ t hemes','themes','g r o u p s _ i d',' t h e m e s _ i d','name','');
230 $ crud ?> s e t _ r e l a t i o n _ n _ n ('e x e r c i s e s','g r o u p s _ x _ e x e r c i s e s','e x e r c i s e s',' g r o u p s _ i d','e x e r c i s e s _ i d','name','');
231 $ crud ?> f i e l d s ('name','themes','e x e r c i s e s');
232 $ crud ?> d i s p l a y _ a s ('themes','Темы тестирования');
233 $ crud ?> d i s p l a y _ a s ('name','Название группы');
234 $ crud ?> d i s p l a y _ a s ('e x e r c i s e s','Упражнения');
235 $ crud ?> a d d _ a c t i o n ('Темы тестирования','','t e a c h e r s/s e t t i n g s _ t h e m e s _ f o r _ g r o u p',' ui ?icon ?wrench');
236 $ crud ?> a d d _ a c t i o n ('Упражнения','','t e a c h e r s/s e t t i n g s _ e x e r c i s e s _ f o r _ g r o u p','ui ?
i con ?wrench');
237 $ o u t p u t = $ crud ?> r e n d e r ();
238
239 $ o u t p u t ?> t i t l e ='Список групп обучаемых';
240 $ t h i s ?>_ view ('t e a c h e r s/v i e w _ t e a c h e r s', $ o u t p u t, t ru e);
241
242 }
243
244 / **
245 * Установка соотвествия тема"тестирования группа ? обучаемых"
246 *
247 * @parami n t e g e r$ g r o u p _ i d
248 * @ returnv o i d
249 * /
250 p u b l i c f u n c t i o n s e t t i n g s _ t h e m e s _ f o r _ g r o u p ($ g r o u p _ i d = n u l l) {
251
252 $ c rud =new Grocery_CRUD;
253 / /$ crud ?>s e t _ t a b l e('g r o u p s');
254 / /$ crud ?>l i m i t(3,4);
255 $ group_ name = $ t h i s ?> mdl_ user ?> get_ group_ name ($ g r o u p _ i d);
256 $ c rud = new Grocery_CRUD;
257 $ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
258 $ crud ?> s e t _ t a b l e ('g roups_ x_ t hemes') ?> s e t _ s u b j e c t ('тему тестирования')
259 ?> where ('g r o u p s _ i d', $ g r o u p _ i d);
260 / /Отключение допфункций
261 $ crud ?> u n s e t _ e x p o r t ();
262 / /$ crud ?>u n s e t _ d e l e t e();
263 $ crud ?> u n s e t _ p r i n t ();
264 $ crud ?> u n s e t _ r e a d ();
265 $ crud ?> u n s e t _ e d i t ();
266
267 $ crud ?> columns ('t h e m e s _ i d') ?> d i s p l a y _ a s ('t h e m e s _ i d','Наименование темы тестирования');
268 $ crud ?> f i e l d s ('t h e m e s _ i d','g r o u p s _ i d');
269 $ crud ?> s e t _ r e l a t i o n ('t h e m e s _ i d','themes','name');
270 $ crud ?> f i e l d _ t y p e ('g r o u p s _ i d','h i d d e n', $ g r o u p _ i d);
271
272 $ o u t p u t = $ crud ?> r e n d e r ();
273 $ o u t p u t ?> t i t l e ='Установка тем тестирования для группы"'. $ group_ name.'"';
274 $ o u t p u t ?> group_ name=$ group_ name;
275 $ t h i s ?>_ view ('t e a c h e r s/v i e w _ t e a c h e r s', $ o u t p u t, t ru e);
276 }
277
278 / **
279 * Форма№2 - Настройки для всей группы обучаемых
280 *
281 * @parami n t e g e r$ g r o u p _ i d
282 * /
283 p u b l i c f u n c t i o n s e t t i n g s _ e x e r c i s e s _ f o r _ g r o u p ($ g r o u p _ i d = n u l l) {
284 / /echo's e t i n g s _ e x e r c i s e s _ f o r _ g r o u p';
285 $ group_ name = $ t h i s ?> mdl_ user ?> get_ group_ name ($ g r o u p _ i d);
286 $ c rud = new Grocery_CRUD;
287 $ crud ?> s e t _ t h e m e ('d a t a t a b l e s');
288 $ crud ?> s e t _ t a b l e ('g r o u p s _ x _ e x e r c i s e s') ?> s e t _ s u b j e c t ('упражнение')
289 ?> where ('g r o u p s _ i d', $ g r o u p _ i d);
290 / /Отключение допфункций
291 $ crud ?> u n s e t _ e x p o r t ();
292 / /$ crud ?>u n s e t _ d e l e t e();
293 $ crud ?> u n s e t _ p r i n t ();
294 $ crud ?> u n s e t _ r e a d ();
295 $ crud ?> u n s e t _ e d i t ();
296
297 $ crud ?> columns ('e x e r c i s e s _ i d') ?> d i s p l a y _ a s ('e x e r c i s e s _ i d','Наименование упражнения');
298 $ crud ?> f i e l d s ('e x e r c i s e s _ i d','g r o u p s _ i d');
299 $ crud ?> s e t _ r e l a t i o n ('e x e r c i s e s _ i d','e x e r c i s e s','name');
300 $ crud ?> f i e l d _ t y p e ('g r o u p s _ i d','h i d d e n', $ g r o u p _ i d);
301
302 $ crud ?> a d d _ a c t i o n ('Информация об упражнении','','e x e r c i s e s/e x e r c i s e _ i n f o','ui ?
i con ? p l u s');
303
304 $ o u t p u t = $ crud ?> r e n d e r ();
305 $ o u t p u t ?> t i t l e ='Настройкидлягруппыобучаемых"'. $ group_ name.'"';
306 $ o u t p u t ?> group_ name=$ group_ name;
307 $ t h i s ?>_ view ('t e a c h e r s/view_ form 2', $ o u t p u t, t ru e);
308 }
309
310
311
312 / **
313 * Формированиеотчетавформатеpdf
314 *
315 * @parami n t e g e r$ t e s t _ i d
316 * @ returnv o i d
317 * /
318 p u b l i c f u n c t i o n r e p o r t ($ t e s t _ i d = n u l l) {
319 i f ($ t e s t _ i d) {
320
321 i n i _ s e t ("memory_ l imit"," ?1");
322 $ t h i s ?> load ?>model ('m d l _ s t u d e n t');
323 $ t h i s ?> load ?> l i b r a r y ('mpdf60/mpdf.php');
324 $ t h i s ?> load ?>model ('mdl_ user');
325 $ t e s t _ i n f o = $ t h i s ?> m d l _ s t u d e n t ?> g e t I n f o T e s t ($ t e s t _ i d);
326 i f ($ t e s t _ i n f o) {
327 $ u s e r _ i n f o = $ t h i s ?> mdl_ user ?> g e t _ i n f o _ p r o f i l e ($ t e s t _ i n f o ['u s e r s _ i d']);
328 $ pa r am_ i n fo = $ t h i s ?> m d l _ s t u d e n t ?> g e t I n f o P a r a m ($ t e s t _ i n f o ['p a r a m e t e r s _ i d']);
329}
330
331
332 $mpdf=new mPDF ();
333 $mpdf?>Bookmark ('Результаты прохождения теста обучаемым');
334 $mHTML='<d i vi d="h e a d e rРезультаты">прохождения теста обучаемым</div>';
335 $mHTML. ='<div><spanc l a s s="paramОбучаемый" >:</span>'. $ u s e r _ i n f o ['FIO'] [' surname'].''. $ u s e r _ i n f o ['FIO'] ['name'].''. $ u s e r _ i n f o ['FIO'] ['secondname'
].'</div>';
336 $mHTML. ='<div><spanc l a s s="paramТема" >:</span>'. $ t e s t _ i 337 n f o ['theme'].'</div>';
338 i f ($ t e s t _ i n f o ['s u c c e s s']) {
339 $mHTML. ='<div><spanc l a s s="param Результат" >: </span>тест пройден успешно</div>';
340 } e l s e {
341 $mHTML. ='<div><spanc l a s s="param Результат" >: </span>тест пройден неуспешно</div>';
342 }
343
344 $mHTML. ='<div><spanc l a s s="param Текущий">коэффициент освоения на (момент окончания теста):</span>'. $ t e s t _ i n f o ['Ko'].'</div>';
345 $mHTML. ='<div><spanc l a s s="param Допустимый">коэффициент освоения:</span>'.
346 $ par am_ i n fo ['Ko'].'</div>';
347 $mHTML. ='<div><spanc l a s s="paramТекущая">вероятность угадывания последовательности заданий на (момент окончания теста):
348 </span>'. $ t e s t _ i n f o ['Ku'].'</div>';
349 $mHTML. ='<div><spanc l a s s="param Допустимая">вероятность угадывания последовательности заданий:</span>'. $ p a r am_ i nfo ['Kf'].'</div>';
350
351 $ i = 1;
352 $mHTML. ='<t a b l ec o l s=" 3 "c l a s s="q u e s t i o n s">';
353 foreach ($ t e s t _ i n f o ['q u e s t i o n s'] as $ q u e s t i o n s) {
354
355 $mHTML. ='<t rc l a s s="q u e s t i o n s"><t hc o l s p a n=" 3 "c l a s s="t a s k _ t i t l eq u e s t i o n s Вопрос">№'. $ i.'</th> </t r>';
356 $mHTML. ='<t rc l a s s="q u e s t i o n s"><t dc o l s p a n=" 3 "c l a s s="q u e s t i o n s">'. $ q u e s t i o n s [ 'd e s c r i p t i o n'].'</td> </t r>';
357 $mHTML. ='<t rc l a s s="q u e s t i o n s"><t hc l a s s="q u e s t i o n sВарианты">ответа</th><t h
c l a s s="q u e s t i o n sВыбран" > </th><t hc l a s s="q u e s t i o n sПравильный" > </th> </t r>';
358
359 $ c o u n t _ a n s w e r s = 0;
360 foreach ($ q u e s t i o n s ['answers'] as $ answers) {
361 $mHTML. ='<t rc l a s s="q u e s t i o n s">';
Подобные документы
Автоматизация процесса профессионального обучения в разных отраслях с применением компьютерных тренажеров. Выбор средств разработки подсистемы автоматизированного обучения компьютерного тренажерного комплекса. Проектирование пользовательских интерфейсов.
дипломная работа [4,1 M], добавлен 27.04.2018Особенности и классификация программных комплексов, их обзор и функциональные возможности в сфере обучения. Объектно-ориентированное проектирование компьютерного практикума. Разработка и структура информационного обеспечения, основные требования к нему.
дипломная работа [3,3 M], добавлен 19.01.2017Исследование специфики и этапов освоения технологии создания компьютерного теста. Основные принципы организации компьютерного тестирования средствами офисных технологий, порядок работы с тестовыми оболочками. Разработка компьютерного теста по теме.
лабораторная работа [2,0 M], добавлен 29.04.2011Пакет презентационной графики, ее основные возможности. Преимущества PowerPoint перед другими технологиями слайд-шоу и анимации. Создание презентации. Основы организации рабочего места оператора по обработке информации и программного обеспечения.
дипломная работа [4,5 M], добавлен 25.05.2014Характеристика предприятия, анализ целей и проблемных ситуаций, структура информационного обеспечения. Проектирование подсистемы для автоматизации процесса составления отчетности по обучению на авторских курсах фирмы "1С", ее экономическая эффективность.
дипломная работа [7,2 M], добавлен 01.07.2011Понятие информации, информационных технологий и их виды. Анализ основных положений по автоматизации рабочего места оператора автотранспортного предприятия. Разработка модели автоматизированного рабочего места начальника отдела. Применение модели АРМ.
дипломная работа [4,0 M], добавлен 18.09.2010Разработка алгоритма автоматизации работы компьютерного магазина, изменив и доработав имеющиеся модули в системе "1С" в соответствии с заявленными требованиями. Состав выполняемых функций. Требования к составу и параметрам технических средств приложения.
дипломная работа [1,2 M], добавлен 26.09.2014Разработка программного обеспечения автоматизированного рабочего места (АРМ) оператора вертикального стенда нагрева промковшей. Определение задач подлежащих автоматизации. Основные принципы построения АРМ. Состав пульта управления вертикальным стендом.
курсовая работа [1,6 M], добавлен 03.07.2012Анализ программных средств (операционных систем), необходимых для реализации учебных задач компьютерного класса. Особенности Windows XP, Linux Mandriva. Информационная модель настройки сервера на примере Windows Server 2008, его программное обеспечение.
дипломная работа [4,7 M], добавлен 21.09.2012Диагностический анализ системы управления предприятия, построение функциональной схемы. Анализ информационного, технического и программного обеспечения. Разработка информационной подсистемы "Заработная плата" и экономическая эффективность проекта.
дипломная работа [5,6 M], добавлен 21.06.2011