Лабораторная
 

Лабораторная работа № 7

Проектирование и создание прикладной
системы для работы с базой данных

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

Продолжительность работы - 4 ч.

Теоретические сведения

Методика построения прикладной системы
для работы с базой данных

Методика построения прикладной системы (приложения) для работы с базой данных включает следующие пункты:

1)    определение назначения и задач приложения;

2)    проектирование базы данных и прикладных процессов, необходимых для решения поставленных задач;

3)    реализация проекта в виде приложения путем создания необходимых объектов базы данных и программных объектов;

4)    тестирование приложения на соответствие поставленным задачам;

5)    установка приложения для эксплуатации.

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

Определение назначения и задач приложения

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

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

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

"Прикладная система (приложение) PERSONPROFIT должна вести учет жителей и их доходов, а именно:

1)    регистрировать сведения о жителях и получаемых ими доходах;

2)    предоставлять накопленную информацию о конкретных жителях;

3)    выдавать печатные формы для сбора исходных данных и отчеты со сводной информацией".

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

Проектирование БД и прикладных процессов

Проектирование БД начинается с построения инфологической модели (ИЛМ) предметной области (ПО), для обслуживания которой разрабатывается прикладная система. На основе ИЛМ определяется табличный состав БД и схема БД (см. лабораторную работу № 3).

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


Реализация проекта

Реализация проекта начинается с создания необходимых объектов БД: описания структуры таблиц, построения первичных и вторичных индексов, задания ограничений целостности с учетом особенностей выбранной СУБД (см. лабораторную работу № 3).

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

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

Тестирование приложения

Тестирование приложения связано в основном с проверкой:

1)    работоспособности интерфейсных элементов каждой экранной формы;

2)    правильности отображения данных, вводимых в БД и выводимых из БД;

3)    ограничений целостности БД;

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

Установка (инсталляция) приложения

Приложения, которые создаются с помощью Delphi, обращаются к БД посредством основанного на технологии Integrated Database Application Program Interface (IDAPI) пакета Borland Database Engine (BDE), поэтому нормальная работа приложений возможна, если на компьютере установлен BDE.

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

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

Проектирование прикладных процессов

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

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

В прикладной системе используются 5 типов форм (см. табл.1):

1)    главная - появляется на экране после запуска системы и используется для управления ее работой (см. рис.5);

2)    стандартная - содержится в Delphi и выбирается на закладке Forms после выбора команды File|New для последующего дополнения необходимыми компонентами (рис.6);

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

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

5)    главная/подчиненная - содержит значения полей строки (или строк) главной таблицы и значения полей соответствующих строк подчиненных таблиц (рис.9).

Подготовив эскизы остальных форм (см. табл.1), можно приступать к реализации прикладной системы. (Эскизы форм fmEDITFORM, fmEDITPROF, fmSHOWPHON, fmSHOWPROF, fmSHOWPERS не приведены в целях экономии места.)










Таблица 1

Формы, обеспечиваюшие пользовательский интерфейс

Имя формы

Имя модуля

Назначение формы

Тип формы

fmEDITFLAT

EDITFLAT

Ввод или изменение сведений о квартире

Ввод/редакти-рование

fmEDITPHON

EDITPHON

Ввод или изменение сведений о телефоне, установленном в квартире

Ввод/редакти-рование

fmEDITPROF

EDITPROF

Ввод или изменение сведений о виде дохода

Ввод/редакти-рование

fmEDITPERS

EDITPERS

Ввод или изменение сведений о жителе, его телефоне и доходах

Главная/под-чиненная

fmSHOWFLAT

SHOWFLAT

Просмотр сведений о квартирах

Сетка

fmSHOWPHON

SHOWPHON

Просмотр сведений о телефонах

Сетка

fmSHOWPROF

SHOWPROF

Просмотр сведений о видах доходов

Сетка

fmSHOWPERS

SHOWPERS

Просмотр сведений о жителях

Сетка

fmABOUTSYS

ABOUTSYS

Вывод информации о версии, назначении и разработчике прикладной системы

Стандартная

fmMAINFORM

MAINFORM

Управление прикладной системой

Главная





Реализация прикладной системы

Создание главной формы fmMAINFORM. Для создания главной формы в меню системы Delphi выбирается команда File|New Project. Изменим значение свойства Name формы на fmMAINFORM, а значение свойства Caption - на Система учета жителей и доходов.

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

Методика построения меню проста. Разработчику всегда доступен пустой пункт меню. Выбрав его при помощи мыши или клавиш управления курсором, в окне инспектора объектов нужно задать значения свойств Caption (название пункта меню), Name (имя пункта), Shortcut (комбинация клавиш быстрого выбора). Разновидностью клавиш быстрого выбора является акселератор, который набирается как комбинация клавиш Alt и подчеркнутого символа в названии пункта главного меню или только как подчеркнутый символ в названии пункта дополнительного меню. Акселератор задается знаком амперсанда (&) перед символом в названии пункта меню, являющимся значением свойства Caption.

Пункт-разделитель в меню задается символом "минус" (-) в качестве значения свойства Caption. В табл.2 указаны значения свойств пунктов меню, перечисленных на рис.5. Выход из конструктора меню задается двойным щелчком на кнопке вызова системного меню.

Таблица 2

Свойства пунктов главного и дополнительных меню

Caption

Name

Shortcut

 Регистрация

 mmRegistrate

 Таблицы

 mmTables

 Отчеты

 mmReports

 Справка

 mmHelp

 Житель

 mmEditPerson

F5

 Квартира

 mmEditFlat

F6

 Телефон

 mmEditPhone

F7

 Вид дохода

 mmEditProfit

F8

 -

 mmDelimiter

 Вы&ход

 mmExit

F10

 &Жители

 mmShowPersons


Окончание

Caption

Name

Shortcut

 &Квартиры

 mmShowFlats

 &Телефоны

 mmShowPhones

 &Виды доходов

 mmShowProfits

 Входные формы

 mmInitData

 Список жителей

 mmPersonProfits

 Таблица доходов

 mmProfitsTable

 Список видов доходов

 mmProfits

 Этикетки

 mmLabels

 О системе

 mmAboutSys

F1

Примечание. При выборе значения свойства Name для компонента рекомендуется начинать значение двухсимвольным префиксом, обозначающим тип компонента. Например, fm - для компонента типа Form, mm - MainMenu, sp - SpeedButton, la - Label, de - DBEdit, te - DBText, ta - Table, ds - DataSource, bu - Button, dc - DBComboBox, lc - DBLookupCombo, na - DBNavigator, gr - DBGrid, qu - Query и т.д.

Предусмотрим процедуру обработки события, связанного с выбором пункта меню Выход. Для этого нужно щелкнуть на пункте меню Выход и в активизированном окне текстового редактора, начиная с позиции, отмеченной курсором, набрать оператор, вызывающий метод Close для главной формы fmMAINFORM. В результате этих действий создается процедура, приведенная на листинге 1. Эта процедура будет вызываться при выборе пункта меню Выход либо при нажатии функциональной клавиши F10 или клавиши х (русская буква "ха"), когда отображается дополнительное меню.

Листинг 1. Процедура обработки события, связанного с выбором пункта меню Выход

procedure TfmMAINFORM.mmExitClick (Sender: Tobject);

begin

fmMAINFORM.Close; {это набрал разработчик}

end;

Чтобы создать панель быстрого доступа, нужно расположить компонент Panel под главным меню, разместить на нем четыре компонента SpeedButton и задать для них значения свойств Name (имя кнопки), Glyph (файл с рисунком), Hint (текст подсказки), ShowHint=True (табл.3). Файлы с рисунками для кнопок находятся в каталоге F:\Program Files\Common Files\Borland Shared\ Images\Buttons.

Таблица 3

Свойства компонентов SpeedButton

Name

Glyph

Hint

sbNewPerson

picture.bmp

Регистрация жителя

sbNewFlat

doorshut.bmp

Регистрация квартиры

sbNewPhone

phone.bmp

Регистрация телефона

sbNewProfit

many2one.bmp

Регистрация вида дохода

Поместим в главную форму компонент DataBase, для которого установим значения свойств AliasName=TUTOR_DATABASE (выбирается из выпадающего списка) и DatabaseName=dbTUTOR.