- •1. Специальная часть 6
- •2. Технологическая часть. Особенности разработки программ на скриптовом языке Perl с использованием интерфейса cgi 60
- •3. Организационно-экономическая часть. Особенности сегментации рынка программного продукта 76
- •4. Производственная и экологическая безопасность. Организация рабочего места программиста и пользователя эвм 88
- •Введение
- •1. Специальная часть
- •Введение
- •1.1. Анализ системы орокс
- •1.1.2. Состав индивидуального учебного плана пользователя
- •1.1.1. Организация обучения на базе системы орокс
- •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. Описание зрительной работы оператора
- •Заключение
- •Список литературы
- •Приложения Фрагмент текста программы
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. Связи между таблицами БД
