Разработка программы учета абитуриентов

Автор работы: Пользователь скрыл имя, 21 Ноября 2010 в 18:16, Не определен

Описание работы

Программа позволяет вести учет абитуриентов в Делфи

Файлы: 1 файл

курсач.doc

— 2.21 Мб (Скачать файл)

Таблица 1. Назначение элементов управления главной формы (a_f)

Элемент управления Имя (идентификатор) Надпись Назначение, имя  процедуры
Метка Label3 Выполнить SQL запрос Считывает текст, введенный в поле редактирования, записывает его как sql выражение и выполняет.

Label3Click;

Метка Label4 Фильтровать Считывает текст, введенный в поле редактирования, записывает его как условие фильтрования. Меняет фильтр у таблицы.

Label4Click;

Сетка DBGrid2 (Данные БД) Обрабатывает  щелчок по полю сетки. Вызывает процедуру  сортировки данных выбранного поля. Работает с таблицей абитуриентов.

DBGrid2TitleClick

Селектор  выбора из базы данных DBLookupComboBox1 (Данные БД) Обрабатывает  выбор данных из списка. Подробнее - смотреть раздел 3.

DBLookupComboBox1CloseUp;

DBLookupComboBox1Enter;

Группа  радиокнопок RadioGroup1 Отчет Определяет, как  из кнопок связанных с выбором условия фильтрации выбрана и в зависимости от этого выбирается условие фильтрации. Сама процедура фильтрации выполняется при нажатии метки Label4.
Поле  ввода Edit2 (Текст SQL запроса) В это поле вводится текст sql запроса. После нажатия метки Label3 он выполнится, если не было ошибок.
Сетка DBGrid3 (Данные запросов) В этой сетке  выводятся результаты всех непредопределенных sql запросов.
Сетка DBGrid1 (Данные запросов) Работает с  таблицей специальностей.
Метка Label6 Отчет Выводит детализированный отчет.

Label6Click

Метка Label8 Выход Завершает работу программы, сохраняя измененные таблицы, если они действительно были изменены.

Label8Click

Метка Label9 Отчет2 Выводит отчет  с отсортированными данными.

Label9Click

Метка Label7 О программе… Выводит форму со сведениями разработчика приложения.

Label7Click

Навигатор базы данных DBNavigator1 (управление  таблицей базы данных) Управление  данными в таблице специальностей.
Навигатор базы данных DBNavigator2 (управление  таблицей базы данных) Управление данными в таблице абитуриентов.
Кнопка Button1 Количество  по специальностям Запускает процедуру  вывода количества абитуриентов по каждой специальности. Реализуется с помощью выполнения sql запроса с выводом результата в сетке DBGrid3.

Button1Click

 

Таблица 2. Назначение элементов управления формы (AboutBox)

Элемент управления Имя (идентификатор) Надпись Назначение, имя  процедуры
Кнопка OKButton OK Закрывает форму  «О программе»

 

5. Структура программы

      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Рисунок 6. Иерархическая модель программы.

      Все функции программы реализованы  при помощи свойств компонент  Delphi и не требуют специального программного кода, описывающего алгоритм. Навигация по базе данных выполняется при помощи навигаторов баз данных.

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

      В приведенной в приложении А схеме данных показан технологический процесс обработки данных. Данные из двух таблиц используются для выполнения выборок данных при помощи специальных sql запросов.

 

6. Описание программы

      Разработанная программа предназначена для  ведения базы данных типа Paradox для учета движения товаров. Она содержит 2 связанных таблиц, 4 формы и один модуль данных. Все компоненты связанные с базой данных собраны в одном модуле данных DM. Текст модуля находится в файле dm_u.pas. Полный текст программы находится в приложении.

    Перечень  файлов проекта:

    a.dcu

    a.dfm

    a.pas

    a_about.dcu

    a_about.dfm

    a_about.pas

    a_p.cfg

    a_p.dof

    a_p.dpr

    a_p.res

    a_r.dcu

    a_r.dfm

    a_r.pas

    a_r2.dcu

    a_r2.dfm

    a_r2.pas

    dm_u.dcu

    dm_u.dfm

    dm_u.dti

    dm_u.pas

      
 
 
 
 
 
 
 
 
 
 
 

Рисунок 8 – схема взаимодействия компонентов  с файлами БД

7. Тестирование программы

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

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

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

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

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

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

      Отладчик, однако же, может иметь невероятное  значение, и его обязательно надо включить в свой набор средств отладки.

      В состав системы Borland Delphi входит отладчик, с возможностями позволяющими серьезно облегчить жизнь разработчикам. Он всеми необходимыми функциями. Имеет удобный интерфейс. Функции отладчика выбираются в меню опции RUN. В процессе разработки программы данного курсового проекта наиболее часто использовались опции:

  • Add Breakpoints – эта опция позволяет просмотреть все контрольные точки и при необходимости удалить, переместить любую контрольную точку или задать условия ее работы;
  • Step Over – выполнение программы по шагам без захода в процедуры и функции;
  • Trace Into – выполнение программы по шагам с заходом в процедуры и функции;
  • Trace to Next Source Line – пошаговая отладка по строкам программы;
  • Run to Cursor – выполнение программы до строки, на которой находится курсор.

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

 

8. Руководство пользователя

    После запуска программы на экране появляется форма, на которой расположены все элементы управления.

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

    Программа рассматривает частный случай –  «одна специальность – один факультет». Поэтому они жестко связаны между собой.

    Ниже  сетки находится навигатор базы данных. С его помощью можно  добавлять, удалять и редактировать записи в базе.

    Справа  от навигатора находится поле выбора списка специальности по ее коду. Если никакая из строк абитуриентов не выделена, то выбор списка приведет к отображению записей всех абитуриентов связанных с данной специальностью. Если выделить какую-либо запись, а потом выбрать из списка специальность по ее коду, то выделенный абитуриент переместиться в группу абитуриентов выбранной специальности.

    Ниже  находится вторая сетка с данными  об абитуриентах. Работа с ней происходит таким же образом, с помощью навигатора базы данных 2, который расположен под этой сеткой.

    Фильтрация  записей выполняется по фамилиям и по оценке по физике. Для этого надо указать тип фильтрации, ввести условие фильтрации и нажать метку «Фильтрация». Строковые данные вводятся в апострофах. Результат фильтрации будет виден в сетке 2.

    Если  щелкнуть мышкой по названию поля в  сетке абитуриентов, то в сетке 3 находящейся с правой стороны выведутся абитуриенты, отсортированные по данному полю.

    Под элементами фильтрации находится длинное  текстовое поле для ввода произвольных sql запросов. Чтобы выполнить введенный запрос надо щелкнуть по метке «Выполнить sql запрос».

Информация о работе Разработка программы учета абитуриентов