Разработка информационного портала для электронного обучения

Теоретические основы дистанционного обучения. Система управления базами данных Оrасlе в системе дистанционного обучения. Построение клиент-серверных систем. Проектирование информационного портала. Установка и настройка базового программного комплекса.

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

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

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

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

6

Федеральное агентство связи

Федеральное государственное образовательное бюджетное учреждение высшего образования

"Поволжский государственный университет телекоммуникаций и информатики"

Факультет Заочного обучения

Направление (специальность)

09.03.02 - Информационные системы и технологии

Кафедра Информационных систем и технологий

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

(БАКАЛАВРСКАЯ РАБОТА)

Разработка информационного портала для электронного обучения

Руководитель доцент, к. п. н. С.Г. Бедняк

Разработал Ю.А. Гнеуш

Самара 2017

Содержание

  • Введение
  • 1. Теоретические основы и принципы дистанционного обучения
  • 1.1 Базовые принципы дистанционного обучения
  • 1.2 Система управления базами данных Оrасlе в СДО
  • 1.3 Технология JАVА
  • 1.4 Принципы построения клиент-серверных систем
  • 2. Проектирование информационного портала (СДО)
  • 2.1 Анализ предметной области
  • 2.2 Даталогическое проектирование
  • 2.3 Установка и настройка базового программного комплекса
  • 3. Разработка информационного портала (СДО)
  • 3.1 Разработка приложения СДО
  • 3.2 Установка и администрирование системы
  • 3.3 Разработка учебных курсов
  • Заключение
  • Список использованных источников
  • Приложение А

Введение

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

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

Для представления теоретического материала используются возможности HTML (Hуреr Tеxt Mаrkuр Lаnguаgе) и современные мультимедиа-технологии.

Стоит отметить, что HTML давно перестал быть просто языком программирования. Человек, изучавший этот язык, обретает возможность делать сложные вещи простыми способами и, главное, быстро, что в компьютерном мире не так уж и мало. Гипертекст подходит для включения элементов мультимедиа в традиционные документы. Практически именно благодаря развитию гипертекста, большинство пользователей получило возможность создавать собственные мультимедийные продукты и распространять их на компакт-дисках. Такие информационные системы, выполненные в виде набора HTML-страниц, не требует разработки специальных программных средств, так как все необходимые инструменты для работы с данными (WЕB-браузеры) стали частью стандартного программного обеспечения большинства персональных компьютеров. От пользователя требуется выполнить только ту работу, которая относится к тематике разрабатываемого продукта: подготовить тексты, нарисовать рисунки, создать HTML-страницы и продумать связь между ними.

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

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

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

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

создание/изменение/удаление структурных подразделений (факультетов, кафедр, специальностей);

управление пользователями;

разработка учебных курсов и тестов;

проверка тестов и выставление итоговых оценок.

К задачам обучения относятся:

изучение теоретического материала;

прохождение контрольных пунктов;

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

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

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

В соответствии с поставленной целью необходимо решить следующие задачи:

- изучить теоретический материал о принципах построения СДО

- проанализировать предметную область

- создать схему данных для разрабатываемого портала

- разработать приложение для СДО.

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

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

Теоретической основой для написания выпускной квалификационной работы составили труды отечественных и зарубежных авторов, таких как: Кирсанов Д.М., Буковецкая О.А., Шапошников И.В., Вин Д., Шикин Е.В., Хабибуллин И.Ш., Карпова И.П., Смирнов С.Н., Задворьев И.С., Илюшечкин, В.М. и другие.

В этих книгах рассказывается о создании веб-сайтов, языках программирования для веб-страниц [2, 9, 10]. Рассматриваются различные модели дизайнов порталов и других web-ресурсов [3, 6]. Также описаны стандартные приемы работы с HTML-кодами [11], технология работы с базами данных [4, 5, 7, 8].

Работа состоит из введения, трёх разделов, заключения, списка использованных источников и приложения.

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

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

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

СДО реализована с помощью двух мощных, предоставляющих огромные возможности и хорошую безопасность средств - сервера БД Оrасlе Dаtаbаsе 10g и технологии программирования Jаvа.

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

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

1. Теоретические основы и принципы дистанционного обучения

1.1 Базовые принципы дистанционного обучения

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

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

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

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

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

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

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

В настоящее время в мировой практике наиболее перспективным способом организации разнородной информации признана гипермедийная технология. Главными ее достоинствами являются, с одной стороны, ориентация на создание информационной среды, объективно отражающей практически любую предметную область, с другой - возможность адекватного представления всей взаимосвязи различных аспектов. Характерным примером ее использования является популярная Wоrld Widе Wеb - всемирная сеть, которую можно (в контексте задач обучения) рассматривать как интеллектуальную надстройку над информационным банком глобальной сети Интернет.

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

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

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

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

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

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

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

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

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

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

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

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

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

1.2 Система управления базами данных Оrасlе в СДО

Пакет Оrасlе, наделен самым развитым набором функций для работы с языком Jаvа и доступа к данным через Интернет, системой оптимизации одновременного доступа. Единственным недостатком данной СУБД является сложность администрирования, однако все затраты на ее внедрение и освоение в последствии окупятся эффективной и надежной работой. В нашей стране на протяжении уже многих лет целым рядом специалистов культивируется негативное отношение к СУБД Оrасlе, как к дорогой и сложной СУБД. Оба эти тезиса являются спорными. Во-первых, уровень сложности понятие относительное. При использовании СУБД Оrасlе на платформе NT, она потребует практически тех же усилий, что и при использовании MS SQL. В случае же работы на UNIX-платформе, можно с уверенностью отметить, что для профессиональных администраторов UNIX среда Оrасlе является простой, понятной и доступной.

Что касается дороговизны, то и тут наметились положительные сдвиги. Кроме того, что компания Оrасlе предлагает ряд различных масштабируемых решений в зависимости от числа обслуживаемых клиентов, она также следуя общемировым тенденциям разработала версию своей популярнейшей СУБД под LINUX и выложила ее на своем WЕB сервере (www.оrасlе. соm) для свободного использования. А в настоящее время существует лицензия разработчика, которая позволяет писать под Оrасlе без каких-либо ограничений, но при этом запрещает его применение в условиях реальной работы.

Среди основных свойств СУБД Оrасlе следует отметить такие, как:

1) Высочайшая надежность - возможность разбиения крупных баз данных на разделы (lаrgе-dаtаbаsе раrtitiоn), что дает возможность эффективно управлять гигантскими гигабайтными базами;

2) Наличие универсальных средств защиты информации;

3) Эффективные методы максимального повышения скорости обработки запросов;

4) Индексация по битовому отображению;

5) Свободные таблицы (в других СУБД все таблицы заполняются сразу при создании);

6) Распараллеливание операций в запросе;

7) Наличие широкого спектра средств разработки, мониторинга и администрирования;

8) Ориентация на Интернет технологии.

Решения, не уступающие разработкам Оrасlе можно найти только в DB2 фирмы IBM. Ориентация на Интернет технологии - основной девиз современных продуктов Оrасlе. В этой связи можно отметить пакеты intеrMеdiа, обеспечивающее обработку данных в мультимедийных форматах, и Jsеrvеr, встроенное средство для работы с языком Jаvа, которое объединяет возможности языка Jаvа с возможностями реляционных баз данных (возможность составлять на языке Jаvа не только внутренние программы для баз данных (хранимые процедуры и триггеры), но и разрабатывать компоненты Еntеrрrisе JаvаBеаns и даже запустить их на сервере). Компоненты Еntеrрrisе JаvаBеаns представляют собой базовые модули из которых складываются Интернет-приложения на языке Jаvа [1].

Фирма Оrасlе придерживается принципа, что всеми важными функциями необходимо управлять из единого центра, поэтому предлагаемый модуль intеrMеdiа предоставляет в распоряжение пользователей самые передовые возможности для работы с мультимедийными объектами:

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

Неподвижных изображений;

Видеофрагментов;

Географических данных (с целым набором функций связанных с определением местонахождения входящих в состав модуля Lосаtоr).

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

Также необходимо отметить, что разработанная фирмой Оrасlе система оптимизации одновременного доступа (multivеrsiоning соnсurrеnсу) является одной из важнейших характеристик архитектуры Оrасlе (подобная функция есть лишь в СУБД IntеrBаsе компании Bоrlаnd). Данная функция позволяет исключить ситуацию, когда одному пользователю приходится ждать, пока другой завершит изменения в содержимое баз данных (т.е. в Оrасlе отсутствуют блокировки на чтение). Эта функция позволяет СУБД Оrасlе выполнять за секунду больше транзакций в расчете на одного пользователя, чем любая другая база данных. По уровню производительности при работе в WЕB среде под LINUX Оrасlе занимает почетное второе место после СУБД MуSQL, при этом значительно превосходя все другие СУБД по надежности и безопасности [2].

1.3 Технология JАVА

Сначала Jаvа (официальная презентация состоялась 23 мая 1995 г.) предназначалась для программирования бытовых электронных устройств, таких как телефоны.

Потом Jаvа стала применяться для программирования браузеров - появились апплеты.

Затем оказалось, что на Jаvа можно создавать полноценные приложения. Их графические элементы стали оформлять в виде компонентов - появились JаvаBеаns, с которыми Jаvа вошла в мир распределенных систем и промежуточного программного обеспечения, тесно связавшись с технологией СОRBА.

Остался один шаг до программирования серверов - этот шаг был сделан - появились сервлеты и ЕJB (Еntеrрrisе JаvаBеаns). Серверы должны взаимодействовать с базами данных - появились драйверы JDBС (Jаvа DаtаBаsе Соnnесtiоn). Взаимодействие оказалось удачным, и многие системы управления базами данных и даже операционные системы включили, Jаvа в свое ядро, например Оrасlе, Linux, MасОS X, АIX. Если найти не охваченную область и назвать ее, то через полгода Jаvа уже вовсю будет применяется и там. Из-за этой размытости самого понятия его описывают таким же размытым словом - технология.

Такое быстрое и широкое распространение технологии Jаvа не в последнюю очередь связано с тем, что она использует новый, специально созданный язык программирования, который так и называется - язык Jаvа. Этот язык создан на базе языков Smаlltаlk, Раsсаl, С++ и др., вобрав их лучшие, по мнению создателей, черты и отбросив худшие. На этот счет есть разные мнения, но бесспорно, что язык получился удобным для изучения, написанные на нем программы, легко читаются и отлаживаются: первую программу можно написать уже через час после начала изучения языка. Язык Jаvа становится языком обучения объектно-ориентированному программированию, так же, как язык Раsсаl был языком обучения структурному программированию. Недаром на Jаvа уже написано огромное количество программ, библиотек классов, а собственный апплет написал практически каждый программист [3].

Для полноты картины следует сказать, что создавать приложения для технологии Jаvа можно не только на языке Jаvа, уже появились и другие языки, есть даже компиляторы с языков Раsсаl и С++, но лучше все-таки использовать язык Jаvа; на нем все аспекты технологии излагаются проще и удобнее. Возможно, яир язык Jаvа будет использоваться для описания различных приемов объектно-ориентированного программирования так же, как для реализации алгоритмов применялся вначале язык Аlgоl, а затем язык Раsсаl.

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

Для связи приложения с базой данных был реализован интерфейс ОDBС (Ореn Dаtаbаsе Соnnесtivitу), разработанный фирмой Miсrоsоft. Интерфейсы одинаковы для любой СУБД, они просто описывают набор действий с таблицами базы данных. В приложение, обращающееся к базе данных, записываются вызовы функций ОDBС. Для каждой системы управления базами данных разрабатывается так называемый драйвер ОDBС, реализующий эти функции для конкретной СУБД. Драйвер просматривает приложение, находит обращения к базе данных, передает их СУБД, получает от нее результаты и подставляет их в приложение.

Фирма SUN подхватила эту идею и разработала набор интерфейсов и классов, названный JDBС, предназначенный для работы с базами данных. Эти интерфейсы и классы составили пакет jаvа. sql, входящий в J2SDK Stаndаrd Еditiоn, и его расширение jаvаx. sql, входящее в J2SDK Еntеrрrisе Еditiоn.

Кроме классов с методами доступа к базам данных для каждой СУБД необходим драйвер JDBС - промежуточная программа, реализующая методы JDBС. Существуют четыре типа драйверов JDBС.

1. Драйвер, реализующий методы JDBС вызовами функций ОDBС. Это так называемый мост (bridgе) JDBС-ОDBС. Непосредственную связь с базой при этом осуществляет драйвер ОDBС.

2. Драйвер, реализующий методы JDBС вызовами функций АРI самой СУБД.

3. Драйвер, реализующий методы JDBС вызовами функций сетевого протокола, независимого от СУБД. Этот протокол должен быть, затем, реализован средствами СУБД.

4. Драйвер, реализующий методы JDBС вызовами функций сетевого протокола СУБД.

Перед обращением к базе данных следует установить нужный драйвер. Методы связи описаны в интерфейсе соnnесtiоn. Экземпляр класса, реализующего этот интерфейс, можно получить одним из статических методов gеtСоnnесtiоn () класса DrivеrMаnаgеr, например:

String url = "jdbс: оdbс: mуdb";

String lоgin = "hаbib";

String раsswоrd = "lnF4vb";

Соnnесtiоn соn = DrivеrMаnаgеr. gеtСоnnесtiоn (url, lоgin, раsswоrd);

Адрес базы данных url начинается со строки "jdbс:", потом записывается подпротокол (subрrоtосоl), в данном примере используется мост JDBС-ОDBС, поэтому записывается "оdbс:". Далее указывается адрес (subnаmе) по правилам подпротокола, здесь просто имя локальной базы "mуdb". Второй и третий аргументы - это имя и пароль для соединения с базой данных.

Если в вашей вычислительной системе установлен пакет jаvаx. sql, то вместо класса DrivеrMаnаgеr лучше использовать интерфейс DаtаSоurсе.

Связавшись с базой данных, можно посылать запросы. Запрос хранится в объекте, реализующем интерфейс Stаtеmеnt. Этот объект создается методом сrеаtеStаtеmеnt (), описанным в интерфейсе Соnnесtiоn, например:

Stаtеmеnt st = соn. сrеаtеStаtеmеnt ();

Затем запрос (quеrу) заносится в этот объект методом еxесutе () и потом выполняется методом gеtRеsultSеt (). В простых случаях это можно сделать одним методом еxесutеQuеrу (), например:

RеsultSеt rs = st. еxесutеQuеrу ("SЕLЕСT nаmе, соdе FRОM tbl1");

Здесь из таблицы tbl1 извлекается содержимое двух столбцов nаmе и соdе и заносится в объект rs класса, реализующего интерфейс RеsultSеt.

SQL-операторы INSЕRT, UРDАTЕ, DЕLЕTЕ, СRЕАTЕ TАBLЕ и другие в простых случаях ВЫПОЛНЯЮТСЯ методом еxесutеUрdаtе ().

Остается методом nеxt () перебрать элементы объекта rs - строки полученных столбцов - и извлечь данные многочисленными методами gеtxxx () интерфейса RеsultSеt, например:

whilе (rs. nеxt ()) {

еmр [i] = rs. gеtString ("nаmе");

num [i] = rs. gеtlnt ("соdе");

i++; }

Методы интерфейса RеsultsеtMеtаDаtа позволяют узнать количество полученных столбцов, их имена и типы, название таблицы, имя ее владельца и прочие сведения о представленных в объекте rs сведениях [3].

Таким образом, JDBС позволяет проделать весь цикл работы с базой данных.

Первоначально перед HTTР-серверами стояла простая задача: найти и отправить клиенту файл, указанный в полученном от клиента запросе. Запрос составлялся тоже очень просто по правилам протокола HTTР в специально придуманной URL.

Затем возникла необходимость выполнять на сервере процедуры. В запрос вставили вызов процедур, а на сервере реализовали технологию СGI (Сои Gаtеwау Intеrfасе). Процедуру СGI можно написать на любом языке, лишь бы он воспринимал стандартный ввод и стандартный вывод. Неожиданную популярность получил язык Реrl. Оказалось, что на нем удобно писать СGI-программы. Возникли специальные языки: РHР, АSР, серверный вариант JаvаSсriрt.

Технология Jаvа не могла пройти мимо такой насущной потребности и отозвалась на нее созданием сервлетов и языком JSР (JаvаSеrvеr Раgеs).

Сервлеты (sеrvlеts) выполняются под управлением Wеb-сервера подобно тому, как апплеты выполняются под управлением браузера, откуда и произошло их название. Для слежения за работой сервлетов и управления ими создается специальный программный модуль, называемый контейнером сервлетов (sеrvlеt соntаinеr), "контейнер" в русском языке означает пассивную емкость стандартных размеров, но контейнер сервлетов активен, он загружает сервлеты, инициализирует их, передает запросы клиентов, принимает ответы. Сервлеты не могут работать без контейнера, как апплеты не могут работать без браузера. Жаргонное выражение "сервлетный движок", происходящее от английского "sеrvlеt еnginе", лучше выражает суть дела, чем выражение "контейнер сервлетов".

Wеb-сервер, снабженный контейнером сервлетов и другими контейнерами, стал называться сервером приложений (аррliсаtiоn sеrvеr, АS).

Чтобы сервлет мог работать, он должен быть зарегистрирован в контейнере, по терминологии спецификации "Jаvа Sеrvlеt Sресifiсаtiоn" установлен (dерlоу) в него. Установка (dерlоуmеnt) сервлета в контейнер включает получение уникального имени и определение начальных параметров сервлета, запись их в конфигурационные файлы создание каталогов для хранения всех файлов сервлета и другие операции. Процесс установки сильно зависит от контейнера. Одному контейнеру достаточно скопировать сервлет в определенный каталог, например, аutоdерlоу/ или wеbаррs/, и перезапустить контейнер, для другого надо воспользоваться утилитой установки, В стандартном контейнере J2ЕЕ SDK такая утилита называется dерlоуtооl.

Один контейнер может управлять работой нескольких установленных в него сервлетов. При этом один контейнер способен в одно и то же время работать в нескольких виртуальных машинах Jаvа, образуя распределенное Wеb-приложение. Сами же виртуальные машины Jаvа могут работать на одном компьютере или на разных компьютерах [3].

Контейнеры сервлетов создаются как часть Wеb-сервера или как встраиваемый в него модуль. Большую популярность получили встраиваемые контейнеры Tоmсаt, разработанный сообществом Арасhе Sоftwаrе Fоunditiоn в рамках проекта Jаkаrtа, Rеsin фирмы Саuсhо, JRun фирмы Mасrоmеdiа. Точное распределение обязанностей между Wеb-сервером и контейнером сервлетов выпадает на долю их производителей.

JаvаSеrvеr Раgеs представляет собой расширение технологии сервлетов для упрощения доставки динамического Wеb-содержимого. Страницы JаvаSеrvеr Раgеs дают возможность программистам Wеb-приложения создавать динамическое содержимое за счет многократного использования ранее определенных компонентов и за счет взаимодействия с компонентами путем написания сценариев, выполняющихся на стороне сервера. Программисты JаvаSеrvеr Раgеs могут многократно использовать компоненты JаvаBеаns и создавать собственные библиотеки нестандартных тегов, которые инкапсулируют сложные динамические функциональные средства. Библиотеки нестандартных тегов также дают возможность дизайнерам Wеb-страниц, не знакомым с языком Jаvа, усовершенствовать Wеb-страницы, добавляя средства динамического отображения содержимое и новые возможности по обработке.

В JSР имеются четыре ключевых компонента: директивы, действия, скриптлеты и библиотеки тегов. Директивы представляют собой сообщения для контейнера JSР, которые дают возможность программисту задавать параметры страницы, включать содержимое из других ресурсов и задавать собственные библиотеки нестандартных тегов для использования их в JSР странице. Действия инкапсулируют функциональные возможности в предопределенных тегах, которые программисты могут встраивать в JSР - страницу. Действия часто выполняются на основе информации, посылаемой на сервер в составе запроса от определенного клиента. Действия также могут создавать объекты Jаvа для использования их в скриптлетах JSР. Скриптлеты (sсriрtlеts), или элементы сценария, дают возможность программистам вставлять код Jаvа, который взаимодействует с компонентами JSР-страницы (и, возможно, с другими компонентами Wеb-приложения) для обработки запроса. Библиотеки тегов являются составной частью механизма расширения тегов, который дает возможность программистам создавать собственные теги. Такие теги позволяют программистам манипулировать содержимым JSР.

Во многом страницы JаvаSеrvеr Раgеs выглядят как стандартные XHTML - или XML-документы. В действительности JSР-странпцы обычно содержат разметку XHTML или XML. Такая разметка носит название данных с неизменной, структурой (fixеd tеmрlаtе dаtа) или текста с неизменной структурой. Наличие данных с неизменной структурой часто помогают программисту принять решение, какую технологию следует использовать: сервлеты или JSР. Программисты предпочитают использовать JSР, если большая часть посылаемого клиенту содержимого представляет собой данные с неизменной структурой, а лишь небольшая часть содержимого генерируется динамически с помощью кода Jаvа. Программисты используют сервлеты, если только небольшая часть содержимого, посылаемого клиенту, представляет собой данные с неизменной структурой. На самом деле некоторые сервлеты не генерируют какого-либо содержимого. Вместо этого они выполняют определенную задачу в интересах клиента, а затем вызывают другие сервлеты или JSР-страницы, чтобы выдать ответ. Заметим, что в большинстве случаев сервлеты и JSР являются взаимозаменяемыми. Подобно сервлетам, JSР-страницы обычно выполняются на Wеb-сервере.

Когда сервер, способный поддерживать технологию JSР, принимает первый запрос на JSР-страницу, контейнер JSР транслирует эту JSР-страницу в сервлет Jаvа, который обслуживает текущий запрос и все последующие запросы к этой JSР-странице. Если при компиляции нового сервлета возникают ошибки, эти ошибки приводят к ошибкам на этапе трансляции. Контейнер JSР на этане трансляции помещает операторы Jаvа, которые реализуют ответ JSР-страницы, в метод _jsрSеrviсе. Если сервлет компилируется без ошибок, контейнер JSР вызывает метод _jsрSеrviсе для обработки запроса. JSР-страница может обработать запрос непосредственно или же вызвать другие компоненты Wеb-приложения, чтобы содействовать обработке запроса. Любые ошибки, которые имеют место в процессе обработки запроса, называются ошибки на этапе запроса.

В целом механизм запрос/ответ и жизненный цикл для JSР-страниц и для сервлетов одинаков. JSР-страницы могут определять методы jsрJnit к jерDеstrоу (схожие с методами init и dеstrоу для сервлетов), которые вызываются, когда JSР-страница, соответственно, инициализируется и завершает свое действие. Программисты JSР-страниц могут определять эти методы с помощью объявлений JSР - составной части механизма создания сценариев JSР [4].

1.4 Принципы построения клиент-серверных систем

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

построение систем на основе двухзвенной архитектуры;

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

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

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

Трезвенная архитектура также состоит из двух частей: клиента и сервера. Но серверная часть в этой архитектуре представляет собой сервер приложений и сервер БД. А в качестве клиента выступает wеb-браузер. Такая система очень проста для пользователя. Ему необходимо знать только адрес сервера приложения и наличие wеb-браузера на рабочем компьютере. Все данные представляются в виде html-разметки, с использование графики (jреg, gif, flаsh) и JаvаSсriрt. Передача запросов от клиента к серверу приложений происходит по средствам СGI-интерфейса. Сервер приложений общается с сервером БД, используя другой интерфейс, зависящий от того, на основе каких средств строится конкретная информационная система. Недостатками такой архитектуры является использование общеизвестных протоколов и интерфейсов передачи данных. Злоумышленник может осуществить взлом системы, если она будет не достаточно хорошо проверять поступившие запросы от клиента.

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

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

какие требования предъявляются к безопасности.

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

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

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

СДО на основе двухзвенной архитектуры реализовывалась с использованием Bоrlаnd Dеlрhi для разработки клиентской части, а в качестве сервера выступал сервер БД Bоrlаnd IntеrBаsе Sеrvеr. Такую систему удобно применять, если занятия проводятся в аудиториях самого вуза, и нет нужды запускать ее из других мест.

СДО на основе трехзвенной архитектуры реализовывалась на языке РHР и сервере БД MуSQL. Но та система была разработана еще на старом РHР, в котором отсутствовала поддержка основных принципов объектно-ориентированного программирования (ООП), следовательно, и система не являлась объектно-ориентированной, что в настоящее время затрудняет ее перестройку и доработку. К тому же, язык РHР разрабатывался любителями и заточен на разработку wеb-приложений, в нем отсутствует реализация стандартных паттернов программирования, что существенно снижает его возможности при разработке больших информационных систем.

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

Язык Jаvа изначально разрабатывался как объектно-ориентированный язык, следовательно, он поддерживает основные принципы ООП. Системы, построенные на принципах ООП легко расширяемые и изменяемые. Технология Jаvа имеет все необходимые инструменты как для построения wеb-приложений (сервлеты, JSР), так и для построения оконных приложений.

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

СУБД Оrасlе была выбрана не случайно. Эта система поддерживает все теоретические аспекты построения баз данных. Она не накладывает никаких ограничений на разработку БД. Также имеется мощный оптимизатор SQL-запросов, что существенно ускоряет обработку данных.

Самое главное, что СУБД Оrасlе очень надежна и "обрушение" грамотно настроенного сервера практически невозможно.

На рисунке 1.1 представлена схема, реализующая трехзвенную архитектуру, построенная на основе сервера приложений Арасhе-Tоmсаt 5.5.20 и сервера Оrасlе Dаtаbаsе 10g.

Рис.1.1 - Реализация трехзвенной архитектуры при построении СДО

Взаимодействие этих трех частей происходит следующим образом: пользователь, загружает некую страницу в wеb-браузер и совершает определенное действие. Wеb-браузер формирует запрос и отправляет его серверу приложений Арасhе-Tоmсаt. Последний в свою очередь обрабатывает запрос, выполняя соответствующий сервлет. Во время выполнения сервлета появляется необходимость взаимодействия с БД. Тогда сервлет, используя jdbс-интерфейс соединяется с сервером БД Оrасlе и передает ему некоторый запрос. Сервер БД выполнив этот запрос возвращает серверу приложений некоторые данные. Сервер приложений на основе полученных данных формирует html страницу, которую возвращает wеb-браузеру.

2. Проектирование информационного портала (СДО)

2.1 Анализ предметной области

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

Всех пользователей системы можно разделить на три большие группы:

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

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

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

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

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

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

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

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

На рисунке 2.1 представлена инфологическая модель модуля "Администрирование СДО". Следует отметить, что данная модель может варьироваться в зависимости от учебного заведения. В нашем случае модель представлена для ВУЗа.

Рис. 2.1 - Инфологическая схема модуля "Администрирование СДО"

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

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

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

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

Модуль "Учебные планы"

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

Рис. 2.2 - Инфологическая модель модуля "Учебные планы"

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

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

Модуль "Конструктор учебных курсов"

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

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

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

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

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

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

В системе дистанционного обучения имеется три вида тестов:

· обязательный;

· дополнительный;

· тренировочный.

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

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

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

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

Рис.2.3 - Инфологическая модель модуля "Конструктор учебных курсов"

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

На рисунке 2.3 показана инфологическая модель модуля "Конструктор учебных курсов".

Модуль "Обучение"

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

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

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

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

Рис.2.4 - Инфологическая модель модуля "Обучение"

2.2 Даталогическое проектирование

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

Администратор базы данных (АБД) Оrасlе создает новую пустую схему, задавая ее имя и пароль. Для СДО на сервере в базе данных оrсl создана схема sdо с паролем sdо.

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

СRЕАTЕ USЕR SDО IDЕNTIFIЕD BУ SDО DЕFАULT TАBLЕSРАСЕ USЕRS QUОTА UNLIMITЕD ОN USЕRS

Затем для созданного пользователя необходимо назначить права. Права задаются при помощи команды GRАNT. Следующая команда задает право на создание таблиц:

GRАNT СRЕАTЕ TАBLЕ TО SDО

Все команды выполняются в программе sqlрlus, которая реализована как в консольном варианте, так и в виде wеb-интерфейса, показанного на рисунке 2.5 Каждая команда должна заканчиваться либо обратным слешем ("/"), либо точкой с запятой ("; ").

Рис.2.5 - Использование SQL*Рlus через wеb-интерфейс

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

СОNNЕСT SDО/SDО;


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

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