Автор работы: Пользователь скрыл имя, 15 Мая 2013 в 12:44, курсовая работа
Цель данной работы стала разработка автоматизированной информационной системы студенческого отдела кадров. Работа проходила по этапно и включает в себя следующие шаги:
- проектирование базы CASE средствами;
- реализация базы средствами SQL Server 7;
- написание приложения для базы в среде Borland Delphi 7.
Введение 3
1 Анализ предметной области 4
1.1 Словесное описание предметной области 4
2 Проектирование структуры базы данных 6
2.1 Инфологическая модель 6
2.2 Даталогическая модель 9
3 Проектирование пользовательского интерфейса приложения 10
3.1 Требования к пользовательскому интерфейсу 10
3.2 Проектирование интерфейса приложения 11
3.3 Взаимосвязь окон приложения 12
4 Проектирование приложения 18
Заключение 24
Список используемой литературы 25
Приложение А Техническое задание 26
Приложение В Схемы документов 30
SQL использует и создает ряд виртуальных (как будто существующих) таблиц: представлений, курсоров и неименованных рабочих таблиц, в которых формируются результаты запросов на получение данных из базовых таблиц и, возможно, представлений. Это таблицы, которые не существуют в базе данных, но как бы существуют с точки зрения пользователя. Кроме этого SQL позволяет создавать хранимые процедуры и триггеры.
Для управления данными в базе использовались следующие хранимые процедуры и триггеры:
sp_delete_t_grup_1 – реализует удаление группы
CREATE PROCEDURE [sp_delete_t_grup_1]
@id_grup_1 [int]
AS DELETE t_grup
FROM [t_grup]
WHERE ( [id_grup] = @id_grup_1)
sp_delete_t_spec_1 – реализует удаление специальности
CREATE PROCEDURE [sp_delete_t_spec_1]
(@id_spec_1 [smallint])
AS DELETE [STOK].[dbo].[t_spec]
WHERE( [id_spec] = @id_spec_1)
st_grkurfk – вывод всех групп определенного факультета и курса
CREATE PROCEDURE [st_grkurfk]
@kurs smallint,
@fk varchar(20)
AS
SELECT t_grup.name_grup
FROM t_grup INNER JOIN
t_spec ON t_grup.id_spec = t_spec.id_spec INNER JOIN
t_fakul ON t_spec.id_fakul = t_fakul.id_fakul
WHERE (t_fakul.name_fakul LIKE @fk) AND
(t_grup.kurs LIKE @kurs)
st_grpspсfk - вывод всех групп определенного факультета и специальности
CREATE PROCEDURE [st_grpspсfk]
@spec varchar(10),
@fk varchar(20)
AS
SELECT DISTINCT t_grup.name_grup AS [Группа], t_grup.kurs AS [Курс],
t_spec.num_spec AS [Специальность], t_grup.id_grup
FROM t_grup INNER JOIN
t_spec ON t_grup.id_spec = t_spec.id_spec INNER JOIN
t_fakul ON t_spec.id_fakul = t_fakul.id_fakul
WHERE (t_fakul.name_fakul LIKE @fk) AND
(t_spec.num_spec LIKE @spec)
st_kursfk – вывод всех курсов определенного факультета
CREATE PROCEDURE [st_kursfk]
@fk varchar(20)
AS
SELECT DISTINCT t_grup.kurs
FROM t_grup INNER JOIN
t_spec ON t_grup.id_spec = t_spec.id_spec INNER JOIN
t_fakul ON t_spec.id_fakul = t_fakul.id_fakul
WHERE (t_fakul.name_fakul LIKE @fk)
st_perevod – осуществляет перевод студентов из одной группы в другую
CREATE PROCEDURE [st_perevod]
@grup1 [int],
@grup2 [int]
AS
IF Exists (Select id_grup
From t_student
Where id_grup = @grup1)
begin
RAISERROR('В этой группе уже есть студенты', 16, 1)
end
else
begin
UPDATE t_student
SET id_grup = @grup1
WHERE id_grup = @grup2
End
st_otchet1 – формирование отчета о студентах по № студенческого
CREATE PROCEDURE [st_otchet1]
@dokym varchar(10)
AS
SELECT [t_student].[lich_delo], [t_student].[fam], [t_student].[name],
t_student].[otch], [t_student].[date]
FROM [t_student]
WHERE [t_student].[num_dokym] = @dokym
st_otchet2 - формирование отчета о студентах по № группы
CREATE PROCEDURE [st_otchet2]
@grup varchar(10)
AS
SELECT t_student.lich_delo , t_student.num_dokym, t_student.fam,
t_student.name, t_student.otch
FROM t_grup INNER JOIN
t_student ON t_grup.id_grup = t_student.id_grup
WHERE t_grup.name_grup = @grup
st_zapros1 – реализует запрос о студентах в группе
CREATE PROCEDURE [st_zapros1]
@grup varchar(10)
AS
SELECT [t_student].[fam] AS [Фамилия], [t_student].[name] AS [Имя],
[t_student].[otch] AS [Отчество]
FROM t_grup INNER JOIN
t_student ON t_grup.id_grup = t_student.id_grup
WHERE (t_grup.name_grup LIKE @grup)
st_zapros2 – реализует запрос о номере курса на котором обучается студент
CREATE PROCEDURE [st_zapros2]
@fam varchar(25)
AS
SELECT t_grup.kurs AS [Курс], t_student.fam AS [Фамилия], t_student.name
AS [Имя],
t_student.otch AS [Отчество]
FROM t_grup INNER JOIN
t_student ON t_grup.id_grup = t_student.id_grup
WHERE (t_student.fam LIKE @fam)
st_zapros3 – запрос о теме диплома определенного студента
CREATE PROCEDURE [st_zapros3]
@fam varchar(25)
AS
SELECT t_student.fam AS [Фамилия], t_student.name AS [Имя],
t_student.otch AS [Отчество], t_diplom.tema_dip AS [Тема диплома]
FROM t_diplom INNER JOIN
t_student ON t_diplom.id_student = t_student.id_student
WHERE (t_student.fam LIKE @fam)
st_zapros4 – запрос о наличии студента на военной кафедре
CREATE PROCEDURE [st_zapros4]
@fam varchar(25)
AS
SELECT t_student.fam AS [Фамилия], t_student.name AS [Имя],
t_student.otch AS [Отчество], t_ychstol.num_wardoc AS [Номер документа]
FROM t_student INNER JOIN
t_ychstol ON t_student.id_student = t_ychstol.id_student
WHERE (t_student.fam LIKE @fam)
Триггеры использовались для реализации каскадного удаления данных в таблицах.
1. Реализует удаление
всех специальностей
CREATE TRIGGER [tr_del] ON [t_fakul]
FOR DELETE
AS
Set nocount on
Delete t_spec from Deleted, t_spec where t_spec.id_fakul = Deleted.id_fakul
2. Выполняет удаление всех групп определенной специальности
CREATE TRIGGER [tr_delspec] ON [t_spec]
FOR DELETE
AS
Set nocount on
Delete t_grup from Deleted, t_grup where t_grup.id_spec = Deleted.id_spec
3. Выполняет удаление всех студентов из удаляемой группы
CREATE TRIGGER [tr_delgrup] ON [t_grup]
FOR DELETE
AS
Set nocount on
Delete t_student from Deleted, T_student where t_student.id_grup = Deleted.id_grup
4. Реализует удаление данных о дипломниках и студентах на военной кафедре удаляемого студента
CREATE TRIGGER [tr_delstudent] ON dbo.t_student
FOR DELETE
AS
Set nocount on
Delete t_diplom from Deleted, t_diplom where t_diplom.id_student = Deleted.id_student
Delete t_ychstol from Deleted, t_ychstol where t_ychstol.id_student = Deleted.id_student
Заключение
Целью курсовой работы являлось разработка автоматизированной информационной системы для работы студенческого отдела кадров. Данная система позволяет автоматизировать четыре основные функции студенческого отдела кадров:
- прием документов при поступлении студентов;
- работа по обучающимся студентам;
- военно-учетная работа;
- работа по выпуску студентов из высшего учебного заведения.
Разработка автоматизированной системы проходила в несколько этапов происходила в несколько этапов:
В результате проделанной курсовой работы была разработано автоматизированная информационная система в соответствии с техническим заданием смотри Приложение А. При выполнении курсовой работы были углублены навыки в области проектирования баз данных, а также получен большой практический опыт создания баз данных средствами Microsoft SQL Server 7.
Список используемой литературы
Приложение А
Техническое задание
«Утверждаю»
Руководитель работы
__________________Е.А.
ТЕХНИЧЕСКОЕ ЗАДАНИЕ
на разработку информационной системы студенческого отдела кадров.
Студенческий отдел кадров является одной из веток общей структуры управления и контроля внутренними и внешними делами университета. Под управлением и контролем понимается огромная работа проводимая по обучению, передвижению студентов, которые обучаются в учебном заведении, о кафедрах и также, о других структурах общей системы называемой Высшее Учебное Заведение.
Для автоматизации работы студенческого отдела кадров создается данная информационная система.
Разработка ведется на основании задания на курсовую работу, выданного преподавателем кафедры ОВП и СУ Кучеровой Е.А. Наименование темы разработки: Информационная система студенческого отдела кадров.
Данная разработка будет использоваться работником студенческого отдела кадров с целью автоматизации контроля и учета студентов учебного заведения.
Программа должна обеспечивать выполнение следующих функций:
- стандартные функции по работе с базами данных (хранение, добавление, изменение, удаление и просмотр данных);
- прием данных о студентах;
- отслеживание продвижения студентов по курсам;
- работа с дипломниками:
- регистрация дипломов;
- закрытие личных дел студентов;
- составление отчётности по выпускникам.
- работа военно-учетного стола;
- формирование отчетов:
- отчет о студенте по № студенческого билета;
- отчет о количестве студентов в группе;
- отчет о количестве дипломников;
- отчет о количестве студентов на военной кафедре.
- выдача запросов:
- выдача фамилии студента по № группы;
- выдача № курса по фамилии студента;
- выдача темы диплома по фамилии студента;
- выдача номера приписного билета по фамилии студента.
- адекватное реагирование программы на все действия пользователя;
- обеспечение контроля над ссылочной целостностью;
- обеспечение контроля входных данных, т.е. проверка соответствия входных данных типам объявленных полей;
- выбор данных через списки.
IBM – совместимый компьютер с возможностью работы на нём операционной системы семейства Windows.
Операционная система: Windows 9x, ME, NT, 2000, XP. Программное изделие создается под управлением СУБД SQL Server 7 и Borland Delphi 7.
5. Требования к программной документации.
Программный документ оформляется по ГОСТ 7.32-2001.
Состав программного документа:
- техническое задание;
- пояснительная записка;
- приложение.
6. Стадии и этапы разработки.
1. Утверждение технического задания;
2. Сбор необходимой информации;
3. Обработка информации;
4. Программное кодирование;
5. Отладка, редактирование, исправление ошибок;
6. Составление
и оформление программной
7. Приемка программы заказчиком.
7. Порядок контроля и приемки.
Порядок контроля и приемки осуществляется преподавателем, курирующим данную работу в соответствии с функциональными характеристиками программной части.
Исполнитель
_____________
/Кошкаров
Д.Б./
Приложение В
Схемы документов