Разработка базы данных для ведения учета успеваемости студентов в электронном виде

Автор: Пользователь скрыл имя, 09 Февраля 2012 в 23:24, дипломная работа

Краткое описание

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

Оглавление

Оглавление
Введение 3
1. Анализ предметной области 5
1.1. Структура ВУЗа и общие положения образовательного процесса 5
1.2. Документы, используемые при учете успеваемости студентов 30
1.3. Недостатки существующей системы учета 30
2. Проектирование модели 32
2.1. Результаты анализа 32
2.2. Логическое проектирование 33
2.3. Разработка схемы данных 37
3. Разработка приложения 40
3.1. Проектирование пользовательского интерфейса 40
Заключение 74
Список использованной литературы 75

Файлы: 1 файл

Диплом.doc

— 651.50 Кб (Скачать)
Обозначение Тип данных Описание
IdKurs AutoNumber Код курса:
Kurs Text(10) Курс:
 

Таблица 10. KatDis

Обозначение Тип данных Описание
IdKat AutoNumber Код категории:
NameKat Text(100) Наименование:
KodKat Text(5) Шифр:
 

Таблица 11. InPlan

Обозначение Тип данных Описание
KodInPlan AutoNumber Код содержания:
IdDis Long Integer Код дисциплины:
IdPlan Long Integer Код плана:
 

Таблица 12. GroupS

Обозначение Тип данных Описание
IdGroup AutoNumber IdGroup:
NGroup Long Integer NGroup:
IdCity Long Integer IdCity:
 

Таблица 13. Fakult

Обозначение Тип данных Описание
IdFak AutoNumber Код факультета:
NameFak Text(50) Наименование:
 

Таблица 14. Dis

Обозначение Тип данных Описание
IdDis AutoNumber Код дисциплины:
NameDis Text(50) Наименование:
IdKat Long Integer Код категории:
KodDis Text(1) Классификатор дисциплины:
NumKodDis Text(2) Номер классификатора:
 

Таблица 15. City

Обозначение Тип данных Описание
IdCity AutoNumber IdCity:
City Text(20) City:
Ident Text(1) Ident:
 

Таблица 16. Ball

Обозначение Тип данных Описание
IdBall AutoNumber Код оценки:
Ball Text(20) Оценка:
MiniBall Text(5) Сокращенно:

    2.3. Разработка схемы данных

    Полученный  набор таблиц необходимо связать между собой. Определение связей дает возможность ассоциировать данные с записями из других таблиц. Это необходимо выполнить, для того чтобы исключить дублирование или недостоверность информации. Для связи двух таблиц необходимо определить первичный ключ в родительской таблице и внешний ключ в дочерней. При этом необходимо помнить, что для правильной работы системы недопустимо использование связей типа “многие-ко-многим”. Например, таблица Student связана с таблицей Kurs. Поскольку каждый студент может учиться только на одном курсе факультета, а на одном курсе учатся множество студентов, то таблица Kurs будет родительской по отношению к таблице Student. В качестве первичного ключа выбрано поле IdKurs. Т.к. для этого поля тип данных определен как счетчик, то при добавлении записи исключены совпадения значений. Внешним же ключом будет являться поле IdKurs из таблицы Student. В отличие от одноименного поля в таблице Kurs сюда можно вводить повторяющиеся значения.

    Аналогично  рассмотренной процедуре определяем связи в остальных таблицах. В таблице (Таблица 17 Ball) дан список связанных таблиц.

  Таблица 17. Ball

№ связи Родительская  таблица Дочерняя таблица Тип связи
Techer Hagruz Один-ко-многим
GroupS Hagruz Один-ко-многим
GroupS Student Один-ко-многим
City GroupS Один-ко-многим
Kurs Plan Один-ко-многим
Kurs Student Один-ко-многим
Fakult Plan Один-ко-многим
Fakult Student Один-ко-многим
Student Result Один-ко-многим
KatDis Dis Один-ко-многим
Dis InPlan Один-ко-многим
InPlan OnHour Один-ко-многим
OnHour Result Один-ко-многим
OnHour Hagruz Один-ко-многим
TypLesson OnHour Один-ко-многим
Plan InPlan Один-ко-многим
Ball Result Один-ко-многим

 

Рисунок 1 Схема данных

 

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

3.1. Проектирование пользовательского  интерфейса

Главная форма.

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

Рисунок 2 Форма “Учет успеваемости”

 

    На  форме представлены 6 кнопок. Каждая кнопка содержит поясняющий рисунок  и текст.

    Код формы:

    Private Sub cmdNSI_Click()

    frmSprav.Show

    frmMAin.Hide

    End Sub 

    Private Sub cmdPlan_Click()

    frmPlan.Show

    frmMAin.Hide

    End Sub 

    Private Sub cmdRes_Click()

    frmResult.Show

    frmMAin.Hide

    End Sub 

    Private Sub cmdStud_Click()

    frmStud.Show

    frmMAin.Hide

    End Sub

    Форма для работы с планом.

    Форма предназначена для просмотра, создания и модификации плана.

Рисунок 3 Форма “Рабочие планы”

Код формы:

Private Sub Form_Resize()

If frmPlan.Width < 6000 Then frmPlan.Width = 6000

If frmPlan.Height < 3000 Then frmPlan.Height = 3000

grdPlan.Move 50, 650, frmPlan.Width - 200, frmPlan.Height - 1200

End Sub 

Private Sub Form_Unload(Cancel As Integer)

frmMAin.Show

End Sub 

Private Sub tbrPlan_ButtonClick(ByVal Button As MSComctlLib.Button)

If Button.Index = 2 Then Glob = 1000

Select Case Button.Index

Case 2

    frmPlanAdd.Caption = "Создание плана"

    frmPlanAdd.cmdAdd.Visible = True

    frmPlanAdd.cmdSave.Visible = False

    frmPlanAdd.txtStartYear = Year(Now)

    frmPlanAdd.txtFinishYear = Year(Now) + 1

    Glob = 1000

    frmPlanAdd.Show vbModal

Case 4

    frmPlanAdd.Caption = "Редактирование плана"

    frmPlanAdd.cmdAdd.Visible = False

    frmPlanAdd.cmdSave.Visible = True

    frmPlanAdd.txtStartYear = BDSt.rsPlan.Fields!YearStart

    frmPlanAdd.txtFinishYear = BDSt.rsPlan.Fields!YearFinish

    Glob = 2000

    frmPlanAdd.Show vbModal

Case 6

    BDSt.Commands.Item("InPlan").CommandText = "SELECT Dis.*, InPlan.* FROM InPlan, Dis WHERE InPlan.IdDis = Dis.IdDis AND (InPlan.IdPlan =" & BDSt.rsPlan!IdPlan & ")"

    BDSt.Commands.Item("InPlan").Execute

    frmInPlan.Caption = "План №" & BDSt.rsPlan!IdPlan

    frmInPlan.lblFak = BDSt.rsPlan!NameFak

    frmInPlan.lblKurs = BDSt.rsPlan!Kurs

    frmInPlan.lblPeriod = BDSt.rsPlan!YearStart & " / " & BDSt.rsPlan!YearFinish

    frmInPlan.opt1.Caption = BDSt.rsPlan!Kurs * 2 - 1

    frmInPlan.opt2.Caption = BDSt.rsPlan!Kurs * 2

    frmInPlan.Show vbModal

Case 8

    frmNagr.Show vbModal

End Select

End Sub

Форма “Заполнение плана”

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

Рисунок 4 Форма “Заполнение плана”

Код формы:

'заполнение таблицы плана

Private Sub OpenRec(ByVal zzz As Boolean)

Dim rsTyp As New Recordset

Dim rsInPlan As New Recordset

Dim rsDis As New Recordset

Dim rsOnHour As New Recordset

rsInPlan.CursorLocation = adUseClient

rsInPlan.Open "Select * from InPlan where IdPlan=" & BDSt.rsPlan!IdPlan, BDSt.cnnBDSt, adOpenDynamic, adLockOptimistic

If rsInPlan.RecordCount > 0 Then rsInPlan.MoveFirst

For i = 1 To rsInPlan.RecordCount

    rsDis.CursorLocation = adUseClient

    rsDis.Open "Select * from Dis where IdDis=" & rsInPlan!IdDis, BDSt.cnnBDSt, adOpenDynamic, adLockOptimistic

Информация о работе Разработка базы данных для ведения учета успеваемости студентов в электронном виде