- •1 Общая часть
- •2 Специальная часть
- •Добавление/изменение информации о студенте
- •Информация о дисциплинах, курсовых, практиках Окно "Учебная информация" (рис. 5)
- •Дисциплины
- •Курсовые работы/проекты
- •Практики
- •Добавление/редактирование специальностей
- •Список дисциплин
- •Список практик
- •Подготовка базы к новому учебному году
2 Специальная часть
2.1 Постановка задачи
Необходимо создать базу данных «Выпускник». Программное средство предназначено для автоматизации процессов сбора, хранения и обработки данных о выпускниках. База должна содержать следующие данные:
-
Перечень специальностей: код, наименование, квалификация.
-
Дисциплины: название, количество часов, специальность, на которой изучается, номер курса (для дисциплин первого курса).
-
Практики: название, продолжительность.
-
Студенты: ФИО, дата и место рождения, номер документа о предшествующем уровне образования, специальность, год поступления, срок обучения, перечень дисциплин, практик и курсовых работ, оценки по ним.
Программа должна выполнять следующие функции:
-
добавление и изменение информации о студентах;
-
добавление и удаление дисциплин для каждого студента;
-
редактирование списков специальностей, дисциплин, практик каждой специальности;
-
ввод тем курсовых работ, выполненных студентом;
-
ввод оценок по дисциплинам, курсовым работам и практикам;
-
поиск студентов (по ФИО, году рождения, году поступления; отображение студентов, у которых не указана информация о дипломе).
-
архивирование базы данных.
Программа будет использоваться секретарём учебной части ежегодно при формировании дипломов и выписок к ним.
Выходными данными являются экранные формы, отображающие информацию, содержащуюся в базе данных.
Программа должна проверять корректность вводимых данных, в случае ошибок сообщать о них пользователю.
Требования к интерфейсу: программа должна иметь дружественный интерфейс и не должна содержать грамматических, орфографических и других ошибок.
В качестве тестового набора используется информация о студентах группы П-08.
2.2 Структура базы данных
База данных состоит из 13 таблиц. ER-диаграмма базы данных приведена в ПРИЛОЖЕНИИ 1. Структура таблиц показана в таблицах 2-14.
Таблица 2. Структура таблицы Студенты
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
Фамилия |
Текстовый, 50 символов |
Имя |
Текстовый, 30 символов |
Отчество |
Текстовый, 30 символов |
ДатаРождения |
Дата/время (краткий формат даты) |
МестоРождения |
Текстовый, 100 символов |
НомерДокОбр |
Текстовый, 20 символов |
IDТипДокОбр |
Числовой (внешний ключ) |
КодСпециальности |
Текстовый, 6 символов (внешний ключ) |
ГодПоступления |
Числовой |
СерияИНомерДиплома |
Текстовый, 20 символов |
РегНомер |
Текстовый, 20 символов |
ДатаВыдачиДиплома |
Дата/время (краткий формат даты) |
СрокОбучения |
Числовой (внешний ключ) |
ДатаРешения |
Дата/время (краткий формат даты) |
ТемаДиплома |
Текстовый, 100 символов |
ОценкаДиплома |
Числовой |
ФлагДиплома |
Логический |
Таблица 3. Структура таблицы Специальность
Название поля |
Тип и ограничения |
Код |
Текстовый, 6 симвлолов (первичный ключ) |
Наименование |
Текстовый, 150 символов |
Квалификация |
Текстовый, 100 символов |
Таблица 4. Структура таблицы Дисциплины
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
Название |
Текстовый, 50 символов |
КоличествоЧасов |
Числовой |
КодСпециальности |
Текстовый, 6 символов (внешний ключ) |
ПервыйКурс |
Текстовый, 1 символ |
Таблица 5. Структура таблицы ОценкиПоДисц
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
ID_дисциплины |
Числовой (внешний ключ) |
ID_студента |
Числовой (внешний ключ) |
КоличествоЧасов |
Числовой |
Оценка |
Числовой (внешний ключ) |
Таблица 6. Структура таблицы Курсовые
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
ID_студента |
Числовой (внешний ключ) |
Тема |
Текстовый, 100 символов |
Оценка |
Числовой (внешний ключ) |
Таблица 7. Структура таблицы РасшифрОценок
Название поля |
Тип и ограничения |
ID |
Числовой (первичный ключ) |
Расшифровка |
Текстовый, 20 символов |
Таблица 8. Структура таблицы НаимПрактик
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
КодСпециальности |
Текстовый, 6 симв. (внешний ключ) |
Наименование |
Текстовый, 100 символов |
Продолжительность |
Числовой (одинарное с плавающей точкой) |
Таблица 9. Структура таблицы ОценкиЗаПрактики
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
ID_практики |
Числовой (внешний ключ) |
ID_студента |
Числовой (внешний ключ) |
Продолжительность |
Числовой |
Оценка |
Числовой (внешний ключ) |
Таблица 10. Структура таблицы УчебныеЗаведения
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
Наименование |
Текстовый, 255 символов |
Таблица 11. Структура таблицы ДокОбОбразовании
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
Наименование |
Текстовый, 30 символов |
Таблица 12. Структура таблицы СрокОбучения
Название поля |
Тип и ограничения |
ID |
Счётчик (первичный ключ) |
СрокОбучения |
Текстовый, 50 символов |
Таблица 13. Структура таблицы ДопДисциплины
Название поля |
Тип и ограничения |
ID |
Числовой (первичный ключ) |
Название |
Текстовый, 50 символов |
КоличествоЧасов |
Числовой |
УчебноеЗаведение |
Числовой (внешний ключ) |
Оценка |
Числовой (внешний ключ) |
ID_студента |
Числовой (внешний ключ) |
Таблица 14. Структура таблицы ГодВыпуска
Название поля |
Тип и ограничения |
ГодВыпуска |
Числовой, первичный ключ |
2.3 Описание программы
Программа «База данных «Выпускник» создана в среде разработки Borland Delphi 7. Файл программы: GraduateDB.exe, размер файла программы: 1,02 МБ.
Программа поставляется на CD-диске. Для установки необходимо скопировать папку программы на жёсткий диск в нужную папку. Для запуска программы необходимо открыть файл GraduateDB.exe.
Программа состоит из 10 модулей. Схема связей модулей приведена в ПРИЛОЖЕНИИ 2. Назначение модулей:
-
UDM – содержит процедуры подключения к базе данных, а также общие классы и процедуры, используемые в других модулях.
-
UMain – модуль формы FMain – главного окна программы.
-
USpecList – модуль формы FSpecList, содержащей список специальностей.
-
UAddEditSpec – модуль формы FAddEditSpec, предназначенной для редактирования информации о специальности.
-
UStudent – модуль формы FStudent, предназначенной для ввода личных данных студента, информации о документах, дипломном проекте.
-
UDisciplines – модуль формы FDisciplines, предназначенной для редактирования оценок по дисциплинам, практикам, курсовым работам и проектам. В этой же форме вводятся темы курсовых работ и проектов.
-
UFilter – модуль формы FFilter.
-
UIntro – модуль формы FIntro, содержащей кнопки загрузки текущей или архивной базы данных.
-
UHelp – модуль формы FHelp – руководство пользователя.
-
UAbout – модуль формы FAbout, содержащей информацию о программе.
Форма FMain содержит следующие элементы:
-
Главное меню
-
Выпадающий список CBSpec для выбора специальности
-
Кнопки «Добавить», «Изменить», «Удалить» для изменения информации о студентах – BtnAddStudent, BtnEditStudent, BtnDelStudent соответственно.
-
Кнопка «Фильтр» – BtnFilter – открывает форму FFilter, в которой выбираются признаки, по которым происходит выборка студентов в таблице главной формы.
-
Таблица, содержащая информацию о студентах – DBGStudents.
Форма FIntro содержит кнопки: «Загрузить текущую БД» (BtnLoadCurrent), «Загрузить архивную БД» (BtnLoadArchive), «Выход» (BtnExit).
Форма FSpecList содержит следующие элементы:
-
Список специальностей – LBSpecList
-
Кнопки «Добавить» (BtnAdd), «Изменить» (BtnChange), «Закрыть» (BtnClose).
Форма FAddEditSpec содержит следующие элементы:
-
Поле ввода шифра специальности ECode
-
Поле ввода наименования специальности EName
-
Поле ввода квалификации Equal
-
Таблица для ввода списка дисциплин и количества часов по каждой дисциплине – SGDisc
-
Таблица для ввода практик и их продолжительности – SGPrac.
-
Кнопка «Удалить» (BtnDelDisc) для удаления дисциплины из списка.
-
Кнопка «Готово» (BtnOK), сохраняющая данные в базу и закрывающая форму.
-
Кнопка «Отмена» (BtnCancel), закрывающая форму без сохранения данных.
-
Кнопка «Помощь» (BtnHelp), открывающая подсказку в правой части формы.
Форма FStudent содержит следующие элементы:
-
Поля ввода EF, EI, EO – для ввода фамилии, имени, отчества студента соответственно.
-
Элемент DateTimePicker – DBirthDate – для выбора даты рождения.
-
Поле MBirthPlace – место рождения.
-
Выпадающий список CBDocType – для выбора типа документа о предшествующем образовании.
-
Поле EDocNumber – серия и номер документа о предшествующем образовании.
-
Поле EEnterYear – год поступления
-
Выпадающий список CBStudyTime для выбора срока обучения.
-
CBDiplInfo – флаг, обозначающий, введена ли информация о дипломе. Включает или отключает поля, хранящие информацию о дипломе.
-
Поле EDiplNum для ввода серии и номера диплома
-
Поле ERegNum для ввода номера регистрации диплома
-
Элемент DateTimePicker – DDiplDate – дата выдачи диплома.
-
Элемент DateTimePicker – DSolDate – дата решения о выдаче диплома.
-
Поле MDiplTopic – тема дипломной работы.
-
Поле EDiplMark – оценка за дипломную работу.
-
Кнопка BtnDList – открывает форму FDisciplines для ввода данных об оценках по дисциплинам, курсовым работам и проектам, практикам. При этом данные с формы FStudent сохраняются в базу.
-
Кнопка BtnConfirm – закрывает форму и сохраняет информацию в базу данных.
-
Кнопка BtnCancel – закрывает форму без сохранения данных.
Форма FDisciplines содержит следующие элементы:
-
Таблицы типа DBGrid – DBGDisc, DBGTW, DBGPrac. Первая содержит список дисциплин, количество часов, оценки и курс, оценки и количество часов можно изменять. Вторая предназначена для ввода тем курсовых работ и оценок. Третья предназначена для ввода оценок по практикам.
-
Элемент DBNavigator – DBNDisc – для управления таблицей DBGStudent, содержит кнопки «Первая запись» , «Последняя запись», «Подтвердить», «Отменить».
-
Элемент DBNavigator – DBNTW – для управления таблицей DBGTW, содержит кнопки «Подтвердить», «Отменить».
-
Элемент DBNavigator – DBNPrac – для управления таблицей DBGPrac, содержит кнопки «Подтвердить», «Отменить».
-
Поле со списком CBAddDisc со списком дисциплин специальности
-
Кнопка BtnAddDisc для добавления дисциплины в список студента.
-
Кнопка BtnDelDisc для удаления дисциплины из списка студента.
-
Кнопка «Помощь» – расширяет форму и в правой части отображает краткую справку.
-
Кнопка «Закрыть» закрывает форму.
Форма UHelp содержит элемент WebBrowser для отображения руководства пользователя в формате HTML.
Форма UFilter содержит следующие элементы:
-
Флажки CBF, CBI, CBO – включают поля ввода фамилии, имени, отчества – EF, EI, EO соответственно.
-
Флажок CBBirthDate – включает поля EBirthYearFrom и EBirthYearTo, в которые вводится диапазон годов рождения.
-
Флажок CBEnterYear – включает поле ввода года поступления EEnterYear.
-
Флажок CBNoDipl указывает, что будут выбраны студенты, у которых не заполнена информация о дипломе.
-
Кнопка BtnOK закрывает форму, в главном окне отобразятся результаты выборки по указанным признакам.
-
Кнопка BtnCancel закрывает форму без сохранения данных.
Форма UAbout содержит 2 текстовых поля с названием и описанием программы, фоновое изображение (TImage) и кнопку «Закрыть» для закрытия формы.
Дата-модуль DM содержит компоненты для подключения к базе данных.
Входные данные: управляющие действия пользователя и данные, приведённые в таблице 15.
Таблица 15. Входные данные
Данные |
Переменная или элемент управления |
Студенты |
|
Фамилия |
EF (Edit) |
Имя |
EI (Edit) |
Отчество |
EO (Edit) |
Дата рождения |
DBirthDate (DateTimePicker) |
Место рождения |
MBirthPlace (Memo) |
Тип документа о предшествующем образовании |
CBDocType (ComboBox) |
Серия и номер документа о предшествующем образовании |
EDocNumber (Edit) |
Год поступления |
EEnterYear (Edit) |
Срок обучения |
CBStudyTime (ComboBox) |
Серия и номер диплома |
EDiplNum (Edit) |
Регистрационный номер диплома |
ERegNum (Edit) |
Дата выдачи диплома |
DDiplDate (DateTimePicker) |
Дата решения о выдаче диплома |
DSolDate (DateTimePicker) |
Тема дипломной работы |
MDiplTopic (Memo) |
Оценка дипломной работы |
EDiplMark (Edit) |
Оценки по дисциплинам, количество часов |
DBGDisc (DBGrid) |
Темы курсовых работ, оценки |
DBGTW (DBGrid) |
Оценки по практикам |
DBGPrac (DBGrid) |
Год выпуска |
FExitYear (integer) |
Специальности |
|
Шифр |
ECode (Edit) |
Название |
EName (Edit) |
Квалификация |
EQual (Edit) |
Названия дисциплин, количество часов, курс |
SGDisc (StringGrid) |
Названия практик, продолжительность |
SGPrac (StringGrid) |
Выходные данные: экранные формы, содержащие информацию из базы данных.
2.4 Руководство пользователя
Руководство пользователя приведено в ПРИЛОЖЕНИИ 3.
2.5 Оценка результатов решения задачи
Тестовые наборы данных приведены в ПРИЛОЖЕНИИ 4.
Реализован весь функционал, указанный в постановке задачи. Программа работает корректно на всех наборах данных, поэтому можно считать, что программное средство не содержит ошибок и решает поставленную задачу в полном объёме.
ЗАКЛЮЧЕНИЕ
Рис. N
ER-модель
базы данных
ПРИЛОЖЕНИЕ 2
Схема связей модулей программы
ПРИЛОЖЕНИЕ 3
Руководство пользователя
Запуск программы
При запуске программы отображается следующее окно (рис. 1):
Рис. 1 Стартовое окно
Кнопка "Загрузить текущую базу" запускает программу с текущей базой данных.
Кнопка "Загрузить архивную базу" открывает диалог открытия файла, где можно выбрать один из архивных файлов базы данных (файлы *.mdb).
Кнопка "Выход" закрывает программу.
Главное окно программы
В главном окне расположены следующие элементы (рис. 2):
-
Главное меню
-
Список специальностей
-
Кнопки для добавления/изменения информации о студентах, а также фильтрации данных.
-
Список студентов
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 3
Рис. 2 Главное окно
Главное меню
В главном меню находятся все основные команды для управления базой данных.
Меню Файл
Загрузить текущую базу данных. Загружает текущую базу данных. Пункт меню активен только в том случае, когда загружена архивная БД.
Новый учебный год. Позволяет подготовить базу данных к новому учебному году.
Выход. Завершает работу программы.
Меню Справочники
Специальности. Открывает окно, содержащее список специальностей.
Меню Справка
Руководство. Открывает данное руководство.
О программе. Открывает окно "О программе".
ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 3
Список специальностей
Здесь выбирается специальность. При нажатии "Добавить" будет добавлен студент выбранной специальности.
Кнопка "Добавить" позволяет добавить студента выбранной специальности в список.
Кнопка "Изменить" открывает окно редактирования информации о студенте.
Кнопка "Удалить" удаляет студента из базы данных.
Кнопка "Фильтр" открывает окно "Фильтр", которое позволяет выбрать студентов по ФИО, году поступления, году рождения. Там же можно задать отображение только тех студентов, у которых не заполнена информация о дипломе.