Создание базы данных 'Журнал классного руководителя'
Федеральное
государственное образовательное учреждение
Среднего
профессионального образования
Хакасский
политехнический колледж
Специальность
230103
ПОЯСНИТЕЛЬНАЯ
ЗАПИСКА
к курсовой
работе
по
дисциплине «Разработка и эксплуатация автоматизированных информационных систем»
на тему:
«Создание базы данных Журнал классного руководителя»
Абакан
2007г.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
. ПОСТАНОВКА ЗАДАЧИ
. ПРОЕКТИРОВАНИЕ
. СОЗДАНИЕ СТРУКТУРЫ БАЗЫ ДАННЫХ
. ПРОГРАММИРОВАНИЕ
.1Создание представлений
.2 Создание запросов
.3 Создание курсоров
.4 Создание переменных
.5 Создание хранимых процедур
. ОРГАНИЗАЦИЯ ПРАВ ДОСТУПА
. СЕТЕВОЕ ВЗАИМОДЕЙСТВИЕ
. ТЕСТИРОВАНИЕ
. ОТЛАДКА
. ВНЕДРЕНИЕ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
ГЛОССАРИЙ И СПИСОК АББРЕВИАТУР
ПРИЛОЖЕНИЯ
П.1. Диаграммы
П.2. Нормализация
ВВЕДЕНИЕ
Тенденция развития ИТ обусловлены переходом к
новым задачам, новым стандартам мышления, новым требованиям к информации. В
настоящее время большинство учебных учреждений может позволить себе ведение
учета успеваемости учащихся в этих учебных заведениях.
На сегодняшний день большая часть предприятий
переходит от бумажного хранения информации к электронному создаются базы даны
которые позволяют автоматизировать работу и ускорить поиск нужной информации.
В курсовом проекте предложен вариант реализации
электронного журнала классного руководителя, который позволит автоматизировать
работу по учету студентов и избавить от «бумажной работ».
Целью данного проекта является практическая
реализация журнала классного руководителя в виде сформированной базы данных без
клиент-серверного приложения.
Система визуального программирования SQL
позволяет быстро и удобно разрабатывать эффективные приложения, включая
приложения для работы с базами данных.
SQL позволяет
создавать приложения для работы с локальными и удаленными базами данных.
В программном продукте SQL
имеется возможность создания баз данных, запросов, разграничения доступа между
пользователями! Значит, он подходит для создания нашей ИС.
Цели курсового проекта:
изучить предметную область;
выделить круг задач, которые должны решаться при
дальнейшей реализации программного средства;
реализовать программный проект;
провести тестирование, отладку и внедрение
данного проекта.
В данном курсовом проектировании будет создана
база данных по учету студентов. Созданное программное средство позволит
автоматизировать работу классного руководителя т.е. вся информация которая до
этого хранилась в различных журналах и книгах будет структурирована и
расположена в базе данных в различных таблицах которые будут соединены между
собой. Это позволит уменьшить время на поиск нужной информации об осужденных, а
так же увеличит степень защиты информации.
программа база данных учет студентов
1.
ПОСТАНОВКА ЗАДАЧИ
Преподавателем была поставлена задача создать ИО
целью которого является администрирование учебного журнала классного
руководителя.
Возникла необходимость создать базу данных
«Журнал классного руководителя». Она позволит вести учет данных о студенте,
хранить сведения о деятельности учащегося и всей группы в целом.
База данных должна реагировать на действия
пользователя: выдавать сведения по запросам классного руководителя,
администрации, предоставлять отчеты о проделанной работе.
1. Учетная
карточка студента - в ней содержаться все данные студента такие как:
1.1. Личные
данные;
1.2. Данные родителей;
1.3. Успеваемость студента
2. План учебно-воспитательной работы - в нем
содержаться данные всей группы в целом, такие как:
2.1. Состав группы;
.2. Запланированные мероприятия.
3. Учебный график - в нем содержаться данные на
учебное полугодие, такие как:
3.1. Семестровые экзамены;
.2. Учебная и производственная практика.
2.
ПРОЕКТИРОВАНИЕ
Программное средство должно быть соответствующим
образом подготовлено к эксплуатации, а так же иметь необходимую техническую
документацию. Проектирование структуры - алгоритмизация процесса обработки
данных, детализация функций, разработка архитектурного проекта, выбор методов и
средств создания программ
Программирование, тестирование и отладка -
основной этап работы по разработке программного средства. Часто отдельные
работы этого этапа ведутся параллельно, что позволяет сократить общее время
разработки.
Документирование - обязательный вид работы.
Документация должна содержать необходимые сведения по установке, обеспечению
надёжной работы продукта. Эксплуатация и сопровождение идут, как правило,
параллельно. В процессе эксплуатации могут выявляться ошибки, и устранение этих
ошибок ведётся в режиме сопровождения, то есть оказание сервисной помощи. Начальная контекстная диаграмма.
Построим начальную контекстную диаграмму потоков данных.
Нарисуем нулевой процесс и присвоим ему имя системы
(Система Осужденный). Поскольку моделируется деятельность классного
руководителя, то внешними сущностями являются Классный руководитель, Студент
и Администрация учебного заведения.
Рис.2.1. Начальная контекстная
диаграмма
Поскольку данный проект направлен на разработку
базы данных журнала классного руководителя, то внешними сущностями будут
являться Классный руководитель, Студент и Администрация. Потоки данных соответствуют документам, запросам или
сообщениям, которыми внешние сущности обмениваются с системой.
Начальный вариант Концептуальной
модели данных
Диаграмма потоков данных детализирует начальную
контекстную диаграмму. Каждому событию присвоен соответствующий процесс,
показаны входные и выходные потоки, накопители данных и внешние сущности.
Рис.2.2 Начальный вариант
концептуальной модели данных
Диаграмма потоков данных нулевого
уровня.
Диаграмма потоков данных детализирует начальную
контекстную диаграмму. Каждому событию присвоен соответствующий процесс,
показаны входные и выходные потоки, накопители данных и внешние сущности.
Детализация процессов представлена в приложении.
Рис.2.3 Диаграмма потоков данных
нулевого уровня
3.
СОЗДАНИЕ СТРУКТУРЫ БАЗЫ ДАННЫХ
Содержание
таблиц
Таблица 3.1. «Kartochka_ctud»
Имя
поля
|
Тип
данных
|
Длинна
|
Описание
|
ID_Uch
|
int
|
4
|
Ключевое
поле (первичный ключ)
|
Familiya
|
text
|
16
|
Фамилия
студента
|
Imya
|
text
|
16
|
Имя
студента
|
Otchestvo
|
text
|
16
|
Отчество
студента
|
Data_rochdeniya
|
datetime
|
8
|
Дата
рождения
|
Adres
|
int
|
4
|
Адрес
места жительства
|
Mesto_rochdeniya
|
int
|
4
|
Место
рождения
|
Neobhodimie_sved
|
varchar
|
50
|
Необходимые
сведения
|
Kod_Danie_mami
|
int
|
4
|
Данные
мамы
|
Kod_Danie_papi
|
int
|
4
|
Данные
папы
|
Data_zachisleniya
|
datetime
|
8
|
Дата
зачисления
|
Таблица 3.2.
«Adres»
Имя
поля
|
Тип
данных
|
Длинна
|
Описание
|
ID_Adres
|
int
|
4
|
Ключевое
поле (первичный ключ)
|
Kod_Region
|
int
|
4
|
Внешний
ключ
|
Kod_Naselen_punkt
|
int
|
4
|
Внешний
ключ
|
Ulica
|
varchar
|
50
|
Улица
|
Dom
|
varchar
|
50
|
Дом
|
Kvartira
|
varchar
|
50
|
Квартира
|
Таблица 3.3.
«Danie_mami»
Имя
поляТип данныхДлиннаОписание
|
|
|
|
id_mama
|
int
|
4
|
Ключевое
поле (первичный ключ)
|
Familiya
|
text
|
16
|
Фамилия
мамы
|
Imya
|
text
|
16
|
Имя
мамы
|
Otchestvo
|
text
|
16
|
Отчество
мамы
|
Data_rochdeniya
|
datetime
|
8
|
Дата
рождения
|
Mesto_raboti
|
varchar
|
50
|
Место
работы
|
Telefon
|
char
|
10
|
Рабочий
телефон
|
Таблица 3.4. «Danie_papi»
Имя
поля
|
Тип
данных
|
Длинна
|
Описание
|
id_papa
|
int
|
4
|
Ключевое
поле (первичный ключ)
|
Familiya
|
text
|
16
|
Фамилия
папы
|
Imya
|
text
|
16
|
Имя
папы
|
Otchestvo
|
text
|
16
|
Отчество
папы
|
Data_rochdeniya
|
datetime
|
8
|
Дата
рождения
|
Mesto_raboti
|
varchar
|
50
|
Место
работы
|
Telefon
|
char
|
10
|
Рабочий
телефон
|
Таблица 3.5. «Naselenii_punkt»
Имя
поля
|
Тип
данных
|
Длинна
|
Описание
|
ID_Naselen_Punkt
|
int
|
4
|
Ключевое
поле (первичный ключ)
|
Naimenovanie
|
varchar
|
50
|
Наименование
|
Таблица 3.6. «Region»
Имя
поляТип данныхДлиннаОписание
|
|
|
|
ID_Region
|
int
|
4
|
Ключевое
поле (первичный ключ)
|
Naimenovanie
|
varchar
|
50
|
Наименование
|
Таблица 3.7. «Mesto_rogdeniya»
Имя
поляТип данныхДлиннаОписание
|
|
|
|
ID_
Mesto_rogdeniya
|
int
|
4
|
Ключевое
поле (первичный ключ)
|
Naimenovanie
|
varchar
|
50
|
Наименование
|
Таблица 3.8. «Plan_ychebno_vospitatilnoi_raboti»
Имя
поля
|
Тип
данных
|
Длинна
|
Описание
|
id_plan
|
int
|
4
|
Ключевое
поле (первичный ключ номер по порядку)
|
Tip
|
varchar
|
50
|
Тип
обучения
|
id_Naimenovanie_otdeleniya
|
int
|
50
|
Наименование
отделения
|
id_Gruppa
|
int
|
50
|
Номер
группы
|
Kurs
|
int
|
4
|
Курс
|
Semestr
|
int
|
4
|
Текущий
семестр
|
id_Meropriyatiya
|
int
|
50
|
Абсолютная
успеваемость
|
id_Otvetstv_za_proved_meropriyatiya
|
int
|
50
|
План
занятий на семестр
|
Srok_provedeniya
|
datetime
|
4
|
Всего
пропусков у группы
|
Таблица 3.9. «Meropriyatiya»
Имя
поля
|
Тип
данных
|
Длинна
|
Описание
|
id_meropriatia
|
int
|
4
|
Первичный
ключ, номер по порядку
|
Naimenovanie
|
varchar
|
255
|
Наименование
мероприятия
|
Таблица 3.10. «Ispolnitel»
Имя
поляТип данныхДлиннаОписание
|
|
|
|
ID_Ispolnitel`
|
int
|
4
|
Ключевое
поле (первичный ключ)
|
FIO
|
varchar
|
50
|
Фамилия,
Имя, Отчество исполнителя
|
Таблица 3.11.
«Predmet»
Имя
поляТип данныхДлиннаОписание
|
|
|
|
ID_Predmet
|
int
|
4
|
Первичный
ключ, номер по порядку, связь с таблицей «Uspevaemost»
|
Predmet
|
varchar
|
50
|
Наименование
предмета
|
Таблица 3.12.
«Uspevaemost»
Имя
поляТип данныхДлиннаОписание
|
|
|
|
ID_Uspevaemost
|
int
|
4
|
Первичный
ключ, номер по порядку, связь с таблицей «Uspevaemost»
|
id_stud
|
int
|
4
|
Внешний
ключ, связь с таблицей «Kartochka_ctud»
|
id_predmet
|
int
|
4
|
Внешний
ключ, связь с таблицей «Predmet»
|
ocenka
|
char
|
10
|
Оценка
|
Таблица 3.13. «Vedomost»
Имя
поляТип данныхДлиннаОписание
|
|
|
|
id_vedomost
|
int
|
Первичный
ключ, номер по порядку, связь с таблицей «Vedomost»
|
id_stud
|
int
|
4
|
Внешний
ключ, связь с таблицей «Kartochka_ctud»
|
Gruppa
|
int
|
4
|
Номер
группы
|
obchee_kolichestvo
|
int
|
4
|
Общее
количество пропусков
|
po_uvagitelnoi
|
int
|
4
|
Пропуски
по уважительной причине
|
ne_po_uvagitelnoi
|
int
|
4
|
Пропуски
по неуважительной причине
|
Нормализация
Нормальная форма 3.
На этой форме представлены детализированные
таблицы с первичными и внешними ключами, расставлены связи между ними и
определены отношения.
Рис.3.1 Диаграмма потоков данных
нулевого уровня
4. ПРОГРАММИРОВАНИЕ
4.1
Создание представлений
Представление (view),
иногда называемое также видом, определяет логическую таблицу, получаемую как
результат выполнения сохраненного запроса. Представление - это некоторая
логическая (виртуальная) таблица, которая формируется заново каждый раз, когда
в SQL-операторе встречается ссылка на конкретное представление. Результирующий
набор, создаваемый как результат выполнения запроса, определяющего данное
представление, формируется из полей других таблиц базы данных. Таблицы,
используемые в запросе для создания представления, называются простыми
основными таблицами. Представление является объектом схемы и используется как
логическая таблица базы данных.
Представление1 «Карточка студента»:
Выбор полей «Идентификатор»,«Фамилия»,«Имя», «Отчество»,«Дата рождения»,«Дата
зачисления»,«Группа» из таблицы «Карточка студента»; «Улица»,«Дом»,«Квартира»
из таблицы «Адрес»; «Регион» из таблицы «Регион»; «Населенный пункт» из таблицы
«Населенный пункт»; «Группа» из таблицы «Группа».
Рис.4.1 Представление1 «Карточка студента»
Представление2 «Успеваемость
группы»: Выборка полей «Фамилия», «Имя», «Отчество» из
таблицы «Учетная карточка студента»;«Группа» из таблицы «Группа» где значение
поля равно «АСУ-41»;«Предмет» из таблицы «Предмет»; «Оценка» из таблицы
«Успеваемость».
Рис. 4.2 Представление2
«Успеваемость группы»
Представление3 «Данные родителей»:
Выборка полей «Идентификатор»,«Фамилия» из таблицы «Учетная карточка
студента»;«Фамилия»,«Имя»,«Отчество»,«Место работы»; «Рабочий телефон» из
таблиц «Данные мамы» и «Данные папы».
Рис.4.3. Представление3 «Данные
родителей»
Представление4 «План
учебно-воспитательных работ»: Выборка полей
«Идентификатор»,«Курс»,«Семестр»,«Срок проведения» из таблицы «План
учебно-воспитательных работ»; «Группа» из таблицы «Группа»; «Ответственный» из
таблицы «Ответственный»; «Наименование отделения» из таблицы «Отделения»;
«Мероприятия» из таблицы «Мероприятия».
Рис.4.4. Представление 4 «План
учебно-воспитательных работ»
Представление 5 «Ведомость»:
Выборка полей «Идентификатор», «Общее количество пропусков»,«Пропуски по
уважительной причине», «Пропуски не по уважительной причине» из таблицы
«Ведомость»; «Группа» из таблицы «Группа»; «Фамилия», «Имя», «Отчество» из
таблицы «Карточка студента».
Рис.4.5. Представление5
«Ведомость»
4.2 Создание запросов
Запрос1 «Данные родителей»:
Выборка полей «Идентификатор», «Имя», «Фамилия», «Отчество», «Место работы»,
«Телефон» из таблиц «Данные мамы» и «Данные папы»
Рис. 4.6 Запрос1 «Данные родителей»
Запрос2
«Выбор студентов»: Выборка полей «Идентификатор», «Имя», «Фамилия», «Отчество»,
«Дата рождения» из таблицы «Карточка студента» по значению: 3 (АСУ-41).
Рис .4.7 Запрос2 «Выбор студентов»
Запрос3 «Учебный график»:
Выборка всех полей из представления «План учебно-воспитательных работ» по полю Gruppa
со значением АСУ-41.
Рис. 4.8 Запрос3 «Учебный график»
4.3
Создание курсоров
Под курсором, как правило, понимают
получаемый при выполнении запроса результирующий набор и связанный с ним
указатель текущей записи. Курсор - это объект, связанный с определенной
областью памяти. Существуют явные и неявные курсоры.
Явный курсор имеет имя и перед использованием должен быть объявлен. Неявный
курсор создается автоматически и его нельзя повторно открыть без перекомпиляции
оператора запроса.
Объявление курсора выполняется оператором DECLARE CURSOR, в котором фраза FOR
определяет запрос, ассоциируемый с данным курсором. При объявлении курсора
выполнения запроса не происходит. Выполнение запроса и создание курсора
инициируется оператором OPEN CURSOR. Приложение получает доступ к данным
курсора при последовательном извлечении строк результирующего набора в
переменные приложения.
Для извлечения данных из курсора
используется оператор FETCH. Для освобождения памяти, выделенной под курсор,
его следует закрыть, выполнив оператор CLOSE CURSOR.
Курсор 1 «Предметы»: Выбор полей «Идентификатор» и «Предмет » из таблицы «Предмет»
Рис. 4.9 Курсор1 «Предметы»
Курсор2 «Студенты»: Выбор полей «Идентификатор», «Фамилия», «Имя», «Отчество», «Дата
зачисления» из таблицы «Карточка студента».
Рис. 4.10 Курсор2 «Студенты»
4.4
Создание переменных
В SQL можно использовать переменные
основного языка программирования. Они применяются:
· в выражениях;
· как INTO-переменные;
· как переменные
связи (bind-переменные);
· как
индикаторные переменные.
При указании переменной основного языка
программирования в коде SQL-оператора перед этой переменной следует вставлять
символ двоеточия.
Перед тем как использовать такую переменную, она
должна быть объявлена в разделе объявления SQL-переменных. Объявление
SQL-переменных указывается между парой операторов BEGIN DECLARE SECTION; и END
DECLARE SECTION;
В основной программе может быть произвольное
число разделов с объявляемыми переменными, но они могут быть указаны только в
тех местах, в которых синтаксис основного языка допускает выполнять объявление
переменных. Внутри операторов BEGIN DECLARE SECTION и END DECLARE SECTION
синтаксис объявления переменных также соответствует языку программирования, в
который встраиваются SQL-операторы. Код для
объявления переменных
BEGIN DECLARE SECTION
var: integer: float: varchar;: text;: datetime DECLARE SECTION;
INTO-переменные служат для извлечения данных из результирующего набора в
переменные основного языка программирования. Какая бы технология доступа к БД
ни использовалась в приложении, после формирования результирующего набора
данные для дальнейшей обработки (изменения, отображения, печати и т.п.) всегда
должны быть извлечены в переменные, с которыми может работать основной язык
программирования. Во встроенном SQL оператор SELECT сразу может указать имена
переменных, в которые будут занесены результаты запроса. Такие переменные
называются INTO-переменными.
Для использования INTO-переменных
существуют следующие ограничения:
· результирующий набор
гарантированно должен возвращать только одну строку;
· тип
каждой INTO-переменной должен соответствовать типу столбца, значение которого
записывается в эту переменную.
Результирующий набор будет
гарантированно возвращать только одну строку в следующих случаях:
· при использовании в
предикате значения поля, являющегося уникальным в силу объявления его как
PRIMARY KEY или UNIQUE;
· при агрегировании данных
всей таблицы, когда в списке полей указывается агрегирующая функция, а фраза
GROUP BY отсутствует;
· если структура
используемых таблиц и синтаксис оператора SELECT однозначно определяют
возвращаемую строку.
Например: SQL SELECT f1,f2,f3 FROM tbl1 INTO :var1, var2, var3 WHERE f1=1;
Имена INTO-переменных могут
совпадать с именами полей, так как это разные идентификаторы, отличающиеся
наличием у INTO-переменных символа двоеточие.
Пример
SELECT Ulica, Dom, Kvartira FROM
Adres INTO :var1, :var2, :var3id_Naselenii_punkt = 1(Абакан);
Переменные связи
(bind-переменные) служат для передачи
значений в СУБД. Эти переменные могут использоваться во фразе WHERE для
вычисления условия, в операторах INSERT и DELETE для определения
устанавливаемых значений. Переменные связи, также как и INTO-переменные, перед
применением должны быть предварительно объявлены. Переменные связи при указании
их в SQL-операторе предваряются символом двоеточие. Например:
Insert into dbo. Kartochka_Studenta
(Familiya, Imya, Otchestvo, Data_rogdeniya, Data_zachisleniya) values (:f1, f2,
f3, f4, f5);
4.5
Создание хранимых процедур
Хранимая процедура1 «PR1»:
Выводит поля «Порядковый номер», «Фамилия», «Имя», «Отчество» из таблицы
«Карточка студента» и подсчитывает количество учащихся в группе.
CREATE PROCEDURE PR1 AS SELECT
.Kartochka_Studenta.id_stud,.Kartochka_Studenta.Familiya,.Kartochka_Studenta.Imya,
.Kartochka_Studenta.OtchestvoKartochka_Studentacount(id_stud);
Рис. 4.11 Хранимая процедура1 «PR1»
Хранимая процедура2 «PR2»:
Выводит поля «Порядковый номер», и «Общее количество пропусков на оного
студента» из таблицы «Ведомость» и определяет самое большое количество
пропусков.
CREATE PROCEDURE PR2 AS SELECT
.Vedomost.id_stud,.Vedomost.Obchee_kolvo_propdbo.Vedomostmax(Obchee_kolvo_prop);
Рис 4.12 Хранимая процедура2 «PR2»
5.
ОРГАНИЗАЦИЯ ПРАВ ДОСТУПА
В данной БД создано несколько категорий прав
доступа а также созданы пользователи которые обладают этими правами.
Права для Администратора:
Группа Administrator
обладает всеми возможными правами как по настройке сетевого взаимодействия так
и изменения данных созданию новых пользователей а также групп пользователей. В
данную роль входит только один пользователь Administrator
который и является администратором данной БД.
Рис. 5.1 Распределение ролей
Рис.5.2. Ограничение прав доступа
для Администратора
Права для Администрации:
Группа пользователей Administraciya
обладает только правами чтения данных то есть пользователи входящие в данную
группу могут только просматривать данные не изменяя и не удаляя их. В данную
группу входит один пользователь (Zaveduchii).
Рис.5.3. Распределение ролей и
ограничение прав доступа для Заведующих
Права для преподавателя:
Группа пользователей Prepodovatel
обладает правами просмотра данных, а также это группа имеет право вносить и
изменять данные в некоторых таблицах. В данную группу входит один пользователь
(Prepodovatel).
Рис.5.4. Распределение ролей
Рис.5.5. Ограничение прав доступа
для Преподавателей
6.
СЕТЕВОЕ ВЗАИМОДЕЙСТВИЕ
Для работы с базой данных сформированы две
главные формы, «Учетная карточка студента» и несколько второстепенных: для
регистрации учетной записи и работы со справочниками.
Форма «Учетная карточка студента»
Рис. 6.1 Рабочая форма
Таблица 6.1. «Рабочая форма»
Наименование
поля на форме
|
Наименование
таблицы
|
Наименование
поля таблицы
|
№
|
Ychetnaia_kartochka
|
ID_ych
|
ФАМИЛИЯ
|
Ychetnaia_kartochka
|
Familiia
|
ИМЯ
|
Ychetnaia_kartochka
|
Imia
|
ОТЧЕСТВО
|
Ychetnaia_kartochka
|
Otchestvo
|
ДАТА
РОЖДЕНИЯ
|
Ychetnaia_kartochka
|
Data_rogdeniia
|
МЕСТО
РОЖДЕНИЯ
|
Ychetnaia_kartochka
|
Mesto_rogdeniia
|
ДАТА
ПОСТУПЛЕНИЯ
|
Ychetnaia_kartochka
|
Data_postupleniia
|
ГРУППА
|
Gruppa
|
Gruppa
|
ОТДЕЛЕНИЕ
|
Naimenovanie_otdeleniya
|
Naimenovanie_otdeleniya
|
Таблица 6.2. «Группа Адрес»
Наименование
поля на форме
|
Наименование
таблицы
|
Наименование
поля таблицы
|
НАСЕЛЕННЫЙ
ПУНКТ
|
Naseleni_punkt
|
Naseleni_punkt
|
РАЙОН
|
Raion
|
Raion
|
РЕГИОН
|
Region
|
Region
|
УЛИЦА
|
Adres
|
Ylica
|
ДОМ
|
Adres
|
Dom
|
КВАРТИРА
|
Adres
|
Kvartira
|
Таблица 6.3.
«Вкладка
Данные Родителей»
Имя
поля на форме
|
Наименование
таблицы
|
Наименование
поля таблицы
|
ГРУППА
«ОТЕЦ»
|
ФАМИЛИЯ
|
Danie_papi
|
Familiia
|
ИМЯ
|
Danie_papi
|
Imia
|
ОТЧЕСТВО
|
Danie_papi
|
Otchestvo
|
МЕСТО
РАБОТЫ
|
Danie_papi
|
Mesto_Raboti
|
ТЕЛЕФОН
|
Danie_papi
|
Telefon
|
ГРУППА
«МАТЬ»
|
ФАМИЛИЯ
|
Danie_mami
|
Familiia
|
ИМЯ
|
Danie_mami
|
Imia
|
ОТЧЕСТВО
|
Danie_mami
|
Otchestvo
|
МЕСТО
РАБОТЫ
|
Danie_mami
|
Mesto_Raboti
|
ТЕЛЕФОН
|
Danie_mami
|
Telefon
|
Таблица 6.3.
«Вкладка
Успеваемость»
Имя
поля на форме
|
Наименование
таблицы
|
Наименование
поля таблицы
|
№
|
Uspevaemost
|
Id_Uspevaemost
|
Успеваемость
|
Uspevaemost
|
Uspevaemost
|
7.
ТЕСТИРОВАНИЕ
Тестирование является одним из этапов жизненного
цикла ПИ, направленным на повышение качественных характеристик. При создании
типичного ПИ около 40% общего времени и более 40% общей стоимости расходуется
на проверку (тестирование) разрабатываемой программы.
Программы как объекты тестирования имеют ряд
особенностей, которые отличают процесс их тестирования от общепринятого,
применяемого при разработке аппаратуры и других технических изделий.
Особенностями тестирования ПИ являются:
• высокая сложность
программ и принципиальная невозможность исчерпывающего тестирования;
• практическая
невозможность создания единой методики тестирования (формализации процесса
тестирования) в силу большого разнообразия ПИ по их сложности, функциональному
назначению, области использования и т.д.
Применительно к ПИ тестирование
- это процесс многократного выполнения программы с целью обнаружения ошибок.
Общепринятое мнение, что тестирование - это процесс,
демонстрирующий отсутствие ошибок в программе или доказывающий корректность
выполняемых программой функций - является не просто ошибочным, но и крайне
вредным, так как это нечто противоположное тому, что следует понимать под
тестированием.
Программа тестируется для того, чтобы повысить
уровень ее надежности, т.е. выявить максимальное число ошибок.
Цель тестирования
-
выявление как можно большего числа ошибок.
Из правильного определения тестирования вытекает
ряд принципов,
которые интуитивно ясны, но именно поэтому на
них не обращают должного внимания.
Большая трудоемкость тестирования и ограниченные
ресурсы приводят к необходимости систематизации процесса и методов
тестирования.
Рассмотрим подробнее последовательно применяемые
методы тестирования:
1. статический,
2. детерминированный,
3. стохастический
4. в
реальном масштабе времени.
Каждый метод тестирования предполагает
использование конкретных процедур для реализации.
Статическое тестирование
-
наиболее формализованное, базируется на правилах структурного построения
программ и обработки данных. Проверка степени выполнения этих правил проводится
без изменения объектного кода программы путем формального анализа текста
программы на языке программирования.
Операторы и операнды текста программы анализируются
в символьном виде, поэтому этот метод тестирования иногда называют символическим
тестированием.
Наиболее трудоемким и детализированным является детерминированное
тестирование, которое требует многократного выполнения программы на ЭВМ
с использованием определенных, специальным образом подобранных тестовых наборов
данных. При детерминированном тестировании контролируются каждая комбинация
исходных данных и соответствующие ей результаты исполнения программы, а также
каждое утверждение в спецификации, тестируемой программы.
Детерминированное тестирование в силу
трудоемкости, возможно применять для отдельных модулей в процессе сборки
программы или для небольших и несложных программных комплексов.
Детерминированное тестирование, или тестирование
на определенных входных значениях, основывается на двух подходах:
1. структурное тестирование (СТ);
2. функциональное тестирование (ФТ).
Структурное тестирование,
или тестирование программ как «белого ящика» (стратегия тестирования,
управляемого логикой программы), предполагает детальное изучение текста
(логики) программы и построение (подбор) таких входных наборов данных, которые
позволили бы при многократном выполнении программы на ЭВМ обеспечить выполнение
максимально возможного количества маршрутов, логических ветвлений, циклов и
т.д.
Функциональное тестирование,
или тестирование программ как «черного ящика» (тестирование по «входу-выходу»),
полностью абстрагируется от логики программы, предполагается, что программа -
«черный ящик», а тестовые наборы выбираются на основании анализа входных
функциональных спецификаций. Т.е. при функциональном тестировании исходной
информацией для построения тестовых наборов данных являются функциональные
спецификации программы.
Стохастическое тестирование
предполагает использование в качестве исходных данных множества случайных
величин с соответствующими распределениями, а для сравнения полученных
результатов используются также распределения случайных величин.
Стохастическое тестирование применяется в
основном для обнаружения ошибок, а для диагностики и локализации ошибок
приходится переходить к детерминированному тестированию с использованием
конкретных значений исходных данных из области изменения ранее использовавшихся
случайных величин. Стохастическое тестирование наилучшим образом подвергается
автоматизации путем использования датчиков случайных значений (генераторов
случайных величин).
ПИ, предназначенные для работы в системах
реального времени, должны проходить тестирование в реальном масштабе
времени.
В процессе такого тестирования проверяются
результаты обработки исходных данных с учетом времени их поступления,
длительности и приоритетности обработки, динамики использования памяти и
взаимодействия с другими программами. При обнаружении отклонений результатов
выполнения программ от ожидаемых для локализации ошибок приходится фиксировать
время и переходить к детерминированному тестированию.
Каждый из рассмотренных методов тестирования не
исключает последовательного применения другого метода, скорее наоборот,
требование к повышению качества ПИ предполагает необходимость подвергать их
различным методам тестирования (и их сочетаниям) в зависимости от сложности и
области применения. При тестировании данного ПИ используется детерминированное
тестирование.
Структурное тестирование
Ошибки, выявленные в результате тестирования
структурным подходом:
Рис. 7.1 Ошибка о не соответствии
параметров
Вводимые данные не соответствуют заданным
параметрам.
Рис. 7.1 Ошибка о не соответствии
типов данных
Несоответствие типов данных при формировании
связей между таблицами
Функциональное тестирование
Ошибки, выявленные в результате тестирования
функциональным подходом:
Таблица 7.1. «Ошибки тестирования»
Ошибки
|
Результат
|
Размер
введенного значения не соответствует заданным параметрам
|
Сообщение
об ошибке с указанием ее кода
|
Несоответствие
типов данных вводимых значений
|
Сообщение
об ошибке с указанием ее кода
|
8.
ОТЛАДКА
Тестирование программ является одной из
составных частей более общего понятия - «отладка программ». Если тестирование
- это процесс, направленный на выявление ошибок, то целью отладки
являются локализация и исправление выявленных в процессе тестирования ошибок.
Процесс отладки включает:
·
действия,
направленные на выявление ошибок (тестирование);
·
диагностику
и локализацию ошибок (определение характера и местонахождения ошибок);
Процесс отладки начинается с разработки тестовых
наборов данных по определенной методике, придерживаясь ряда правил.
Структурное тестирование
Отладка программы будет заключаться в следующем:
Таблица 8.1. «Структурное тестирование»
Ошибка
|
Исправление
|
Вводимые
данные не соответствуют заданным параметрам
|
Ввод
данных, соответствующих заданным параметрам
|
Несоответствие
типов данных при формировании связей между таблицами
|
Изменение
типов данных ключевых полей при их несовместимости
|
Функциональное тестирование
Отладка программы будет заключаться в следующем:
Таблица 8.2. «Функциональное тестирование»
Ошибка
|
Исправление
|
Размер
введенного значения не соответствует заданным параметрам
|
Вывод
сообщения
|
Несоответствие
типов данных вводимых значений
|
Вывод
сообщения
|
9.
ВНЕДРЕНИЕ
Инструкция программиста
Таблицы
Схема данных
Пользователи
Запросы
Представления
Таблицы
Работа с таблицами осуществляется следующим
образом:
Выбор соответствующего пункта в меню базы данных
Рис.9.1. Выбор пункта Tables
1. Для создания таблицы необходимо:
Выбор пункта New
Tables
Рис.9.2. Создание таблиц
2. Для просмотра и редактирования необходимо:
2.1. выбрать соответствующую таблицу из списка
Рис. 9.3 Выбор таблицы
для редактирования таблиц существуют следующие
свойства:
New
Table
- создание новой таблицы
Designer
- редактирование таблицы (изменение типа данных, ключей, наименования полей)
Open
Table:
Return
all
rows
- открытие таблицы в режиме пользователя
Return
Top
- открытие таблицы в режиме пользователя, с указанием числа видимых строк
Query
-
таблица в режиме конструктора
Рис. 9.4 Редактирование таблиц
Схема данных
Работа со схемой данных осуществляется следующим
образом:
Выбор соответствующего пункта в меню базы данных
Рис. 9.5 Пункт схемы данных
1. Для создания схемы данных необходимо:
Выбор пункта New
Database
Diagram
Рис. 9.6 Создание диаграмм
2. Для просмотра
2.1. выбрать соответствующий элемент
Рис. 9.7 Выбор диаграммы
2.2. выбрать необходимую функцию для работы с
диаграммой
New
Database
Diagram
-
построение новой диаграммы (можно осуществить при нажатии на пустую область
правой части рабочей области)
Desing
Diagram
- конструктор диаграммы (можно осуществить при двойном нажатии на выбранный
элемент)
Рис. 9.8 Выбор необходимой функции
3. Создание диаграммы
.1. выбрать пункт New
Database
Diagram
Рис. 9.9 Пункт New Database Diagram
3.2. Выбор
таблиц
Available
tables
- список всех таблиц базы данных
Tables
to
add
to
diagram
- список таблиц, выбранных для построения базы данных
Add
relater
automatically
-
How
many
levels
of
relater
tables
- значение, установленное в диалоговом окне указывает на количество уровней
Рис. 9.10 Выбор таблиц
Для добавления таблиц из имеющегося
списка в список, необходимый для построения диаграммы, требуется:
а) выбрать нужную таблицу;
б) нажать на кнопку Add,
либо сделать двойной щелчок мышкой по выбранной таблице.
Для удаления из списка таблиц
лишней, необходимо:
а) выбрать нужную таблицу;
б) нажать на кнопку Remove.
Для дальнейшего этапа построения диаграммы
необходимо нажать на кнопку Далее.
3.3. Заключительный этап выбора таблиц
В появившемся диалоговом окне также можно
просмотреть список выбранных таблиц. При отсутствии необходимы таблиц можно
вернуться в предыдущее диалоговое окно, нажав для этого кнопку Назад.
Если выбранный список является завершенным, необходимо нажать на кнопку Готово.
Рис. 9.11 Выбор таблиц
(заключительный этап)
4. Редактирование схемы данных
4.1. Распределение связей
В появившемся диалоговом окне необходимо
расставить таблицы в порядке их зависимости (для удобства расставления связей).
Для создания связи необходимо:
Выделить соответствующее ключевое поле таблицы
Рис. 9.12 Выделение ключевых полей
Зажать левую кнопку мыши и в таком состоянии
перетащить к связующей таблице
Рис. 9.13 Установка связей
В появившемся диалоговом окне проверить
соответствие ключевых полей выбранных таблиц
Check existing data on creation -
relationship for replication - relationship for INSERT and UPDATEs -
Cascade
Update
Related
Fields
- каскадное обновление связанных полей
Cascade
Delete
Relater
Records
- каскадное удаление связных записей
Рис. 9.14 Соответствие ключевых
полей
4.2. Свойства, необходимые для работы с таблицей
Table View
(вид
таблицы):
Standard -
стандартная
Column Names
- имена
столбцов
Keys
- ключи
Name Only
- только
имя
таблицы
Custom
-
Modify
Custom
- добавление необходимых полей в
Set
Primary
Key
- включить первичный ключ
Insert
Column
-
добавить столбец
Delete
Column
- удалить столбец
Рис. 9.15 Свойства таблицы
Select
All
- выделить все
Delete
Table
from
Database
- удалить таблицу из базы данных
Remove
Table
from
Diagram
- убрать таблицу из диаграммы
Add
Related
Tables
- добавить убранную таблицу
Autosize Selected Tables
- авторазмер
полей
таблицы
Zoom Selection
- масштаб
Save
-
сохранить
Save
Selection
- сохранить выбранное
Indexes/Keys
- просмотр ключей/индексов
Relationships
- просмотр связи таблиц
Check Constants
- выбор
констант
Properties
- свойства
Пользователи
Работа с пользователями осуществляется следующим
образом:
Создание групп пользователей
Выбрать вкладку Security
Рис. 9.16 Создание групп
пользователей
В появившемся диалоговом окне выбрать
необходимую группу пользователей либо создать новую с соответствующими
параметрами.
5. Создание пользователей
После формирования групп пользователей, они
автоматически создаются во вкладке User,
если были правильно указаны все необходимые параметры.
5.1. Распределение ролей
. выбор соответствующего пункта в меню базы
данных.
2. выбор
пункта
New Database Role.
Рис.9.17 Распределение ролей
5.2. В появившемся диалоговом окне задать имя и
группу (ы), в которой данный пользователь будет принадлежать.
Рис. 9.18 Задание имя группы
Указание прав доступа
Открыть созданного пользователя и нажать на
кнопку Permissions.
.3. В открывшемся диалоговом окне указать права
на таблицы в целом и при необходимости - на поля таблиц.
Рис. 9.19 Ограничение доступа
Права:
просмотр
добавление
обновление
удаление
исполнение
редактирование
Запросы
Работа с запросами осуществляется следующим
образом:
. Перейти на вкладку Query
Analyzer.
Рис. 9.20 Выбор программы Query Analyzer
2. В открывшемся диалоговом окне на вкладке
выбрать созданную базу данных. Эта же база данных должна быть выбрана на панели
инструментов.
Рис. 9.21 Выбор базы данных
3. В правой части рабочей области необходимо
прописать операторы, необходимые для формирования запроса.
Например:
Выбор всех столбцов из таблицы «Учетная карточка»
Рис. 9.22 Формирование запроса
С помощью кнопки Parse
Query
проверяется синтаксис.
Результат запроса:
Рис. 9.23 Результат запроса
С помощью кнопки Execute
Query
происходит выполнение запроса.
Таблицы и поля, необходимые для формирования
запроса, можно переносить с помощью мышки.
Представления
Работа с представлениями осуществляется
следующим образом:
Выбрать соответствующий пункт в меню базы данных
Рис. 9.24 Выбор пункта представлений
Для создания представления необходимо:
Выбрать пункт New
Views
Рис.9.25 Создание нового
представления
1. В появившемся диалоговом окне необходимо
добавить таблицы. Это можно сделать следующими способами:
а) Нажать на ,
находящейся на панели инструментов
б) Нажать правой кнопкой мыши на панель Diagram
Pane и выбрать
соответствующий пункт
Рис.9.26 Добавление таблиц в
представление
2. Из появившегося диалогового окна выбрать
необходимые таблицы, представления или функции.
Рис. 9.27 Выбор таблиц
3. Из сформировавшейся диаграммы выбрать
необходимые поля. Они будут автоматически появляться на панели Grid
Pane, и отражаться в
коде на панели SQL
Pane.
На панели Grid
Pane также можно задать
следующие свойства:
а) Наименование столбца;
б) Сортировку (по возрастанию/убыванию,
порядок);
в) Группировку;
г) Критерии;
д) Условия.
Рис. 9.28 Выбор полей таблиц
. Для получения результата запроса необходимо
нажать на кнопку
Рис.9.29. Получение
результата представления
Инструкция пользователя
1. Работа с формой «Учетная карточка студента»
Рис.9.30. Рабочая форма
Функции:
Также на вкладках формы имеются дополнительные
кнопки, с помощью которых можно добавлять записи.
Документация
АНАЛИЗ
На этой стадии происходит анализ предметной
области. Формируется состав входящей и выходящей информации. После сбора и
анализа вся собранная документация передается на следующую стадию разработки.
ПРОЕКТИРОВАНИЕ
При получении необходимой документации
происходит проектирование программы. На этой стадии происходит определение
формы представления входных и выходных данных, определяется синтаксис языка и
разрабатывается структура программы. По завершению, вся документация передается
в следующую стадию разработки.
РЕАЛИЗАЦИЯ
При получении необходимой документации
происходит создание программного изделия на языке программирования. Также здесь
происходит редактирование программного изделия после того, как оно будет
протестировано и будет выявлен ряд ошибок. По завершению, программное изделие
передается в следующую стадию разработки.
ТЕСТИРОВАНИЕ
При получении разработанного программного
изделия происходит его тестирование необходимыми методами. Фиксируются
недоработки и ошибки, и передаются на доработку проектировщикам. По завершению,
откорректированная программа передается в следующую стадию разработки.
ВНЕДРЕНИЕ
На этой стадии происходит подготовка и передача
программы и программной документации для сопровождения и (или) изготовления.
Оформляется и утверждается акт о передачи программы на сопровождение и (или)
изготовление.
ЗАКЛЮЧЕНИЕ
В ходе работы была детально изучена предметная
область. Определены методы и средства, необходимые для решения поставленной
задачи. Задачей для курсовой бала автоматизация работы классного руководителя.
Созданные таблицы по хранению информации на студента позволяют быстро найти
требуемую информацию. Интерфейс программы довольно прост что способствует
точности заполнения данных.
СПИСОК
ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1. Конспект лекций по дисциплине
«Базы данных».
. Конспект лекций по дисциплине
«Разработка и эксплуатация автоматизированных информационных систем».
. Конспект лекций по дисциплине
«Автоматизированные информационные системы».
. Программирование в Delphi 7,
Москва, 2004г.
ГЛОССАРИЙ
И СПИСОК АББРЕВИАТУР
Глоссарий
База данных
- именованная совокупность данных, отражающая состояние объектов и их отношение
в рассматриваемой предметной области.
Курсор-
объект, связанный с определенной областью памяти.
БД-
база данных.
СУБД-
(система управления базами данных) совокупность языковых и программных средств,
предназначенных для создания, ведения и совместного использования базы данных
многими пользователями.
Абревиатуры
SQL-
System Query
Language
ПИ-
программное изделие
ЭВМ -
электронно-вычислительная машина
СТ -
структурное тестирование
ФТ -
функциональное тестирование
Приложения
П.1.
ДИАГРАММЫ
Диаграмма потоков данных первого
уровня для процесса 1.
Рис. П.1.1. Диаграмма потоков данных
первого уровня для процесса 1
Диаграмма потоков данных первого
уровня для процесса 2.
Рис.П.1.2. Диаграмма потоков данных
первого уровня для процесса 2
Диаграмма потоков данных первого
уровня для процесса 3.
Рис.П.1.3 Диаграмма потоков данных
первого уровня для процесса 3
Уточненный вариант Концептуальной
модели данных
Рис.П.1.4. Уточненный вариант
Концептуальной модели данных
П.2.
НОРМАЛИЗАЦИЯ
1-ая нормальная форма
Рис.
П.2.1. Первая нормальная форма
2-ая нормальная форма
Рис. П.2.2. Вторая нормальная форма