Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП_ТРПП.doc
Скачиваний:
6
Добавлен:
30.11.2018
Размер:
552.45 Кб
Скачать

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):

  1. Главное меню

  2. Список специальностей

  3. Кнопки для добавления/изменения информации о студентах, а также фильтрации данных.

  4. Список студентов

ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 3

Рис. 2 Главное окно

Главное меню

В главном меню находятся все основные команды для управления базой данных.

Меню Файл

Загрузить текущую базу данных. Загружает текущую базу данных. Пункт меню активен только в том случае, когда загружена архивная БД.

Новый учебный год. Позволяет подготовить базу данных к новому учебному году.

Выход. Завершает работу программы.

Меню Справочники

Специальности. Открывает окно, содержащее список специальностей.

Меню Справка

Руководство. Открывает данное руководство.

О программе. Открывает окно "О программе".

ПРОДОЛЖЕНИЕ ПРИЛОЖЕНИЯ 3

Список специальностей

Здесь выбирается специальность. При нажатии "Добавить" будет добавлен студент выбранной специальности.

Кнопка "Добавить" позволяет добавить студента выбранной специальности в список.

Кнопка "Изменить" открывает окно редактирования информации о студенте.

Кнопка "Удалить" удаляет студента из базы данных.

Кнопка "Фильтр" открывает окно "Фильтр", которое позволяет выбрать студентов по ФИО, году поступления, году рождения. Там же можно задать отображение только тех студентов, у которых не заполнена информация о дипломе.