Автор: Пользователь скрыл имя, 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
Обозначение | Тип данных | Описание |
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) | Сокращенно: |
Полученный набор таблиц необходимо связать между собой. Определение связей дает возможность ассоциировать данные с записями из других таблиц. Это необходимо выполнить, для того чтобы исключить дублирование или недостоверность информации. Для связи двух таблиц необходимо определить первичный ключ в родительской таблице и внешний ключ в дочерней. При этом необходимо помнить, что для правильной работы системы недопустимо использование связей типа “многие-ко-многим”. Например, таблица 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 Схема данных
Главная форма.
После запуска приложения появляется основная кнопочная форма, предназначенная для быстрого перехода к нужному режиму.
Рисунок 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").
BDSt.Commands.Item("InPlan").
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