Смекни!
smekni.com

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

public Faculty(int facultyID, String facultyName, String facultyShortName) {

this.facultyID=facultyID;

this.facultyName=facultyName;

this.facultyShortName=facultyShortName;

}

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

Исходный код класса Faculty приведен в Приложении И.

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

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

Существует две разновидности запросов: возвращающие набор данных и изменяющие набор данных. Запросы, которые возвращают набор данных, их еще называют запросы на выборку, осуществляются оператором SQL SELECT. Запросы, которые вносят изменения в базу данных, осуществляются операторами INSERT, UPDATE, DELETE [10].

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

Значения свойствам задаются следующим образом:

sqlGetAllFaculty=connection.prepareStatement("SELECT * FROM Faculty ORDER BY facultyName");

sqlInsert=connection.prepareStatement("INSERT INTO Faculty (facultyName, facultyShortName) VALUES (?, ?)");

sqlUpdate=connection.prepareStatement("UPDATE Faculty SET facultyName=?, facultyShortName=? WHERE facultyID=?");

sqlDelete=connection.prepareStatement("DELETE FROM Faculty WHERE facultyID=?");

sqlGetRecord=connection.prepareStatement("SELECT * FROM Faculty WHERE facultyID=?");

sqlFindByName=connection.prepareStatement("SELECT * FROM Faculty WHERE facultyName=?");

? – означает, что на место этого знака будет подставлен параметр. Подстановка параметров осуществляется методами setxxx(<номер параметра>, <значение>). Номер параметра начинается с 1 и увеличивается при чтении запроса слева направо.

Ниже приведен метод, добавляющий новый факультет в БД:

public void Insert(Faculty rec) throws SQLException{

sqlInsert.setString(1, rec.getFacultyName());

sqlInsert.setString(2, rec.getFacultyShortName());

sqlInsert.executeUpdate();

}

Следует заметить, что в случае, когда запрос вносит изменения в БД, а к таким относятся INSERT, UPDATE, DELETE, то необходимо использовать метод executeUpdate(). А в случае, когда осуществляется выборка из БД оператором SELECT, то используется метод executeQuery().

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

public boolean isRecord(String recName) throws SQLException {

sqlFindByName.setString(1, recName);

ResultSet rs=sqlFindByName.executeQuery();

if(!rs.next()) return false;

return true;

}

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

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

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

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

Рисунок 2.5.1.1 – Задание параметров соединения

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

Рисунок 2.5.1.2 – Создание администратора системы

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

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

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

Рисунок 2.5.2.1 – Идентификация пользователя

Экранные формы, отображающие процесс администрирования СДО представлены в Приложении К.

Рисунок 2.5.2.2 – Создание новой группы

После создания групп администрирующих систему, необходимо приступить к ее администрированию. Рассмотрим процесс заполнения справочников на справочнике специальностей. Для этого выбирается в меню «Управление системой» «Справочник специальностей». В форму добавления вводятся «Код специальности», «Название специальности» и «Сокращенное название специальности». Поля, помеченные звездочкой, обязательны к заполнению. Если данные введены верно и еще не содержатся в таблице, то система подтвердит ввод сообщением (рисунок 2.5.2.3). В случае неправильного ввода, система выдает сообщение об ошибке.

Рисунок 2.5.2.3 – Добавление данных в справочник

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

Рисунок 2.5.2.4 – Редактирование записи справочника

Рисунок 2.5.2.5 – Подтверждение о внесенных изменениях

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


Рисунок 2.5.2.6 – Ошибка при удалении записи

Рисунок 2.5.2.7 – Сообщение, подтверждающее удаление

После заполнения первичных справочников, следует заполнять составные справочники, т.е. создаваемые на основе данных, хранящихся в первичных справочниках. Одним из составных справочников является справочник «Кафедры». Для кафедры вводятся название и сокращенное название, а факультет, которому подчинена эта кафедра, выбирается из разворачивающегося списка, сформированного на основании справочника «Факультеты». Форма добавления кафедр показана на рисунке 2.5.2.8.

Рисунок 2.5.2.8 – Добавление кафедры

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

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

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

Рисунок 2.5.3.1 - Работа с учебными курсами

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

Чтобы добавить текстовое и мультимедиа содержимое в раздел учебника, нужно перейти в раздел, который необходимо разработать. Перейдя по ссылке, появится редактор, показанный на рисунке 2.5.3.2, с помощью которого раздел наполняется содержимым. Заполнив содержимым окно редактора, следует нажать кнопку «Сохранить», раздел будет сформирован. При необходимости редактирования или удаления содержимого нажмите соответственно кнопки «Редактировать текст раздела» или «Удалить текст раздела».

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


Рисунок 2.5.3.2 - Редактирование содержимого раздела

Чтобы создать новый тест в учебнике следует в конструкторе нажать кнопку «Тесты учебника». Если же тест необходимо добавить в какой-либо раздел, то следует перейти по ссылке в нужный раздел и нажать кнопку «Тесты раздела». На рисунке 2.5.3.3 показан список тестов учебника.

Рисунок 2.5.3.3 - Работа с тестами