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

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

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

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

Файлы: 1 файл

курсач.doc

— 2.21 Мб (Скачать файл)
 
 
СОДЕРЖАНИЕ 
 
           
 
         
Изм Лист № докум. Подп. Дата
Разработал Скрягина Ю.С.     Программа учета реализации товаров.

Пояснительная записка

Литер Масса Масштаб
Проверил Кузьмин А. С.              
        Лист 3 Листов  38
Н. контр.       Курсовой  проект ПГТА,

группа 05Э1в

Утв.      

ВВЕДЕНИЕ

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

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

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

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

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

     Сегодня обработка экономической информации стала самостоятельным научно-техническим  направлением с большим разнообразием  идей и методов. Отдельные компоненты процесса обработки данных достигли высокой степени организации и взаимосвязи, что позволяет объединить все средства обработки информации, на конкретном экономическом объекте понятием "экономическая информационная система" (ЭИС). 

 

1. Постановка задачи и исходные данные

    Разработать программу ведения учета абитуриентов. Систему спроектировать для работы  в вузе.

    Программа должна содержать не менее 2-х таблиц и содержать связи между таблицами.

    Также, программа должна содержать минимум  два отчета и два графика.

    По  заданию  варианта функции управления реализованы с помощью меток.

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

    Формы представляют собой как обычные формы ввода данных, так и формы вывода отчета и построения диаграммы.

    Функциональность  приложения обеспечивается наличием меток  и кнопок управления.

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

 

2. Состав и структура  данных

      База  данных курсового проекта спроектирована и сохранена в формате Paradox 7. Тип таблиц Paradox 7 предпочтителен при создании файл-серверных БД. Таблицы Paradox по сравнению с другими файл-серверными системами поддерживают самый богатый набор разных типов полей, что позволяет автоматически следить за правильностью вводимых в поля данных, выбирать данные из другой таблицы, строить вторичные индексы, в том числе составные, следить за ссылочной целостностью БД, защищать таблицу от несанкционированного доступа, выбирать языковой драйвер.

      База  данных состоит из 2 таблиц в формате  Paradox 7:

    • abiturients – содержит данные об абитуриентах и оценках ими полученных.
    • specialities – содержит данные о специальностях в соответствии с вариантом задания. 

      Типы  данных, используемые в программе  данного курсового проекта, в  Paradox 7 следующие:

    • + - тип «автоинкремент». Целое число типа SmallInt, которое автоматически увеличивается на 1; * означает, что данное поле является первичным ключом таблицы;
    • A – (ALPHA) строковый тип данных, за которым в поле SIZE указывается количество символов допустимых в строке;
    • S – (SHORT) короткое целое.

      Структура таблицы abiturients (см. рис. 1):

Рисунок 1 – Структура таблицы abiturients

    • A_id – автоинкремент – ключевое поле – код абитуриента;
    • A_surname – строка (до 25 символов в длину) – фамилия абитуриента.
    • A_math – целое число – оценка по математике.
    • A_physic – целое число – оценка по физике.
    • A_composition – целое число – оценка по сочинению.
    • A_s_id – целое число – поле связывает абитуриента со специальностью, куда он решил поступать и хранит код специальности.

      Структура таблицы specialities (см. рис. 2):

Рисунок 2 – Структура таблицы specialities

    • S_id – автоинкремент – ключевое поле.
    • S_code – строка (до 10 символов) – код специальности.
    • S_name – строка (до 30 символов) – наименование специальности.
    • S_faculty – alpha (до 30 символов) – факультет.

      Таблицы связаны между собой отношением типа «один-ко-многим». Связь таблиц устанавливается программно.

      Программа реализует связь «один-ко-многим», поскольку рассматривает связь как “на одну специальность поступает много студентов”.

      Также связь можно было реализовать  и как «один студент поступает  только на одну специальность», т.е. «один-к-одной».

     В таблице abiturients создан вторичный индекс по полю A_s_id. По этому полю осуществляется связь с таблицей specialities (см. рис. 3).

     В таблице specialities создан вторичный индекс по полям S_name, S_faculty. Он используется при сортировке данных. 

Рисунок 3 – Схема структуры базы данных 
3. Методы решения задачи

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

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

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

      В программе нет никаких связей заданных по умолчанию. Вместо этого  на форме находится DBLookupComboBox, который связал поля s_id и a_s_id и в то же время ссылается на поле s_id. Если эти поля связать между собой в конструкторе связей, база данных будет выдавать ошибку, поскольку BDE полагает, что поле s_id связано само с собой. А если не связать, то программа не будет отображать отдельно записи абитуриентов по разным специальностям, а будет отображать все подряд. Программой обрабатываются два события связанные с DBLookupComboBox. Это onEnter и onCloseUp.

      Когда пользователь начинает выбор специальности  из списка, то происходит событие onEnter, программа выполняет программный разрыв связи между таблицами, и поэтому во время раскрытия списка в таблицах сетки отображаются все записи абитуриентов. Зато, благодаря отсутствию связи можно выбрать любую специальность из списка, а не только ту, абитуриенты которой отображаются в данный момент на экране (см. рис. 4). 
 
 
 

Рисунок 4. Начало выбора специальности из списка

      Второе  событие - onCloseUp – происходит, когда пользователь выбрал нужную специальность из списка и список закрывается. В обработчике этого события восстанавливается связь между главной и подчиненной таблицами. И снова можно перемещаться по строкам таблицы специальностей и смотреть абитуриентов по каждой из них (см. рис. 5).

      Основной  функционал приложения реализован с  помощью sql запросов:

    1. select s.s_code, count (a.a_id) total from abiturients a, specialities s where a.a_s_id=s.s_id group by s.s_id,s_code – считает сколько абитуриентов поступает на каждую специальность.
    2. Select a.a_surname, sum(a_math+a_physic+a_composition) summa,s.s_code,s.s_faculty from abiturients a, specialities s where a.a_s_id=s.s_id group by s_code,s_faculty,a_surname order by summa des – этот запрос выполняет сортировку абитуриентов по убыванию суммы баллов с группировкой по факультетам и специальностям.

Рисунок 5. Выбрана специальность code2

 

4. Структура пользовательского  интерфейса

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

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

      Две формы выделены на отчеты.

      Диаграммы строятся и выводятся в отчетах  и располагаются на тех же формах.

      Четвертая форма – AboutBox – предоставляет сведения о разработчике программы.

 
 
 
 
 
 
 

Рисунок 6. Структура пользовательского интерфейса.

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