Главная      Учебники - Разные     Лекции (разные) - часть 32

 

Поиск            

 

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

 

             

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

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

РОССИЙСКИЙ ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

им.Д.И. Менделеева

Новомосковский институт (филиал)

Кафедра "Вычислительная техника и информационные технологии"

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

К ДИПЛОМНОЙ РАБОТЕ

НА ТЕМУ:

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

Зав. кафедрой: Воробьев В.И.

Руководитель: Прохоров В.С.

Н/контролер: Прохоров В.С.

Студент: Никишин А.Е.

Группа:

АС-00-1

Консультанты:

По экономической части: Лобковская О.З.

По безопасности жизнедеятельности: Фандеев Н.П.

г. Новомосковск 2005 г.

Пояснительная записка 143 с., 36 рис., 23 табл., 21 источник, 4 прил.

Дистанционное обучение (до), интернет-технология до, программа "sunravtestofficepro", web-приложение, электронный учебник, система тестирования, web-сервер apache, язык web-программирования php 4, сервер баз данных mysql, средство проектирования web-узлов macromediadreamweavermx 2004, инфологическая модель предметной области, даталогическая модель предметной области.

В дипломной работе приведено исследование программ дистанционного обучения для подготовки учебно-методической документации, подробно исследована программа SunRavTestOfficePro.

Целью работы является выявление недостатков программ дистанционного обучения и разработка самостоятельного web-приложения "R@LearningInstitute", позволяющего организовать дистанционное обучения студентов кафедры "ВТИТ" НИ РХТУ.

Приложение написано на языке web-программирования PHP 4. Его взаимодействие с базой данных MySQLорганизовано средствами web-сервера Apache. Выбор данных средств программирования обусловлен их бесплатностью, широкими возможностями и популярностью. Приложение предполагает обучение и тестирование студентов с использованием дистанционных методов, интерактивное общение студентов и преподавателей, а также представление различной информации для студентов, относящейся к кафедре ВТИТ на страницах web-приложения. Доступ к web-сайту можно получить с любого клиентского компьютера с установленным Интернет-браузером.

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

Содержание

. 2

Введение. 6

1. Теоретическая часть. 9

1.1 Понятие дистанционного обучения. 9

1.2 Особенности дистанционного обучения. 13

1.3 Методика применения дистанционного обучения. 14

1.4 Технологии дистанционного обучения. 16

1.4.1 Кейс-технология. 16

1.4.2 TV-технология. 16

1.4.3 Сетевая (интернет) технология. 17

1.4.4 Сравнение технологий дистанционного обучения. 18

1.5 Программы дистанционного обучения. 19

1.5.1 Программа "eLearning Server 3000". 20

1.5.2 Программа "Lotus LearningSpace". 24

1.5.3 Программа "Батисфера". 28

1.5.4 Программа "SunRavTestOfficePro". 30

1.6 Представление информации в дистанционном обучении. 35

1.6.1 Электронный учебник. 35

1.6.2 Система проверки знаний. 38

1.7 Проблемы использования программ дистанционного обучения и методы их решения. 39

1.7.1 Проблемы использования программ дистанционного обучения. 40

1.7.2 Обзор методов решения проблем дистанционного обучения и обоснование выбора решения. 41

1.8 Преимущества использования интернет-технологии. 48

1.9 Описание предметной области. 49

1.10 Постановка задачи. 52

1.10.1 Основные требования к разрабатываемому ПО.. 52

1.10.2 Дополнительные требования к разрабатываемому ПО.. 54

1.10.3 Требования к оформлению учебных материалов web-приложения. 54

1.11 Выбор программных средств. 56

1.11.1 Преимущества использования PHP в сравнении с другими языками 57

1.11.2 Сервер баз данных MySQL и его особенности. 60

1.11.3 Выбор средства проектирования web-узлов. 61

2. Проектная часть. 63

2.1 Построение инфологической модели предметной области. 63

2.2 Построение даталогической модели предметной области. 66

2.3 Тонкости установки и настройки аппаратно-программного комплекса 73

2.3.1 Web-сервер Apache. 74

2.3.2 Установка и настройка Apache. 74

2.3.3 Установка РНР и настройка Apache для работы с РНР. 77

2.3.4 Установка MySQL. 79

2.4 Работа в MacromediaDreamweaverMX 2004. 81

2.5 Создание электронных учебных материалов для ДО.. 86

2.6 Разработка web-приложения. 89

2.6.1 Разработка пользовательского интерфейса. 90

2.6.2 Использование каскадных таблиц стилей CSS. 92

2.6.3 Файловая структура приложения. 94

2.6.4 Формирование страниц приложения. 97

2.6.5 Передача значений форм в другие страницы.. 98

2.6.6 Взаимодействие приложения с web-сервером.. 101

2.6.7 Создание таблиц базы данных. 102

2.6.8 Функции для работы с базами данных. 107

2.6.9 Использование механизма Cookies. 107

2.6.10 Описание алгоритма работы web-приложения. 109

2.7 Запуск и описание работы с web-приложением.. 110

2.7.1 Навигация по сайту. 111

2.7.2 Обучение. 113

2.7.3 Администраторская часть. 117

2.8 Предложения по размещению приложения в сети Интернет. 120

3. Экономическая часть. 122

3.1 Определение трудоемкости разработки приложения. 122

3.2 Расчет затрат на разработку приложения. 122

3.3 Определение возможной цены разработанного приложения. 127

3.4 Экономическое обоснование выбора комплекса технических и программных средств. 128

3.5 Описание экономического и социального эффекта от разработки приложения 131

4.Техника безопасности и охрана окружающей среды.. 136

4.1 Теоретическая часть. 136

4.1.1 Пожароопасные и токсичные свойства веществ и материалов, применяемых при выполнении работы.. 136

4.1.2 Характеристика потенциальных опасностей и вредностей. 136

4.1.3 Категорирование помещения аудитории. 138

4.1.4 Санитарно-гигиеническая характеристика помещения. 138

4.1.5 Условия безопасности при проведении экспериментальной части работы. Электробезопасность. 140

4.1.6 Пожарная безопасность и средства пожаротушения. 142

4.1.7 Защита окружающей среды.. 143

4.1.8 Гражданская оборона. 144

4.2 Расчетная часть. 145

4.2.1 Определение пожарной нагрузки помещения (В1-В4) 145

4.2.2 Освещение производственных помещений. 148

Заключение. 150

Список использованных источников. 153

Приложения. 155

Введение

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

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

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

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

Информация в дистанционном обучении должна преподноситься на уровне доступном и понятном большинству пользователей. Удобным способом предоставления информации является электронный учебник. Существует достаточно много различных программ для создания электронных учебников. Каждая из них индивидуальна и имеет свои плюсы и минусы, но все они направлены на подготовку материалов, которые удобным способом предоставляются пользователю. Самым удобным и оперативным средством предоставления информации в Интернет является web-сайт. Интерактивная система проверки знаний, форум, чат, почтовая рассылка, гостевая книга, лента новостей - все это неотъемлемые части современного web-сайта дистанционного обучения. Для создания его просто не обойтись без языка web-программирования РНР. Конечно, и форум, и гостевую книгу можно написать с помощью других средств, например, на языке Perl, но РНР позволяет написать Internet-приложение любой сложности с минимальными затратами: РНР, как и все вспомогательное программное обеспечение (web-сервер Apache и сервер баз данных MySQL), бесплатно, а разработка самого приложения не отнимет много времени. Иногда разработка приложения занимает меньше времени, чем разработка дизайна. И, конечно же, ни один серьезный Internet-проект не обходится без баз данных. Сервер MySQL является одним из самых удачных реализаций SQL-серверов. Он прекрасно взаимодействует с языком PHP, и предоставляет достаточно возможностей для реализации системы проверки знаний.

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

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

1. Теоретическая часть

1.1 Понятие дистанционного обучения

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

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

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

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

В системе образования ДО отвечает принципу гуманистичности, согласно которому никто не должен быть лишен возможности учиться по причине бедности, географической или временной изолированности, социальной незащищенности и невозможности посещать образовательные учреждения в силу физических недостатков или занятости производственными и личными делами. Являясь следствием объективного процесса информатизации общества и образования и, вбирая в себя лучшие черты других форм, ДО войдет в ХХI век как наиболее перспективная, синтетическая, гуманистическая, интегральная форма получения образования.

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

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

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

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

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

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

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

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

1.2 Особенности дистанционного обучения

Анализ отечественной и зарубежной теории и практики ДО позволяет отметить характерные особенности, присущие ДО [1]. Среди них:

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

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

Параллельность. Обучение может проводиться при совмещении основной профессиональной деятельности с учебой, т.е. "без отрыва от производства".

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

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

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

Рентабельность. Под этой особенностью подразумевается экономическая эффективность ДО.

Преподаватель. Речь идет о новой роли и функциях преподавателя.

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

НИТ (Новые информационные технологии). В СДО используются все виды информационных технологий, но преимущественно новые информационные технологии, средствами которых являются компьютеры, компьютерные сети, мультимедиа системы и т.д.

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

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

Перечисленные особенности определяют и преимущества ДО перед другими формами получения образования, но, одновременно предъявляя определенные специфические требования как к преподавателю, так и к слушателю, ни в коем случае не облегчая, а подчас увеличивая трудозатраты и того и другого.

1.3 Методика применения дистанционного обучения

Разработана методика применения дистанционных образовательных технологий (дистанционного обучения) в образовательных учреждениях высшего, среднего и дополнительного профессионального образования Российской Федерации [2]. Она определяет основные требования, предъявляемые к программам дистанционного обучения. Далее описаны основные моменты этой методики, применимые к данной работе.

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

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

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

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

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

1.4 Технологии дистанционного обучения

Для организации дистанционного обучения и донесения разработанных учебных материалов конечному пользователю используются следующие технологии: кейс-технология, TV-технология и сетевая (интернет) технология [1]. Более подробно рассмотрим их основные особенности.

1.4.1 Кейс-технология

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

Общение с преподавателем осуществляется в созданных для этих целей региональных учебных центрах. К данной технологии может быть отнесена традиционная технология заочного обучения. Заочное обучение - по почте - существует более 100 лет. Считается, что при достаточной мотивации обучаемый в состоянии самостоятельно изучить и освоить значительный объем материала по широкому кругу дисциплин, если такое обучение подкреплено содержательным кейсом.

1.4.2 TV-технология

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

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

1.4.3 Сетевая (интернет) технологи я

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

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

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

1.4.4 Сравнение технологий дистанционного обучения

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

Таблица 1.1 - Сравнительные характеристики информационных технологий

Технология Характеристики
Аудио-визуальные носители (печатные материалы, аудио-, видеокассеты), кэйс-технология

- Низкая коммуникационная интерактивность;

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

Хорошо известны методики разработки учебных материалов;

Высокая долговечность.

Компьютерное обучение, асинхронная электронная почта, интернет-технология

- Средняя степень интерактивности;

Возможность интерактивного общения с преподавателем;

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

Наиболее развитая инфраструктура в России;

Низкая стоимость.

Видеоконференции по компьютерной сети Интернет в режиме реального времени

- Высокая степень интерактивности;

Наиболее развитая в мире инфраструктура сети;

Использование широко распространенных платформ компьютеров;

Средняя стоимость.

Видеоконференции по цифровому выделенному спутниковому каналу с использованием видеокомпрессии

- Высокая степень интерактивности;

Хорошее качество передачи изображения;

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

Высокая стоимость.

Видеоконференции по аналоговому спутниковому каналу

- Высокая степень интерактивности;

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

Высокая стоимость.

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

1.5 Программы дистанционного обучения

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

1.5.1 Программа "eLearning Server 3000"

"eLearning Server 3000" - так называется программный продукт для академического, школьного, корпоративного обучения и повышения квалификации с помощью современных мультимедиа и интернет-технологий [3].

Программный пакет компании ГиперМетод позволяет создавать собственные интерактивные Учебные центры в Интернет/Интранет и организовывать полный цикл дистанционного обучения. Продукт обладает интуитивно понятным и легко настраиваемым web-интерфейсом. Это делает его доступным не только IT-специалистам, которые занимаются проблемами дистанционного обучения, но и преподавателям высших, средних и школьных учебных заведений.

К созданному с помощью "eLearning Server 3000" Учебному Центру предоставляется пять уровней доступа: "Администратор", "Деканат", "Преподаватель", "Обучаемый" и "Абитуриент".

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

Пакет состоит из трех компонент. Его отличают дружественный интерфейс и максимальная автоматизация работ. ePublisher - для быстрого создания электронных учебных пособий. eAuthor - для создания дистанционных учебных курсов. eBoard - для организации и управления интерактивными лекциями, семинарами, конференциями в Сети Интернет. Программа eAuthor позволяет создать учебный курс в мультимедийной форме, сопровождаемый интерактивными системами тестирования, полнотекстовой поисковой системы по материалу учебника и средств связи с web-сайтом Учебного центра. Пакет позволяет создавать учебные курсы пользователю, не владеющему специальными навыками и не имеющему специальных знаний.

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

Исходными данными для создания электронного учебного пособия является текст в одном из двух форматов: RTF или PDF. При создании публикации указываются местонахождение исходного файла и один из 40 шаблонов оформления будущего издания. После этого "ePublisher" автоматически генерирует электронное учебное пособие.

При генерации "ePublisher" производит следующие операции:

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

автоматическое создание оглавления;

форматирование исходных рисунков, схем и других объектов.

Используя дополнительные возможности "ePublisher", пособие можно дополнить:

видеофрагментами (avi, mpeg4);

звуком (wav, mp3);

графикой (gif, jpg, bmp);

html-страницами;

внешними и внутренними гипертекстовыми ссылками (как на web-сайты, так и на страницы пособия);

системой поиска;

словарем терминов;

защитой содержимого пособия от пиратского копирования.

Сохранить электронное учебное пособие можно:

в виде исполняемого exe-файла, запускаемого в дальнейшем на любом компьютере под управлением Windows;

в html-формате с дальнейшей публикацией в Internet.

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

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

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

Раздел Лекции может содержать такие составляющие, как:

текст (в формате RTF),

графика (в форматах GIF, JPEG, BMP),

звук (в форматах WAV, MP3),

видео (в форматах AVI, MPEG).

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

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

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

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

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

1.5.2 Программа "Lotus LearningSpace"

Программный продукт LearningSpace дает возможность воспользоваться уникальным новаторским опытом обучения [4]. Этот продукт удовлетворяет потребность в открытом и гибком образовательном процессе. При разработке этого продукта компания Lotus совместила результаты обширных научных исследований и лучшие примеры преподавательской практики с широкими возможностями Lotus Notes. В результате было получено новое решение в области обучения. LearningSpace выходит за рамки обычного обучения на расстоянии. Стирая все пространственные и временные преграды, LearningSpace использует самые современные технологические возможности обучения по программе, рассчитанной на работу в групповой среде. Используя это средство, корпоративные, академические и другие организации, занимающиеся обучением, могут помочь специалистам поддержать уровень знаний и умений, необходимый для существования в быстро меняющемся мире современных технологий.

Основные свойствами и преимуществами данной системы являются.

Перенос всей мощи Lotus Notes, ведущего программного средства для бизнеса, в распределенную среду обучения.

Организация обучения в любом месте и в любое время, невзирая на пространственные и временные ограничения.

Сокращение продолжительности циклов разработки приложений.

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

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

Нацеленность на успех образовательного процесса, а не на технологические "навороты".

Компания Lotus является лидером на рынке готовых и апробированных решений в области образования. Использование самого передового практического опыта и средств для поддержки новых рыночных тенденций привело к разработке продукта LearningSpace, созданного на основе научных исследований, выполненных в институте компании Lotus (Lotus Institute), и на базе опыта по разработке учебных программ, накопленного в отделе обучения Lotus (Lotus Education). LearningSpace способен дать вашей компании солидные преимущества, поскольку усиливает способность человека к воспроизведению чужих знаний и созданию новых знаний за счет наблюдений и опыта, полученного в распределенной обучающей среде.

Обучение на расстоянии существует в самых различных формах. Это и обучение по телевидению, и телеконференции, и учебные программы, записанные на аудио - и видеокассетах. Все это относится к области дистанционного обучения, которое однако по-прежнему остается подверженным пространственным и временным ограничениям и не включает студента в обучающий процесс. Методы обучения с использованием компьютерной техники повышают гибкость в плане времени, но не ликвидируют коммуникационного барьера между преподавателем и обучаемыми. Курсы, предлагаемые в сети World Wide Web, снимают эти проблемы, но для участия в процессе студенты должны постоянно работать в подключенном режиме. LearningSpace вобрал в себя все сильные стороны указанных методик и создал решение, которое весьма элегантно решает проблемы пространственных и временных ограничений и дает ответы на вопросы, связанные с групповой и сетевой работой.

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

Чтобы в полной мере учесть в LearningSpace особенности содержания и структуры учебных программ, разработаны программы для подготовки составителей учебных курсов и преподавателей. "Введение в разработку учебных курсов в LearningSpace" обучает разработчиков программ и преподавателей созданию эффективных и динамичных программ обучения в режиме on-line. Разработчики программ и преподаватели учатся формировать стратегию использования средств и возможностей LearningSpace для достижения учебных целей. Эта программа включает презентации и практические занятия по разработке и модификации учебного расписания, структурированию базы данных профилей студентов, созданию мультимедийной библиотеки заданий для студентов и учебных материалов, организации электронных дискуссий и руководству ими, а также организации проверки студенческих работ.

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

Основные характеристики LearningSpace следующие:

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

Гибкость - возможность обучения в нужном вам темпе;

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

Преподавателей - возможность учебы у опытных экспертов;

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

Практический опыт - курсы основаны не на "лекциях", а на практических занятиях;

Апробированность - использование уникальных возможностей Lotus Notes;

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

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

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

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

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

Обзорное путешествие по среде обучения в течение одной минуты;

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

Карточку быстрого старта (Quick Reference card), которая поможет начать работу в среде LearningSpace.

1.5.3 Программа "Батисфера"

"Батисфера" - это мультимедийная программа для создания электронных тестов, мультимедийных учебных уроков (курсов) и проверки уровня знаний [5].

В программный комплекс "Батисфера" входят:

Конструктор тестов (Test Designer) - программа для создания электронных тестов и проверки знаний;

Конструктор страниц (Page Designer) - программа для создания мультимедийных уроков и презентаций;

Конструктор проектов (Project Designer);

Конструктор отчетов (Analitic) - аналитическая обработка полученной информации о знаниях учащихся.

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

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

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

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

перетасовка вопросов и ответов;

лимит времени, ограничивающий прохождение электронного теста;

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

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

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

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

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

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

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

Конструктор отчетов (Analitic) - программа обработки результатов электронного тестирования и проверки уровня знаний.

1.5.4 Программа " SunRavTestOfficePro"

Пакет программ для создания, проведения различных тестов как в локальной сети, так и в сети Интернет и обработки результатов тестирования. По сути, это уже готовое комплексное решение для проведения тестирования в рамках образовательных и других учреждениях (вузы, колледжи, школы, отделы кадров предприятий и т.п.) [6].

Включает в себя tMaker - программу для создания тестов; tTester - программу для проведения тестирования; tAdmin - программу для удаленного администрирования пользователей и обработки результатов тестирования.

С помощью пакета можно легко создавать тесты по любым предметам школьной программы, по любым ВУЗовским дисциплинам, любые тесты для узкопрофессионального тестирования, различные психологические тесты и т.д. В своих теста вы можете использовать различные шрифты, формулы, схемы, таблицы, аудио - и видео - файлы, HTML документы и любые OLE документы. Любой вопрос и ответ можно полноценно форматировать - различные шрифты, выравнивание, абзацы, списки, верхние и нижние индексы и т.д. При этом вся информация шифруется методами стойкой криптографии.

Программа tMaker предназначена для создания и редактирования тестов и обладает следующими возможностями.

Мощный встроенный редактор вопросов и вариантов ответа, поддерживающий проверку орфографии. Работа со встроенным текстовым редактором мало чем отличается от работы в программе MS WORD.

Импорт тестов. Тесты могут быть импортированы из текстовых файлов (подготовленных, например, в программе MS WORD) и таблиц MS Excel.

Экспорт тестов. Тесты могут быть экспортированы в форматы RTF, TXT, XML.

Объединение нескольких тестов в один тест.

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

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

Установка шрифта вопросов/вариантов ответов сразу для всех вопросов/вариантов ответов.

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

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

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

Программа tTester предназначена для проведения тестирования и обладает следующими возможностями.

Безопасность. Для того чтобы изменить параметры программы нужно знать пароль.

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

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

Подача звукового сигнала после окончания тестирования поможет преподавателю на слух определить, что кто-то уже закончил тестирование.

Удобная система ответа на вопрос.

Удобная система выбора тестов.

Командная строка. Большое кол-во параметров командной строки. Это позволяет:

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

Использовать ссылки из различных документов, что позволяет интегрировать tTester в состав различных электронных учебников и т.д. Например, в учебниках, созданных с помощью пакета SunRav BookOffice.

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

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

Запись тестов на диск. Тесты могут быть записаны на CD или DVD диск для того, что бы пользователь смог пройти тестирование, не устанавливая никаких программ - достаточно просто вставить диск и выбрать тест.

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

Вообще не получить никакого сообщения.

Получить результат тестирования по определенным темам и по тесту в целом.

Получить список самых неудачных тем.

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

Регистрация пользователей. Администратор может разрешить или запретить самостоятельную регистрацию пользователей.

Процесс тестирования. Администратор может:

Запретить выходить из программы до окончания тестирования

Отключить доступ к рабочему столу и панели задач. При этом программа может работать в полноэкранном режиме.

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

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

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

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

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

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

Результаты тестирования состоят из:

Оценки, полученной за тест (включая оценки по всем темам).

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

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

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

Дата тестирования. Можно задать диапазон дат или точную дату тестирования.

Количество правильных ответов. Можно задать диапазон или точное значение.

Количество набранных баллов. Можно задать диапазон или точное значение.

Номер теста. Можно включить либо все тесты, соответствующие предыдущим параметрам, либо первый/последний/определенный тест.

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

Фильтры. Созданные групповые отчеты можно фильтровать по любому параметру.

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

Экспорт отчетов. Подготовленные с помощью шаблонов отчеты можно экспортировать в наиболее популярные форматы: Excel, XML, HTML, PDF, RTF, BMP, JPEG, TIFF.

Резервное копирование. tAdmin может создавать резервные копии важных данных (результаты тестирования, тесты и т.д.) как в ручном, так и в автоматическом режиме.

1.6 Представление информации в дистанционном обучении

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

1.6.1 Электронный учебник

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

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

Существенных недостатков у электронного учебника два:

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

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

Достоинств электронных учебников гораздо больше:

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

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

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

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

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

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

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

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

1.6.2 Система проверки знаний

Современное образование и, в особенности, дистанционное обучение немыслимо без применения автоматизированных методов оценки уровня подготовки студента, т.е. без системы тестирования с автоматической обработкой его результатов. Организовать тестирование проще всего через web-страницу, при этом результаты полученные в ходе тестирования автоматически обрабатываются на web-сервере и тестируемый получает незамедлительно получает ответ - сдал он тест или нет [7].

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

1.7 Проблемы использования программ дистанционного обучения и методы их решения

Дистанционное обучение перспективно. Оно постоянно совершенствуется, но существует ряд проблем, исследование которых ведется в настоящее время. Появляются новые методы и пути их решения. Рассмотрим основные проблемы, связанные в той или иной степени с использованием программ дистанционного обучения. Практически во всех перечисленных программах эти проблемы либо не решены, либо решены частично. В основе технологии дистанционного обучения лежит целенаправленная подготовка студентов к сдаче экзаменов по той или иной теме с использованием различных средств, таких как видео и аудио кассеты, мультимедийные курсы на CD, электронные учебники, электронное тестирование. Обучение происходит посредством трех технологий - видео-технологии, кейс-технологии и интернет-технологии (сетевой технологии). Исследовав основные особенности, преимущества и недостатки различных технологий и программ дистанционного обучения, можно сформулировать ряд основных проблем, характерных для систем дистанционного обучения и дистанционного контроля [8].

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

1.7.1 Проблемы использования программ дистанционного обучения

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

1 Отсутствие возможности достоверно определить, прошел ли студент тестирование самостоятельно. Для этой задачи он вполне мог использовать другого человека (например, более подготовленного студента).

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

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

4 Существует угроза создания универсальной программы просмотра файлов с заданиями и ответами. Тем самым, студент имеет возможность узнать верные ответы на вопросы в тестах.

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

1.7.2 Обзор методов решения проблем дистанционного обучения и обоснование выбора решения

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

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

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

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

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

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

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

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

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

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

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

2. Неизвестно, сколько раз студент предпринял попытку пройти тестирование. Студент имеет возможность устанавливать систему дистанционного обучения в нескольких экземплярах и/или копировать ее, тем самым сохраняя ее текущее состояние. Студент получает возможность неограниченного количества попыток прохождения тестирования и выбора из них попытки с наилучшим результатом [8].

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

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

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

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

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

3. Существует возможность создания универсального редактора файлов результатов тестирования. Он может использоваться студентом для корректировки оценок выставленных программой тестирования [8].

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

Но есть другой метод. Это использование шифрования. Как бы ни были сложны и надежны криптографические системы - их слабое место при практической реализации - проблема распределения ключей. Для того, чтобы был возможен обмен конфиденциальной информацией между двумя субъектами ИС, ключ должен быть сгенерирован одним из них, а затем каким-то образом опять же в конфиденциальном порядке передан другому.Т. е. в общем случае для передачи ключа опять же требуется использование какой-то криптосистемы.

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

4. Существует возможность создания универсальной программы просмотра файлов с заданиями и ответами. Таким образом, студент имеет возможность узнать верные ответы на вопросы в тестах [8, 9].

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

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

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

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

5. Возможность модификации программного кода системы тестирования с целью изменения алгоритма выставления оценок [9].

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

Это еще один плюс использования сетевой технологии для решения задач, поставленных в данной работе.

Таким образом хорошим решением для многих из перечисленных проблем является:

1. Использование интернет-технологии и создание web-приложения;

2. Поэтапное преподнесение информации и поэтапный контроль знаний;

3. Очный итоговый контроль знаний;

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

5. Разграничение администраторской и клиентской частей приложения;

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

1.8 Преимущества использования интернет-технологии

Наиболее подходящей для организации дистанционного обучения является система WorldWideWeb (WWW). WWW построена на технологии, в основу которой положено понятие гипертекста. Эта система является одним из наиболее гибких средств поиска в Интернет. Гипертекстовая модель WWW может обеспечить для каждого элемента описание любого объема. Она также располагает более широкими возможностями в плане предоставления универсального интерфейса. Каждая статья содержит ссылки на другие сообщения. Программа просмотра преобразует материалы, полученные по электронной почте, в гипертекст, превращая перекрестные ссылки в гипертекстовые. Следовательно, Вы можете перемещаться между исходными статьями, статьями, продолжающими обсуждение, и по перекрестным ссылкам, используя установленные связи.

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

Интерактивные учебники и учебные пособия;

Анонимные квалификационные и пробные тесты;

Тесты и экзамены для студентов дистанционного обучения;

Организация обратной связи преподаватель - студент.

WWW позволяет комбинировать текстовый, графический, звуковой и видеоматериалы. Использование скриптовых языков web-программирования, таких как PHP или Java позволяет создавать приложения, загружаемые по сети, что снимает проблему обновления программного обеспечения. Переносимость обеспечивает корректную работу учебных программ на различных платформах без внесения изменения в исходный код.

1.9 Описание предметной области

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

Все это условия предрасполагают к созданию информационной системы в дополнение к уже имеющимся средствам АИС ВУЗ на базе нашего института.

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

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

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

Основным объектом в системе является студент специальности АСОИУ. Система дистанционного обучения позволит студенту в удобном месте в удобное время изучать учебные материалы курсов кафедры ВТИТ и проходить тестирование, при этом он может интерактивно общаться с другими студентами и задавать вопросы преподавателю посредством электронной почты или средств общения, таких как форум или чат (обратная связь). Это позволит снизить нагрузку на преподавателя, повысить уровень знаний студентов и приобщить их к самостоятельной работе. Предоставление учебной информации осуществляется в удобной форме электронного учебника, что позволяет структурировать знания и преподносить их поэтапно. Электронные учебники и тесты подготавливаются в учебном центре авторами учебных материалов и преподавателями, Размещением учебных материалов на сервере занимается администратор системы. Для доступа к системе дистанционного обучения студент должен иметь под рукой компьютер с доступом в Интернет. Все материалы курсов находятся на web-сервере, как и система тестирования. Подробная схема организации обучения представлена на рисунке 1.1


Рисунок 1.1 - Схема организации системы дистанционного обучения

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

Вся система построена не из одного компьютера, а из многих, что подразумевает под собой обработку информации в различных местах, как интрасети нашего института так и глобальной сети Интернет. За основную СУБД была выбрана система которая является одной из самых популярных систем, используемых в Интернет. Ее несомненные достоинства быстрота и эффективность. В связке с эффективностью языка web-скриптов PHP- получается мощное средство разработки, удовлетворяющее всем требованиям системы дистанционного обучения.

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

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

Необходимо разработать систему, функционирующую в качестве web-приложения. Приложение должно быть написано на языке web-программирования PHP 4. Его взаимодействие с базой данных MySQL организовано средствами web-сервера Apache. Приложение предполагает обучение и тестирование студентов с использованием дистанционных методов, интерактивное общение студентов и преподавателей, а также представление различной информации для студентов, относящейся к кафедре ВТИТ. Необходимо обеспечить возможность получения доступа к web-сайту с любого клиентского компьютера с установленным Интернет-браузером без необходимости установки дополнительного программного обеспечения (ПО).

1.10.1 Основные требования к разрабатываемому ПО

Простой, удобный в навигации, интуитивно понятный студенту web-интерфейс, основанный на системе подменю;

Разграничение пользовательской и административной части программного комплекса;

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

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

Обучение по каждой отдельной дисциплине (курсу) происходит индивидуально. Количество одновременно изучаемых дисциплин ограничено (в данной работе по умолчанию это количество равно трем). Если студент полностью прошел обучение по отдельной дисциплине или "завалил" контрольный тест, он получает возможность регистрации другой;

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

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

Необходимо ограничить число возможных попыток прохождения каждого теста. Для сдачи теста студент предпринимает до трех попыток. При несдаче какого-либо теста, курс (дисциплина) считается не сданной. Результаты тестирования хранятся в базе данных на сервере;

Все личные параметры студентов, в том числе названия изучаемых дисциплин, текущий этап изучения каждой дисциплины, результаты прохождения тестов, а также данные для тестирования находятся на web-сервере. Права доступа на изменение данных, удаление и просмотр есть только у администратора;

Все скрипты программы тестирования находятся и выполняются на web-сервере и доступ к ним ограничен. Пользователь получает страницы содержащие только HTML-код. Реализовать эту возможность средствами языка PHP;

В качестве программного обеспечения, выбранного для разработки системы выбраны: средство разработки web-узлов MacromediaDreamweaverMX 2004, web-сервер Apache 2, язык web-программирования PHP 4 и сервер баз данных MySQL 4.

1.10.2 Дополнительные требования к разрабатываемому ПО

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

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

Открытость программного кода;

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

Web-совместимость (совместимость с различными браузерами).

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

Незначительный объем (компактность);

Обеспечение полного цикла самостоятельной работы с создаваемым web-приложением;

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

1.10.3 Требования к оформлению учебных материалов web-приложения

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

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

Уже доказано, что степень усваиваемости информации с экрана монитора на 25% ниже, чем при чтении с листа бумаги. Это обуславливает некоторые простые принципы, которые могут помочь при оформлении и публикации.

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

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

Теперь остановимся на содержании документов. Удаленное обучение - это как раз тот случай, когда содержание документов должно преобладать над формой его представления. Форма всех документов должна быть как можно более строгой. Страница не должна содержать никакой лишней информации (графической или текстовой), которая могла бы отвлечь внимание читающего. Зона чтения документа должна быть как можно более узкой. Этому может способствовать создание полей по краям документа. Не следует создавать документы с горизонтальной прокруткой - читать и изучать их будет очень неудобно. Длина (объем) каждого отдельного документа не должна превышать 30-40 Кб, что позволит ускорить их загрузку.

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

1.11 Выбор программных средств

Современные web-приложения становятся все более сложными и все более перегружаются логикой. Раньше производительность таких приложений определялась, в основном, скоростью работы того или иного SQL-сервера и тем, существует ли для него достаточно эффективная реализация драйвера доступа к SQL-серверу для выбранного языка программирования. Это объясняется тем, что первое поколение web-приложений просто читало и писало информацию в базы данных. Пользователей при этом было относительно немного. Таким образом, время на отработку SQL-запроса составляло 70-90% от общего времени обработки HTTP-запроса.

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

В настоящие время для создания web-приложений существует множество различных языков программирования. Самые популярные из них - PHP, Perl, С# (DOT. NET), Java2. Классическая технология ASP становится историей, поскольку ASP DOT. NET практически вытеснило эту технологию на Windows-серверах в новых приложениях.

Для разработки в работе выбран язык PHP в связке с сервером баз данных MySQL. Для их работы требуется установка web-сервера Apache. В качестве среды разработки выбрано средство создания web-узлов MacromediaDreamweaverMX 2004.

1.11.1 Преимущества использования PHP в сравнении с другими языками

PHP - это инструмент объектно-ориентированного программирования с открытым кодом (open source), язык серверных скриптов (server scripting language), встраиваемый в HTML, который интерпретируется и выполняется на сервере [11].

PHP является препроцессором HTML.Т. е. его работа построена по схеме, показанной на рисунке 1.2:

Рисунок 1.2 - Схема работы препроцессора PHP

До того, как сервер "отдаст" файл браузеру, его просматривает препроцессор-интерпретатор. Для того, чтобы это происходило, файлы, которые подвергаются обработке препроцессором, должны иметь определенное расширение (обычно это. phtml или. php, но эти значения можно поменять) и содержать (хотя это не обязательное требование) код для препроцессора. Перед отправкой страницы PHP-код проигрывается на сервере и браузеру выдается результат в виде опять таки HTML-страницы, которая может сильно отличаться от той, что хранится на сервере. Обычные же страницы, имеющие расширение. html/htm web-сервер будет отправлять браузеру без какой-либо обработки.

Основное отличие от CGI-скриптов, написанных на других языках, типа Perl или C - это то, что в CGI-программах вы сами пишете выводимый HTML-код, а, используя PHP - вы встраиваете свою программу-скрипт в готовую HTML-страницу, используя открывающий и закрывающий теги (в примере <? php и? >).

PHP называется языком серверных скриптов в отличие от JavaScript/Jscript/VBScript, которые являются языками клиентских скриптов. Это значит, что PHP-скрипт выполняется на сервере, а клиенту передается результат его работы, тогда как в JavaScript-код полностью передается на клиентскую машину и только там выполняется браузером.

Пользователи MSInternetInformationServer найдут, что PHP очень похож на ActiveServerPages (ASP), а пользователи Java скажут, что PHP похож на Java Server Pages (JSP). Еще некоторыми аналогами PHP являются языки ColdFusion и embPerl. Все эти языки позволяют размещать код, выполняемый на Web-сервере, внутри HTML-страниц. В результирующей web-странице нет и следа PHP-кода.

На PHP можно сделать все, что можно сделать с помощью CGI-программ. Например: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать куки (cookies).

Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым.

Вот неполный перечень поддерживаемых БД: AdabasD, InterBase, Solid, dBase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unixdbm, Informix, PostgreSQL, ODBC.

Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим протоколам.

Разработчикам web-приложений нет необходимости говорить, что web-страницы - это не только текст и картинки. Достойный внимания сайт должен поддерживать некоторый уровень интерактивности с пользователем: поиск информации, продажа продуктов, конференции и т.п. До недавних пор все это традиционно реализовалось CGI-скриптами, написанными на Perl. Но оказалось, что CGI-скрипты очень плохо масштабируемы. Каждый новый вызов CGI-скрипта, требует от ядра порождения нового процесса, а это занимает процессорное время и тратит оперативную память. PHP предлагает другой вариант - он работает как часть web-сервера, и этим самым похож на ASP от Microsoft или ColdFusion от Allaire.

Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием, очень быстро смогут начать писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти.

Программы, написанные на PHP, читаются достаточно легко. В отличие от Perl-программ PHP-код легко зрительно прочитать и понять.

В дополнение к своей бесплатности (хотя MySQL требует приобретения лицензии при использовании ее в коммерческих целях) связка PHP-MySQL является кросс-платформенной. Это значит, что вы можете, работая в Windows, разрабатывать приложения, предназначенные для работы под Unix. Кроме того, PHP может работать как внешний CGI-процесс, либо как обычный интерпретатор скриптов, либо как модуль, подключаемый к web-серверу Apache или IIS.

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

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

1.11.2 Сервер баз данных MySQL и его особенности

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

MySQL был разработан компанией TcX для внутренних нужд, которые заключались в быстрой обработке очень больших баз данных. Компания утверждает, что использует MySQL с 1996 года на сервере с более чем 40 БД, которые содержат 10,000 таблиц, из которых более чем 500 имеют более 7 миллионов строк. MySQL является идеальным решением для малых и средних приложений. Исходные тексты сервера компилируются на множестве платформ. Наиболее полно возможности сервера проявляются на Unix-серверах, где есть поддержка многопоточности, что дает значительный прирост производительности. В варианте под Windows, MySQL может запускаться как сервис Windows NT или как обычный процесс на Windows 95/98.

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

MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.

Краткий перечень возможностей MySQL.

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

2 Количество строк в таблицах может достигать 50 млн;

3 Быстрое выполнение команд. Возможно MySQL самый быстрый сервер из существующих;

4 Простая и эффективная система безопасности.

MySQL действительно очень быстрый сервер, но для достижения этого разработчикам пришлось пожертвовать некоторыми требованиями к реляционным СУБД. В MySQL отсутствуют:

Не реализована поддержка транзакций. Взамен предлагается использовать LOCK/UNLOCK TABLE;

Нет поддержки триггеров и хранимых процедур;

Нет поддержки внешних ключей.

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

1.11.3 Выбор средства проектирования web-узлов

На сегодняшний момент существует два мощных средства создания web-узлов - это последние версии Frontpage 2003 компании Microsoft и Dreamweaver MX 2004 компании Macromedia [7].

Программный пакет FrontPage долгое время развивался и совершенствовался фирмой Microsoft. Его версия FrontPage 2000 отличается от всех предыдущих тем, что она впервые интегрирована в структуру пакета программ Microsoft Office. Вероятно, это объясняется тем обстоятельством, что проектирование web-сайтов и мультимедийных электронных изданий из задачи для профессионалов перешли в сферу офисной деятельности. Однако, FrontPage 2002 вновь поставляется отдельно от Microsoft Office XP.

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

Программный пакет Dreamweaver, как и FrontPage, предназначен для проектирования различных сайтов, в том числе и сайтов издательств, одной из задач которых является распространение электронных изданий. Он пригоден как для создания небольших, так и очень больших сайтов. В первом случае разработкой занимается единственный специалист - web-мастер. В последнем случае над проектом работает целый коллектив, включающий администратора проекта, web-дизайнера, HTML-верстальщика, web-программиста, корректора, менеджера рассылок. Многие специалисты утверждают, что профессиональные web-дизайнеры в своей работе чаще всего используют Adobe Photoshop для подготовки графики и Macromedia Dreamweaver - для дизайна отдельных web-страниц. Особенностью данного программного средства является хорошая поддержка языка PHP, который используется в проекте для программирования и автоматическая или ручная синхронизация измененных данных с удаленным сервером. Эти особенности, а также простота и быстрота работы программы во многом обуславливают выбор именно этого программного продукта в качестве средства проектирования разрабатываемого web-приложения.

2. Проектная часть

2.1 Построение инфологической модели предметной области

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

Требования к инфологической модели:

адекватность отображения предметной области;

непротиворечивость;

отражение потребности всех пользователей будущей информационной системы;

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

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

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

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

Инфологическая модель предметной области представлена в приложении А.

Для описания инфологической модели данных можно выделить десять объектов, которые участвуют в обработке информации: "Пользователи", "Курсы ДО", "Подразделы курса", "Преподаватели", "Курсы пользователей", "Тесты пользователей", "Допустимые шифры", "Вопросы тестов", "Ответы на вопросы тестов" и "Новости". Каждый объект обладает своими свойствами.

Объект "Пользователи" включает в себя данные о пользователях зарегистрированных в системе. Он обладает свойствами: Логин, Пароль, Фамилия, Имя, Отчество, Учебная группа, Дата регистрации, Пол, Адрес электронной почты, Шифр студента, Флаг администрирования. Все указанные свойства, кроме свойств Логин, Дата регистрации и Шифр студента, являются динамическими, т.е. могут меняться. Поля Логин, Дата регистрации и Шифр студента- статические. Их значения остаются постоянными.

Объект "Курсы ДО" включает в себя информацию о дисциплинах дистанционного обучения. Он обладает свойствами: Идентификатор курса, Название курса, Аннотация курса, Полное описание курса, Картинка курса, Продолжительность курса, №. Все указанные свойства, кроме свойства Идентификатор курса, являются динамическими, т.е. могут меняться. Поле Идентификатор курса - статическое.

Объект "Подразделы курса" включает в себя информацию о подразделах курсов. Он обладает свойствами: Идентификатор подраздела курса, № курса, № подраздела, Ссылка загрузки подраздела, Описание подраздела, Название теста по подразделу, Количество вопросов в тесте. Все указанные свойства, кроме свойства Идентификатор подраздела курса, являются динамическими, т.е. могут меняться. Поле Идентификатор подраздела курса - статическое.

Объект "Преподаватели" включает в себя информацию о преподавателях курсов ДО. Он обладает свойствами: Идентификатор преподавателя, Фамилия Имя Отчество преподавателя, Ученая степень преподавателя, Адрес электронной почты преподавателя, Информация о преподавателе, Фото преподавателя. Все указанные свойства, кроме свойства Идентификатор преподавателя, являются динамическими, т.е. могут меняться. Поле Идентификатор преподавателя - статическое.

Объект "Курсы пользователей" включает в себя информацию о курсах ДО, на которые зарегистрировались пользователи системы. Он обладает свойствами: Идентификатор курса, Логин, № курса, Статус курса, Дата регистрации курса. Все указанные свойства, кроме свойств Идентификатор курса и Дата регистрации курса, являются динамическими, т.е. могут меняться. Поля Идентификатор курса и Дата регистрации курса - статические, их значение не меняется.

Объект "Тесты пользователей" включает в себя информацию о результатах тестирования зарегистрированных студентов. Он обладает свойствами: Идентификатор теста, № курса пользователя, Число попыток теста, Процент лучшего результата теста, Дата последнего тестирования. Все указанные свойства, кроме свойства Идентификатор теста, являются динамическими, т.е. могут меняться. Поле Идентификатор теста - статическое.

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

Объект "Вопросы тестов" содержит вопросы для тестов. Он обладает свойствами: Идентификатор вопроса, № подраздела курса, Контекст вопроса. Все указанные свойства, кроме свойства Идентификатор вопроса, являются динамическими, т.е. могут меняться. Поле Идентификатор вопроса - статическое.

Объект "Ответы на вопросы тестов" содержит ответы на вопросы тестов. Он обладает свойствами: Идентификатор ответа, № вопроса, Контекст ответа, Флаг правильного ответа. Все указанные свойства, кроме свойства Идентификатор ответа, являются динамическими, т.е. могут меняться. Поле Идентификатор ответа - статическое.

Объект "Новости" содержит информацию для вывода новостей. Он обладает свойствами: Идентификатор новости, Название новости, Дата новости, Контекст новости, Автор новости. Все указанные свойства, кроме свойства Идентификатор новости, являются динамическими, т.е. могут меняться. Поле Идентификатор новости - статическое.

Объекты "Пользователи" и "Курсы пользователей" связаны между собой связью "один-ко-многим", объекты "Пользователи" и "Допустимые шифры" - связью "один-к-одному", объекты "Курсы пользователей" и "Курсы ДО" - связью "многие-к-одному", объекты "Курсы пользователей" и "Тесты пользователей" - связью "один-ко-многим", объекты "Курсы пользователей" и "Тесты пользователей" - связью "один-ко-многим", объекты "Курсы ДО" и "Преподаватели" - связью "многие-к-одному", объекты "Курсы ДО" и "Подразделы курса" - связью "один-ко-многим", объекты "Тесты пользователей" и "Подразделы курса" - связью "многие-к-одному", объекты "Подразделы курса" и "Вопросы тестов" - связью "один-ко-многим", объекты "Вопросы тестов" и "Ответы на вопросы тестов" - связью "один-ко-многим", объект "Новости" не связан с другими объектами.

2.2 Построение даталогической модели предметной области

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

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

Одной из основных таблиц является таблица "users". В ней хранится вся информация о пользователях, зарегистрированных в системе. Таблица содержит поля - login- идентификационное поле, идентифицирующее единственным образом студента при входе в систему. Passwd- пароль для доступа к подсистеме обучения. Пароль кодируется шифром md5, алгоритм которого реализован в языке PHP. Кодирование позволяет защитить пароль от просмотра заинтересованными пользователями. По этим двум параметрам осуществляется вход в систему.

Поле n_group хранит информацию о названии учебной группы студента. Поле registration_date содержит дату регистрации студента в системе, это поле заполняется автоматически текущей датой при успешной регистрации в системе. Поле sex хранит пол студента - женский или мужской. В поле student_code хранится шифр студента. По этому полю система проверяет, может ли студент обучаться дистанционно или нет. Запретить обучение может администратор системы. Проверка осуществляется поиском значения шифра в таблице student_codes.

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

Ключевым полем в таблице users является поле login. По полю login данная таблица связана с таблицей "user_courses" связью "один-ко-многим", по полю student_code- c таблицей "student_codes" связью "один-к-одному". Типы данных полей таблицы "users" представлены в таблице 2.1

Таблица 2.1 - Структура таблицы "users"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Логин студента login char(16) Ключевое
2 Пароль passwd char(128) NOT NULL
3 Фамилия lastname char(40) NOT NULL
4 Имя firstname char(40) NOT NULL
5 Отчество middlename char(40) NOT NULL
6 Учебная группа n_group char(40) NOT NULL
7 Дата регистрации в системе registration_date date
8 Пол sex enum('мужской', 'женский')
9 Адрес электронной почты email char(128) NOT NULL
10 Шифр студента student_code char(10) NOT NULL, UNIQUE
11 Флаг администратора u_admin enum('y', 'n') DEFAULT 'n'

В таблице "courses" хранится информация о курсах дистанционного обучения. Ключевым полем в таблице является поле id_course. Таблица связана по полю id_course с таблицей "user_courses" и таблицей "course_parts" связью "один-ко-многим", по полю n_teacher с таблицей "teachers" связью "многие-к-одному". Поле course_period содержит информацию о продолжительности курса в месяцах. Если студент не прошел курс с даты регистрации в течение числа месяцев, указанных в course_period курс считается не сданным. Структура таблицы с описанием типов полей приведена в таблице 2.2

Таблица 2.2 - Структура таблицы "courses"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор курса id_course int Ключевое, AUTO_INCREMENT
2 Название курса course_name char(128) NOT NULL
3 Аннотация курса course_annotation text
4 Ссылка на файл описания курса course_full_description char(128)
5 Ссылка на файл картинки курса course_picture_link char(128)
6 Продолжительность курса course_period float
7 Преподаватель курса n_teacher int NOT NULL

В таблице "course_parts" хранится информация о подразделах курсов дистанционного обучения. Ключевым полем в таблице является поле id_course_part. Таблица связана по полю id_course_part с таблицей "questions" и таблицей "user_tests" связью "один-ко-многим", по полю n_course с таблицей "courses" связью "многие-к-одному". Структура таблицы с описанием типов полей приведена в таблице 2.3


Таблица 2.3 - Структура таблицы "course_parts"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор подраздела курса id_course_part int Ключевое, AUTO_INCREMENT
2 Курс n_course int NOT NULL
3 Подраздел курса n_part int NOT NULL
4 Ссылка на файл загрузки подраздела курса download_link char(128) NOT NULL
5 Описание ссылки загрузки download_description text
6 Название теста test_name char(128)
7 Количество вопросов, выводимых при тестировании test_question_count int NOT NULL, DEFAULT 5

В таблице "questions" хранится информация о вопросах тестов. Ключевым полем в таблице "questions" является поле id_question. Таблица связана по полю id_question с таблицей "answers" связью "один-ко-многим", по полю n_course_part с таблицей "course_parts" связью "многие-к-одному". Структура таблицы с описанием типов полей приведена в таблице 2.4

Таблица 2.4 - Структура таблицы "questions"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор вопроса id_question int Ключевое, AUTO_INCREMENT
2 Подраздел n_course_part int NOT NULL
3 Содержимое вопроса question_content char(255) NOT NULL

В таблице "answers" хранится информация о вариантах ответов на вопросы тестов. Ключевым полем в таблице является поле id_answer. Таблица связана по полю n_question с таблицей "questions" связью "многие-к-одному". Структура таблицы с описанием типов полей приведена в таблице 2.5


Таблица 2.5 - Структура таблицы "answers"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор ответа id_answer int Ключевое, AUTO_INCREMENT
2 Вопрос n_question int NOT NULL
3 Содержимое ответа answer_content char(255) NOT NULL
4 Флаг правильного ответа right_answer enum('y', 'n') NOT NULL, DEFAULT 'n'

В таблице "user_courses" хранится информация о курсах, на которые зарегистрировались студенты. Ключевым полем в таблице "user_courses" является поле id_user_course. Таблица связана по полю id_user_course с таблицей "user_tests" связью "один-ко-многим", по полю login с таблицей "users" связью "многие-к-одному", по полю n_course с таблицей "courses" связью "многие-к-одному". Структура таблицы с описанием типов полей приведена в таблице 2.6

Таблица 2.6 - Структура таблицы "user_courses"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор курса студента id_user_course int Ключевое, AUTO_INCREMENT
2 Логин студента login char(16) NOT NULL
3 Курс n_course int NOT NULL
4 Статус курса status enum('reg', 'end', 'not') NOT NULL
5 Дата регистрации курса registration_date date
6 Дата окончания курса end_date date

В таблице "user_tests" хранится информация о тестах пройденных студентами. Ключевым полем в таблице "user_tests" является поле id_user_test. Таблица связана по полю n_user_course с таблицей "user_courses" связью "многие-к-одному", по полю n_course_part с таблицей "course_parts" связью "многие-к-одному". Поле status может принимать одно из трех значений - reg- студент обучается, end- студент успешно завершил курс, not- студент не прошел курс. Поле registration_date заполняется автоматически текущей датой при регистрации на курс. Поле end_dateзаполняется автоматически текущей датой при успешном или неуспешном завершении курса. Структура таблицы с описанием типов полей приведена в таблице 2.7

Таблица 2.7 - Структура таблицы "user_tests"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор теста студента id_user_test int Ключевое, AUTO_INCREMENT
2 Курс студента n_user_course int NOT NULL
3 Подраздел курса n_course_part int NOT NULL
4 Число использованных попыток attemps int
5 Процент лучшего результата percent int
6 Дата последнего тестирования last_test_date date

В таблице "teachers" хранится информация о преподавателях. Ключевым полем в таблице "teachers" является поле id_teacher. Таблица связана по полю id_teacher с таблицей "courses" связью "один-ко-многим". Поле attemps содержит число попыток студента пройти тест. В поле last_test_date заносится дата последней попытки прохождения теста. Структура таблицы с описанием типов полей приведена в таблице 2.8

Таблица 2.8 - Структура таблицы "teachers"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор преподавателя id_teacher int Ключевое, AUTO_INCREMENT
2 Имя преподавателя teacher_name char(128) NOT NULL
3 Ученая степень преподавателя teacher_degree char(128) NOT NULL
4 Адрес электронной почты преподавателя teacher_email char(128)
5 Ссылка на файл с фото преподавателя teacher_photo char(128)
6 Информация о преподавателе teacher_about text

В таблице "correct_codes" хранится информация о шифрах студентов, которым разрешено администратором обучаться дистанционно. Ключевым полем в таблице "correct_codes" является поле student_code. Таблица связана по полю student_codeс таблицей "users" связью "один-к-одному". Структура таблицы с описанием типов полей приведена в таблице 2.9

Таблица 2.9 - Структура таблицы "correct_codes"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Шифр студента student_code int Ключевое

В таблице "news" хранится информация о новостях сайта. Ключевым полем в таблице "news" является поле id_news. Структура таблицы с описанием типов полей приведена в таблице 2.10

Таблица 2.10 - Структура таблицы "news"

№п/п Описание Поле Тип данных Дополнительные параметры
1 Идентификатор новости id_news int Ключевое, AUTO_INCREMENT
2 Название новости title char(128) NOT NULL
3 Дата новости date_news date
4 Ссылка на файл новости body_news char(128) NOT NULL
5 Автор новости autor_news char(128)

Схема даталогической модели предметной области представлена на рисунке 2.1


Рисунок 2.1 - Даталогическая модель предметной области

2.3 Тонкости установки и настройки аппаратно-программного комплекса

Для разработки системы используется комплекс программ, без которых создание требуемого приложения было бы невозможным. Как уже говорилось ранее, в качестве web-сервера выбран Apache версии 2.0.35, в качестве языка программирования PHP4.1.2, в качестве сервера баз данных MySQL 4.0.21. Для разработки и тестирования приложения используется MacromediaDreamweaverMX 2004. Каждый из этих продуктов требует тонкой настройки. В этом подразделе описаны тонкости установки и настройки перечисленных программных средств.

2.3.1 Web-сервер Apache

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

Apache- это своего рода стандарт Web-сервера в Интернете. Его основным конкурентом является IIS (InternetInformationServer) от Microsoft, который работает под Windows. Apache, хотя и существуют его версии под Windows, преимущественно устанавливается на Unix-подобных операционных системах - Linux и FreeBSD. Нужно также заметить, что большинство хостеров используют именно Apache, а не IIS. IIS устанавливается в основном на корпоративных серверах, работающих под Windows.

Сервер Apache просто необходим - без него мы не сможем протестировать web сценарии PHP. Конечно, можно тестировать и без сервера, но тогда нужно будет использовать сервер хостера, но в этом случае затраты на Интернет сильно возрастут.

2.3.2 Установка и настройка Apache

Для установки Apache для Windows нужно посетить сайт http: // www. apache. org и загрузить версию Apache для Windows) [12]. Установка сервера проблем не вызывает: нужно просто запустить программу установки и выбрать тип установки Typical. Еще потребуется указать каталог, в который будет производиться установка. По умолчанию будет установлен в каталог "C: \ProgramFiles\ApacheGroup\Apache". Окно установки с заданием некоторых параметров показано на рисунке 2.2


Рисунок 2.2 - Окно установки web-сервера Apache

По окончании установки Apache необходимо настроить. По умолчанию корневым каталогом для HTML-документов будет C: \ProgramFiles\ApacheGroup\Apache\htdocs. Такое расположение не очень удобно, поэтому создадим каталог С: \www, в котором будут находиться файлы. В этом же каталоге создадим два подкаталога - cgi и html. В первом будут находится CGI-приложения, а во втором - HTML-файлы.

Затем нужно открыть в любом текстовом редакторе файл C: \ProgramFiles\ApacheGroup\Apache\conf \httpd. conf и отредактировать следующие директивы:

ServerName- установить имя сервера. При этом, директива ServerName по умолчанию закомментирована, то есть игнорируется сервером. Поэтому необходимо раскомментировать эту директиву, убрав перед ней значок #.

DocumentRoot- установим значение С:/www/html:

DocumentRoot с:/www/html

Таким образом, укажем каталог, в котором будут размещаться HTML-файлы.

Установим директивы ScriptAlias так:

ScriptAlias/cgi/"с:/www/cgi/"

ScriptAlias/cgi-bin/"c:/www/cgi/"

Благодаря этому создадим два псевдонима для каталога с:/www/cgi. Таким образом, если будет указан путь http: // localhost/cgi или http: // localhost/cgi-bin, то на самом деле обращение будет к каталогу с:/www/cgi.

Секцию <Directory"С:/ProgramFiles/ApacheGroup/Apache/htdocs"> заменим на следующую:

<Directory "c:/www">

Options Indexes Includes AllowOverride All Allow from all </Directory>

Таким образом, зададим ряд настроек по умолчанию для каталога с: \www и всех его подкаталогов. А именно: автоматическую генерацию списка содержимого каталога при просмотре его в браузере, поддержку SSI, а также возможность использовать файлы. access для индивидуальной настройки каталогов.

Убедимся, что есть директива AddHandler:

AddHandlercgi-script. bat. exe. cgi

Эта директива указывает Apache на то, что файл с расширениями. bat. exeи. cgiследует воспринимать как CGI-модули.

Установим параметры SSI:

Addtypetext/html. shtml

AddHandlerserver-parsed. shtml. html. htm Благодаря этому файлы с указанными расширениями будут обрабатываться SSI.

Необходимо сохранить отредактированный файл.

Теперь протестируем работу Apache. Запуск:

C: \Program Files\Apache Group\Apache\apache. exe

При успешном запуске появится надпись

Apache/2.0.35 (Win32) running...

Теперь можно проверить корректность работы сервера. Запустим Internet Explorer или любой другой браузер и введем: http: // localhost. Вы должны увидеть стартовую страницу Apache. Теперь проверим CGI и SSI. Для этого создадим файл test. bat и поместим его в каталог c: \www\cgi:

@echo off

echo Content-type: text/html

echo.

echo.

echo Hello!

В окне браузера введите http: // localhost/cgi/test. bat -увидите слово Hello! Для проверки SSI нужно создать файл test. html и поместить его в каталог c: \www\html:

SSI Test<br>

<! -tinclude virtual="/index. html" ->

SSI (ServerSideInclude) - включение со стороны сервера, позволяет включать в Web-страницу код HTML, находящийся в других файлах.

В окне браузера при вызове файла test. html вы увидите SSITest, a затем - стартовую страницу Apache.

2.3.3 Установка РНР и настройка Apache для работы с РНР

После установки Apache установим РНР 4. Версию РНР 4 для Windows можно скачать по адресу http: // www. php. net (последняя версия РНР доступна по адресу http: // www. php. net/downloads. php) [13].

Запустим программу установки, которая по умолчанию установит РНР 4 в каталог C: \ProgramFiles\PHP4\. Однако в процессе установки можно выбрать другой каталог.

Окно установки PHP показано на рисунке 2.3


Рисунок 2.3 - Окно установки PHP 4

Сразу после установки необходимо открыть файл php. ini (он будет в каталоге, куда вы установили РНР) и отредактировать следующие параметры:

[mail function] ; For Win32 only. SMTP = localhost

sendmail_from = me@localhost. com

Параметр SMTP задает имя SMTP-сервера. По умолчанию в качестве SMTP-сервера используется локальный компьютер - это хорошо для Linux, но в Windows вам нужно указать SMTP-сервер провайдера, потому что вряд ли у вас будет установлен почтовик под Windows. Если вы не сделаете этого, функция mail(), отправляющая сообщения, работать не будет.

После этого откроем файл httpd. conf (файл конфигурации Apache) и найдем в нем строку:

AddTypeapplication/x-httpd-phpphp

Убедимся, что данная строка не закомментирована, то есть перед ней не стоит значок #. Если он стоит - уберем его. Таким образом, всем файлам с расширением. php будет поставлен в соответствие МIМЕ-тип application/x-httpd-php.

Типы MIME используются для идентификации типа содержимого. Благодаря этому приложения смогут определять, какого вида данные присланы и в каком соответствии сети проводить их обработку. Перечень всех типов MIME, поддерживаемых системой, находится в файле C: \ProgramFiles\ApacheGroup\Apache\conf. Тип MIME указывается в формате: тип/подтип. Вот основные типы MIME:

application- приложение (программа или документ, связанный с программой).

audio- аудиофайл (audio/mpeg).

image- графический файл (audio/png).

text- текст (text/html- в формате HTML, text/plain- простой).

MIME-тип пересылаемых по сети данных указывается в заголовке Content-type.

Сразу же после этой строки добавим строки:

ScriptAlias/_php_/"с:/ProgramFiles/PHP5/" Actionapplication/x-httpdhp "/_php_/php. exe"

В этих двух строках мы сначала создаем псевдоним _php_ для каталога с:/ProgramFiles/PHP 4/, а затем связываем все файлы типа application/x-httpd-php с обработчиком php. exe.

Теперь можно протестировать РНР. Для этого создадим файл test. php:

<?

phpinfo ();? >

Данный файл нужно поместить в каталог c: \www\html. В браузере введите http: // localhost/test. php. В итоге вы должны увидеть результат работы функции phpinfo().

2.3.4 Установка MySQL

Сервер MySQL можно загрузить по адресу http: // www. mysql. com. Программа установки установит сервер в каталог С: \ProgamFiles\MySQL\. Для запуска MySQL создадим файл server. bat:

@echooff

"С: \ProgramFiles\MySQL\bin\mysqld"

start/m "C: \Program Files\Apache Group\Apache\apache"

Если вы работаете в WindowsNT или 2000, server. bat должен выглядеть так, как это показано в следующем листинге:

@echo off

start C: \Progra~l\MySQL\bin\mysqld-nt - standalone

C: \Progra~l\Apache~l\Apache\apache - k start

Теперь для запуска Apache и MySQL нужно ввести команду server. Создадим файл shutdown. bat, который будет останавливать оба сервера:

@echo off

C: \Progra~l\Apache~l\Apache\apache - k shutdown

C: \Progra~l\MySQL\bin\mysqladmin - u root shutdown

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

user=root

password=geijr

Файл настройки сервера баз данных MySQL находится по умолчанию в корневом каталоге Windows.

Просмотреть все базы данных и таблицы, созданные на сервере MySQL можно утилитой WinMySQLadmin1.4, окно которой показано на рисунке 2.4.


Рисунок 2.4 - Окно утилиты WinMySQLadmin1.4

2.4 Работа в MacromediaDreamweaverMX 2004

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

Рисунок 2.5 - Интерфейс пакета Dreamweaver MX 2004 с командами меню Window.


Остановимся на палитре Object (Объекты), внешний вид которой представлен на рисунке 2.6 Внешний вид палитры изменяется в зависимости от типа объекта, выбранного в раскрывающимся списке, расположенного в ее верхней части; таким образом палитру можно назвать адаптивной. По умолчанию в списке устанавливается раздел Common (Основные). На рисунке 2.6 выбран именно этот вариант.

Рисунок 2.6 - Палитра Objects раздел Common

Эта палитра с помощью различных инструментов позволяет включать в состав страницы различные элементы, в частности, по порядку расположения кнопок в палитре в направлении слева направо и сверху вниз: Image (Изображение), Rollover Image (Анимированную кнопку), внешний вид которой изменяется при подведении к ней курсора мыши, Table (Таблицу), Tabular Data (таблицу с занесенными в нее данными, подготовленными заранее в другом программном пакете), Draw Layer (Новый изобразительный слой), Navigation Bar (Навигационную панель со специальными кнопками для перемещения по сайту), Horizontal Rule (Горизонтальную линейку), Е-mail Link (Ссылку на электронный адрес), Date (Текущую дату), Server-Side Include (Активизацию серверной стороны), Flash Button (Анимированную Flash-кнопку), Flash Text (Анимированный Flash-текст), Shockwave (Анимационный файл в Shockwave-формате), Generator (средства, делающие Web-страницы динамическими, в частности, апплеты и элементы ActiveX, объекты, воспроизводимые с помощью дополнительных модулей) и пр.

Палитра Objects раздел Forms (Формы), показанная на рисунке 2.7, служит для создания форм (см. разд.2.8) и содержит следующие кнопки: Form (Форма), Text field (текстовое поле), Button (Кнопка), Checkbox и Radio Batton (Переключатели), List/menu (Список/меню), File field (Поле для передачи файлов) и Image field (Поле для передачи изображений), Hidden field (Скрытое поле) и Jump menu (Указатель гиперссылки для перехода на другой сайт).

Рисунок 2.7 - Палитра Objects раздел Forms

Палитра Objects раздел Text (Формы), показанная на рисунке 2.8 позволяет включать в страницу различные элементы текстового форматирования - жирный текст, наклонный, создавать списки, переносы и т.п. (рисунок 2.8).

Рисунок 2.8 - Палитра Objects раздел Text

В нижней части всех палитр группы Object (Объект) предусмотрены поля Layout (Выравнивание) и View (Просмотр), которые позволяют наблюдать и управлять размещением объектов на Web-странице (рисунок 2.9).

Рисунок 2.9 - Палитра Objects раздел Layout

И наконец, важная палитра, облегчающая во многом работу со скриптами PHP- палитра Object - PHP. Предусмотрена вставка различных элементов языка PHP, например открывающего и закрывающего тэгов, операторов и т.п. (рисунок 2.10).

Рисунок 2.10 - Палитра Objects раздел PHP


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

Для непосредственного создания сайта следует предварительно сделать все необходимые установки. С этой целью выбирается команда Edit | Preferences (Редактирование | Настройки). В результате откроется диалоговое окно Preferences (Настройки), показанное на рисунке 2.11 Здесь задаются различные настройки для будущего сайта - название, цвета ссылок, размещение каскадных таблиц стилей CSS, параметры использования различных элементов.

Рисунок 2.11 - Диалоговое окно Preferences

Для изменения любой страницы в Dreamweaver используется редактор страниц. На рисунке 2.12 показана рабочая область с загруженным документом inde. php. Редактировать можно в трех режимах - кода, дизайнера, совмещенного (кода и дизайнера). Для работы с PHP больше всего подходит первый режим. Просматривать страницы и запускать скрипты удобно по клавише F12, которая автоматически открывает страницу в выбранном заранее браузере.

Рисунок 2.12 - Редактор кода страниц

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

Рисунок 2.13 - Редактор файлов сайта

2.5 Создание электронных учебных материалов для ДО

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

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

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

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

Рисунок 2.14 - Фреймовая структура электронного учебника

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

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

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

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

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

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

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

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

2.6 Разработка web-приложения

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

2.6.1 Разработка пользовательского интерфейса

В качестве цветовой гаммы выбраны синие и оранжевые цвета. Подобраны оттенки, достаточно хорошо гармонирующие друг с другом. Текст отображен шрифтом семейства Verdana, Arial, Sans-serif черным или темно-серым цветом.

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

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

Рисунок 2.15 - Заголовочная часть пользовательского интерфейса

В нижней части расположено пользовательское меню с ниспадающими подменю. Элементы меню выполнены в светло-синем стиле, подсветка активного пункта осуществляется оранжевым цветом. Меню написано на языке java-скрипт и взято с сайта бесплатных шрифтов [11]. Оно реализовано в файле popup_me. js, к которому прикрепляются файлы содержимого меню (menu. php- для основного меню, menu_adm. php- для меню администрирования) и содержимого подменю (menu_rli. js - для подменю основного меню, menu_rli_adm. js - для подменю меню администрирования). Внешний вид меню представлен на рисунке 2.16.

Рисунок 2.16 - Пользовательское меню

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

Рисунок 2.17 - Информативная панель

В нижней части страницы отображается строка статуса, на которой представлена информация о web-дизайнере (рисунок 2.18).

Рисунок 2.18 - Строка статуса

Цвет рабочей области страницы - белый, для лучшего восприятия пользователем темного текста. Элементы рабочей области, содержащие информацию, обрамлены в оранжевые фреймы с заголовочным текстом белого цвета, выведенном на оранжевом фоне. Текст фрейма темно-серого цвета, а ссылки на другие страницы - синего. Внешний вид рабочей области страницы показан на рисунке 2. 19.

Рисунок 2. 19 - Рабочая область страницы

2.6.2 Использование каскадных таблиц стилей CSS

В программе для удобства вывода интерфейсных элементов используются каскадные таблицы стилей CSS. Все стили хранятся в файле rli_style. css. Присоединение таблицы стилей к странице осуществляется следующим образом:

<link href="rli_style. css" rel="stylesheet" type="text/css">

Вывести стиль применительно к элементу страницы можно, задав свойству class элемента название стиля, например, class=\"buttonOrange\".

Для создания стиля необходимо добавить в файл rli_style. css строку стиля в следующем виде:

Название стиля {Свойство стиля: Значение; Свойство стиля: Значение; }

Основные свойства стилей приведены в таблице 2.11

Таблица 2.11 - Назначение свойств стилей

№п/п Имя свойства Назначение свойства
1 height Высота элемента
2 width Ширина элемента
3 border-top Параметры верхней границы
4 border-bottom Параметры нижней границы
5 border-left Параметры левой границы
6 border-right Параметры правой границы
7 font-family Семейство шрифта
8 font-size Размер шрифта
9 font-weight Свойства шрифта
10 color Цвет текста
11 background-color Цвет фона
12 background-image Фоновый рисунок
13 border Тип границы

Как уже говорилось ранее, файл, где хранятся стили, называется rli_style. css. Основные стили, используемые в приложении, и их описание, приведено в таблице 2.12.

Таблица 2.12 - Используемые каскадные таблицы стилей

№п/п Название стиля Назначение стиля
1 center,a,div,tr,td,table, input,textarea,p,small,body Стили для тэгов
2 popfirst, poplast Стиль пунктов меню
3 a. m, a. ml Cтили ссылок
4 brbt Рамка для пунктов меню
5 bpics Высота белых полосок в меню
6 bcoursespic, btrainingpic, bcontactspic, baboutpic, bstudentpic, badminpic Ширина белых полосок в меню
7 bb, bn, bi, bd Рамки таблиц
8 popuser, a. pmenu Пункты в меню
9 textheader Стиль текста заголовка
10 textonlightblue Текст на светло-голубом фоне
11 textonlight Текст на светлом фоне (основной)
12 textonblue Текст на синем фоне
13 textonorange Текст на оранжевом фоне
14 textrederror Текст ошибки
15 a Основная ссылка
16 a. light Текст ссылки
17 a. notunder Текст ссылки без подчеркивания
18 buttonBlue Синяя кнопка
19 buttonOrange Оранжевая кнопка
20 buttonFiolete Фиолетовая кнопка
21 hr_onlightblue_orange Оранжевая разделительная полоска
22 hr_onlightblue_blue Синяя разделительная полоска
23 table_admin Таблицы на странице администрирования

2.6.3 Файловая структура приложения

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

config, каталог с файлами конфигурации Apache и MySQL, а также тестовую базу данных;

data, хранит файлы описания и картинки курсов;

dbedit, хранит скрипты для создания базы данных (db_create_rli. php);

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

images, хранит все файлы изображений, используемые в приложении;

news, в котором хранятся файлы новостей для таблицы news.

В корневом каталоге хранятся файлы, описанные в таблице 2.13.

Таблица 2.13 - Описание файловой структуры приложения

№п/п Название файла Назначение файла
1 2 3
1 about_contacts. php Страница о контактах
2 about_contacts_right. php Область для вывода данных страницы о контактах
3 about_faq. php Страница вопросов ответов
4 about_faq_right. php Область для вывода данных страницы вопросов и ответов
5 about_info. php Страница о проекте
6 about_info_right. php Область для вывода данных страницы о проекте
7 about_teachers. php Страница о преподавателях
8 about_teachers_right. php Область для вывода данных страницы о преподавателях
9 admin. php Страница администрирования
10 admin_add. php Модуль администрирования - добавление данных в таблицу
11 admin_add_check. php Модуль администрирования - проверка добавления данных в таблицу
12 admin_del. php Модуль администрирования - удаление данных из таблицы
13 admin_edit. php Модуль администрирования - вывод таблицы для редактирования
14 admin_right. php Область для вывода данных страницы администрирования
15 admin_update. php Модуль администрирования - форма обновления
16 admin_update_check. php Модуль администрирования - проверка обновления
17 body_left. php Левая часть всех страниц
18 body_list_after_header. php Средняя часть (вывода данных) оранжевого фрейма
19 body_list_footer. php Нижняя часть оранжевого фрейма
20 body_list_header. php Заголовочная часть оранжевого фрейма
21 body_right. php Область для вывода данных главной страницы
Продолжение таблицы 2.13
1 2 3
22 buttom. php Нижняя строка всех страниц
23 contacts. php Страница общения
24 contacts_chat. php Страница чата
25 contacts_chat_right. php Область для вывода данных страницы чата
26 contacts_forum. php Страница форума
27 contacts_forum_right. php Область для вывода данных страницы форума
28 contacts_guestbook. php Страница гостевой книги
29 contacts_guestbook_right. php Область для вывода данных страницы гостевой книги
30 contacts_right. php Область для вывода данных страницы общения
31 courses. php Информация о курсах
32 courses_for_students. php Страница курсов
33 courses_for_students_right. php Область для вывода данных страницы курсов
34 courses_info. php Информация о курсах
35 courses_info_right. php Область для вывода данных информации о курсах
36 courses_literature. php Страница рекомендуемой литературы
37 courses_literature_right. php Область для вывода данных страницы рекомендуемой литературы
38 courses_organization. php Страница организации обучения
39 courses_organization_right. php Область для вывода данных страницы организации обучения
40 courses_registration. php Проверка регистрации на курсы
41 courses_registration_right. php Область для вывода данных страницы проверки регистрации на курсы
42 courses_right. php Область для вывода данных страницы о курсах
43 courses_technology. php Страница технологии обучения
44 courses_technology_right. php Область для вывода данных страницы технологии обучения
45 download. php Страница загрузок
46 download_right. php Область для вывода данных страницы загрузок
47 error. php Страница вывода ошибки
48 error_right. php Область для вывода данных страницы ошибки
49 find. php Страница организации поиска
50 find_right. php Область для вывода данных страницы организации поиска
51 header. php Заголовок всех страниц
52 index. php Главная страница
53 login_form. php Модуль отображения данных о пользователе вошедшем в систему
54 menu. php Модуль основного меню
55 menu_adm. php Меню администрирования
56 menu_adm_rli. js Формирование пунктов меню администрирования
57 menu_rli. js Формирование пунктов основного меню
58 news. php Страница новостей
59 news_list_after_header. php Основная часть фрейма новостей слева
60 news_list_footer. php Нижняя часть фрейма новостей слева
61 news_list_header. php Заголовок фрейма новостей слева
62 news_right. php Область для вывода данных страницы новостей
Продолжение таблицы 2.13
1 2 3
63 option. php Параметры подключения к серверу MySQL
64 popup_me. js Модуль формирования и отображения меню
65 progress. php Страница успеваемости
66 progress_right. php Область для вывода данных страницы успеваемости
67 rli_style. css Каскадная таблица стилей приложения
68 statistics. php Страница статистики
69 statistics_right. php Область для вывода данных страницы статистики
70 student. php Страница информации для студента
71 student_right. php Область для вывода данных страницы информации для студента
72 student_shedule_exams. php Страница расписания экзаменов
73 student_shedule_exams_right. php Область для вывода данных страницы расписания экзаменов
74 student_shedule_from_teacher. php Страница информации преподавателей курсов
75 student_shedule_from_teacher_right. php Область для вывода данных страницы информации преподавателей курсов
76 student_shedule_internal. php Страница расписания очных занятий
77 student_shedule_internal_right. php Область для вывода данных страницы расписания очных занятий
78 student_shedule_tutorial. php Страница расписания консультаций
79 student_shedule_tutorial_right. php Область для вывода данных страницы расписания консультаций
80 training. php Личная страница обучения
81 training_check_registration. php Страница проверки регистрации пользователей
82 training_check_registration_right. php Область для вывода данных страницы проверки регистрации пользователей
83 training_registration. php Страница регистрации курсов
84 training_registration_right. php Область для вывода данных страницы регистрации курсов
85 training_right. php Область для вывода данных страницы обучения
86 training_test. php Страница тестирования
87 training_test_right. php Область для вывода данных страницы тестирования
88 user_form. php Часть левой страницы с полями ввода логина и пароля

2.6.4 Формирование страниц приложения

Все скрипты PHP заключаются в скобки <? и? >. Язык позволяет формировать страницы из нескольких отдельных составляющих. Для этого используются функции include и require. Например, скрипт

<? include "header. php"? >

Включает в страницу текст файла header. php.

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

Создается пустой файл нужной страницы с тэгами <html>, <head> и <title>;

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

Далее подключается файл body_left. php, с содержимым левой части страницы.

Выводится основная часть страницы в виде НазваниеСтраницы_right. php;

Формируется нижняя строка из файла buttom. php.

В свою очередь файл НазваниеСтраницы_right. php содержит фреймы для вывода данных. Каждый фрейм включает заголовочную часть из файла body_list_header. php, затем выводится текст заголовок, нижняя часть строки заголовка body_list_after_header. php, текст фрейма и нижняя часть фрейма body_list_footer. php. Внешний вид фрейма, который используется для вывода данных на страницах приложения, представлен на рисунке 2. 20.

Рисунок 2.20 - Фрейм для вывода данных

Для вывода данных используется функция echo - это функция, которая отправляет браузеру текст. Между словом и символом конца строки "; " помещается строка, которая заключается в кавычки. Текст и тэги HTML, находящиеся внутри кавычек, отправляются браузеру. Если в тексте используется символ кавычки или прямой слэш, то перед ними помещается еще один слэш, т.е./” или // Таким образом выводятся и другие служебные символы.

Листинг некоторых основных страниц приложения приведен в приложении Б.

2.6.5 Передача значений форм в другие страницы

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

Каждое поле ввода имеет атрибут NAME, которое будет передано в обработчик вместе со своим значением. Существует два метода передачи данных: GET и POST. Их отличие состоит в том, что при использовании метода GET значения полей присоединяются к URL, указанному в атрибуте ACTION. Происходит это таким образом:

http: // localhost/action. php? имя=значение&... имя=значение

Схема состоит в том, что для каждого элемента, имеющего имя (NAME), создается пара NAME=VALUE, где VALUE- конкретное значение соответствующего элемента формы. Для кнопок и переключателей передается только значение выбранного элемента. Указанные выше пары соединяются в виде символьных последовательностей, причем в качестве разделителей пар используется символ &. Сформированный таким образом набор символов пересылается как часть URL-запроса и носит название строка запроса.

Внутри символьной последовательности могут содержаться символы, недопустимые в составе URL-запроса. Известно, что ASCII-символы кодируются двумя шестнадцатиричными цифрами. Поэтому недопустимые в составе запроса символы заменяются триадами из знака % и 2-х цифр шестнадцатиричной системы счисления, соответствующих этому символу.

Пары "имя=значение" создаются для каждого элемента ввода, для которого указано имя атрибутом NAME. В случае использования метода POST значения полей передаются в заголовке запроса к серверу. Формат передачи при этом методе нам не интересен, значения передаются "незаметно" для обычного пользователя.

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

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

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

Таблица 2.14 - Описание файловой структуры приложения

№п/п Тип Описание
1 TEXT Поле ввода текста
2 CHECKBOX Кнопка-флажок. Используется для выбора варианта
3 SUBMIT Кнопка, которая инициирует вызов обработчика формы
4 HIDDEN Скрытое поле ввода текста

Теперь рассмотрим, как значения и состояния этих элементов передаются в обработчик.

Введенное значение в поле TEXTпередается в виде: имя=значение. В обработчике значение можно получить из переменной $имя. Для поля HIDDEN передача параметров осуществляется аналогично.

CHECKBOX - если флажок установлен, то передается значение on, если флажок не установлен, то переменная не передается вообще. Таким образом, установку флажка в скрипте можно проверить, сравнив значение переменной $имя с "on". Переменная и строка выглядят аналогично элементу типа TEXT.

SUBMIT - кнопка SUBMIT, как ни странно, тоже может передавать значение в обработчик. Значение устанавливается из атрибута VALUE. Все остальное аналогично полю типа TEXT.

PHP предоставляет еще одну интересную особенность. Мы можем каждому элементу присвоить имя переменной массива.

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

$personal ["name"] и $personal ["email"].

Кроме того, если включена директива PHP <? php_track_vars? >, то, при передаче значений, будут заполнены массивы $HTTP_GET_VARS и $HTTP_POST_VARS, для соответствующих методов передачи переменных в обработчик.

2.6.6 Взаимодействие приложения с web-сервером

Этапы взаимодействия данного приложения с web-сервером следующие:

Пользователь с помощью браузера формирует запрос на получение документа и через сеть Интернет посылает его на Web-сервер.

Сервер извлекает документ (форму) из своей базы данных и через сеть Интернет посылает его пользователю (клиенту).

Клиент с помощью браузера заносит в документ необходимые данные и вновь направляет его через сеть web-серверу.

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

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

Сервер передает выходную информацию клиенту.

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

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

CGI-программа создает динамический (виртуальный) гипертекстовый документ или же формирует ссылку на уже имеющийся документ и дополняет его передачей результатов. Чаще всего для передачи данных от удаленного пользователя Web-серверу используются HTML-формы. Именно с их помощью организуется диалог между браузером пользователя и Web-сервером удаленного узла сети. Такой диалог позволяет осуществить важнейшие операции в сети Интернет.

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

2.6.7 Создание таблиц базы данных

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

$SERVER = "localhost"; // Имя сервера

$USER = "root"; // Имя пользователя

$PASSWD = "geijr"; // Пароль

$DB = "rli_test"; // Имя базы данных "RLI_test"

$REPLY = "andrewnik@list. ru";

mysql_createdb ($DB); // Создание базы данных

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

mysql_connect($SERVER,$USER,$PASSWD))

При удачной попытке выбираем базу данных:

mysql_select_db($DB);

И создаем таблицы. Таблицы базы данных создаются в виде скрипта PHP, затем скрипт запускается и база данных RLI_test появляется в списке данных MySQL сервера. Проверить процесс создания таблиц можно утилитой WinMySQLadmin1.4 на странице Databases.

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

mysql_query(“Строка запроса”);

//Создаем таблицу пользователей - users

mysql_query("CREATE TABLE users

(login char(16) PRIMARY KEY,

passwd char(128) NOT NULL,

lastname char(40) NOT NULL,

firstname char(40) NOT NULL,

middlename char(40) NOT NULL,

n_group char(40) NOT NULL,

registration_date date,

sex enum('мужской', 'женский'),

email char(128) NOT NULL,

student_code char(10) NOT NULL UNIQUE,

u_admin enum('y', 'n') DEFAULT 'n',

FOREIGN KEY (login) REFERENCES user_courses (login),

FOREIGN KEY (student_code) REFERENCES correct_codes (student_code))");

//Создаем таблицу курсов - courses

mysql_query("CREATE TABLE courses

(id_course int PRIMARY KEY AUTO_INCREMENT,

course_name char(128) NOT NULL,

course_annotation text,

course_full_description char(128),

course_picture_link char(128),

course_period float,

n_teacher int NOT NULL,

FOREIGN KEY (id_course) REFERENCES user_courses (n_course),

FOREIGN KEY (id_course) REFERENCES course_parts (id_course_part))");

//Создаем таблицу ссылок загрузок курсов - course_parts

mysql_query("CREATE TABLE course_parts

(id_course_part int PRIMARY KEY AUTO_INCREMENT,

n_course int NOT NULL,

n_part int NOT NULL,

download_link char(128) NOT NULL,

download_description text,

test_name char(128),

test_question_count int NOT NULL DEFAULT 5,FOREIGN KEY (id_course_part) REFERENCES questions (n_course_part),

FOREIGN KEY (id_course_part) REFERENCES user_tests (n_course_part))");

//Создаем таблицу вопросов - questions

mysql_query("CREATE TABLE questions

(id_question int PRIMARY KEY AUTO_INCREMENT,

n_course_part int NOT NULL,

question_content char(255) NOT NULL,

FOREIGN KEY (id_ question) REFERENCES answers (n_ question))");

//Создаем таблицу ответов - answers

mysql_query("CREATE TABLE answers

(id_answer int PRIMARY KEY AUTO_INCREMENT,

n_question int NOT NULL,

answer_content char(255) NOT NULL,

right_answer enum('y', 'n') DEFAULT 'n' NOT NULL)");

//Создаем таблицу курсов пользователей - user_courses

mysql_query("CREATE TABLE user_courses

(id_user_course int PRIMARY KEY AUTO_INCREMENT,

login char(16) NOT NULL,

n_course int NOT NULL,

status enum('reg', 'end', 'not')),

registration_date date,

end_date date,

FOREIGN KEY (id_ user_course) REFERENCES user_tests (n_user_course))");

//Создаем таблицу тестов пользователей - user_tests

mysql_query("CREATE TABLE user_tests

(id_user_test int PRIMARY KEY AUTO_INCREMENT,

n_user_course int NOT NULL,

n_course_part int NOT NULL,

attemps int,

percent int,

last_test_date date)");

//Создаем таблицу преподавателей - teachers

mysql_query("CREATE TABLE teachers

(id_teacher int PRIMARY KEY AUTO_INCREMENT,

teacher_name char(128) NOT NULL,

teacher_degree char(128),

teacher_email char(128),

teacher_photo char(128),

teacher_about text,

FOREIGN KEY (id_teacher) REFERENCES courses (n_teacher))");

//Создаем таблицу корректных шифров студентов - correct_codes

mysql_query("CREATE TABLE correct_codes

(student_code char(10) PRIMARY KEY)");

//Создаем таблицу новостей - news

mysql_query("CREATE TABLE news

(id_news int PRIMARY KEY AUTO_INCREMENT,

title char(128) NOT NULL,

date_news date,

body_news char(128) NOT NULL,

autor_newschar(100))");

Используемые типы данных и их описание приведено в таблице 2.15.

Таблица 2.15 - Используемые типы данных

 

 

 

№п/п Тип данных Описание
1 int Целое число. В MySQL тип данных int может быть со знаком или без знака
2 float Число с плавающей запятой. Этот тип допускает больший диапазон значений, чем int, но не обладает его точностью
3 char(длина) Символьная величина фиксированной длины. Поля типа char не могут содержать строки длины большей, чем указанное значение. Поля меньшей длины дополняются пробелами