Разработка системы дистанционного обучения кафедры ВТИТ

Базовые принципы дистанционного обучения. Система управления базами данных Oracle. Технология Java. Принципы построения клиент-серверных систем. Даталогическое проектирование, таблицы и связи между ними. Разработка учебных курсов и процесс обучения.

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

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

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

73

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

НОВОМОСКОВСКИЙ ИНСТИТУТ (ФИЛИАЛ)

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

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

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К ДИПЛОМНОМУ ПРОЕКТУ

НА ТЕМУ:

«Разработка системы дистанционного обучения кафедры ВТИТ»

Заведующий кафедрой Воробьев В.И.

подпись, дата

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

подпись, дата

Руководитель Силина И.В.

подпись, дата

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

подпись, дата

Студент Котов С.В.

подпись, дата

Группа АС-03-3

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

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

подпись

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

подпись

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

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

НОВОМОСКОВСКИЙ ИНСТИТУТ (ФИЛИАЛ)

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

Факультет «Кибернетика»

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

Специальность «Автоматизированные системы обработки информации и управления»

УТВЕРЖДАЮ

Зав. кафедрой

______________ /________/

« » 20__г.

ЗАДАНИЕ

ПО ДИПЛОМНОМУ ПРОЕКТУ СТУДЕНТА

Котова Сергея Викторовича

1. Тема проекта (работы) «Разработка системы дистанционного обучения кафедры ВТИТ»

утверждена приказом по институту от «18» февраля 2008 г. № 273/18

2. Срок сдачи студентом законченного проекта (работы)

3. Исходные данные к проекту (работе) Структура предприятия; учебный план специальности «АСОИУ»; штатное расписание.

4. Содержание расчетно-пояснительной записки (перечень подлежащих разработке вопросов) сущность дистанционного обучения; анализ предметной области; построение даталогической модели; установка и настройка контейнера приложений Apache-Tomcat 5.5.20 и сервера баз данных Oracle Database 10g; разработка форм и запросов приложения.

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

6. Консультанты по проекту (работе, с указанием относящихся к ним разделов проекта)

Раздел

Консультант

Подпись, дата

Задание выдал

Задание принял

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

Лобковская О.З.

Безопасность жизнедеятельности

Фандеев Н.П.

7. Дата выдачи задания

Руководители проекта ________________________ Прохоров В.С.

подпись

________________________ Силина И.В.

подпись

Задание принял к исполнению Котов С.В.

подпись

КАЛЕНДАРНЫЙ ПЛАН

п/п

Наименование этапов дипломного проекта (работы)

Срок выполнения этапов проекта (работы)

1

Получение задания

18.02

2

Изучение предметной области

19.02-29.02

3

Изучение и выбор программного обеспечения

1.03-6.03

4

Поиск программных компонентов, их установка и настройка

7.03-17.03

5

Проектирование структуры БД

18.03-5.04

6

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

6.04-24.04

7

Отладка и тестирование системы

25.04-27.04

8

Расчет части БЖД

28.04-2.05

9

Расчет экономической части

3.05-4.05

10

Оформление пояснительной записки

5.05-14.05

11

Оформление графической части

15.05-20.05

Студент дипломник ___________________________Котов С.В.

подпись

Руководители проекта ___________________________Прохоров В.С.

подпись

___________________________ Силина И.В.

подпись

Реферат

Пояснительная записка состоит из 91 стр., 32 рисунка, 10 источников, 10 приложений.

ДИСТАНЦИОННОЕ ОБУЧЕНИЕ, ТЕХНОЛОГИЯ JAVA, СУБД ORACLE DATABASE, ОС SUSE LINUX ENTERPRISE, КОНТЕЙНЕР APACHE-TOMCAT, ТРЕХЗВЕННАЯ АРХИТЕКТУРА, JDBC-ДРАЙВЕР, JSP, СЕРВЛЕТ, ТРИГГЕР, ПОСЛЕДОВАТЕЛЬНОСТЬ, ПЕРВИЧНЫЙ КЛЮЧ, ВНЕШНИЙ КЛЮЧ, ЗАПРОС.

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

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

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

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

Содержание

Введение

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

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

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

1.3 Технология Java

1.3.1 Связь с базами данных через JDBC

1.3.2 Сервлеты

1.3.3 Страницы JSP

1.4 Операционная система SUSE Linux Enterprise 10

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

1.5.1 Принципы построения СДО

1.5.2 Построение СДО на языке Java и СУБД Oracle Database

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

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

2.1.1 Модуль «Администрирование СДО»

2.1.2 Модуль «Учебные планы»

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

2.1.4 Модуль «Обучение»

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

2.2.1 Создание схемы данных для СДО на сервере Oracle

2.2.2 Используемые типы данных

2.2.3 Создание таблиц и связей между ними

2.2.4 Создание последовательностей

2.2.5 Создание триггеров

2.3 Установка и настройка БАЗОВОГО программного комплекса

2.3.1 Контейнер Apache-Tomcat 5.5.20

2.3.2 Сервер БД Oracle Database 10g

2.4 Разработка приложения СДО

2.4.1 Разработка форм

2.4.2 Разработка классов

2.4.3 Разработка запросов

2.5 Руководство пользователя

2.5.1 Установка системы

2.5.2 Администрирование системы

2.5.3 Разработка учебных курсов

2.5.4 Процесс обучения

3 Технико-экономическое обоснование

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

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

3.3 Определение возможной цены разработанной АИС

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

3.5 Описание экономического и социального эффекта от разработки АИС

4 Безопасность жизнедеятельности

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

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

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

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

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

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

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

4.1.7. Мероприятия по защите окружающей среды

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

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

4.2.1 Расчет искусственного освещения (теоретическое)

4.2.2. Расчет искусственного освещения (реальное).

Заключение

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

Приложения

Введение

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

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

Для представления теоретического материала используются возможности HTML (Hyper Text Markup Language) и современные мультимедиа-технологии.

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

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

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

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

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

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

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

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

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

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

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

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

СДО реализована с помощью двух мощных, предоставляющих огромные возможности и хорошую безопасность средств - сервера БД Oracle Database 10g и технологии программирования Java.

1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пакет Oracle, наделен самым развитым набором функций для работы с языком Java и доступа к данным через Интернет, системой оптимизации одновременного доступа. Единственным недостатком данной СУБД является сложность администрирования, однако все затраты на ее внедрение и освоение в последствии окупятся эффективной и надежной работой. В нашей стране на протяжении уже многих лет целым рядом специалистов культивируется негативное отношение к СУБД Oracle, как к дорогой и сложной СУБД. Оба эти тезиса являются спорными. Во-первых, уровень сложности понятие относительное. При использовании СУБД Oracle на платформе NT, она потребует практически тех же усилий, что и при использовании MS SQL. В случае же работы на UNIX-платформе, можно с уверенностью отметить, что для профессиональных администраторов UNIX среда Oracle является простой, понятной и доступной. Что касается дороговизны, то и тут наметились положительные сдвиги. Кроме того, что компания Oracle предлагает ряд различных масштабируемых решений в зависимости от числа обслуживаемых клиентов, она также следуя общемировым тенденциям разработала версию своей популярнейшей СУБД под LINUX и выложила ее на своем WEB сервере (www.oracle.com) для свободного использования. А в настоящее время существует лицензия разработчика, которая позволяет писать под Oracle без каких-либо ограничений, но при этом запрещает его применение в условиях реальной работы.

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

1) Высочайшая надежность - возможность разбиения крупных баз данных на разделы (large-database partition), что дает возможность эффективно управлять гигантскими гигабайтными базами;

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

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

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

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

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

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

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

Решения, не уступающие разработкам Oracle можно найти только в DB2 фирмы IBM. Ориентация на Интернет технологии - основной девиз современных продуктов Oracle. В этой связи можно отметить пакеты interMedia, обеспечивающее обработку данных в мультимедийных форматах, и Jserver, встроенное средство для работы с языком Java, которое объединяет возможности языка Java с возможностями реляционных баз данных (возможность составлять на языке Java не только внутренние программы для баз данных (хранимые процедуры и триггеры), но и разрабатывать компоненты Enterprise JavaBeans и даже запустить их на сервере). Компоненты Enterprise JavaBeans представляют собой базовые модули из которых складываются Интернет-приложения на языке Java [1].

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

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

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

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

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

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

Также необходимо отметить, что разработанная фирмой Oracle система оптимизации одновременного доступа (multiversioning concurrency) является одной из важнейших характеристик архитектуры Oracle (подобная функция есть лишь в СУБД InterBase компании Borland). Данная функция позволяет исключить ситуацию, когда одному пользователю приходится ждать, пока другой завершит изменения в содержимое баз данных (т.е. в Oracle отсутствуют блокировки на чтение). Эта функция позволяет СУБД Oracle выполнять за секунду больше транзакций в расчете на одного пользователя, чем любая другая база данных. По уровню производительности при работе в WEB среде под LINUX Oracle занимает почетное второе место после СУБД MySQL, при этом значительно превосходя все другие СУБД по надежности и безопасности [2].

1.3 Технология Java

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

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

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

Остался один шаг до программирования серверов -- этот шаг был сделан -- появились сервлеты и EJB (Enterprise JavaBeans). Серверы должны взаимодействовать с базами данных -- появились драйверы JDBC (Java DataBase Connection). Взаимодействие оказалось удачным, и многие системы управления базами данных и даже операционные системы включили, Java в свое ядро, например Oracle, Linux, MacOS X, AIX. Если найти не охваченную область и назвать ее, то через полгода Java уже вовсю будет применяется и там. Из-за этой размытости самого понятия его описывают таким же размытым словом -- технология.

Такое быстрое и широкое распространение технологии Java не в последнюю очередь связано с тем, что она использует новый, специально созданный язык программирования, который так и называется -- язык Java. Этот язык создан на базе языков Smalltalk, Pascal, C++ и др., вобрав их лучшие, по мнению создателей, черты и отбросив худшие. На этот счет есть разные мнения, но бесспорно, что язык получился удобным для изучения, написанные на нем программы, легко читаются и отлаживаются: первую программу можно написать уже через час после начала изучения языка. Язык Java становится языком обучения объектно-ориентированному программированию, так же, как язык Pascal был языком обучения структурному программированию. Недаром на Java уже написано огромное количество программ, библиотек классов, а собственный апплет написал практически каждый программист [3].

Для полноты картины следует сказать, что создавать приложения для технологии Java можно не только на языке Java, уже появились и другие языки, есть даже компиляторы с языков Pascal и C++, но лучше все-таки использовать язык Java; на нем все аспекты технологии излагаются проще и удобнее. Возможно, яир язык Java будет использоваться для описания различных приемов объектно-ориентированного программирования так же, как для реализации алгоритмов применялся вначале язык Algol, а затем язык Pascal.

1.3.1 Связь с базами данных через JDBC

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

Для связи приложения с базой данных был реализован интерфейс ODBC (Open Database Connectivity), разработанный фирмой Microsoft. Интерфейсы одинаковы для любой СУБД, они просто описывают набор действий с таблицами базы данных. В приложение, обращающееся к базе данных, записываются вызовы функций ODBC. Для каждой системы управления базами данных разрабатывается так называемый драйвер ODBC, реализующий эти функции для конкретной СУБД. Драйвер просматривает приложение, находит обращения к базе данных, передает их СУБД, получает от нее результаты и подставляет их в приложение.

Фирма SUN подхватила эту идею и разработала набор интерфейсов и классов, названный JDBC, предназначенный для работы с базами данных. Эти интерфейсы и классы составили пакет java.sql, входящий в J2SDK Standard Edition, и его расширение javax.sql, входящее в J2SDK Enterprise Edition.

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

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

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

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

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

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

String url = "jdbc:odbc:mydb";

String login = "habib";

String password = "lnF4vb";

Connection con = DriverManager.getConnection(url, login, password);

Адрес базы данных url начинается со строки "jdbc:", потом записывается подпротокол (subprotocol), в данном примере используется мост JDBC-ODBC, поэтому записывается "odbc:". Далее указывается адрес (subname) по правилам подпротокола, здесь просто имя локальной базы "mydb". Второй и третий аргументы -- это имя и пароль для соединения с базой данных.

Если в вашей вычислительной системе установлен пакет javax.sql, то вместо класса DriverManager лучше использовать интерфейс DataSource.

Связавшись с базой данных, можно посылать запросы. Запрос хранится в объекте, реализующем интерфейс Statement. Этот объект создается методом createStatement (), описанным в интерфейсе Сonnection, например:

Statement st = con.createStatement();

Затем запрос (query) заносится в этот объект методом execute () и потом выполняется методом getResultSet(). В простых случаях это можно сделать одним методом executeQuery (), например:

ResultSet rs = st.executeQuery("SELECT name, code FROM tbl1");

Здесь из таблицы tbl1 извлекается содержимое двух столбцов name и code и заносится в объект rs класса, реализующего интерфейс ResultSet.

SQL-операторы INSERT, UPDATE, DELETE, CREATE TABLE и другие в простых случаях ВЫПОЛНЯЮТСЯ методом executeUpdate ().

Остается методом next () перебрать элементы объекта rs -- строки полученных столбцов -- и извлечь данные многочисленными методами getxxx () интерфейса ResultSet, например:

while (rs.next()){

emp[i] = rs.getString("name") ;

num[i] = rs.getlnt("code");

i++; }

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

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

1.3.2 Сервлеты

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

Затем возникла необходимость выполнять на сервере процедуры. В запрос вставили вызов процедур, а на сервере реализовали технологию CGI (Сои Gateway Interface). Процедуру CGI можно написать на любом языке, лишь бы он воспринимал стандартный ввод и стандартный вывод. Неожиданную популярность получил язык Perl. Оказалось, что на нем удобно писать CGI-программы. Возникли специальные языки: PHP, ASP, серверный вариант JavaScript.

Технология Java не могла пройти мимо такой насущной потребности и отозвалась на нее созданием сервлетов и языком JSP (JavaServer Pages).

Сервлеты (servlets) выполняются под управлением Web-сервера подобно тому, как апплеты выполняются под управлением браузера, откуда и произошло их название. Для слежения за работой сервлетов и управления ими создается специальный программный модуль, называемый контейнером сервлетов (servlet container), "контейнер" в русском языке означает пассивную емкость стандартных размеров, но контейнер сервлетов активен, он загружает сервлеты, инициализирует их, передает запросы клиентов, принимает ответы. Сервлеты не могут работать без контейнера, как апплеты не могут работать без браузера. Жаргонное выражение "сервлетный движок", происходящее от английского "servlet engine", лучше выражает суть дела, чем выражение "контейнер сервлетов".

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

Чтобы сервлет мог работать, он должен быть зарегистрирован в контейнере, по терминологии спецификации "Java Servlet Specification" установлен (deploy) в него. Установка (deployment) сервлета в контейнер включает получение уникального имени и определение начальных параметров сервлета, запись их в конфигурационные файлы создание каталогов для хранения всех файлов сервлета и другие операции. Процесс установки сильно зависит от контейнера. Одному контейнеру достаточно скопировать сервлет в определенный каталог, например, autodeploy/ или webapps/, и перезапустить контейнер, для другого надо воспользоваться утилитой установки, В стандартном контейнере J2EE SDK такая утилита называется deploytool.

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

Контейнеры сервлетов создаются как часть Web-сервера или как встраиваемый в него модуль. Большую популярность получили встраиваемые контейнеры Tomcat, разработанный сообществом Apache Software Foundition в рамках проекта Jakarta, Resin фирмы Caucho, JRun фирмы Macromedia. Точное распределение обязанностей между Web-сервером и контейнером сервлетов выпадает на долю их производителей.

1.3.3 Страницы JSP

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

В JSP имеются четыре ключевых компонента: директивы, действия, скриптлеты и библиотеки тегов. Директивы представляют собой сообщения для контейнера JSP, которые дают возможность программисту задавать параметры страницы, включать содержимое из других ресурсов и задавать собственные библиотеки нестандартных тегов для использования их в JSP странице. Действия инкапсулируют функциональные возможности в предопределенных тегах, которые программисты могут встраивать в JSP -страницу. Действия часто выполняются на основе информации, посылаемой на сервер в составе запроса от определенного клиента. Действия также могут создавать объекты Java для использования их в скриптлетах JSP. Скриптлеты (scriptlets), или элементы сценария, дают возможность программистам вставлять код Java, который взаимодействует с компонентами JSP-страницы (и, возможно, с другими компонентами Web-приложения) для обработки запроса. Библиотеки тегов являются составной частью механизма расширения тегов, который дает возможность программистам создавать собственные теги. Такие теги позволяют программистам манипулировать содержимым JSP.

Во многом страницы JavaServer Pages выглядят как стандартные XHTML- или XML-документы. В действительности JSP-странпцы обычно содержат разметку XHTML или XML. Такая разметка носит название данных с неизменной, структурой (fixed template data) или текста с неизменной структурой. Наличие данных с неизменной структурой часто помогают программисту принять решение, какую технологию следует использовать: сервлеты или JSP. Программисты предпочитают использовать JSP, если большая часть посылаемого клиенту содержимого представляет собой данные с неизменной структурой, а лишь небольшая часть содержимого генерируется динамически с помощью кода Java. Программисты используют сервлеты, если только небольшая часть содержимого, посылаемого клиенту, представляет собой данные с неизменной структурой. На самом деле некоторые сервлеты не генерируют какого-либо содержимого. Вместо этого они выполняют определенную задачу в интересах клиента, а затем вызывают другие сервлеты или JSP-страницы, чтобы выдать ответ. Заметим, что в большинстве случаев сервлеты и JSP являются взаимозаменяемыми. Подобно сервлетам, JSP-страницы обычно выполняются на Web-сервере.

Когда сервер, способный поддерживать технологию JSP, принимает первый запрос на JSP-страницу, контейнер JSP транслирует эту JSP-страницу в сервлет Java, который обслуживает текущий запрос и все последующие запросы к этой JSP-странице. Если при компиляции нового сервлета возникают ошибки, эти ошибки приводят к ошибкам на этапе трансляции. Контейнер JSP на этане трансляции помещает операторы Java, которые реализуют ответ JSP-страницы, в метод _jspService. Если сервлет компилируется без ошибок, контейнер JSP вызывает метод _jspService для обработки запроса. JSP-страница может обработать запрос непосредственно или же вызвать другие компоненты Web-приложения, чтобы содействовать обработке запроса. Любые ошибки, которые имеют место в процессе обработки запроса, называются ошибки на этапе запроса.

В целом механизм запрос/ответ и жизненный цикл для JSP-страниц и для сервлетов одинаков. JSP-страницы могут определять методы jspJnit к jepDestroy (схожие с методами init и destroy для сервлетов), которые вызываются, когда JSP-страница, соответственно, инициализируется и завершает свое действие. Программисты JSP-страниц могут определять эти методы с помощью объявлений JSP -- составной части механизма создания сценариев JSP [4].

1.4 Операционная система SUSE Linux Enterprise 10

SUSE Linux Enterprise 10 -- это первая платформа для открытого предприятия. Только SUSE Linux Enterprise 10 обеспечивает встроенную защиту приложений, виртуализацию и интегрированные средства системного управления во всем спектре аппаратных архитектур. SUSE Linux Enterprise 10 сертифицирована ведущими производителями оборудования и программного обеспечения и сопровождается службой технической поддержки Novell и глобальной системой ее партнеров. Используя SUSE Linux Enterprise 10 и услуги Novell, организация сможет контролировать IT-расходы и в то же время решать проблемы усиливающейся конкуренции и растущих угроз для безопасности [5].

SUSE Linux Enterprise 10 содержит Novell AppArmor, революционную службу безопасности на уровне приложений, которая обеспечит непробиваемую защиту для операционной системы и любых исполняемых в ней процессов. Благодаря AppArmor возможно быстро внедрить мощные средства защиты серверных и настольных приложений, уменьшив нагрузку на IT-отдел и снизив общую стоимость владения. AppArmor помогает быстро разработать и соблюдать правила безопасности, защищающие вашу инфраструктуру от злоумышленников, которые выискивают и используют ошибки в программах. При помощи правил AppArmor можно, например, определить, какие системные ресурсы будут доступны приложению, или установить особые правила работы приложения. AppArmor предоставляет инструменты, позволяющие защитить критически важную инфраструктуру без гигантских затрат времени, ресурсов или обучения.

SUSE Linux Enterprise 10 -- это первая корпоративная платформа, которая содержит полностью интегрированную и поддерживаемую версию Xen 3.0, нового открытого стандарта для служб виртуализации. Xen 3.0 позволяет объединить множество задач на одном сервере или распределить одну задачу по нескольким серверам. Xen 3.0 обеспечивает гибкость конфигурирования приложений и систем, для того чтобы добиться максимальной эффективности. В то время как большинство серверов работает при загрузке менее 20%, Xen и SUSE Linux Enterprise 10 позволят повысить коэффициент полезного действия до 70%.

SUSE Linux Enterprise предлагает новую парадигму управления программным обеспечением и подпиской, Novell Customer Center. Первая версия Novell Customer Center представляет собой централизованный онлайновый портал, который используется для получения обновлений и исправлений ПО, а также для доступа к технической поддержке Novell.

Особенно важно то, что Novell Customer Center полностью интегрирован с комплексом средств управления Novell ZENworks. По мере роста потребностей появляется возможность беспрепятственно перейти от управления отдельными системами к автоматическому управлению всей средой [5].

SUSE Linux Enterprise 10 сопровождается технической поддержкой Novell мирового класса. Novell -- единственный поставщик, прошедший сертификацию Support Center Practice (SCP) по международно-признанному стандарту, который разработан Ассоциацией специалистов по обслуживанию и поддержке и консорциумом IT-компаний. Кроме того, в ежегодном отчете VARBusiness Annual Report Card корпорация Novell занимает первое место по уровню поддержки серверных операционных систем, главным образом благодаря тому, что служба технической поддержки Novell выполняет свои Соглашения об уровне обслуживания (SLA) более чем на 99%.

SUSE Linux Enterprise поддерживается всеми ведущими поставщиками оборудования. Novell тесно сотрудничает с производителями микропроцессоров, такими как Intel и AMD, и поддерживает 32 и 64разрядные архитектуры, а также новейшие одно и двуядерные процессоры. SUSE Linux Enterprise полностью сертифицирована для новейших серверов, рабочих станций, настольных ПК и ноутбуков от Dell, Fujitsu, HP, Lenovo, Silicon Graphics, Sun, Unisys и других поставщиков. Столь тесное сотрудничество с ведущими производителями позволяет SUSE Linux Enterprise использовать все преимущества платформ, на которых она установлена, и обеспечивать вам максимально возможную производительность на всем пространстве сети, от рабочих станций до вычислительного центра.

Novell создает платформу SUSE Linux Enterprise при помощи AutoBuild, уникальной методологии разработки и тестирования от Novell. AutoBuild гарантирует, что все программное обеспечение Linux от Novell отвечает самым высоким техническим стандартам надежности и целостности. Используя AutoBuild, Novell может создавать и выпускать важные обновления к программному обеспечению за считанные часы, а не дни или недели. Кроме того, AutoBuild позволяет Novell разрабатывать SUSE Linux Enterprise для множества платформ одновременно. В результате появляется возможность сконфигурировать более эффективную IT-инфраструктуру, в которой одна и та же операционная система Linux эксплуатируется и администрируется на всех мейнфреймах, grid-системах, кластерах, рабочих станциях и настольных ПК.

SUSE Linux Enterprise содержит полный комплект средств разработки (SDK), который помогает быстро адаптировать ПО к потребностям конкретного предприятия, а также разрабатывать широкий спектр приложений. Кроме того, SUSE Linux Enterprise 10 содержит новейшие стабильные версии ключевых инструментов разработки, служб и сред, включая инфраструктуру Web 2.0 с Apache Web Server 2.2.0, PHP 5.1, MySQL 5.0, PostgreSQL 8.1, Ruby, Geronimo и Apache Tomcat. Более того, SUSE Linux Enterprise -- единственное решение, которое включает в себя платформу разработки open source Mono на базе среды .NET [5].

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

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

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

- повышенный коэффициент использования вычислительной техники;

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

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

SUSE Linux Enterprise Server полностью поддерживается Novell в течение жизненного цикла и обеспечивает открытые инструменты программирования и разработки, упрощающие интеграцию и специализацию Linux. Эта платформа предлагает также мощную функциональность open source и средства виртуализации, помогающие предприятиям снизить эксплуатационные расходы, повысить коэффициент использования вычислительной техники и защитить корпоративные данные.

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

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

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

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

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

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

Трезвенная архитектура также состоит из двух частей: клиента и сервера. Но серверная часть в этой архитектуре представляет собой сервер приложений и сервер БД. А в качестве клиента выступает web-браузер. Такая система очень проста для пользователя. Ему необходимо знать только адрес сервера приложения и наличие web-браузера на рабочем компьютере. Все данные представляются в виде html-разметки, с использование графики (jpeg, gif, flash) и JavaScript. Передача запросов от клиента к серверу приложений происходит по средствам CGI-интерфейса. Сервер приложений общается с сервером БД, используя другой интерфейс, зависящий от того, на основе каких средств строится конкретная информационная система. Недостатками такой архитектуры является использование общеизвестных протоколов и интерфейсов передачи данных. Злоумышленник может осуществить взлом системы, если она будет не достаточно хорошо проверять поступившие запросы от клиента.

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

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

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

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

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

1.5.1 Принципы построения СДО

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

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

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

1.5.2 Построение СДО на языке Java и СУБД Oracle Database

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

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

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

СУБД Oracle была выбрана не случайно. Эта система поддерживает все теоретические аспекты построения баз данных. Она не накладывает никаких ограничений на разработку БД.

В СУБД Oracle имеется мощный оптимизатор SQL-запросов, что существенно ускоряет обработку данных.

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

На рисунке 1.2.2.1 представлена схема, реализующая трехзвенную архитектуру, построенная на основе сервера приложений Apache-Tomcat 5.5.20 и сервера Oracle Database 10g.

Рисунок 1.2.2.1 - Реализация трехзвенной архитектуры

при построении СДО

Взаимодействие этих трех частей происходит следующим образом: пользователь, загружает некую страницу в web-браузер и совершает определенное действие. Web-браузер формирует запрос и отправляет его серверу приложений Apache-Tomcat. Последний в свою очередь обрабатывает запрос, выполняя соответствующий сервлет. Во время выполнения сервлета появляется необходимость взаимодействия с БД. Тогда сервлет, используя jdbc-интерфейс соединяется с сервером БД Oracle и передает ему некоторый запрос. Сервер БД выполнив этот запрос возвращает серверу приложений некоторые данные. Сервер приложений на основе полученных данных формирует html страницу, которую возвращает web-браузеру. Описанная схема представлена в Приложении А.

2 ПРОЕКТНАЯ ЧАСТЬ

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

2.1.1 Модуль «Администрирование СДО»

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

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

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

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

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

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

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

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


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

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