Рефераты. Информационная система ВУЗа

Глава 2 Проектирование интерфейса

Функционально приложение состоит из трех частей:

- Интерфейс ввода / корректировки БД

- Подсистема генерации печатных форм.

- Вспомогательные функции.

Каждой из этих частей соответствует опция главного меню программы.

2.1 Интерфейс ввода/корректировки БД

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

Меню программы выглядит следующим образом.

Рис. 2. Структурная схема (дерево диалога)

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

Интерфейс состоит из двух уровней. На первом из них предоставляется доступ к одной из четырех справочников - «Студенты», «Предметы», «Преподаватели» либо «Кафедры». Для доступа к этим справочникам используется экранная форма (см. Приложение 2), в которой отображается содержимое справочника в виде таблицы. На форме размещены специальные кнопки для редактирования, добавления и удаления записи. При нажатии на кнопку «Редактировать» открывается окно (см. Приложение 2), в котором содержатся поля для редактирования. Кнопка «Добавить» добавляет строку в таблицу, а кнопка «Удалить» соответственно удаляет запись.

Выбрав на экране, например, справочник «Студенты» (см. Приложение 2), пользователь получает доступ к информации, содержащейся в данном справочнике, т.е. он получает доступ к личным данным студентов: ФИО студента, номер зачетной книжки, группа, в которой обучается студент, а также город, в котором он проживает. Получив доступ к данной информации, пользователь может осуществлять ввод и корректировку данных. Аналогично и с другими справочниками. Выбрав в меню справочник «Предметы», на экранной форме (см. Приложение 3) пользователь может увидеть список дисциплин, код дисциплин и количество часов для каждой дисциплины. Выбрав в меню справочник «Преподаватели» (см. Приложение 3), пользователь на экранной форме получает доступ к личной информации преподавателей: табельному номеру преподавателя, ФИО, ученой степени и на какой кафедре он работает. Выбрав в меню справочник «Кафедры» (см. Приложение 4) пользователь видит список кафедр и их телефоны.

2.2 Генерация отчетов

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

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

В качестве рабочего алгоритма выбрана следующая последовательность действий :

- С помощью команды Select создается выборка в курсоре SQL.

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

Для вывода отчета пользователь может выбрать в меню вкладку «Печать». При нажатии на «Печать» открывается экранная форма (см. Приложение 4), на которой изображены две кнопки «Вывод отчета №1» и «Вывод отчета №2». При нажатии на одну из этих кнопок выводится отчет (см. Приложение 5).

Глава 3 Программная реализация

Для реализации БД и разработки интерфейса мы используем среду программирования Delphi.

Главное меню программы создаем следующим образом.

Создаем новый проект и на форме (Form1) размещаем следующие компоненты (см. Приложение 6):

1. MainMenu - этот компонент служит для создания меню программы, в свойстве Items мы прописываем наше меню, состоящее из справочников, отчетов, «о программе» и «выход».

2. Button - в данном компоненте мы изменяем свойство Caption на «Выход», щелкаем два раза по компоненту и в процедуре прописываем Close; т.е. при нажатии на эту кнопку происходит закрытие окна.

Затем для осуществления доступа к нашим созданным в Database Desktop таблицам мы создаем дополнительный модуль Data Module (см. Приложение 6). На этом модуле мы размещаем следующие компоненты:

1. Query1 - в данном компоненте в свойстве DatabaseName мы прописываем путь у нашей БД, в свойстве SQL мы прописываем текст запроса: Select * from Student

И свойству Action мы устанавливаем значение True.

2. DataSource1 - этот компонент обеспечивает доступ к БД через компонент Query1. В свойстве DataSet мы выбираем Query1.

3. Table1 - в этом компоненте в свойстве DatabaseName мы прописываем путь у нашей БД, а в свойстве TableName мы выбираем нужную нам таблицу. Затем устанавливаем для свойства Action значение True.

4. DataSource2 - этот компонент мы связываем с компонентом Table1 при помощи свойства DataSet,

Далее создаем новую форму (Form3). На ней размещаем следующие компоненты (см. Приложение 6):

1. DBGrid1 - данный компонент мы используем для отображения содержимого наших справочников. В свойстве DataSource мы прописываем DataM.DataSource2, тем самым получая доступ к справочнику.

2. Размещаем кнопку редактирования, используя при этом компонент Button. Для того, чтобы при нажатии на эту кнопку появилось окно редактирования создадим еще одну форму(см. ниже Form7). Затем щелкнем по кнопке два раза и напишем текст программы в процедуре.

procedure TForm3.Button1Click(Sender: TObject);

begin

Form7.Show; //отображение окна редактирования

end;

3. Размещаем кнопку «Добавить», используя компонент Button. Щелкаем два раза по компоненту и в открывшемся окне в процедуре procedure TForm3.Button2Click(Sender: TObject) прописываем следующий текст:

procedure TForm3.Button2Click(Sender: TObject);

begin // вставка новой строки

DataM.Table1.Insert;

DataM.Table1.FieldByName('FIO').AsString:=' ';

DataM.Table1.FieldByName('GRUPPA').AsString:=' ';

DataM.Table1.FieldByName('TOWN').AsString:=' ';

DataM.Table1.Post;

end;

4. Размещаем кнопку «Удалить», используя все тот же компонент Button. Щелкаем два раза и пишем следующий текст:

procedure TForm3.Button3Click(Sender: TObject);

begin

DataM.Table1.Delete; // удаление записи

end;

5. Аналогично размещаем кнопку «Закрыть» и пишем следующий текст:

procedure TForm3.Button4Click(Sender: TObject);

begin

Close;

end;

Создаем еще одну форму (Form4), размещая на ней следующие компоненты (см. Приложение 7):

1. Кнопку Button с названием «Просмотр отчета №1», щелкаем по ней два раза и пишем следующее:

procedure TForm4.Button1Click(Sender: TObject);

begin

Form5.QuickRep1.Preview; // вывод отчета

end;

2. Кнопку Button с названием «Просмотр отчета №2», щелкаем по ней два раза и пишем следующее:

procedure TForm4.Button3Click(Sender: TObject);

begin

Form6.QuickRep1.Preview;

end;

3. Кнопку Button с названием «Закрыть», щелкаем по ней два раза и пишем следующее:

procedure TForm4.Button2Click(Sender: TObject);

begin

Close;

end;

Создаем новую форму (Form5), на которой будет отображаться отчет №1. Размещаем на ней следующие компоненты (см. Приложение 7):

1. Query1 - в свойстве DatabaseName мы прописываем путь у нашей БД. И свойству Action устанавливаем значение True.

В свойстве SQL пишем следующий запрос:

Select NZ,FIO,Subs,MARK

from Student,Subs,Marks

where Student.NZ=Marks.NZ and Subs.S_ID=Marks.S_ID

ORDER BY FIO

2. QuckRep1 - данный компонент служит для отображения нужного нам отчета. В свойстве DataSet выбираем Query1.

Создаем новую форму (Form6), на которой будет отображаться отчет №2. Размещаем на ней следующие компоненты (см. Приложение 8):

1. Query1 - В свойстве DatabaseName мы прописываем путь у нашей БД. И свойству Action устанавливаем значение True.

В свойстве SQL пишем следующий запрос:

Select * from Prepodavatel ORDER BY FIO

2. QuckRep1 - данный компонент служит для отображения нужного нам отчета. В свойстве DataSet выбираем Query1.

Создаем новую форму (Form7) - это будет наше окно для редактирования. Размещаем следующие компоненты (см. Приложение 8):

1. Label1, Label2, Label3 - в свойстве Caption меняем название соответственно «ФИО», «Группа», «Город».

2. Edit1, Edit2, Edit3 - для ввода значений

3. Кнопка Button «Выполнить», щелкаем по ней два раза и пишем следующий текст:

procedure TForm7.Button1Click(Sender: TObject);

begin

DataM.Table1.Edit;

DataM.Table1.FieldByName('FIO').AsString:=Edit1.Text;

DataM.Table1.FieldByName('GRUPPA').AsString:=Edit2.Text;

DataM.Table1.FieldByName('TOWN').AsString:=Edit3.Text;

DataM.Table1.Post;

end;

4. Кнопка Button «Закрыть», щелкаем по ней два раза и пишем следующий текст:

procedure TForm7.Button2Click(Sender: TObject);

begin

Close;

end;

Создаем последнюю форму для наших справочников (Form8), на которой размещаем следующие компоненты:

1. DBGrid1 - данный компонент мы используем для отображения содержимого наших справочников. В свойстве DataSource мы прописываем DataM.DataSource1, тем самым получая доступ к справочнику.

2. Кнопку Button с названием «Закрыть», щелкаем по ней два раза и пишем следующее:

procedure TForm8.Button1Click(Sender: TObject);

begin

Close; end;

Для того чтобы при выборе в меню справочника отбражались нужные данные, мы щелкаем в компоненте MainMenu по справочнику «Студенты» и прописываем следующий текст программы:

procedure TForm1.N2Click(Sender: TObject);

begin

Form3.Show;

end;

Затем щелкаем по справочнику «Предметы» и пишем:

procedure TForm1.N3Click(Sender: TObject);

begin

Form8.Show;

DataM.Query1.SQL.Clear;

DataM.Query1.SQL.Add('Select * from Subs');

DataM.Query1.Active:=true;

end;

Далее щелкаем по справочнику «Преподаватели» и пишем:

procedure TForm1.N4Click(Sender: TObject);

begin

Form8.Show;

DataM.Query1.SQL.Clear;

DataM.Query1.SQL.Add('Select * from Prepodavatel');

DataM.Query1.Active:=true;

end;

И наконец, щелкаем по справочнику «Кафедры» и пишем следующее:

procedure TForm1.N5Click(Sender: TObject);

begin

Form8.Show;

DataM.Query1.SQL.Clear;

DataM.Query1.SQL.Add('Select * from Kafedra');

DataM.Query1.Active:=true;

end;

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

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.