Автоматизация учета трудоустройства выпускников для УО "Белоозерский государственный профессионально-технический колледж электротехники"

 













Дипломный проект






Автоматизация учета трудоустройства выпускников для УО «Белоозерский государственный профессионально-технический колледж электротехники»








Гомель 2011

Введение


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

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

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

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

Базой для дипломного проектирования является Учреждение образования «Белоозерский государственный профессионально-технический колледж электротехники». Колледж оказывает образовательные услуги.

Целью дипломного проектирования является разработка автоматизации учета трудоустройства выпускников для УО «Белоозерский государственный профессионально-технический колледж электротехники».

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

Данная пояснительная записка состоит из трех глав.

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

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

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



1. Постановка задачи на дипломное проектирование


1.1 Характеристика УО «Белоозерский государственный профессионально-технический колледж электротехники»


Белоозерский государственный профессионально-технический колледж электротехники начал свой путь 1 октября 1966 года. Это было время бурного развития энергетики, полного завершения электрификации нашей республики, строительства многих электростанций, в том числе атомных, в большом государстве - Советском Союзе. Стране требовались грамотные, знающие рабочие кадры для такой важнейшей отрасли - энергетики. Город Белоозерск для открытия такого учебного заведения выбран не случайно: здесь успешно была введена в эксплуатацию и работала Березовская ГРЭС.

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

Функционировать он начал как городское профессионально-техническое училище №82 электротехники. Первыми специальностями, по которым шла подготовка рабочих кадров, были следующие: электромонтер станций и подстанций и ЛЭП; электромонтер сельской электрификации; электромонтер по силовым сетям и силовому электрооборудованию; электромонтер по монтажу и эксплуатации станций, подстанций и линий электропередач и др.

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

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

Подготовка рабочих кадров ведется по традиционным профессиям.

1Электромонтажник по электрооборудованию, силовым и осветительным сетям.

2Электросварщик ручной сварки; Электрогазосварщик.

Оператор электронно-вычислительных машин; Продавец.

Овощевод; Садовод; Повар.

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

Сборщик обуви.

Учащиеся, получившие профессионально-техническое образование по профессии «Электромонтажник по электрооборудованию, силовым и осветительным сетям» или «Электромонтёр по ремонту и обслуживанию электрооборудования» и имеющие по профессии 3 разряд и выше могут продолжить обучение на уровне ССО по специальности «Монтаж и эксплуатация электрооборудования», квалификация - техник-электрик. Рассмотрим схему учреждения, указав основные отделы, участвующие в информационном потоке.


1.2 Функции отделов


В соответствии с приведенным выше рисунком, каждый отдел выполняет определенную роль в деятельности колледжа.

Руководство

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

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

Заместитель директора по учебно-воспитательной работе - занимается воспитанием учащихся, культурно-развлекательными мероприятиями, вечерами.

Заместитель директора по учебной работе - руководитель учебной части, занимается составлением расписания.

Преподаватель - преподают уроки общеобразовательного и специального компонента.

Мастера производственного обучения - производственное обучение.

Административно управленческий персонал.

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

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

Оператор ЭВМ - набор и редактирование текста, верстка, ламинирование и брошюровка.


1.3 Автоматизация отдельных операций


Для автоматизации ввода большого количества документов, как правило, схожего содержания используется программа Microsoft Word 2003/2007. MS Word реализует следующие востребованные функции:

-Форматирование документа в соответствии с заданными шаблонами.

-Создание и редактирование документов достаточно большого размера. При этом возможно одновременное редактирование нескольких документов.

-Базовые возможности оформления таблиц.

-Удобный вид отображения документов на экране.

-Возможность оформления документов различными шрифтами, цветом и стилем.

-Возможность вставки изображения документа различного формата, размера и глубины цвета.

-Широкие возможности печати созданного документа, включая задание качества печати, количества копий, отступы и пр.

Процесс создания бухгалтерской документации также можно автоматизировать с помощью программы MS Word. Бухгалтерия производит большее количество расчетов, промежуточные и конечные данные которых необходимо систематизировать. Как правило, такие расчеты необходимо оформлять в таблицы, и здесь базовых возможностей, предоставляемых MS Word, будет недостаточно. Поэтому помимо оформления текстовой части отчетности в MS Word, бухгалтерским отделом используется программа MS Excel. Данная программа специально предназначена для работы со сложными таблицами. Далее перечислены некоторые возможности MS Excel:

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

-Возможность создания таблиц очень большого размера и сложности.

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

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

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

-Обработка внешних данных с автоматическим обновлением связей.

-Печать созданных таблиц.

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

-Просмотр начислений и удержаний.

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

-Ведение лицевых листов.

-Формирование ежемесячного табеля времени.

-Расчет индексации.

-Полная схема расчета подоходного налога.

-Расчет заработной платы с печатью ведомостей и расчетных листков.

-Печать выходной документации (по статьям, по группам).

-Расчет больничных, отпусков.

-Печать справок о налогах за год.


1.4 Структура локальной сети


В колледже локальная сеть используется только в одном, боле новом компьютерном классе. В основе ЛВС лежит общая шина данных с пропускной способностью 100 Мб/с.

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


1.5 Парк вычислительных машин и другой компьютерной техники


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

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

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


1.6 Постановка задачи для автоматизации учета трудоустройства выпускников


Программа введения и учета трудоустройства выпускников УО «Белоозерский ГПТК электротехники» представляет собой программу управления базой данных. Реализация базы данных возможна несколькими способами:

использование существующих систем управления базами данных;

создание собственной структурированной базы данных.

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

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

Хранение информации в самой программе возможны при помощи таких структур данных как массивы и списки.

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

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

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

-оконное Win32 приложение;

-консольное Win32 и Win16 приложение;

-консольное MS-DOS приложение (выполняется в виртуальной машине).

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

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

Реализуем в разрабатываемой нами программе использование уже существующих СУБД в виде оконного Win32 приложения.

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

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

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



2. Описание программных средств для реализации базы данных


.1 Выбор языка разработки программного обеспечения


Программирование баз данных является одним из наиболее приоритетных и востребованных направлений в сфере разработки программного обеспечения. Существует огромное множество, как самих сред создания приложений, так и универсальных СУБД со встроенным языком (зачастую высокого уровня). Это и Borland Delphi, и Microsoft Visual Studio, и C++ Builder, и Visual FoxPro, и многие другие. Каждый из таких продуктов содержит широкой набор компонентов, методов и процедур для обработки сложнейших структурированных систем данных.

Использование так называемых RAD-систем, т.е. систем мгновенной разработки приложений, значительно ускоряет процесс разработки и является более простым и выгодным способом, нежели использование иных сред. К примеру, возьмем Microsoft Visual Studio 2005. В ней реализовано как использование готовых компонентов (MFC) и добавление своих, так и создание приложений с нуля, т.е. программисту придется вручную предусматривать обработку сообщений операционной системы, создавать GUI интерфейс вручную на основе WinAPI функций. Поэтому применение RAD-систем оправданно с точки зрения времени создания проекта, а также простоты разработки.

Вот почему приоритет отдается Borland C++ Builder. Он очень прост в освоении, является полным аналогом IDE Delphi, только для использования языка C++, а множество компонентов для работы с базами данных делают ее просто отличной средой для разработки ПО. Конечные файлы имеют малый размер (в отличие от Delphi, где скомпилированные проекты, использующие VCL, занимают не менее 398 Кб).

Новейшая система объектно-ориентированного программирования C++ Builder производства корпорации Borland предназначена для операционных систем Windows 95 и NT. Интегрированная среда C++ Builder обеспечивает скорость визуальной разработки, продуктивность повторно используемых компонент в сочетании с мощью языковых средств C++, усовершенствованными инструментами и разномасштабными средствами доступа к базам данных.++ Builder может быть использован везде, где требуется дополнить существующие приложения расширенным стандартом языка C++, повысить быстродействие и придать пользовательскому интерфейсу качества профессионального уровня.++ - компилируемый строго типизированный язык программирования общего назначения. В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.

При создании С++ стремились сохранить совместимость с языком С. Большинство программ на Си будут исправно работать и с компилятором С++.

Нововведениями С++ в сравнении с С являются:

-поддержка объектно-ориентированного программирования;

-поддержка обобщённого программирования через шаблоны;

-дополнительные типы данных;

-исключения;

-пространства имён;

-встраиваемые функции;

-перегрузка операторов;

-перегрузка имён функций;

-ссылки и операторы управления свободно распределяемой памятью;

-дополнения к стандартной библиотеке.

Достоинства языка C++:

-масштабируемость. На языке C++ разрабатывают программы для самых различных платформ и систем.

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

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


2.2 Выбор среды разработки

++ Builder (по-русски обычно произносят [си-плюс-плюс би?лдэр], [си би?лдэр]) - программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке C++.

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

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

Конструирование по способу «drag-and-drop» позволяет создавать приложение простым перетаскиванием захваченных мышью визуальных компонент из Палитры на форму приложения. Инспектор объектов предоставляет возможность оперировать со свойствами и событиями компонент, автоматически создавая заготовки функций обработки событий, которые наполняются кодом и редактируются в процессе разработки.

Механизмы двунаправленной разработки (two-way-tools) устраняют барьеры между программистом и его кодом. Технология двунаправленной разработки обеспечивает контроль за вашим кодом посредством гибкого, интегрированного и синхронизированного взаимодействия между инструментами визуального проектирования и Редактором кода.

Свойства, методы и события - это именно те элементы языка, которые обеспечивают быструю разработку приложений в рамках объектно-ориентированного программирования. Свойства позволяют легко устанавливать разнообразные характеристики объектов. Методы производят определенные, иногда довольно сложные, операции над объектом. События связывают воздействия пользователя на объекты с кодами реакции на эти воздействия. События могут возникать при таких специфических изменениях состояния объектов как обновление данных в интерфейсных элементах доступа к базам данных. Работая совместно, свойства, методы и события образуют среду RAD (Rapid Application Development) быстрого и интуитивного программирования надежных приложений для Windows.

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

Испытание прототипа позволяет без труда переходить от прототипа приложения к полностью функциональному, профессионально оформленному программному продукту, действуя в пределах интегрированной среды. Чтобы удостовериться, что ваша программа производит ожидаемые результаты, раньше приходилось многократно проходить по циклу редактирование => компиляция => сборка, непроизводительно расходуя время. C++Builder объединяет три этапа разработки в единый производственный процесс. В результате удается строить приложения, базирующиеся на текущих требованиях заказчика, вместе с тем гибкие настолько, чтобы быстро адаптировать их к новым запросам пользователей.

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

Исходные тексты Библиотеки Визуальных Компонент облегчают разработку новых компонент на базе готовых примеров.

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

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

Библиотека Визуальных Компонент VCL приобрела статус нового промышленного стандарта и в настоящее время применяется более чем полумиллионом пользователей, существенно ускоряя разработку надежных приложений любой степени сложности. VCL содержит около 100 повторно используемых компонент, которые реализуют все элементы пользовательского интерфейса операционной системы Windows 95. Кроме того, VCL предоставляют в распоряжение программистов такие оригинальные объекты, как записные книжки с закладками, табличные сетки для отображения содержимого баз данных и даже органы управления устройствами мультимедиа. Находясь в среде объектно-ориентированного Программирования C++Builder, компоненты можно использовать непосредственно, менять их свойства, облик и поведение или порождать производные элементы. обладающие нужными отличительными характеристиками.

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

Компонента ChartFX обеспечивает немедленное построение на вашей форме разнообразных графиков, диаграмм, таблиц и предусматривает проверку правописания на многих языках. В варианте C++Builder Standard эта компонента является единственным представителем группы ActiveX.

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

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

Новые элементы стандарта ANSI/ISO языка C++ представлены шаблонами, пространствами имен, исключениями, информацией о типах времени выполнения (RTTI), наряду с расширением набора ключевых слов bool, explicit, mutable, typename. automated и др.

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

Чистый и доступный код приложений, которые C++Builder строит на основе предоставляемых разработчику компонентных свойств, событий и методов, исключает скрытые и трудные в отладке макросы.

Поддержка промышленных стандартов ActiveX, OLE, СОМ, MAPI, Windows Sockets TCP/IP, ISAPI. NSAPI, ODBC, Unicode и MBCS.

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

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

Создание DLL, LIB, и ЕХЕ файлов предоставляет свободу выбора формата целевого приложения в соответствии с требованиями конкретного проекта.

Прямое обращение к системным функциям Windows 95 и NT дает возможность программистам, работающим в среде C++Builder. при необходимости воспользоваться всеми усовершенствованиями современных операционных систем.

Механизм OLE Automation предоставляет вашему приложению возможность управлять другими типовыми программными комплексами для Windows (такими как Microsoft Word, Excel, Visual Basic, Lotus 1-2-3, dBASE и Paradox) по схеме сетевого взаимодействия контроллер / сервер.

Разработка по способу «drag-and-drop» многократно упрощает и ускоряет обычно трудоемкий процесс программирования СУБД в архитектуре клиент / сервер. Широкий выбор компонент управления визуализацией и редактированием позволяет легко изменять вид отображаемой информации и поведение программы. C++Builder использует Проводник баз данных (Database Explorer) и масштабируемый Словарь данных (Data Dictionary), чтобы автоматически настроить средства отображения и редактирования применительно к специфике вашей информации.

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

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

Живые данные (live data) предоставляются разработчику в процессе визуального проектирования прототипов и при испытании приложений баз данных. Вам не потребуется более писать тестовые ловушки или многократно перетранслировать и запускать приложение - данные на стадии проектирования будут точно такими же и представлены точно так же, как их увидит пользователь законченной программы.

Механизм BDE (Borland Database Engine) поддерживает высокопроизводительный 32-разрядный доступ к базам данных dBASE, Paradox: Sybase. Oracle, DB2. Microsoft SQL Server. Informix, InterBase и Local InterBase. C++Builder использует контроллер ODBC (Open Database Connectivity) производства Microsoft для связи с серверами баз данных Excel, Access, FoxPro и Btrieve. Являясь фундаментом любого приложения базы данных, BDE тесно связан с Хранилищем объектов и Модулями данных.

Объекты Модулей данных действуют как связующий каркас приложения - они определяют источники и бизнес-логику базы данных, фиксируют взаимосвязи компонент. В централизованной модели доступа к данным бизнес-логика отделена от разработки графического интерфейса с пользователем (GUI). Любое изменение бизнес-логики вашей базы данных сказывается на поведении только соответствующего Модуля данных, а результаты изменения проявляются немедленно во всех приложениях, использующих данный модуль. Работая с модулями данных, вы однократно устанавливаете связи вашего приложения с адресуемой базой данных, а затем по способу «drag-and-drop» можете перетаскивать поля записей на новые формы - в любой узел вашей сети. Никакого дополнительного кодирования при этом не требуется.

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

Копируемые обновления (cached updates) заметно ускоряют отклик SQL сервера за счет уменьшения общего числа сетевых обменов с клиентом. Будучи упакованными, множественные коммуникации проявляют себя как одиночные транзакции, тем самым снижая загруженность сервера и улучшая производительность вашего приложения.

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

Изначально Borland C++Builder разрабатывался компанией Borland Software, а затем её подразделением CodeGear, которое сейчас принадлежит компании Embarcadero Technologies.

Система Borland C++Builder - наиболее совершенная визуальная среда быстрой разработки на С++ для Windows. В ее состав входят сотни самых разных компонентов, а создание законченной программы требует минимума усилий. Ближайший конкурент Borland C++Builder - это Microsoft Visual C++, в котором реализована поддержка визуальной разработки на С++ (желающие могут пользоваться и этой системой, однако при этом будут определенные расхождения), а также Microsoft Visual Basic, классическая среда визуальной разработки на языке Бейсик.

У системы Borland C++Builder есть «родной брат» (или «сестра») - RAD-среда Borland Delphi, технология работы с которой полностью совпадает с технологией, принятой в C++Builder. Только пишется программа в Delphi не на С++, а на языке программирования Паскаль, точнее, его объектной версии Delphi Language.++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. [1] Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но, к сожалению, обратное утверждение не верно.++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору интерфейса и пр.++ Builder первоначально создавалась только для платформы Microsoft Windows. Поздние версии, содержащие Кроссплатформенную компонентную библиотеку Borland, поддерживают и Windows и Linux.

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

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

Основная обработка данных будет производится в функциональных частях, отвечающих за работу с данными (добавление, дублирование, редактирование, удаление записейПри реализации поставленной задачи возникают проблемы при разработке системы управления базами данных (СУБД). Все приложения СУБД, создаваемые в среде C++Builder, являются клиентами в архитектуре программного взаимодействия клиент / сервер. Клиент выдает запросы к серверу базы данных на получение или передачу информации. Сервер обрабатывает запросы от множества клиентов одновременно, координируя доступ к данным и их обновление.

Все приложения СУБД, создаваемые в среде C++Builder, основаны на компонентах пользовательского интерфейса с некоторой базой данных, которые предоставляют удивительно легкие в использовании средства разработки специальных приложений. Большая доля времени процесса разработки уходит на визуальную установку свойств выбранных компонент. Удачно спроектированное приложение всегда обеспечивает простоту просмотра и редактирования данных пользователем, независимо от сложности структуры используемой модели данных. Формы приложений СУБД для типично сложной системы в архитектуре взаимодействия клиент / сервер действительно могут быть созданы в интегрированной среде C++Builder весьма быстро и с малыми усилиями.

Ключевой механизм Borland Database Engine (BDE), обеспечивающий работу визуальных компонент баз данных, действует как интерфейс между приложением и самой базой данных. BDE реализован в виде набора системных DLL файлов. Взаимодействие компонентных объектов с BDE никак не специфицирует конкретную базу данных и не зависит от реализации обмена информацией на нижнем уровне иерархии. Именно BDE обращается в свою очередь к драйверам, специфическим для базы данных указанного типа, возвращая приложению запрошенные фактические данные. BDE играет роль, аналогичную контроллеру драйверов Open Database Connectivity (ODBC) производства фирмы Microsoft, изолируя приложения от нижнего уровня взаимодействия с базой данных и увеличивая общую производительность связи за счет использования кэш-памяти. Используя BDE, можно получить доступ ко всем локальным стандартным базам данных компьютера, к источникам данных ODBC и к SQL серверам баз данных в архитектуре сетевой связи клиент / сервер.

Одним из важнейших достоинств интегрированной среды C++Builder является наличие удобных средств быстрой визуальной разработки приложений СУБД - специализированных компонент баз данных. C++Builder компилирует компоненты в единую исполняемую программу, что существенно повышает ее надежность и быстродействие. Только очень опытные программисты способны создать программу подобного уровня качества и гибкости, используя исключительно прямые обращения к соответствующим функциям Windows API. При таком подходе даже простое приложение требует написания большого по объему кода.

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



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


3.1 Разработка структуры базы данных


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

Все приложения БД, создаваемые в среде C++Builder, являются клиентами в архитектуре программного взаимодействия клиент / сервер. Клиент выдает запросы к серверу базы данных на получение или передачу информации. Сервер обрабатывает запросы от множества клиентов одновременно, координируя доступ к данным и их обновление.

Все приложения БД, создаваемые в среде C++Builder, основаны на компонентах пользовательского интерфейса с некоторой базой данных, которые предоставляют удивительно легкие в использовании средства разработки специальных приложений. Львиная доля времени процесса разработки уходит на визуальную установку свойств выбранных компонент. Удачно спроектированное приложение всегда обеспечивает простоту просмотра и редактирования данных пользователем, независимо от сложности структуры используемой модели данных.

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

Основой работы C++Builder с базами данных является Borland Database Engine (BDE) - процессор баз данных фирмы Borland. BDE служит посредником между приложением и базами данных. Он предоставляет пользователю единый интерфейс для работы, освобождающий пользователя от конкретной реализации базы данных. Благодаря этому отпадает необходимость менять приложение при смене реализации базы данных. Приложение C++ Builder никогда не обращается к базе данных непосредственно, а только к BDE.

Приложение C++Builder, когда ему нужно связаться с базой данных, обращается к BDE и обычно сообщает псевдоним базы данных и необходимую таблицу в ней. BDE реализован в виде динамически подключаемых библиотек DLL, которые, как и любые другие библиотеки, снабжены API (Application Program Interface - интерфейс прикладных программ), названным IDAPI (Integrated Database Application Program Interface). Это список процедур и функций для работы с базами данных, которым и пользуются приложения, создаваемые с помощью Borland C++Builder.по псевдониму находит подходящий для указанной базы данных драйвер. Драйвер - это вспомогательная программа, «понимающая», как общаться с базами данных определенного типа. Если в BDE имеется собственный драйвер соответствующей СУБД, то BDE связывается через него с базой данных и с нужной таблицей в ней, отрабатывает запрос пользователя и возвращает в приложение результаты обработки. BDE поддерживает естественный доступ к таким базам данных, как Microsoft Access, FoxPro, dBase и Paradox.

Если же собственного драйвера нужной СУБД в BDE нет, то можно воспользоваться ODBC (в предыдущей статье описано, как это делается для базы данных MS Access). ODBC (Open Database Connectivity) - DLL, аналогичная по функциям BDE, но разработанная компанией Microsoft. Поскольку Microsoft включила поддержку ODBC в свои офисные продукты и для ODBC созданы драйверы практически к любым СУБД, компания Borland включила в BDE драйверы, позволяющие использовать ODBC-псевдонимы.

При разработке базы данных требуется учесть одно из самых важных требований - база данных должна быть нормализована.

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

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

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

Первая нормальная форма: таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.

Вторая нормальная форма: таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов (частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).

Третья нормальная форма: таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A ? B и B ? C, где A - набор ключевых атрибутов (ключ), B и С - различные множества неключевых атрибутов.

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

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

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

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

Таблица сведений о предприятиях - содержит информацию о предприятиях, на которые распределяются выпускники. Таблица будет содержать следующие поля: Наименование предприятия, Адрес предприятия, Сфера деятельности.

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

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

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

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

Данные таблицы имеют связь между собой согласно приведенной ниже схеме (рисунок 3).

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

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

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

Таблица сведений о распределении будет основной таблицей, с которой будет работать пользователь. Остальные таблицы будут хранить вспомогательную информацию.


3.2 Определение основных модулей программного обеспечения


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

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

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


3.2.1 Модуль добавления записей в базу данных

Модуль производит добавление записей в базу данных (новая запись о предприятии, рабочем месте, выпускнике, специальности обучения или распределении). При вызове функции добавления записи должно появиться окно с пустыми полями для ввода. При нажатии кнопки «Добавить» данные из полей ввода должны добавляться в соответствующую таблицу базу данных. При нажатии кнопки «Отмена» окно должно закрываться без добавления записи. Возможный вид окна добавления записи.


3.2.2 Модуль редактирования записей и удаления записей из базы данных

Модуль редактирования производит редактирование уже имеющихся в базе данных записей (записи о предприятии, рабочем месте, выпускнике, специальности обучения или распределении, выбранные пользователем). При вызове функции редактирования записи должно появиться окно с уже заполненными полями для ввода данных. При нажатии кнопки «Редактировать» измененные данные из полей ввода должны возвращаться в соответствующую таблицу базы данных. При нажатии кнопки «Отмена» окно редактирования должно закрыться без изменения имеющейся записи. Возможный вид окна редактирования записи.

Модуль удаления производит проверку на наличие ссылок на данную запись из остальных таблиц базы данных и при отсутствии ссылок производит запрос на удаление записи из базы данных. При нажатии кнопки «Удалить» должно быть произведено удаление записи из соответствующей таблицы базы данных. При нажатии кнопки «Отмена» окно удаления должно закрыться без удаления записи. Возможный вид окна удаления записи.


3.2.3 Дополнительные модули

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

Модуль формирования отчетов отвечает за передачу данных в файл MS Excel пакета MS Office.

Формирование отчетов будет происходить с применением OLE-сервера. В настоящее время установленный пакет программ Microsoft Office можно найти на каждом компьютере. Данные можно передавать как в OLE-сервер Excel, так и в OLE-сервер Word.

В связи с тем, что в отчет передаваться будут списки из базы данных, то наиболее удобно просматривать отчет будет в приложении Excel пакет программ Microsoft Office. Соответственно и передача данных будет организована с использованием OLE-сервера Excel.

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

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


3.3 Разработка алгоритмов обработки данных


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

При реализации поставленной задачи возникают проблемы при разработке системы управления базами данных (СУБД). Все приложения СУБД, создаваемые в среде C++Builder, являются клиентами в архитектуре программного взаимодействия клиент / сервер. Клиент выдает запросы к серверу базы данных на получение или передачу информации. Сервер обрабатывает запросы от множества клиентов одновременно, координируя доступ к данным и их обновление.

Все приложения СУБД, создаваемые в среде C++Builder, основаны на компонентах пользовательского интерфейса с некоторой базой данных, которые предоставляют удивительно легкие в использовании средства разработки специальных приложений. Большая доля времени процесса разработки уходит на визуальную установку свойств выбранных компонент. Удачно спроектированное приложение всегда обеспечивает простоту просмотра и редактирования данных пользователем, независимо от сложности структуры используемой модели данных. Формы приложений СУБД для типично сложной системы в архитектуре взаимодействия клиент / сервер действительно могут быть созданы в интегрированной среде C++Builder весьма быстро и с малыми усилиями.

Ключевой механизм Borland Database Engine (BDE), обеспечивающий работу визуальных компонент баз данных, действует как интерфейс между приложением и самой базой данных. BDE реализован в виде набора системных DLL файлов. Взаимодействие компонентных объектов с BDE никак не специфицирует конкретную базу данных и не зависит от реализации обмена информацией на нижнем уровне иерархии. Именно BDE обращается в свою очередь к драйверам, специфическим для базы данных указанного типа, возвращая приложению запрошенные фактические данные. BDE играет роль, аналогичную контроллеру драйверов Open Database Connectivity (ODBC) производства фирмы Microsoft, изолируя приложения от нижнего уровня взаимодействия с базой данных и увеличивая общую производительность связи за счет использования кэш-памяти. Используя BDE, можно получить доступ ко всем локальным стандартным базам данных компьютера, к источникам данных ODBC и к SQL серверам баз данных в архитектуре сетевой связи клиент / сервер.

Одним из важнейших достоинств интегрированной среды C++Builder является наличие удобных средств быстрой визуальной разработки приложений СУБД - специализированных компонент баз данных. C++Builder компилирует компоненты в единую исполняемую программу, что существенно повышает ее надежность и быстродействие. Только очень опытные программисты способны создать программу подобного уровня качества и гибкости, используя исключительно прямые обращения к соответствующим функциям Windows API. При таком подходе даже простое приложение требует написания большого по объему кода.++Builder предоставляет разработчикам интерфейсные элементы баз данных из Библиотеки Визуальных Компонент:

Компоненты управления данными Data Control (такие как область редактирования TDBEdit или сетка TDBGrid) обеспечивают отображение и редактирования записей на форме приложения.

Компоненты доступа к данным Data Access (такие как таблица TTable или запрос TQuery) адресуют фактические данные, хранящиеся в файле базы данных, а компонента источника TDataSource служит как интерфейс межкомпонентной связи.

Функциональных возможностей данных компонентов достаточно для организации информационной системы «База данных учета трудоустройства и закрепления выпускников УО «Белоозерский ГПТК электротехники»». Следовательно, никаких компонентов сторонних разработчиков не требуется использовать.


3.4 Разработка интерфейса с пользователем


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

При загрузке программы должна появиться заставка.

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

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

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

При вызове функции редактирования записи должно появиться окно с уже заполненными полями для ввода данных в соответствии с выбранной записью. При нажатии кнопки «Редактировать» измененные данные из полей ввода должны возвращаться в базу данных, заменяя предыдущие сведения. При нажатии кнопки «Отмена» окно редактирования должно закрыться без изменения имеющейся записи.

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


3.5 Реализация системы


Для написания приложения использовалась интегрированная среда разработки Borland C++ Builder 6.0. Borland C++ Builder - это продукт фирмы Borland, предназначенный для быстрой разработки приложений. Разработка таблиц баз данных производилась в приложении Borland Database Desktop 7.0 в соответствии с разработанной ранее структурой базы данных.


Создание таблицы распределений

Создание таблицы предприятий


Создание таблицы специальностей обучения


Создание таблицы рабочих мест распределений

Создание таблицы выпускников


Созданные таблицы хранятся в каталоге Data в каталоге с приложением.

В программе используется несколько окон TForm, на которых размещены элементы управления программой: FormDATABASE, FormLOGO, FormREPORTwork, FormSKIN, FormTABLECOLUMN, FormTPwork, FormTRwork, FormTRMwork, FormTSwork, FormTVwork,

Форма FormDATABASE служит для вызова функций настройки приложения, функций обработки данных, фильтрации данных. На форме расположен компонент TMainMenu (для организации меню вызова функций), TDBGrid, TDBDataSource, TDBQuery (для организации работы с базами данных), TGroupBox (для выделения полей ввода данных фильтра в отдельную группу), TEdit (для ввода пользователем данных фильтра), TLabel (для подписи полей ввода данных фильтра), TDateTimePicker (для ввода пользователем даты), TPopupMenu (контекстное меню для вызова основных функций работы с записями распределений выпускников).

Выборка данных для отображения производится из всех пяти таблиц с использованием SQL запроса классом TDBQuery. Текст запроса приведен на рисунке 20. SQL запрос на выборку данных выполняется на этапе появления формы. Фильтр данных реализован на основе параметра Filter компонента TDBQuery. Фильтрация производится еще на этапе ввода данных, что позволяет определить правильность ввода параметров фильтра.











Текст SQL запроса для отображения данных


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

Форма FormLOGO служит для организации информационной заставки приложения. На форме расположен TLabel (для вывода текстовой информации), TImage (для вывода графической информации), TTimer (для отсчета времени отображения заставки на экране), TsSkinManager (для управления отображением визуального стиля приложения). Графические данные хранятся в файле Logo.bmp в каталоге Graphics в каталоге с приложением.

При запуске программы производится считывание параметров отображения программы из файла настроек Settings.ini, расположенного в той же директории что и приложение, и настройка компонента TsSkinManager на отображение визуального стиля программы. Компонент TTimer настроен на отображение заставки в течении 5 секунд, по истечении которых данная форма прячется и появляется форма FormDATABASE.

Из меню формы FormDATABASE возможен вызов функций добавления / редактирования / удаления записей из таблиц базы данных. Формы для работы с записями таблиц выпускников (форма FormTVwork, таблица TV.db), специальностей их обучения (форма FormTSwork, таблица TS.db), рабочих мест, куда возможно распределение (форма FormTRMwork, таблица TRM.db), предприятий, предоставивших рабочие места (форма FormTРwork, таблица TР.db) и распределений выпускников (форма FormTRwork, таблица TR.db) содержат компоненты TDBGrid, TDBDataSource, TTable для организации работы с записями таблицы базы данных, компоненты TEdit, TDateTimePicker, TCSpinEdit для ввода / редактирования записи и TButton для обработки принятого пользователем решения.

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

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

Для настройки отображения данных служит форма FormTABLECOLUMN. На ней находятся компоненты TCheckBox (для определения необходимости отображения данных) с подписями полей базы данных и компоненты TButton (для определения решения пользователя). Состояние компонентов TCheckBox (активное - требуется отображение поля, неактивное - не требуется) сохраняется в файле настроек, а также производится настройка отображения полей компонента TDBGrid на форме FormDATABASE в соответствии с произведенными изменениями.

Для настройки настройки скина (стиля визуального отображения программы) служит форма FormSKIN. На ней расположены компоненты TListBox с перечнем стилей визуального отображения и компоненты TButton (для определения решения пользователя). Изменение стиля визуального отображения также сохраняется в файл настроек. Файлы стилей (файлы с расширением ASZ) хранятся в каталоге Skins в каталоге с приложением.

Для формирования отчета служит форма FormREPORTwork. На ней расположены компоненты TEdit (для ввода заголовка отчета), TSaveDialog (для запроса имени XSL файла, куда будут сохранены данные), TCheckBox (для определения необходимости вставки в отчет даты и времени формирования отчета). В результате работы данной формы создается файл пакета MS Office Excel, в который передаются данные из нашей программы. Передаются только те данные, которые отображаются в компоненте TDBGrid на форме FormDATABASE, что позволяет формировать любые отчеты (в зависимости от настроек фильтра) и давать им различные названия.

Для обработки нажатий на кнопки TButton используются стандартные события OnClick.

Для обработки ввода данных в TEdit, TDateTimePicker при реализации фильтра были использованы стандартные события onChange.

Реализация отображения данных в компонентах TDBGrid осуществлена с использованием стандартных событий onAfterOpen компонетов TTable и TDBQuery. Подключение к базе данных компонентов TTable и TDBQuery производится на этапе появления формы с использованием стандартных событий onShow форм.

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

3.6 Тестирование и анализ результатов


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

Информационная заставка находится на экране в течении 5 секунд, после чего появляется основное окно.


Основное окно программы


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


Окно вызова функции настройки отображения данных

Окно вызова функции настройки настройки отображения визуального стиля (скина)


Результат выполнения функций настройки программы


Добавление записей в базу данных


В результате получили еще одну запись в основном окне.

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

В результате получили измененную запись в основном окне.

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

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

Модуль формирования отчета отвечает за передачу данных в файл MS Excel пакета MS Office. Формирование отчетов происходит с применением OLE-сервера. Запустим процесс формирования отчета.

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



Заключение


В результате дипломного проектирования была достигнута поставленная цель - разработана программа по автоматизации учета трудоустройства выпускников для УО «Белоозерский государственный профессионально-технический колледж электротехники».

Поставленная задача реализована согласно всех предъявленных ей требований. В качестве языка разработки был выбран C++Builder, библиотеки которого предоставляют гибкие и удобные средства создания компонентов.

Разработанная мною база данных учета трудоустройства выпускников позволит автоматизировать процесс учета распределения специалистов УО «Белоозерский ГПТК электротехники». Она облегчит поиск выпускников определенного года выпуска, поиск выпускников распределенных на конкретное предприятие и т.д., позволит получить отчет в кратчайшие сроки.

автоматизация выпускник отчет поиск


Список источников


1Архангельский, А.Я. Программирование в C++ Builder 6/ А.Я. Архангельский. - М.: Бином, 2003 г.

2Архангельский, А.Я. С++ Builder 6. Справочное пособие. Книга 1. Язык C++/ А.Я. Архангельский. - М.: Бином-Пресс, 2002 г.

Архангельский, А.Я. C++ Builder 6. Справочное пособие. Книга 2. Классы и компоненты/ А.Я. Архангельский. - М.: Бином-Пресс, 2002 г.

Страуструп, Б. Язык программирования C++. Специальное издание / Б. Страуструп. - М.: Бином, 2005 г.

Шилдт, Г. Полный справочник по C++/ Г. Шилдт. - М.: Вильямс, 2003 г.

Скляров, В.А. Язык С++ и объектно-ориентированное программирование./ В.А. Скляров. - Мн.: «Вышэйшая школа» 1997

Культин Н.Б. Самоучитель по С++Builder/ Н.Б. Культин. - СПб.: БХВ-Петербург, 2004 г.

Александреску А. Современное проектирование на С++/ А. Александреску. - Издательский дом «Вильямс» 2002.



Дипломный проект Автоматизация учета трудоустройства выпускников для УО «Белоозерски

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ