Учебная работа. Курсовая работа: Создание информационного банка данных Успеваемость студентов

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Курсовая работа: Создание информационного банка данных Успеваемость студентов

Министерство образования и науки Республики Казахстан

Карагандинский Муниципальный технический Институт

КУРСОВАЯ РАБОТА

По дисциплине:

«Разработка программного обеспечения»

Тема:

«Создание информационного банка данных «Успеваемость студентов»

20
09


Содержание

Введение

1. Предпроектные исследования

1.1 Общие сведения о базах данных

1.2 систематизация баз данных

1.3 структура базы данных

1.4 Модель базы данных в Delphi

2. Техническое задание

2.1 Основание для сотворения

2.2 Цель и предназначение подсистемы

2.3 Требования к подсистеме

2.4 Требования к информационному обеспечению

2.5 Требования к лингвистическому обеспечению

2.6 Требования к программному обеспечению

2.7 Требования к техническому обеспечению

2.8 Требования к методическому обеспечению

3. Информационное обеспечение

3.1 структура информационных потоков

3.2 Логическая модель банка данных

3.3 Физическая модель банка данных

4. Лингвистическое обеспечение

4.1 Языки программирования

4.2 Входные данные

4.3 Выходные данные

4.4 Разработка сценария диалога

5. Программное обеспечение

5.1 Общесистемное программное обеспечение

5.2 Базисное программное обеспечение

5.3 Прикладное программное обеспечение

6. Методическое обеспечение

6.1 Управление для юзера

Заключение

Перечень использованной литературы

Приложения

Введение

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

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


1. Предпроектные исследования

1.1 Общие сведения о базах данных

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

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

В истинное время существует довольно огромное количество программных систем, позволяющих создавать и применять локальные (dBASE, FoxPro, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.

В состав Delphi входят составляющие, дозволяющие создавать программки работы с файлами данных, сделанными разными системами: от dBASE до Infomix и Oracle. Delphi также дозволяет программеру, используя утилиту Borland Database Desktop, создавать файлы баз данных в разных форматах.

1.2 систематизация баз данных

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

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

Для обеспечения разделения данных (доступа к данным) меж несколькими юзерами, в качестве которых выступают программки, работающие на одном либо нескольких компах, в локальных базах данных применяется способ, получивший заглавие блокировка файлов. Сущность этого способа состоит в том, что пока данные употребляются одним юзером, иной юзер не может работать с этими данными, т.е. данные для него закрыты, заблокированы. Paradox, dBase, FoxPro и Access – это локальные базы данных.

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

программка работы с удаленной базой данных состоит из 2-ух частей: клиентской и серверной. Клиентская часть программки, работающая на компе юзера, обеспечивает взаимодействие с серверной программкой: средством запросов, передаваемых на удаленный комп, предоставляет доступ к данным. Серверная часть программки, работающая на удаленном компе, воспринимает запросы, делает их и пересылает данные клиентской программке. Запросы представляют собой команды, выставленные на языке SQL (Structured Query Language) – языке структурированных запросов. программка, работающая на удаленном сервере, проектируется таковым образом, чтоб обеспечить одновременный доступ к инфы нескольким юзерам. При всем этом для обеспечения доступа к данным заместо механизма блокировки файлов употребляют механизм транзакций.

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

1.3 структура базы данных

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

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

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

1.4 Модель базы данных в Delphi

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

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

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

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

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

2.2 Требования к подсистеме

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

2.3 Требования к информационному обеспечению

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

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

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

2.4 Требования к лингвистическому обеспечению

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

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

Входной язык должен:

– обеспечивать удобочитаемость и компактность описаний;

должен быть обычным в использовании.

Выходной язык должен:

– в приятной форме предоставлять данные решения задач;

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

2.5
Требования к программному обеспечению

Программное обеспечение обязано содержать описание общесистемного, базисного и прикладного ПО .

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

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

2.6 Требования к техническому обеспечению

Техническое обеспечение обязано быть выбрано на базе комплекса технических средств кафедры САПР.

Комплекс технических средств должен быть построен на базе ПЭВМ IBM PC либо совместимых с ней.

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

2.7 Требования к методическому обеспечению

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


3. Информационное обеспечение

3.1 структура информационных потоков

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

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

Набросок. 3.1 – структура информационных потоков банка данных


3.2 Физическая модель банка данных

Физическая модель банка данных представлена в виде таблиц 3.1, 3.2, 3.3, 3.4, 3.5. тут указывается тип всякого поля, его размер. А так же первичные индексы (неповторимость, сортировка) и вторичные индексы (связь 1 – ∞).

Таблица 3.1 – СтруктуратаблицыФакультет.db


имя поля
Тип
Данные
Индекс 1
Индекс 2

Fakultet
Alpha [10]
Факультет
*

№Fakulteta
autoincrement
счётчик

Таблица 3.2 –Структуратаблицы Группа.db


имя поля
Тип
Данные
Индекс 1
Индекс 2

Gruppa
Alpha [10]
Группа
*

№ grupp
autoincrement
счетчик

№ fakulteta
integer
№ факультета
*
*

Kol
short
количество

Таблица 3.3 – СтруктуратаблицыСтуденты.db


Имя поля
Тип
Данные
Индекс 1
Индекс 2

№ stud
autoincrement
счетчик

№ grupp
integer
№группы
*
*

Familiya
Alpha [20]
Фамилия
*

Name
Alpha [20]
имя
*

Otchestvo
Alpha [20]
Отчество
*

Data rozhd
data
Дата рождения

Таблица 3.4 – Структуратаблицы Успеваемость.db


имя поля
Тип
Данные
Индекс 1
Индекс 2

№ stud
autoincrement
счетчик

№ predmeta
integer
№ предмета
*
*

1 attest
short
1 Аттестация

2 attest
short
2 Аттестация

3 attest
short
3 Аттестация

Таблица 3.5 – СтруктуратаблицыПредметы.db


имя поля
Тип
Данные
Индекс 1
Индекс 2

Predmet
Alpha [20]
Предмет

№Predmeta
autoincrement
счётчик
*


4. Лингвистическое обеспечение

4.1 Языки программирования

Объектно-ориентированное программирование представляет собой способ программирования, который очень близко припоминает наше язык ObjectPascal является одним из высокоразвитых языков объектно-ориентированного программирования. И посреди остальных, к примеру, таковых как VisualBasic либо VisualC++, различается простотой программного кода, достаточным количеством литературы по этому языку.

Объектно-ориентированный язык программирования характеризуется 3-мя главными качествами:

1) Полиморфизм. Присваивание действию 1-го имени, которое потом вместе употребляется вниз и ввысь по иерархии объектов, при этом любой объект иерархии делает это действие методом, конкретно ему пригодным.

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

3) Инкапсуляция. Комбинирование записей с процедурами и функциями, манипулирующими полями этих записей, сформировывает новейший тип данных – объект.

Программер оперирует не попросту процедурами и функциями, а целыми объектами.

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

способы– это те же процедуры и функции, т.е. это то, что объект умеет созодать (вычислять). К примеру, объект может иметь функцию для вывода какого-то текста на экран. Эта процедура и есть способ объекта.

характеристики– это обыкновенные переменные, которые влияют на состояние объекта. К примеру, ширина, высота – это характеристики объекта.

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

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

Система, представляющая собой последовательное выполнение 2-ух либо наиболее операций, именуется следованием.

Система, состоящая из развилки, 2-ух операций и слияния, именуется ветвлением. одна из операций может отсутствовать.

Система, имеющая полосы управления, ведущие к предшествующим операциям либо развилкам, именуется циклом.

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

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

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

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

программка на языке ObjectPascalможет применять блоки кода в программных модулях. Модуль можно разглядывать как мини-программу, которую может применять ваша прикладная программка. Как и программка, он имеет заголовок (который именуется заголовком модуля) и главный блок, ограниченный begin и end.

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

4.2 Входные данные

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

Входными данными являются: во-1-х конфигурации, вносимые юзером и простановка оценок, во-2-х, запросы юзера на поиск инфы о студенте. Данные сведения вводятся с помощью аппаратных средств ввода – клавиатуры и мыши (будут показаны на рисунке 4.1). Средством монитора система информирует о собственной работе и направляет последующие деяния юзера.

Набросок 4.1 – Работа банка данных

4.3 Выходные данные

Выходными данными являются: во-1-х, освеженные базы данных и информация на мониторе, отображающая результаты конфигураций; во-2-х, информация на мониторе по результатам запроса на поиск. Средством монитора система информирует о собственной работе и направляет последующие деяния юзера (см. набросок 4.1)

4.4 Разработка сценария диалога

процесс общения юзера с программкой должен быть обычным и понятным, чтоб фактически хоть какого ранга юзер мог мгновенно акклиматизироваться без каких-то доп пояснений (картинки 4.2, 4.3, 4.4, 4.5).


основное меню.

Таблица «Факультет»
Таблица «Студенты»

Таблица «Группы»
Таблица «Успеваемость»

Набросок 4.2 – Схема головного окна

Кнопочная часть




Поле ввода инфы для поиска
Поле отображения отысканной инфы

Набросок 4.3 – Схема окна поиска фамилии по всем группам


Кнопочная часть

Выпадающий перечень для выбора инфы, по которой будет осуществлён поиск
Поле ввода инфы для поиска

Набросок 4.4 – Схема окна поиска


Кнопочная часть

Поле ввода инфы для фильтрации
Таблица с плодами поиска

Набросок 4.5 – Схема окна фильтрации


5. П

рограммное обеспечение

5.1 Общесистемное программное обеспечени

е

На нынешний момент операционная система Windows конторы Microsoft во всех ее проявлениях, безусловн считается самой всераспространенной операционной системой на ПК : в мире наиболее 150 млн. IBM PC-совместимых компов, и система Windows установлена на 100 млн. из их.

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

В качестве операционной системы выбрана ОС семейства Windows, а конкретно, WindowsXPProfessional. Этот выбор был изготовлен по ряду последующих обстоятельств. Во-1-х, она является одной из более всераспространенных на нынешний денек. Во-2-х, в ОС Windows надежность компа увеличивается за счет внедрения новейших мастеров, служебных программ и ресурсов, обеспечивающих бесперебойную работу системы. В-3-х, в состав Windows заходит ряд программ, совместное применение которых увеличивает производительность компа. В-4-х, на кафедре САПР установлена конкретно эта операционная система.

5.2 Базисное программное обеспечени

е

В качестве базисного ПО принята среда Delphi 7.0 языка программирования ObjectPascal. Пакет Delphi 7.0 установлен на кафедре САПР и размеренно работает под системой WindowsXPProfessional.

Посреди более всераспространенных объектно-ориентированных сред программирования, Delphi 7.0 является на данный момент единственной средой резвой разработки приложений (RAD), стопроцентно поддерживающей все ведущие промышленные эталоны: XML, SOAP, WSDL и XSL, также появляющиеся платформы – Microsoft.NET и BizTalk, Sun Microsystems ONE, обеспечивая нужную упругость, надежность и масштабируемость.

Главный упор в Delphi делается на наивысшем реиспользовании кода. Это дозволяет разрабам строить приложения очень стремительно из заблаговременно приготовленных объектов, также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать создатели, не существует. Вправду, все в Delphi написано на нем же, потому создатели имеют доступ к этим же объектам и инструментам, которые использовались для сотворения среды разработки. В итоге нет никакой различия меж объектами, поставляемыми Borland либо третьими фирмами, и объектами, которые вы сможете сделать.

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

Delphi употребляет структурный объектно-ориентированный язык (Object Pascal), который соединяет с одной стороны выразительную мощь и простоту программирования, а с иной стороны эффективность языка. Программеры немедля могут начать создавать работающие приложения, и им не придется для этого учить индивидуальности программирования событий в Windows. Delphi стопроцентно поддерживает передовые программные концепции, включая инкапсуляцию, наследование, полиморфизм и управление событиями.

Главные предпосылки выбора языка ObjectPascal:

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

– Развитые средства представления структур данных обеспечивают удобство работы, как с числовой, так и с символьной и битовой информацией;

– Объектно-ориентированное программирование (ООП) в зрительной среде.

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

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

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


5.3 Прикладное программное обеспечени
е

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










Набросок 5.1 – Структура прикладного ПО

структура модулей

Модуль «UnitZastavka» проекта служит показательной формой при загрузке базы данных. Модуль «UnitMainForm» является основным в работе всей программки, он дозволяет создавать новейшую базу данных, или редактировать уже существующую. Модули «UnitPoisk» и «UnitPoGruppam» служат для поиска инфы. Модуль «UnitFilter» предназначен для фильтрации данных.

В таблице 5.1 приведены главные процедуры и функции, применяемые в модулях программки. Листинг программного кода помещен в приложении А.

Таблица 5.1 – структура модулей проекта


Наименование процедуры (функции)



Короткое описание

Модуль «UnitZastavka»

procedure FormCreate (Sender: TObject);
Проигрывается заставка

Модуль «UnitMainForm»

procedure Table2CalcFields (DataSet: TDataSet);
Создание вычисляемого поля

procedure Table2BeforeClose (DataSet: TDataSet);
До закрытия таблицы «Успеваемость» сохраняем конфигурации

procedure Table3BeforeClose (DataSet: TDataSet);
До закрытия таблицы «Студенты» сохраняем конфигурации

procedure Table4BeforeClose (DataSet: TDataSet);
До закрытия таблицы «Факультеты» сохраняем конфигурации

procedure Table5BeforeClose (DataSet: TDataSet);
До закрытия таблицы «Группы» сохраняем конфигурации

procedure mnFindClick (Sender: TObject);
Поиск студентов в определенной группе

procedure mnSearchForwardClick (Sender: TObject);
Активизация «Поиска вперед»

procedure mnSearchBackClick (Sender: TObject);
Активизация «Поиска вспять»

procedure FormClose (Sender: TObject; var Action: TCloseAction);
При закрытии формы сохраняем все конфигурации и закрываем таблицы

procedure Table4AfterOpen (DataSet: TDataSet);
Опосля открытия таблицы ставим ее в режим редактирования

procedure Table5AfterOpen (DataSet: TDataSet);
Опосля открытия таблицы ставим ее в режим редактирования

procedure Table3AfterOpen (DataSet: TDataSet);
Опосля открытия таблицы ставим ее в режим редактирования

Продолжение таблицы 5.1

procedure Table2AfterOpen (DataSet: TDataSet);
Опосля открытия таблицы ставим ее в режим редактирования

procedure mnFilter_OnClick (Sender: TObject);
Фильтрация по фамилии

procedure mnFilter_OffClick (Sender: TObject);
Отключение фильтрации

procedure N4Click (Sender: TObject);
Поиск по всем группам

procedure FormCreate (Sender: TObject);
Открытие таблиц

procedure DBGrid4MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);



Активизация навигатора

procedure DBGrid5MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);



Активизация навигатора

procedure DBGrid3MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);



Активизация навигатора

procedure DBGrid2MouseUp (Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);
Активизация навигатора

procedure Table4AfterInsert (DataSet: TDataSet);
Сохранение конфигураций

procedure Table2AfterInsert (DataSet: TDataSet);
Сохранение конфигураций

procedure Table5AfterInsert (DataSet: TDataSet);
Сохранение конфигураций

procedure Table3AfterInsert (DataSet: TDataSet);
Сохранение конфигураций

Окончание таблицы 5.1

procedure Link_On;
Возвращаем связи

procedure Link_Off;
Рвем связи

Модуль «UnitFilter»

procedure BitBtn1Click (Sender: TObject);
Фильтрация по фамилии

Модуль «UnitPoisk»

procedure FormShow (Sender: TObject);
Опции состояний RadioButton, где видна активная группа

procedure ComboBox1Click (Sender: TObject);
Если выбрана группа либо количество, то RadioButton не активен

procedure Button1Click (Sender: TObject);
Ввод запроса юзера

procedure Button2Click (Sender: TObject);
Поиск данных

Модуль «UnitPoGruppam»

procedure BitBtn1Click (Sender: TObject);
Связываемся с таблицей Stud и фильтруем по фамилии

procedure StudAfterScroll (DataSet: TDataSet);
Локализуем поиск

procedure FormShow (Sender: TObject);
Очищаем поле для ввода данных

procedure FormClose (Sender: TObject; var Action: TCloseAction);
Закрываем таблицы

6.
Методическое обеспечение

6.1 Управление для юзера

Для начала работы юзера с данной базой довольно запустить файл «Student.exe».

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

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

Набросок 6.1 – основное окно программки


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

Разработка меню

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

В меню программки имеются две вкладки: «Поиск» и «Фильтр».

В вкладке меню «Поиск» находятся еще четыре команды: «Отыскать», «поиск вперед», «поиск вспять», «по всем группам» (Набросок 6.2).

Набросок 6.2 – Вкладка головного меню «Поиск»

Команда «Отыскать» значит поиск данных определенного студента или в определенной группе, или какой-нибудь группы в определенном факультете (Набросок 6.3).


Набросок 6.3 – Окно «Поиск»

При поиске активируются команды «поиск вперед», «поиск вспять». При нажатии этих установок идет предстоящий поиск входных данных. При всем этом, если эти данные не найдены, выдается сообщение о этом (Набросок 6.4).

Набросок 6.4 – Сообщение о итоге поиска

Команда «по всем группам» создана для поиска подходящих фамилий студентов не в одной группе, а во всех группах всех факультетов (Набросок 6.5).

Набросок 6.5 – Окно поиска по всем группам


Во вкладке «Фильтр» имеется две команды: «Включить», «Отключить». При выбирании комнады «Включить» раскрывается форма для фильтрации фамилий студентов. тут юзер вводит фамилию студента, котрого он отыскивает (Набросок 6.6).

Набросок 6.6 – Окно фильтрации

При нажатии клавиши Запуск происходит фильтрация в подходящей группе по введенной фамилии (Набросок 6.7).

Набросок 6.7 – Фильтрация по фамилии

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


Заключение

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

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


Перечень применяемой литературы

1. А.Я. Архангельский Программирование в Delphi 7

2. А. Микляев «Учебник юзера IBMPC», Москва – 2000


приложение А

Программный код информационного банка данных

1
.
Листинг
модуля
«UnitZastavka»

Var

Form5: TForm5; Path:string;

procedure TForm5. FormCreate (Sender: TObject);

begin

getDir (0, Path);

mediaplayer1. FileName:=path+’BART.AVI’;

mediaplayer1. Open; // проигрывается заставка

mediaplayer1. Play;

form5. Close;

form1. Top:=50;

end;

end.

2.
Листинг
модуля
«UnitMainForm»

Var

Form1: TForm1;

Cond_of_search:TTable; Field_of_search, Require:string;

CurrentRec1, CurrentM:string; CurrentRecord, CurrentRecord_S:variant;

CurrentRec2:longint; // при возврате связи употребляются запомненные счетчики

DataSource_On_Off:TDataSource;

procedure TForm1. Table2CalcFields (DataSet: TDataSet);

Var r:real;

s_r:string;

begin // Вычисляемое поле «Средний балл»

r:=(Table2. FieldByName(‘1atest’).AsInteger+

Table2. FieldByName(‘2atest’).AsInteger+

Table2. FieldByName(‘3atest’).AsInteger)/3;

s_r:=floatToStr(r);

Delete (s_r, 4, length (s_r));

Table2. FieldByName (‘Sr_b’).AsString:=s_r;

end;

procedure TForm1. Table2BeforeClose (DataSet: TDataSet);

begin // если таблица до закрытия была в режиме

withTable2 do // редактирования либо вставки

if ((State=dsInsert) or (State=dsEdit))

thenPost; // конфигурации сохраняются

end;

procedure TForm1. Table3BeforeClose (DataSet: TDataSet);

begin // если таблица до закрытия была в режиме

withTable3 do // редактирования либо вставки

if ((State=dsInsert) or (State=dsEdit))

and (FieldByName(‘Familiya’).AsString>»)

thenPost; // конфигурации сохраняются

end;

procedure TForm1. Table4BeforeClose (DataSet: TDataSet);

begin // если таблица до закрытия была в режиме

withTable4 do // редактирования либо вставки

if ((State=dsInsert) or (State=dsEdit))

thenPost; // конфигурации сохраняются

end;

procedure TForm1. Table5BeforeClose (DataSet: TDataSet);

begin // если таблица до закрытия была в режиме

withTable5 do // редактирования либо вставки

if ((State=dsInsert) or (State=dsEdit))

thenPost; // конфигурации сохраняются

end;

procedure TForm1.mnFindClick (Sender: TObject);

begin // команда «Отыскать» в гл. меню

if form3. ShowModal = mrOK then

begin

mnSearchForward. Enabled:=true; // делаем доступными пункты «вперед, вспять»

mnSearchBack. Enabled:=true; // до входа на Form3 они не доступны

ifForm3. ComboBox1. ItemIndex<2 thenbegin // Выбраны группа либо количество

CurrentM:=’Gruppa’; // первичный ключ, поиск в Table5

Cond_of_search:= TTable (FindComponent(‘Table5’));

DataSource_On_Off:= TDataSource (FindComponent(‘DataSource5’));

end

else

begin

CurrentM:=’N_stud’; // автоинкриментноеполе, поискв Table3

Cond_of_search:= TTable (FindComponent(‘Table3’));

DataSource_On_Off:= TDataSource (FindComponent(‘DataSource3’));

end;

if Cond_of_search=Table2 then // рвем связь, чтоб встать

Table2. MasterSource:=nil; // идет повторный запрос на разрыв связи

Cond_of_search. First;

CurrentRecord:=null; // если не находим,

mnSearchForward. Click; // вызываем поиск вперед

end;

end;

procedure TForm1.mnSearchForwardClick (Sender: TObject);

begin // команда «Поиск вперед»

if Cond_of_search=Table3 then

Table3. MasterSource:=nil; // рвем связи

with Cond_of_search do

begin

DataSource_On_Off. DataSet:=nil; // на время поиска

// отключаемвизуальныекомпоненты

CurrentRecord_S:=FieldValues[CurrentM]; // запоминаемкуда

CurrentRec1:=table3. FieldByName(‘Gruppa2’).AsString;

CurrentRec2:=table3. FieldByName (‘N_stud’).AsInteger;

if CurrentRecord=FieldValues[CurrentM] then next; // чтоб сойти с

whilenotEofdo

begin

if FieldValues [Field_of_search]=Require then

begin

CurrentRecord:=FieldValues[CurrentM]; // запоминаем для

// последующего схода

if Table3. MasterSource=nil then begin // при «поиске вперед»

CurrentRec1:=table3. FieldByName(‘Gruppa2’).AsString;

Table3. MasterSource:=DataSource5; // возвращаем связь таблиц

Table5. Locate (‘Gruppa’, CurrentRec1, []); // и локализуемся

// на найденную запись

Table3. Locate (‘N_stud’, CurrentRecord, []);

end;

DataSource_On_Off. DataSet:=Cond_of_search; // возвращаем подключение зрительных компонент

exit

end;

Next

end;

if Table3. MasterSource=nil then

Link_On

else

Locate (CurrentM, CurrentRecord_S, [loCaseInsensitive]); // возвращаемся по окончании поиска

end;

DataSource_On_Off. DataSet:=Cond_of_search; // возвращаем подключение зрительных компонент

showmessage (‘не найдено’);

end;

procedure TForm1. Link_On;

begin // возвращаем связь таблиц

Table3. MasterSource:=DataSource5;

Table5. Locate (‘Gruppa’, CurrentRec1, []);

Table3. Locate (‘N_stud’, CurrentRec2, []);

end;

procedure TForm1. Link_Off;

begin

CurrentRec1:=table3. FieldByName(‘Gruppa2’).AsString;

CurrentRec2:=table3. FieldByName (‘N_stud’).AsInteger;

Table3. MasterSource:=nil // рвем связь таблиц

end;

procedure TForm1.mnSearchBackClick (Sender: TObject);

begin // Команда «Поиск вспять»

if Cond_of_search=Table3 then

Table3. MasterSource:=nil;

with Cond_of_search do

begin

DataSource_On_Off. DataSet:=nil; // навремяпоискаотключаем

// визуальныекомпоненты

CurrentRecord_S:=FieldValues[CurrentM]; // запоминаемкуда

CurrentRec1:=table3. FieldByName(‘Gruppa2’).AsString;

CurrentRec2:=table3. FieldByName (‘N_stud’).AsInteger;

if CurrentRecord=FieldValues[CurrentM] then prior; // чтоб сойти с

whilenotBofdo

begin

if FieldValues [Field_of_search]=Require then

begin

CurrentRecord:=FieldValues[CurrentM]; // запоминаемдля

if Table3. MasterSource=nil then begin

CurrentRec1:=table3. FieldByName(‘Gruppa2’).AsString;

Table3. MasterSource:=DataSource5; // возвращаем связь таблиц

Table5. Locate (‘Gruppa’, CurrentRec1, [loCaseInsensitive]);

Table3. Locate (‘N_stud’, CurrentRecord, [loCaseInsensitive]);

end;

DataSource_On_Off. DataSet:=Cond_of_search; // возвращаем

exit

end;

Prior

end;

if Table3. MasterSource=nil then

Link_On

else

Locate (CurrentM, CurrentRecord_S, [loCaseInsensitive]); // возвращаемся по окончании поиска на последнюю найденную либо стартовую запись

end;

DataSource_On_Off. DataSet:=Cond_of_search; // возвращаем подключение зрительных компонент

showmessage (‘не найдено’);

end;

procedure TForm1. FormClose (Sender: TObject; var Action: TCloseAction);

begin // При закрытии формы

Table4BeforeClose(Table4);

Table5BeforeClose(Table5);

Table3BeforeClose(Table3);

Table2BeforeClose(Table2);

if Table5. Modified then Table5. Post; // если в таблицах

ifTable4. Modified then Table4. Post; // были конфигурации

if Table3. Modified then Table3. Post; // их сохраняем

if Table2. Modified then Table2. Post;

if Table1. Modified then Table1. Post;

Table5. Close;

Table4. Close;

Table3. Close;

Table2. Close;

Table1. Close;

end;

procedure TForm1. Table4AfterOpen (DataSet: TDataSet);

begin

table4. Edit; // ставим в режим редактирования

end;

procedure TForm1. Table5AfterOpen (DataSet: TDataSet);

begin

table5. Edit; // ставим в режим редактирования

end;

procedure TForm1. Table3AfterOpen (DataSet: TDataSet);

begin

table3. Edit; // ставим в режим редактирования

end;

procedure TForm1. Table2AfterOpen (DataSet: TDataSet);

begin

table2. Edit;

end;

procedure TForm1.mnFilter_OnClick (Sender: TObject);

begin // при выбирании команды «Включить фильтр»

form2.show;

end;

procedure TForm1.mnFilter_OffClick (Sender: TObject);

begin // при выбирании команды «Отключить фильтр»

Table3. Filtered:=false;

end;

procedure TForm1.N4Click (Sender: TObject);

begin // Команда «Поиск по всем группам»

Form4.show;

end;

procedure TForm1. FormCreate (Sender: TObject);

begin

Table4. Open; // открываем таблицы

Table5. Open;

Table3. Open;

Table1. Open;

Table2. Open;

Animate1. ResName:= ‘bAvi’; // подключаем анимацию

Animate1. Active:= True;

end;

procedure TForm1.DBGrid4MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin // к Table4 подключаем Navigator

DbNavigator1. DataSource:=Datasource4;

end;

procedure TForm1.DBGrid5MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin // к Table5 подключаем Navigator

DbNavigator1. DataSource:=Datasource5;

end;

procedure TForm1.DBGrid3MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin // к Table3 подключаем Navigator

DbNavigator1. DataSource:=Datasource3;

end;

procedure TForm1.DBGrid2MouseUp (Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

begin // к Table2 подключаем Navigator

DbNavigator1. DataSource:=Datasource2;

end;

procedure TForm1. Table4AfterInsert (DataSet: TDataSet);

begin

Table4. Post;

end;

procedure TForm1. Table2AfterInsert (DataSet: TDataSet);

begin // опосля вставки сохраняем конфигурации

Table2. Post;

end;

procedure TForm1. Table5AfterInsert (DataSet: TDataSet);

begin // опосля вставки сохраняем конфигурации

Table5. Post;

end;

procedure TForm1. Table3AfterInsert (DataSet: TDataSet);

begin // опосля вставки сохраняем конфигурации

Table3. Post;

end;

end.

]]>