Автор работы: Пользователь скрыл имя, 02 Мая 2013 в 10:45, курсовая работа
Актуальность системы заключается в автоматизации составления списков преподавателей работающих в данном учреждении образования, т.е. составления БД с помощью компьютера, что дает возможность устранить недостатки, присущие традиционной технологии обработки информации, и позволяет значительно экономить временной ресурс, а так же позволяет обеспечить более оперативную и упорядоченную работу с данными. При этом нужно исключить потери информации, обеспечить быстрый доступ и целостности данных, также обеспечить легкость внесения новых данных, изменение уже существующих и удаление ненужных данных. Именно эти задачи должна решать любая реляционная база данных
Введение 6
1 Построение инфологической концептуальной модели 7
1.1 Анализ предметной области и выявление необходимого набора сущностей 7
1.2 Обоснование требуемого набора атрибутов для каждой сущности и выделение идентифицирующих атрибутов 8
1.3 Определение взаимосвязей между объектами 9
1.4 Описание полученной модели на языке инфологического проектирования 10
2 Построение схемы реляционной бд 11
2.1 Построение набора необходимых отношений базы данных 11
2.2 Задание первичных и внешних ключей определенных отношений 11
2.3 Приведение отношений базы данных к третьей нормальной форме 12
2.4 Определение ограничений целостности для внешних ключей отношений и отношений в целом 14
2.5 Графическое представление связей между внешними и первичными ключами 14
3 Создание спроектированной базы данных 15
4 Запись выражений указанных в варианте задания типов запросов на языке sql 18
5 Выбор и обоснования средств разработки приложения 25
6 Реализация законченного комплекса приложений, работающих с созданной базой данных 28
6.1 Разработка и построение интерфейса главной и рабочих форм 28
6.2 Тестирование и отладка созданного приложения 28
Заключение 31
Список использованных источников 32
На основе рассмотренных сведений о первичных и внешних ключах необходимо представить связь между ними.
Связи между внешними и первичными ключами представлены в приложении Б.
Для реализации спроектированной базы данных была выбрана система управления базами данных Microsoft SQL Server 2008 R2.
В создаваемой базе данных будут использоваться следующие типы данных [6]:
Структура таблиц базы данных и перечень атрибутов для каждой таблицы приведены в таблице 2.
Таблица 2 – Структура таблиц базы данных
Имя таблицы |
Имя атрибута |
Тип атрибута (размер) |
Значение по умолчанию |
Ограниче-ния |
Преподаватели |
Код |
int |
- |
Not NULL |
ФИО |
nvarchar(50) |
“” |
- | |
ИНН |
int |
- |
- | |
Номер пенсионного свидетельства |
int |
- |
- | |
Пасспортные данные |
Код преподавателя |
int |
- |
Not NULL |
Серия |
nvarchar(50) |
“” |
- | |
Номер |
int |
- |
- | |
Кем выдан |
nvarchar(50) |
“” |
- | |
Дата выдачи |
date |
“1900-01-01” |
- | |
Трудовая книжка |
Код преподавателя |
int |
- |
Not NULL |
Номер трудовой книжки |
int |
- |
- | |
Дата выдачи |
date |
“1900-01-01” |
- | |
Номер приказа о зачислении |
int |
- |
- | |
Дата зачисления |
date |
“1900-01-01” |
- | |
Номер приказа об увольнении |
int |
- |
- | |
Дата увольнения |
date |
“1900-01-01” |
- | |
Трудовые данные |
Код преподавателя |
int |
- |
Not NULL |
Дата поступления на работу |
date |
“1900-01-01” |
- | |
Дата начала отпуска |
date |
“1900-01-01” |
- | |
Дата конца отпуска |
date |
“1900-01-01” |
- | |
Дата заключения контракта |
date |
“1900-01-01” |
- | |
Дата окончания контракта |
date |
“1900-01-01” |
- | |
Профессиональные данные |
Код преподавателя |
int |
- |
Not NULL |
Степень |
nvarchar(50) |
“” |
- | |
Звание |
nvarchar(50) |
“” |
- | |
Правительственные награды |
nvarchar(50) |
“” |
- | |
Педагогический стаж |
int |
- |
- | |
Должность |
Код |
int |
- |
Not NULL |
Должность |
nvarchar(50) |
“” |
- | |
Преподаватель/Должность |
Код |
int |
- |
Not NULL |
Код преподавателя |
int |
- |
Not NULL | |
Код должности |
int |
- |
Not NULL | |
Ставка |
float |
- |
- | |
Вид занятия |
Код |
int |
- |
Not NULL |
Вид занятия |
nvarchar(50) |
“” |
- | |
Распределение нагрузки |
Код |
int |
- |
Not NULL |
Код преподаватель/должность |
int |
- |
Not NULL | |
Код учебный план/дисциплина |
int |
- |
Not NULL | |
Количество часов |
int |
- |
- | |
Код вид занятия |
int |
- |
- | |
Распределение нагрузки/Группы |
Код |
int |
- |
Not NULL |
Код распределение нагрузки |
int |
- |
Not NULL | |
Код группы |
int |
- |
Not NULL | |
Группы |
Код |
int |
- |
Not NULL |
Код учебного плана |
int |
- |
Not NULL | |
Название группы |
nvarchar(50) |
“” |
- | |
Учебный план |
Код |
int |
- |
Not NULL |
Код специальности |
int |
- |
Not NULL | |
Номер семестра |
int |
- |
- | |
Год набора |
int |
- |
- | |
Срок обучения |
int |
- |
- | |
Квалификация |
nvarchar(50) |
“” |
- | |
Специальности |
Код |
int |
- |
Not NULL |
Название |
nvarchar(50) |
“” |
- | |
Шифр |
nvarchar(50) |
“” |
- | |
Стандарт |
nvarchar(50) |
“” |
- | |
Код кафедры |
int |
- |
Not NULL | |
Кафедры |
Код |
int |
- |
Not NULL |
Название кафедры |
nvarchar(50) |
“” |
- | |
Код факультета |
int |
- |
Not NULL | |
Факультеты |
Код |
int |
- |
Not NULL |
Название факультета |
nvarchar(50) |
“” |
- | |
Учебный план/дисциплины |
Код |
int |
- |
Not NULL |
Код учебного плана |
int |
- |
Not NULL | |
Код дисциплины |
int |
- |
Not NULL | |
Лекции кол-во часов |
int |
- |
- | |
ЛР кол-во часов |
int |
- |
- | |
Практика кол-во часов |
int |
- |
- | |
КР кол-во часов |
int |
- |
- | |
КП кол-во часов |
int |
- |
- | |
Дисциплины |
Код |
int |
- |
Not NULL |
Название дисциплины |
nvarchar(50) |
“” |
- |
Ключевые поля всех таблиц базы данных являются счетчиком и заполняются автоматически сервером.
Маски ввода было принято решение не использовать, так как проверку корректности ввода данных можно выполнять на уровне приложения до отправки данных на сервер.
Для реализации некоторых бизнес правил в СУБД SQL Server существует механизм триггеров. В отличие от обычной функции, триггер выполняется неявно в каждом случае возникновения триггерного события, к тому же он не имеет аргументов. Приведение его в действие иногда называют запуском триггера.
В разрабатываемой базе данных используется триггер срабатывающий на удаление записи из таблицы «Преподаватели», который удаляет все связанные записи с удаляемой из других таблиц.
Так же при разрабтке базы данных использовались хранимые процедуры и представления (VIEW).
Удаление уволившегося сотрудника:
Во время удаления сотрудника из таблицы «Преподаватели», срабатывает триггер, который удаляет свзязанные данные из других таблиц:
Добавление в базу нового сотрудника:
Внесение новой даты заключения контракта:
Измение даты начала и конца отпуска:
Изменение должности определенного сотрудника:
Список преподавателей, которые
работают на определенной
Средняя нагрузка ассистентов указанной кафедры:
Дисциплины, которые читает каждый из доцентов указанной кафедры:
Количество преподавателей каждой из категорий, работающих в институте:
Список сотрудников, находящихся в отпуске в определенном месяце:
Список преподавателей, у которых истек срок контракта:
Список сотрудников, награжденных медалью «За оборону Ленинграда»:
Кто из преподавателей может читать указанную дисциплину:
Кто из сотрудников дольше других работает в институте:
Отчет по кафедрам о преподавателях, читающих каждую из дисциплин:
Для каждой кафедры указать разницу между ее средней нагрузкой и средней нагрузкой по институту:
Для разработки базы данных была выбрана СУБД MS SQL Server 2008 R2. Microsoft SQL Server 2008 R2 – комплексная платформа для бизнес-аналитики и управления информацией. Новая версия SQL Server 2008 R2, разработанная компанией Microsoft, – это оптимальное решение для управления базами данных и построения бизнес-приложений.
Построенное на основе SQL Server 2008, новое решение SQL Server 2008 R2 отличается рядом преимуществ. Улучшенное масштабирование, более эффективные технологии, расширенные возможности для проведения бизнес-анализа и составления отчетов [8].
За счет обеспечения масштабируемости, надежности и безопасности корпоративного уровня, SQL Server 2008 R2 позволит полностью реализовать все преимущества современных компьютерных технологий и оборудования. Данная платформа быстро обрабатывает большие объемы данных и имеет невысокую стоимость.
SQL Server обеспечивает:
- отказоустойчивость базы данных, позволит быстро восстановить все данные, которые связаны с безопасностью шифрования, параметрами доступа и соответствия требованиям;
- благодаря регулятору ресурсов, отклики на запросы конечных пользователей происходят в предсказуемое и стабильное время;
- благодаря использованию SQL Server, данные будут занимать в хранилище меньше места, и будут храниться более эффективно;
- благодаря сжатию, значительно увеличивается производительность на задачах, которые связаны с большим числом операций ввода-вывода.
Новые возможности платформы SQL Server 2008 R2:
- позволяет сжимать данные в формате Unicode;
- используя стандартное оборудование, возможно реализовать высокую масштабируемость, а также получить все преимущества новейших аппаратных технологий [8].
Для создания приложения была выбрана графическая среда разработки приложений Embarcadero Delphi 10.0, а в качестве языка программирования – язык Object Pascal.
Embarcadero Delphi, ранее Borland Delphi и CodeGear Delphi, — интегрированная среда разработки ПО для Microsoft Windows на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies. Embarcadero Delphi является частью пакета Embarcadero RAD Studio.
Embarcadero RAD Studio — среда быстрой разработки приложений
(RAD) для Microsoft Windows фирмы Embarcadero Technologies.
Текущая версия Embarcadero RAD Studio 2010, объединяющая
в себе новейшие версии мощных средств
разработки Delphi 2010, C++Builder 2010, Delphi Prism 2010.
Более 120 нововведений и обновлений, реализованных в версии 2010, позволяют значительно ускорить и упростить разработку различных типов приложений для Windows и .NET:
А так же множество других усовершенствований для повышения производительности.
Достоинствами Delphi является очень широкий спектр компонент, в том числе компонент для работы с базами данных. В отличие от других сред, в данной среде полная структуризация программного кода – это удобно в отладке программы. В состав пакета входит большое количество драйверов для работы с базами данных. Удобное средство трассировки программного кода.
Достоинства:
Интерфейс программы
полностью совместим с
Требования к интерфейсу пользователя:
- единообразие экранов приложения;
- самая важная информация – в левом верхнем углу;
- простая навигация;
- размещение рядом связанных компонентов;
- приятные визуальные эффекты (баланс, симметрия);
- разработка системного меню;
- выбор подходящих элементов управления;
- ограничение количества используемых шрифтов и цветов;
- выравнивание компонентов и полей данных по левому краю.
При реализации приложения, было разработано главное окно со сторокой меню. Так же были разработаны окна справочников с возможностями добавления, редактирования, удаления и просмотра записей базы данных. И окна отчетов позволяющих сотрудникам отдела кадров получать необходимые сведения из базы данных.
Скриншоты рабочей формы приложения приведены в приложении В.
Тестирование программы
В первую очередь необходимо протестировать программу на достоверность отображаемой информации.
Маловероятно, что использование приложения может повлечь глобальную ошибку, т.к. большинство операций реализовано стандартными методами среды разработки.
Методы, которыми следует проводить тестирование, могут показаться примитивными и слишком долгими, но они являются наиболее эффективными и дают возможность полной и наиболее точной отладки приложения. Требуется провести использование программного продукта в течение некоторого времени, при этом задействовать все возможности приложения, ведь именно так можно будет увидеть все недочеты в проектировании и реализации.
Результаты тестирования программы приведены в таблице 3.
Таблица 3 – Тестирование программы
Тестируемый блок |
Ожидаемый результат |
Полученный результат |
Вывод |
1 |
2 |
3 |
4 |
Добавление записи о преподавателе в базу данных |
Информация о преподавателе должна добавиться в базу и отобразиться в таблице на форме |
Информация о преподавателе добавилась в базу и отобразись в таблице на форме |
Добавление записи о преподавателе в базу данных выполняется правильно |
Добавление должности преподавателю |
У данного преподавателя в списке должностей должна появиться новая запись характеризующая его новую должность |
У данного преподавателя в списке должностей появилась новая запись характеризующая его новую должность |
Добавление должности преподавателю выполняется правильно |
Удаление преподавателя из базы данных |
Из базы данных должна удалиться вся информация связанная с выбранным преподавателем
|
Из базы данных удалена вся информация связанная с выбранным преподавателем |
Удаление преподавателя из базы данных выполняется правильно |
Выполнение отчета «Количество преподавателей каждой категории» |
Из базы данных должна быть произведена выборка количества преподавателей каждой категории и результат отобразится на экране |
Из базы данных произведена выборка и результат отобразился на экране |
После ручного подсчёта количества преподавателей каждой категории и сопастовления результатов, был сделан вывод, что отчет работает правильно |