Разработка подсистемы статистического учёта успеваемости студентов для сетевой системы поддержки дистанционного обучения ОРОКС

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 16.11.2017
Размер файла 911,3 K

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

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

Размещено на http://www.allbest.ru/

Министерство образования Российской Федерации

Московский государственный институт электронной техники

Технический Университет

ФАКУЛЬТЕТ МП и ТК

КАФЕДРА ИПОВС

Дипломный проект

на тему «Разработка подсистемы статистического учёта успеваемости студентов для сетевой системы поддержки дистанционного обучения ОРОКС»

Дипломант Кришан С.А.

Руководитель проекта Ашарина И.В.

Москва 2002

Содержание

  • Введение
  • 1. Специальная часть
    • 1.1 Анализ системы ОРОКС
      • 1.1.1 Организация обучения на базе системы ОРОКС
      • 1.1.2 Состав индивидуального учебного плана пользователя
      • 1.1.3 Процесс взаимодействия обучаемого с учебным заведением
      • 1.1.4 Анализ существующих функций администрирования процесса обучения
      • 1.1.5 Постановка задачи
        • 1.1.5.1 Требования к информационной и программной совместимости
        • 1.1.5.2 Основные элементы интерфейса, предоставляемые технологией WWW
    • 1.2 Проектирование подсистемы статистического учёта успеваемости студентов
      • 1.2.1 Язык моделирования, используемый при проектировании подсистемы
      • 1.2.2 Разработка общей структурной схемы подсистемы
      • 1.2.3 Структура данных, используемых подсистемой
      • 1.2.4 Проектирование и реализация компонентов подсистемы
        • 1.2.4.1 Учебная карточка студента
        • 1.2.4.2 Передача работ преподавателю
        • 1.2.4.3 Текущая успеваемость
        • 1.2.4.4 Статистика по студентам
    • 1.3 Особенности реализации подсистемы
      • 1.3.1 Взаимодействие с базой данных
      • 1.3.2 Передача значений между формами
      • 1.3.3 Особенности, связанные с подготовкой отчётов для печати
      • 1.3.4 Сортировка массивов
    • 1.4 Методика испытаний
  • 2. Технологическая часть. Особенности разработки программ на скриптовом языке Perl с использованием интерфейса CGI
    • 2.1 Интерфейс CGI. Вопросы взаимодействия внешних прикладных программ с информационным сервером HTTP
      • 2.1.1 Введение в технологию WWW
      • 2.1.2 Common Gateway Interface как средство расширения возможностей World Wide Web технологии
    • 2.2 Особенности языка Perl
      • 2.2.1 История создания языка
      • 2.2.2 Синтаксис языка
    • 2.3 Особенности отладки CGI-программ
      • 2.2.1 Ошибки в Perl-программе
      • 2.2.2 Отладка шаблонов
      • 2.2.3 Использование ModPerl
      • 2.2.4 Ошибки при настройке WWW-сервера
      • 2.2.5 Ошибки при выполнении SQL-выражений
    • 2.4 Диаграммы UML, используемые при проектировании подсистемы
      • 2.4.1 Введение
      • 2.4.2 Диаграммы вариантов использования
      • 2.4.3 Диаграммы деятельности
      • 2.4.4 Диаграммы последовательностей
  • 3. Организационно-экономическая часть. Особенности сегментации рынка программного продукта
    • 3.1 Принципы сегментации с учётом специфики продукта
    • 3.2 Методика расчёта сегментации рынка
    • 3.3 Поиск сегментов рынка для подсистемы статистического учёта успеваемости студентов
    • 3.5 Оценка затрат на создание программного продукта и определение точки безубыточности
    • 3.6 Вывод
  • 4. Производственная и экологическая безопасность. Организация рабочего места программиста и пользователя ЭВМ
    • 4.1 Вредные факторы на рабочем месте программиста
    • и пользователя ЭВМ
      • 4.1.1 Излучения экрана монитора
      • 4.1.2 Микроклимат помещения
      • 4.1.3 Требования к уровням шума
      • 4.1.4 Психофизиологические факторы
        • 4.1.4.1 Физические перегрузки (статические)
        • 4.1.4.2 Монотонность труда
        • 4.1.4.3 Описание зрительной работы оператора
  • Заключение
  • Список литературы
  • Приложения
    • Фрагмент текста программы

Введение

база система администрирование

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

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

Не вдаваясь в технические подробности, отметим, что в совокупности с протоколом CGI, языками Java, JavaScript, ActiveX, мультимедийными технологиями Macromedia, передачей звука в реальном времени Real Audio, MPEG и рядом других технологий, Интернет предоставляет поистине неограниченные возможности для создания дистанционных учебных курсов. Именно поэтому данной сфере использования всемирной сети в настоящее время уделяется всё большее внимание. Использование современных информационных технологий при преподавании и при администрировании учебного процесса позволят территориально удаленным студентам получать качественное образование.

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

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

Одной из таких многофункциональных систем является ОРОКС (оболочка для создания распределенных обучающих и контролирующих систем), разработанная в Московском областном центре новых информационных технологий при Московском Институте Электронной Техники.

Предлагаемый к защите дипломный проект создан в связи с развитием системы ОРОКС для расширения её функциональных возможностей, наиболее актуальных на данный момент.

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

Пояснительная записка состоит из следующих разделов:

- специальная часть;

- технологическая часть;

- организационно-экономическая часть;

- производственная и экологическая безопасность;

- заключение;

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

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

В технологической части проекта рассматриваются особенностям разработки программ на скриптовом языке Perl с использованием CGI, методы их отладки.

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

В производственно-экологическом разделе рассмотрены вопросы эргономики рабочего места программиста и пользователя ЭВМ.

1. Специальная часть

В первой главе рассматривается текущее состояние системы ОРОКС, описывается процесс обучения и контроля успеваемости, произведён анализ существующих инструментов для администрирования учебного процесса.

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

1.1 Анализ системы ОРОКС

Система ОРОКС разрабатывается в Московском областном центре новых информационных технологий при Московском Институте Электронной Техники с 1998 года. На начальном этапе разработки система представляла собой простое программное средство для проведения тестирования. За это время система претерпела значительные изменения и в настоящее время превратилась в мощную многофункциональную систему организации дистанционного учебного процесса с использованием сетевых технологий.

Функциональные возможности системы ОРОКС [1]:

1. Создание электронных учебно-методических модулей.

1.1. Обучающие модули.

1.2. Контролирующие модули типа «Тест».

1.3. Контролирующие модули типа «Контрольная работа».

1.4. Обучающе-контролирующие модули.

2. Проведение удаленного обучения и контроля учащихся.

2.1 Разнесенного в пространстве:

- дистанционно (индивидуально или группы) через Интернет;

- очное обучение в рамках локальной сети.

2.2 Разнесенного во времени:

- в реальном масштабе;

- в отложенном режиме.

3. Управление учебным процессом

3.1. Создание индивидуальных и групповых графиков обучения (учебных планов).

3.2. Контроль процесса обучения.

3.3. Интерактивное взаимодействие с учащимся.

3.4. Фиксация результатов выполнения работ.

4. Администрирование:

4.1. Организация прав доступа разным категориям пользователей

4.2. Ведение серверных баз данных:

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

- учебно-методических пособий;

- ответов обучающихся и результатов контроля;

- сообщений пользователей;

4.3. Разграничение прав для разных категорий пользователей.

4.4. Организация защиты.

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

Система реализована в виде набора скриптов на языке Perl, имеющих интерфейс с SQL-базой данных. Это позволяет осуществлять установку системы ОРОКС на большое число платформ: x86/Pentium, Sparc под управлением Unix различных версий (FreeBSD/OpenBSD, Linux, Solaris), Win32 (Windows NT/2000/XP, Windows 95/98/ME). Возможен также комбинированный вариант - например, Web-сервер под управлением Windows NT, а SQL-сервер под UNIX (оба сервера должны при этом находится в пределах локальной сети).

В качестве SQL-сервера используется MySQL. Данная СУБД на сегодняшний день получила очень широкое распространение в качестве средства для работы с базами данных во всемирной паутине. Это связано с тем, что она совершенно не требовательна к ресурсам сервера, на котором работает, очень быстрая (является самой быстрой реляционной СУБД, так как не поддерживает транзакций) и, что немаловажно, - она бесплатная, то есть распространяется по лицензии GNU GPL. MySQL поддерживает большое количество платформ: Windows 95/98/ME/NT/2000/XP, Linux, FreeBSD, NetBSD, UNIX, AIX, Mac OS X.

Состав системы ОРОКС, а также взаимодействие с пользователем и между различными частями системы в общем случае приведены на pис. 1.

Рис. 1. Структура и принцип работы системы ОРОКС

Система работает в связке с базой данных таким образом, имеет место трехуровневая схема: HTTP сервер - скрипты - база данных. Вопросы взаимодействия данной структуры описаны в технологической части пояснительной записки.

1.1.1 Организация обучения на базе системы ОРОКС

Дистанционное обучение на базе системы ОРОКС строится на основе учебного плана специальности, разрабатываемого ВУЗом в соответствии с государственным образовательным стандартом [2]. Основным компонентом индивидуальной программы обучения для конкретного студента является перечень дисциплин, который формируется на основании учебного плана специальности с учётом возможности перезачёта дисциплин, ранее изученных в другом высшем учебном заведении.

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

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

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

Индивидуальная учебная программа студента, рассчитанная на весь период обучения разбивается по семестрам, образуя набор индивидуальных учебных планов на каждый семестр. Именно такой индивидуальный учебный план и назначается каждому студенту в системе ОРОКС в начале каждого семестра обучения. Кроме того, система ОРОКС позволяет назначить один и тот же учебный план нескольким пользователям или целой учебной группе. Учебные планы, назначенные на группу, могут быть использованы при организации дистанционного обучения в территориально удалённых региональных центрах ВУЗа.

1.1.2 Состав индивидуального учебного плана пользователя

Учебный план пользователя включает в себя следующие составляющие:

1) список изучаемых за текущий семестр дисциплин;

2) список занятий по каждой дисциплине;

3) информацию о типах и требуемой последовательности прохождения занятий;

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

· по времени (срокам) прохождения занятия;

· по числу попыток прохождения данного занятия;

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

· способ учета оценки и др.

5) дату начала обучения.

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

Занятием может быть: модуль ОРОКС, подключаемый внешний файл или каталог с файлами в различных форматах, а также ссылка на ресурс Интернет. В связи с особенностями дистанционного обучения традиционные типы занятий: лекционные, практические, лабораторные, индивидуальные и самостоятельные трансформировались в следующие: тема (теоретический материал), контрольная работа, зачёт, экзамен, ссылка на материалы, находящиеся на прилагаемом носителе (CD-ROM).

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

1.1.3 Процесс взаимодействия обучаемого с учебным заведением

Взаимодействие студента с учебным заведением происходит следующим образом.

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

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

В течение семестра студент изучает материалы с компакт-диска на основании своего учебного плана, периодически выходя в Интернет для прохождения контрольных работ в ОРОКС. Контрольные работы могут быть выполнены как в виде интерактивных тестов, так и в виде заданий к контрольным работам. Выполнение тестов фиксируется системой ОРОКС и сразу же автоматически происходит выставление оценок. Обращение к заданиям контрольных работ также фиксируется системой. Студент выполняет контрольную работу и затем отправляет её посредством обычной или электронной почты в образовательное учреждение, где она проверяется и оценивается. Результаты также заносятся в БД системы ОРОКС.

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

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

В настоящее время система ОРОКС имеет следующие функции для просмотра и учёта успеваемости студентов:

1. Просмотр результатов обучения. Данная функция позволяет производить целенаправленную выборку результатов из БД. Функция позволяет просматривать результаты обучения конкретного студента, всех студентов группы за определённый отрезок времени с возможностью сортировки.

К недостаткам данной функции относятся:

· отсутствие возможности настройки отображаемой информации;

· отсутствие возможности выбора результатов по каким-либо выбранным контрольным мероприятиям;

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

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

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

К недостаткам данной функции относятся:

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

· так как зачастую результаты решения контрольных работ имеют большой объём и содержат формулы, ввод которых через предлагаемый текстовый интерфейс практически невозможен, то передача решений в образовательное учреждение происходит с помощью обычной или электронной почты. В связи с этим передача работ преподавателю на проверку и проставление оценок выполняется учебным администратором, действия которого по получению решения контрольной работы и передаче на проверку преподавателю никаким образом в системе ОРОКС не контролируются, как и учёт работы преподавателя по проверке контрольных работ.

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

К недостаткам существующих методов администрирования учебного процесса относятся:

· полное отсутствие в системе возможности автоматизированной подготовки отчётов по состоянию обучения;

· жёсткая привязка контрольных мероприятий к модулям системы ОРОКС, не позволяющая вводить результаты по зачётам и экзаменам, сдача которых происходит очно;

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

1.1.5 Постановка задачи

На основе проведённого анализа системы ОРОКС и выявленных недостатков были поставлена задача разработки подсистемы статистического учёта успеваемости студентов, которая бы работала в составе системы ОРОКС и решала следующие задачи:

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

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

· задачи ввода информации о доставке контрольных работ в учебное учреждение, ввода и изменение оценок за контрольную работу/зачёт/экзамен.

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

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

1.1.5.1 Требования к информационной и программной совместимости

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

Система ОРОКС написана на языке Perl и работает с использованием клиент-серверной технологии CGI, поэтому подсистема также должна быть реализована на языке Perl с учётом возможности использования библиотечных функций и интерфейсов доступа к реляционной БД, предоставляемых системой ОРОКС. Информация должна отображаться с учётом правил и ограничений, накладываемых Web-интерфейсом системы.

1.1.5.2 Основные элементы интерфейса, предоставляемые технологией WWW

Взаимодействие с клиентом обеспечивается через HTML формы. Определение форм производится тегами языка HTML <form> и </form>. Вложенность форм не допускается. В форме содержатся управляющие элементы. Клиент заполняет форму, полученную от сервера, своими значениями, нажимает на кнопку отправки формы «Submit», браузер кодирует данные соответствующим образом и отправляет их серверу на обработку.

Имя каждого элемента формы задаётся атрибутом «name». Область действия управляющего элемента ограничена тегами формы (<form> и </form>). Каждый управляющий элемент имеет начальное и текущее значение, определяемое атрибутом «value». Текущее значение управляющего элемента сначала устанавливается равным начальному значению. Затем текущее значение может изменяться пользователем или скриптами. Начальное значение управляющего элемента не изменяется. При сбросе формы (выполняется при нажатии на элемент «reset») каждое текущее значение формы устанавливается равным по умолчанию. Когда форма передаётся на сервер для обработки, с формой передаются пары «имя управляющего элемента - значение».

Все основные элементы ввода в HTML документе определяются тегами <input>, <textarea> и <select>.

В табл. 1 приведены управляющие элементы ввода, которые могут использоваться при построении системы, основанной на Web-интерфейсе:

Таблица 1. Управляющие элементы ввода, используемые при построении систем, основанных на Web-интерфейсе

Обозначение элемента

Наименование

Изображение

<input type= “submit”>

Кнопка отправки формы

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

<input type= “reset”>

Кнопка сброса

При нажатии происходит установка текущих значений всех управляющих элементов формы на значения, установленные по умолчанию

<input type= “button”>

Командная кнопка

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

<input type= “image”>

Графическая кнопка отправки формы

Графическое изображение кнопки задаётся атрибутом SRC элемента. При нажатии серверу выдаются координаты щелчка (x, y), измеряемые в пикселах. Сервер может предпринимать различные действия в зависимости от места щелчка.

<input type= “text”>

Строка ввода

Элемент для ввода текста из одной строки.

<input type= “password”>

Строка для ввода пароля

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

<input type= “checkbox”>

Элемент ввода «флажок»

Флажки - это переключатели, вкл./выкл., которые могут переключаться пользователем.

<input type= “radio”>

Элемент ввода «радиокнопка»

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

<input type= “hidden”>

Невидимый управляющий элемент

n/a

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

<input type= “file”>

Элемент для выбора файла

Элемент данного типа позволяет пользователю выбрать файл, содержимое которого может передаваться на сервер вместе с формой.

<textarea>

Поле многострочного ввода

Элемент данного типа позволяет пользователю вводить многострочный текст.

<select>

Элемент для выбора значений из списка

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

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

Перечислим основные используемые элементы для форматирования текстов, используемые в системе ОРОКС:

<b>Жирный </b>

<i>Наклонный</i>

<u>Подчеркнутый</u>

<font color="red">Цветной</font>

Язык HTML также возможности и для использования таблиц. Этот элемент интерфейса активно используется в системе ОРОКС, поскольку является очень удобным для представления табличных данных системы.

1.2 Проектирование подсистемы статистического учёта успеваемости студентов

1.2.1 Язык моделирования, используемый при проектировании подсистемы

При проектировании подсистемы использовались элементы унифицированного языка объектно-ориентированного моделирования UML [3]. Несмотря на то, что язык Perl не является объектно-ориентированным, такие инструменты UML, как диаграммы вариантов использования, диаграммы деятельности и диаграммы последовательностей очень удобны для проектирования сценариев работы Perl-программ, взаимодействующих с базой данных. Инструменты языка UML, использовавшиеся при проектировании подсистемы описаны в технологической части пояснительной записки.

1.2.2 Разработка общей структурной схемы подсистемы.

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

Выполняемые студентами контрольные мероприятия делятся на три основные группы:

1. тесты;

2. контрольные работы,

3. зачёты и экзамены.

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

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

Решённые контрольные работы накапливаются в деканате. Через определённое время эти решения передаются преподавателю на проверку. При этом следует занести в БД информацию о том, какие работы выданы, кому, и на какой срок. Также следует сформировать акт передачи, в который необходимо занести информацию:

· ФИО преподавателя;

· дата выдачи на проверку;

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

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

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

Поскольку приём зачётов и экзаменов происходит очно в учебном учреждении, система ОРОКС автоматически не может отслеживать результаты сдачи этих работ. Поэтому подсистема должна обеспечивать ввод этих данных в БД системы ОРОКС администратором учебного процесса (например, на основе оценок, проставленных в зачётно/экзаменационные ведомости и направления на зачёт/экзамен).

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

· текущих результатов обучения студента(ов);

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

· различной статистической информации.

Таким образом, мы получили общую схему информационных потоков подсистемы, изображенную на pис. 2.

Рис. 2. Общая схема информационных потоков

Вся работа по использованию подсистемы выполняется администратором учебного процесса. На pис. 3 показана диаграмма вариантов использования подсистемы.

Рис. 3. Диаграмма вариантов использования подсистемы

Подсистема статистического учёта успеваемости студентов будет состоять из четырёх основных компонентов:

ь Учебная карточка студента;

ь Текущая успеваемость;

ь Передача работ преподавателю;

ь Статистика по студентам.

Общая структурная схема подсистемы изображена на pис. 4.

Рис. 4. Общая структурная схема подсистемы

1.2.3 Структура данных, используемых подсистемой

Разрабатываемая подсистема статистического учёта успеваемости студентов должна работать в составе СДО ОРОКС, поэтому при работе подсистемы используется информация из БД системы ОРОКС, а именно:

· Информация о составе учебных планов, о назначении учебных планов студентам, о преподавателях, курирующих определённые дисциплины учебных планов.

· Данные о студентах и преподавателях, назначенных каждому студенту по определённой дисциплине.

· Результаты выполнения студентами контрольных мероприятий.

В табл. 2 приведены данные, необходимые для работы подсистемы, имеющиеся в БД системы ОРОКС.

Таблица 2. Описание полей БД системы ОРОКС, используемых подсистемой

USERS

Таблица пользователей

ID

int

идентификатор записи

ufam

varchar(25)

фамилия

uname

varchar(25)

имя

uname2

varchar(25)

отчество

ugroup

varchar(25)

учебная группа

uflags

varchar(25)

категория пользователя

RESULTS

Таблица результатов обучения

ID

int

идентификатор записи

userID

int

идентификатор пользователя (из USERS)

modID

int

идентификатор модуля (из MODULES)

stage

varchar(10)

код блока или оценка для законченных работ

resOK

float(10,2)

суммарный вес верных ответов

finOK

enum('NO','YES')

флаг «модуль закончен»

rdate

date

дата обновления записи

rtime

time

время обновления записи

aplan_ID

int

идентификатор назначенного плана из ASSIGNED_PLANS

discipline

int

номер дисциплины

lesson

int

номер занятия

kinfo_ID

int

идентификатор записи с доп. данными по контрольной работе из KINFO

type

int

тип результата (0=тест, 1=контрольная, 2=зачет/экзамен, тест, 3=IMS)

MODULES

Таблица заголовков модулей ОРОКС

ID

int

идентификатор записи

tname

varchar(10)

код модуля

tcap

varchar(255)

название модуля

krab

enum('OFF','ON')

вкл. режим контрольной работы

PLANS

Таблица хранящихся в БД базовых учебных планов пользователей

ID

int

идентификатор записи

descr

varchar(250)

название плана

s_date

date

дата начала обучения

e_date

date

дата окончания обучения

DPLANS

Таблица хранящихся в БД производных учебных планов пользователей

ID

int

идентификатор записи

descr

varchar(255)

текстовое описание плана

base_ID

int

ссылка на базовый учебный план (PLANS)

disciplines

blob

список дисциплин из базового учебного плана

DISCIPLINES

Таблица имеющихся в базовых планах дисциплин

ID

int

идентификатор записи

owner_ID

int

ссылка на ID базового плана (PLANS)

num

int

порядковый номер дисциплины

title

int

название дисциплины

s_date

date

дата начала обучения

e_date

date

дата окончания обучения

LESSONS

Таблица содержащихся в дисциплине занятий

ID

int

идентификатор записи

owner_id

int

ссылка на ID дисциплины

num

int

порядковый номер занятия в дисциплине

title

varchar(150)

название занятия

s_date

date

дата начала выполнения занятия

e_date

date

дата окончания выполнения занятия

type

enum('test','lecture','exam','cd_prompt','zachet')

тип занятия

res_type

enum('om','file')

тип ресурса, связанного с занятием (модуль, файл)

res

blob

ссылка на ресурс

ASSIGNED_PLANS

Таблица связи учебных планов с пользователями/группами пользователей

ID

int

идентификатор записи

target_type

enum('CATEG',

'USER','GROUP')

тип категории, которой назначен план

target_ID

varchar(50)

кому назначен (ID пользователя, название группы или категории)

plan_type

int

тип плана (0 - файл, 1 - база)

plan_location

varchar(255)

базовый или производный план (plans - базовый, dplans - производный). Для файлов - имя каталога.

plan_ID

varchar(50)

идентификатор плана

plan_start

date

дата начала обучения

active

tinyint(1)

флаг активности

assigned

datetime

дата и время назначения

semester

int

номер семестра

TUTORS

Таблица связи преподавателей с дисциплинами базового плана

ID

int

идентификатор записи

plan_ID

int

идентификатор плана из PLANS

disnum

int

порядковый номер дисциплины

prep_ID

int

ID преподавателя из USERS

STUDENTS

Таблица связи преподавателей со студентами

ID

int

идентификатор записи

stud_ID

int

идентификатор студента из USERS

tutor_ID

int

идентификатор преподавателя из TUTORS

В базе данных системы ОРОКС не предусмотрено хранение дополнительной информации о контрольной работе (даты доставки работы в учебное учреждение, даты выдачи на проверку и т.п.), поэтому для этого была создана дополнительная таблица KINFO, структура и описание полей которой показано в табл. 3.

Таблица 3. Структура и описание полей таблицы KINFO

Поле

Тип

Описание поля

ID

int

идентификатор записи

tutor_ID

int

идентификатор пользователя, проверяющего контрольную (из users)

received

date

дата прихода работы в институт

handed_out

date

дата выдачи на проверку преподавателю

handed_in

date

дата сдачи преподавателем проверенной работы

max_duration

int

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

На pис. 5 показаны связи между таблицами БД.

Рис. 5. Связи между таблицами БД

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

1.2.4.1 Учебная карточка студента

Процедура «Учебная карточка студентов» реализует следующие варианты использования:

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

2. Подготовка к печати отчётов по результатам обучения студента(ов) по конкретному семестру обучения.

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

1. Выбор студента или всех студентов учебной группы. Информацию о студентах можно получить из таблицы USERS базы данных ОРОКС. Для выбора предлагается создавать таблицу со списком студентов группы. Группа в свою очередь будет выбираться из списка всех учебных групп. Для облегчения поиска конкретного студента в таблице можно предусмотреть поиск студента по начальным буквам фамилии. При этом в таблице студентов будут отображаться только те студенты группы, которые удовлетворяют условию поиска.

2. Выбор учебного плана как для конкретного студента, так и для всех студентов группы (групповой план). Данные о назначенных студентам планах находится в таблице ASSIGNED_PLANS БД ОРОКС. Выбор целесообразно реализовать из списка учебных планов, в который должны быть занесены учебные планы, назначенные студенту как в текущем, так и в предыдущих семестрах обучения. Выпадающие списки учебных планов предлагается включить в таблицу студентов в ячейку напротив фамилии студента.

Эскиз входной формы, на которой осуществляются эти действия, представлен на pис. 6:

Рис. 6. Эскиз формы №1: выбор группы, студента(ов), учебного плана

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

1. Выбрать дисциплину из списка всех дисциплин выбранного учебного плана. Целесообразно осуществлять этот выбор из выпадающего списка.

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

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

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

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

· Так как контрольные мероприятия в виде зачётов и экзаменов выполняются очно и результаты их выполнения, в отличие от тестов и контрольных работ, системой ОРОКС автоматически не фиксируются, то в таблицу результатов выполнения зачётов и экзаменов следует выводить список всех студентов. Для тестов и контрольных работ в таблицу должны быть включены результаты только тех студентов, факт выполнения которыми контрольного мероприятия зафиксирован системой.

Ввод дат доставки контрольных работ и оценивание удобно осуществлять из соответствующей ячейки таблицы результатов. Для ввода даты доставки контрольной работы в ячейку с датой доставки можно поместить рисунок, при нажатии на который в БД будет занесена текущая дата. При вводе в БД системы ОРОКС даты доставки также следует занести идентификатор преподавателя, курирующего обучение студента по выбранной дисциплине. Это позволит существенно ускорить выборку информации о контрольных работах при выдаче решений на проверку преподавателю.

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

На pис. 7 показан эскиз формы, на которой производится просмотр успеваемости, ввод информации в БД ОРОКС о доставке работ, ввод и редактирование оценок.

Рис. 7. Эскиз формы №2: просмотр успеваемости, ввод информации в БД

Для подготовки к печати отчётов по результатам обучения, как и при просмотре результатов, учебному администратору следует сначала выбрать студента(ов) и учебный план. Поэтому данные действия для двух вариантов использования можно объединить. Затем следует настроить параметры отчёта:

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

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

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

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

После настройки параметров отчёта учебный администратор путём нажатия кнопки «Создать документ» активизирует создание документа с отчётом, который распечатывается средствами Интернет-браузера.

Эскиз формы, с помощью которой будет производиться настройка параметров отчёта, изображён на pис. 8.

Рис. 8. Эскиз формы №3: настройка параметров отчёта

Приведённая на pис. 9 диаграмма деятельности показывает основные процессы работы процедуры «Учебная карточка студента».

Рис. 9. Диаграмма деятельности «Учебная карточка студента»

На pис. 10 показана диаграмма последовательностей для варианта использования «Подготовка к печати отчётов по результатам обучения».

Рис. 10. Диаграмма последовательностей «Подготовка к печати отчётов по результатам обучения»

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

Рис. 11. Диаграмма последовательностей «Ввод информации о доставке контрольных работ в учебное учреждение и ввод оценок»

Схема алгоритма работы данной процедуры представлена на pис. 12

Рис. 12. Схема алгоритма работы процедуры «Учебная карточка студента»

Особый интерес представляет реализация простановки дат доставки контрольных работ и выставление оценок. Для организации ввода даты доставки элементу ввода - "картинке", соответствующей контрольной работе, присваивается имя: «add_miee-» + идентификатор студента из таблицы USERS + «-» + идентификатор записи из таблицы результатов.

Поскольку выставление оценок производится из выпадающего списка, при отправке формы на сервер передаются значения всех имеющихся на экране выпадающих списков и определение того, какая же оценка изменилась, может занять большое количество времени. Поэтому рядом с каждым выпадающим списком оценок была создана картинка с уникальным именем: «s_add_mark-» + идентификатор студента из таблицы USERS + «-» + идентификатор записи из таблицы результатов. При нажатии на данную картинку программа при обработке полученного запроса заносит в базу данных соответствующую оценку.

Ниже приведён фрагмент программы, реализующий обработку значений, поступающих при отправке формы с результатами на сервер и занесение в БД системы ОРОКС соответствующей информации.

foreach(keys %FORM)

{

if ($_ =~ m/^add_miee-(\d+)-(\d*)\.x$/) # Т.е. меняем дату МИЭТ у контрольных, зачётов и экзаменов...

{

# Сначала выберем преподавателя..

if ($FORM{'pl'} eq "plans") # Если план базовый..

{

#t_print "План базовый";

$sql="SELECT tutors.prep_ID from tutors, students

where tutors.plan_ID=$FORM{'plans_id'} AND tutors.disnum=$FORM{'discip'} AND students.tutor_ID=tutors.ID AND students.stud_ID=$1";

}

else # Если план производный..

{

$sql="SELECT disciplines FROM dplans WHERE ID=$FORM{'plans_id'}";

$sth=ExecSQL($sql);

my $dis=0;

Assign2var ($sth, $dis);

my @_dis=split(',',$dis);

$dis=@_dis[$FORM{'discip'}-1];

$sql="SELECT tutors.prep_ID from tutors, students, dplans

where tutors.plan_ID=dplans.base_ID AND dplans.ID=$FORM{'plans_id'} AND tutors.disnum=$dis AND students.tutor_ID=tutors.ID AND students.stud_ID=$1";

}

$sth=ExecSQL($sql);

my $prep_users_ID=0; # ID преподавателя

Assign2var ($sth, $prep_users_ID);

# Завершение выбора преподавателя

if ($FORM{'km_type'} ne "") # Если это контра

{

$sql="SELECT kinfo_id FROM results WHERE ID=$2";

$sth=ExecSQL($sql);

Assign2var ($sth, $kinfo_ID);

$sql=qq(UPDATE kinfo set received='$curdate', tutor_ID='$prep_users_ID' WHERE ID='$kinfo_ID');

$sth=ExecSQL($sql);

}

else # Т.е это зачёт или экзамен и нужно создать запись в таблице kinfo и results

{

$sql = "INSERT INTO kinfo VALUES(NULL, '$prep_users_ID', '$curdate', '', '', 7)";

$sth=ExecSQL($sql);

$k_id = InsertID($sth);

$sql="INSERT INTO results VALUES($1, 0, '**?**', 0.0, 0, 'YES', NULL, '$curdate', '$curtime', 0.0, 0, '', 0, 0, 0, $FORM{pid}, $FORM{discip}, $FORM{kontr}, $k_id, 2, NULL)";

$sth=ExecSQL($sql);

}

}

if ($_ =~ m/^s_add_mark-(\d+)-(\d+)\.x$/) # Т.е. меняем меняем оценку

{

my $mark=$FORM{'add_mark-'.$1.'-'.$2};

$sql=qq(UPDATE results set stage='$mark' WHERE ID='$2');

ExecSQL($sql);

if ($FORM{'km_type'} ne "OFF") # т.е это не ТЕСТ

{

$sql=qq(SELECT kinfo_id FROM results WHERE ID=$2);

$sth=ExecSQL($sql);

Assign2var ($sth, $kinfo_ID);

if ($mark ne "**?**")

{

$sql=qq(UPDATE kinfo set handed_in='$curdate' WHERE ID='$kinfo_ID');

}

else

{

$sql=qq(UPDATE kinfo set handed_in='' WHERE ID='$kinfo_ID');

}

$sth=ExecSQL($sql);

}

}

}

1.2.4.2 Передача работ преподавателю

Процедура «Передача работ преподавателю» реализует следующие варианты использования подсистемы:

1. Просмотр информации о выданных контрольных работах.

2. Занесение информации в БД о выдаче работы.

3. Формирование актов передачи работ преподавателю на проверку.

Для реализации этих вариантов использования процедура должна позволять осуществлять следующие действия:

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

2. Выбор дисциплины из списка дисциплин, курируемых преподавателем.

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

· ФИО студента;

· наименование контрольной работы;

· дату выдачи на проверку;

· дату планируемого возврата с проверки.

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

В таблице напротив каждой контрольной работы необходимо создать элемент ввода «флажок» для обеспечения возможности её выбора и для включения в акт передачи работ.

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

Занесение информации в БД ОРОКС о выдаче контрольной работы преподавателю можно производить одновре...


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

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