Разработка информационной системы "Библиотека" (работа 2)

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОУ ВПО «Иркутский Государственный Университет»

ФИЛИАЛ В Г.БРАТСКЕ

КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

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

по высокоуровневым методам информатики и программирования

Информационная система «Библиотека»

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

Руководитель:

к.т.н., доцент кафедры ИТ Н. Н. Люблинская

Исполнитель:

студент группы ПИ-08-1 П. С. Соломахин

Братск 2009

Содержание

Введение

1. Анализ предметной области

1.1 Постановка задачи

1.1.1 Основное назначение программного средства

1.1.2 Основание для разработки

1.1.3 Назначение разработки

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

1.2 Выбор подхода и модели разработки ПС

2. Анализ требований и разработка спецификаций

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

2.2

3. Проектирование

3.1 Декомпозиция поставленной задачи

3.2 Разработка алгоритма решения задачи

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

3.4 Разработка интерфейса ПС

4. Кодирование

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

4.2 Характеристика языка программирования

4.3 Структура программы

5. Тестирование и отладка

5.1 Тестирование

5.2 Отладка

Заключение

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

программа система библиотека

Введение

Delphi — это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi — строго типизированный объектно-ориентированный язык, в основе которого лежит хорошо знакомый программистам Object Pascal. Delphi — мощная система разработки прикладных программ для Windows. Несколько лет назад рядовому программисту оставалось только мечтать о создании собственных программ, работающих в среде Windows, т. к. единственным средством разработки был Borland C++ for Windows, явно ориентированный на профессионалов, обладающих серьезными знаниями и опытом.

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

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

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

1. Анализ предметной области

1.1 Постановка задачи.

1.1.1 Основное назначение программного средства

Приложение разработано в программной среде разработки Borland Delphi 7. Программа «Библиотека» в большей степени предназначена для читального зала или частной библиотеки, не подразумевающей выдачи книг читателю. Программа должна обеспечивать добавление, редактирование, удаление новых записей в базу данных, выборку из базы данных по запросам пользователя. При выполнении данного задания должны быть использованы стандартные объекты.

1.1.2 Основание для разработки

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

Руководителем разработки является к.т.н., доцент кафедры ИТ Люблинская Н.Н. Тему для разработки условно можно назвать «Библиотека».

1.1.3 Назначение разработки

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

Возникла необходимость в таком программном средстве как «Библиотека», которое должно облегчить управление библиотекой.

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

Программное средство должно обеспечить следующее:

    Хранение сведений в базе данных ПС обо всех изданиях в библиотеке;

    Поиск нужного издания в базе данных ПС и фонде библиотеки;

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

1.2 Выбор подхода и модели разработки ПС

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

    Естественная композиция программного обеспечения, которая облегчает его разработку;

    Данные локализованы и интегрированы с подпрограммами обработки данных;

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

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

    Возможность конструирования сложных объектов из сравнительно простых.

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

Положительные стороны применения каскадного подхода:

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

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

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

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

2. Анализ требований и разработка спецификаций

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

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

Варианты использования ПС

Типичный ход событий

Действия пользователя

Отклик системы

1. Инициирует программное средство

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

3. а) Просматривает записи всей БД в таблице

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

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

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

3. в) Инициирует средства редактирования записей БД нажатием на кнопку

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

5. в) Выбирает нужное действие (удаление, редактирование, создание записи), инициирует его при помощи навигатора

5. в) Предоставляет возможность вносить изменения в БД и работать с выделенной записью, переходит в режим ожидания

6. в) Вносит изменения в БД

7. в) Нажимает кнопку навигатора для сохранения внесенных изменений

8. в) Сохраняет изменения, переходит в режим ожидания

5. г) Инициирует нажатием на кнопку средство обозначения наличия издания

6. г) Предоставляет возможность выбрать состояние записи БД

7. г) Выбирает состояние издания

8. г) Сохраняет изменения, переходит в режим ожидания

3. д) Инициирует нажатием на кнопку средства выполнения выбора записей из БД по запросу

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

5. д) а) Выбирает из списка первую букву искомого слова

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

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

8. д) а) Производит выбор записей БД

9. д) а) Выводит результаты выборки в таблице, переходит в режим ожидания

5. д) б) Заполняет поле ввода фрагментом сведений об искомом издании

6. д) б) Инициирует нажатием кнопки запрос на выбор записей по фрагменту сведений об искомом издании

7. д) б) Формирует запрос на выбор записей по фрагменту сведений об искомом издании

8. д) б) Производит выбор записей БД

9. д) б) Выводит результаты выборки в таблице, переходит в режим ожидания

Альтернативный ход событий

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

Дополнительно

Возможность выйти из программы на любом этапе работы программы

2.2. Описание объектов, свойств и методов

Первая форма

1) Главная форма программы «Библиотека»

object

Form1: TForm1

Left

263

Top

59

Width

1010

Height

716

Caption

Библиотека

Color

clBtnFace

Menu

MainMenu1

Position

poScreenCenter

ShowHint

True

procedure FormShow(Sender: Tobject); - отображает главную форму одновременно со стартовой формой

2) Таблица, отображающая все записи базы данных по столбцам: «УДК», «Автор», «Заглавие издания», «Год», «Количество», «Наличие»

object

DBGrid1: TDBGrid

Left

0

Top

8

Width

993

Height

169

Align

alCustom

DataSource

DataSource1

Enabled

False

Columns

item

Expanded

False

FieldName

'UDK'

Title.Caption

УДК

Title.Color

clWhite

Width

106

Visible

True

item

Expanded

False

FieldName

'Author'

Title.Caption

Автор

Title.Color

clWhite

Width

176

Visible

True

item

Expanded

False

FieldName

'NameBook'

Title.Caption

Заглавие издания

Title.Color

clWhite

Width

549

Visible

True

item

Expanded

False

FieldName

'Year'

Title.Caption

Год

Title.Color

clWhite

Width

29

Visible

True

item

Expanded

False

FieldName

'Amount'

Title.Caption

Количество

Title.Color

clWhite

Width

34

Visible

True

item

Expanded

False

FieldName

'Here and Now'

PickList.Strings

(В наличии/Выдано)

Title.Caption

Наличие

Title.Color

clWhite

Width

55

Visible

True

3) Навигатор для управления таблицей, отображающей записи базы данных

object

DBNavigator1: TDBNavigator

Left

8

Top

184

Width

160

Height

33

Cursor

crHandPoint

DataSource

DataSource1

VisibleButtons

[nbFirst, nbPrior, nbNext, nbLast, nbRefresh]

TabOrder

1

procedure DBNavigator1Click(Sender: TObject; Button: TnavigateBtn); - связывает управление блоками дополнительной информации и редактирования записей БД с управлением таблицы всех записей

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

object

GroupBox3: TGroupBox

Left

8

Top

224

Width

161

Height

257

Caption

Выбор записей по запросу

TabOrder

9

Visible

False

5) Панель для зрительного выделения кнопки «Готово»

object

Panel3: TPanel

Left

8

Top

16

Width

95

Height

32

TabOrder

0

6) Кнопка «Готово», скрывающая блок средств выполнения выборки

object

Button17: TButton

Left

6

Top

3

Width

83

Height

25

Caption

Готово

procedure Button17Click(Sender: Tobject); - делает невидимым блок средств выполнения выборки

7) Панель зрительного выделения средств выборки по автору и заглавию

object

Panel1: TPanel

Left

8

Top

56

Width

145

Height

97

8) Элемент, позволяющий выбрать первую букву заглавия или фамилии автора издания для выборки из БД

object

ComboBox2: TComboBox

Left

16

Top

4

Width

113

Height

21

Items.Strings

( А, Б, В, Г, Д, Е, Ё, Ж, З, И, К, Л, М, Н, О, П, Р, С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ы, Э, Ю, Я.)

9) Кнопка «По автору» для начала выборки из БД по первой букве фамилии, выбранной в ComboBox2

object

Button16: TButton

Left

8

Top

32

Width

129

Height

25

Caption

По автору издания

procedure Button16Click(Sender: Tobject); - запускает SQL-запрос на выбор записей поля «Автор» БД по выбранной в списке первой букве фамилии автора

10) Кнопка «По заглавию издания» для начала выборки из БД по первой букве заглавия издания, выбранной в ComboBox2

object

Button18: TButton

Left

8

Top

64

Width

129

Height

25

Caption

По заглавию издания

procedure Button18Click(Sender: Tobject); - запускает SQL-запрос на выбор записей поля «Заглавие издания» БД по выбранной в ComboBox2 первой букве заглавия издания

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

object

Panel5: TPanel

Left

8

Top

160

Width

145

Height

89

TabOrder

2

12) Поле ввода фрагмента, по которому будет производиться выборка из БД

object

Edit1: TEdit

Left

16

Top

8

Width

113

Height

21

TabOrder

0

13) Кнопка «По фрагменту» для начала выборки из БД по фрагменту введенному в Edit1

object

Button5: TButton

Left

16

Top

40

Width

113

Height

25

Caption

По фрагменту

TabOrder

1

procedure Button5Click(Sender: Tobject); - запускает SQL-запрос на выбор записей вышеуказанных полей БД по фрагменту введенному в Edit1

14) Таблица, отображающая результаты выборки

object

DBGrid2: TDBGrid

Left

0

Top

528

Width

993

Height

121

Align

alCustom

DataSource

DataSource2

Enabled

False

Visible

False

Columns

item

FieldName

'UDK'

Title.Caption

УДК

Width

103

Visible

True

item

FieldName

'Author'

Title.Caption

Автор

Width

177

Visible

True

item

FieldName

'NameBook'

Title.Caption

Заглавие издания

Width

551

Visible

True

item

FieldName

'Year'

Title.Caption

Год

Width

29

Visible

True

item

FieldName

'Amount'

Title.Caption

Количество

Width

34

Visible

True

item

FieldName

'Here and Now'

PickList.Strings

(В наличии/Выдано)

Title.Caption

Наличие

Width

53

Visible

True

15) Кнопка «Выборка», делающая видимым блок средств выборки

object

Button19: TButton

Left

200

Top

184

Width

113

Height

33

Caption

Выборка

procedure Button19Click(Sender: Tobject); - делает видимым блок средств выполнения выборки

16) Навигатор для управления таблицей, отображающей результаты выборки

object

DBNavigator2: TDBNavigator

Left

8

Top

488

Width

160

Height

33

DataSource

DataSource2

VisibleButtons

[nbFirst, nbPrior, nbNext, nbLast, nbRefresh]

Enabled

False

Visible

False

procedure DBNavigator2BeforeAction(Sender: TObject;Button: TnavigateBtn); - позволяет редактировать запись БД

procedure DBNavigator2Click(Sender: TObject; Button: TNavigateBtn); - связывает управление блоками дополнительной информации и редактирования записей БД с управлением таблицы, отображающей результаты выборки

17) Кнопка для выхода из программы «Выход»

Object

Button20: TButton

Left

680

Top

184

Width

105

Height

33

Hint

Завершает работу программы

Caption

Выход

TabOrder

6

procedure Button20Click(Sender: Tobject); - закрывает все формы программы

18) Блок средств для редактирования записей в БД

Object

GroupBox1: TGroupBox

Left

176

Top

224

Width

393

Height

297

Caption

Редактирование записи БД

TabOrder

7

Visible

False

20) Подпись к элементу для редактирования записи БД «УДК»

Object

Label1: TLabel

Left

120

Top

22

Width

27

Height

13

Caption

УДК

21) Подпись к элементу для редактирования записи БД «Заглавие издания»

Object

Label3: TLabel

Left

8

Top

56

Width

96

Height

13

Caption

Заглавие издания

22) Подпись к элементу для редактирования записи БД «Год издания»

object

Label4: TLabel

Left

8

Top

119

Width

66

Height

13

Caption

Год издания

23) Подпись к элементу для редактирования записи БД «Количество»

object

Label5: TLabel

Left

76

Top

119

Width

62

Height

13

Caption

Количество

24) Подпись к элементу для редактирования записи БД «Издательство»

object

Label7: TLabel

Left

8

Top

87

Width

75

Height

13

Caption

Издательство

19) Подпись к элементу для редактирования записи БД «Автор»

Object

Label2: TLabel

Left

112

Top

40

Width

33

Height

13

Caption

Автор

25) Подпись к элементу для редактирования записи БД «Сведения, относящиеся к заглавию»

object

Label8: TLabel

Left

192

Top

87

Width

187

Height

13

Caption

Сведения, относящиеся к заглавию

26) Подпись к элементу для редактирования записи БД «Жанр»

object

Label9: TLabel

Left

88

Top

151

Width

32

Height

13

Caption

Жанр

27) Подпись к элементу для редактирования записи БД «Номер тома»

object

Label10: TLabel

Left

8

Top

151

Width

65

Height

13

Caption

Номер тома

28) Подпись к элементу для редактирования записи БД «Полка»

object

Label11: TLabel

Left

352

Top

119

Width

35

Height

13

Caption

Полка

29) Подпись к элементу для редактирования записи БД «Область литературы»

object

Label12: TLabel

Left

208

Top

119

Width

108

Height

13

Caption

Область литературы

30) Подпись к элементу для редактирования записи БД «Страницы»

object

Label13: TLabel

Left

144

Top

119

Width

53

Height

13

Caption

Страницы

31) Подпись к элементу для редактирования записи БД «Примечания»

object

Label26: TLabel

Left

8

Top

188

Width

66

Height

13

Caption

Примечания

32) Панель для зрительного выделения кнопки «Готово»

object

Panel2: TPanel

Left

8

Top

16

Width

97

Height

32

TabOrder

0

33) Кнопка «Готово», скрывающая блок редактирования записей БД

object

Button1: TButton

Left

6

Top

3

Width

83

Height

25

Caption

Готово

TabOrder

0

procedure Button1Click(Sender: Tobject); - скрывает блок редактирования записей БД

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

object

DBNavigator3: TDBNavigator

Left

8

Top

264

Width

380

Height

25

Cursor

crHandPoint

DataSource

DataSource1

35) Элемент для редактирования записи БД «УДК»

object

DBEdit1: TDBEdit

Left

160

Top

17

Width

145

Height

21

DataField

'UDK'

DataSource

DataSource1

36) Элемент для редактирования записи БД «Автор»

object

DBEdit2: TDBEdit

Left

160

Top

38

Width

225

Height

21

DataField

'Author'

DataSource

DataSource1

37) Элемент для редактирования записи БД «Заглавие издания»

object

DBEdit3: TDBEdit

Left

8

Top

68

Width

377

DataField

'NameBook'

DataSource

DataSource1

38) Элемент для редактирования записи БД «Год издания»

object

DBEdit4: TDBEdit

Left

8

Top

132

Width

65

Height

21

DataField

'Year'

DataSource

DataSource1

procedure DBEdit4KeyPress(Sender: TObject; var Key: Char); - не позволяет вводить в поле нечисловые значения

39) Элемент для редактирования записи БД «Количество»

object

DBEdit5: TDBEdit

Left

76

Top

132

Width

65

Height

21

DataField

'Amount'

DataSource

DataSource1

procedure DBEdit4KeyPress(Sender: TObject; var Key: Char); - не позволяет вводить в поле нечисловые значения

40) Элемент для редактирования записи БД «Сведения, относящиеся к заглавию»

object

DBEdit6: TDBEdit

Left

192

Top

100

Width

193

Height

21

DataField

'ExplanatoryToTitle'

DataSource

DataSource1

41) Элемент для редактирования записи БД «Издательство»



object

DBEdit7: TDBEdit

Left

8

Top

100

Width

177

Height

21

DataField

'PublishingHouse'

DataSource

DataSource1

42) Элемент для редактирования записи БД «Жанр»

object

DBEdit9: TDBEdit

Left

88

Top

164

Width

185

Height

21

DataField

'Genre'

DataSource

DataSource1

43) Элемент для редактирования записи БД «Номер тома»

Object

DBEdit10: TDBEdit

Left

8

Top

164

Width

73

Height

21

DataField

'Volume'

DataSource

DataSource1

procedure DBEdit4KeyPress(Sender: TObject; var Key: Char);

44) Элемент для редактирования записи БД «Примечания»



Object

DBMemo1: TDBMemo

Left

8

Top

200

Width

265

Height

41

DataField

'Notes'

DataSource

DataSource1

45) Элемент для редактирования записи БД «Полка»

Object

DBEdit14: TDBEdit

Left

352

Top

132

Width

41

Height

21

DataField

'PlaceIndex'

DataSource

DataSource1

46) Элемент для редактирования записи БД «Страницы»

Object

DBEdit8: TDBEdit

Left

144

Top

132

Width

57

Height

21

DataField

'KeyWord1'

DataSource

DataSource1

procedure DBEdit4KeyPress(Sender: TObject; var Key: Char); - не позволяет вводить в поле нечисловые значения

47) Элемент для редактирования записи БД «Область литературы»

Object

DBEdit15: TDBEdit

Left

204

Top

132

Width

145

Height

21

DataField

'Type'

DataSource

DataSource1

48) Блок «Библиотека», производящий выдачу/возврат изданий в БД

Object

GroupBox4: TGroupBox

Left

280

Top

160

Width

105

Height

97

Caption

Библиотека

Visible

False

49) Панель для зрительного выделения кнопки «Готово»

Object

Panel6: TPanel

Left

4

Top

16

Width

95

Height

32

50) Кнопка «Библиотека», скрывающая блок «Библиотека»

Object

Button7: TButton

Left

6

Top

3

Width

83

Height

25

Caption

Готово

procedure Button7Click(Sender: Tobject); - скрывает блок «Библиотека»

51) Элемент для обозначения в БД факта выдачи/возврата издания

Object

DBComboBox1: TDBComboBox

Left

16

Top

56

Width

81

Height

21

DataField

'Here and Now'

DataSource

DataSource1

ItemHeight

13

Items.Strings

(В наличии/Выдано)

52) Кнопка «Редактирование БД», делающая видимым блок редактирования записей БД

Object

Button2: TButton

Left

320

Top

184

Width

113

Height

33

Hint

Позволяет внести изменения в базу данных

Caption

Рерактирование БД

procedure Button2Click(Sender: Tobject); - делает видимым блок редактирования записей БД

53) Блок «Дополнительная информация об издании», отображающий дополнительные сведения об издании

Object

GroupBox2: TGroupBox

Left

576

Top

224

Width

417

Height

297

Caption

Дополнительная информация об издании

Visible

False

54) Элемент для отображения записи БД «УДК»

Object

DBText1: TDBText

Left

144

Top

27

Width

185

Height

17

DataField

'UDK'

DataSource

DataSource1

55) Элемент для отображения записи БД «Автор»

Object

DBText2: TDBText

Left

144

Top

49

Width

297

Height

17

DataField

'Author'

DataSource

DataSource1

56) Элемент для отображения записи БД «Заглавие издания»

Object

DBText3: TDBText

Left

8

Top

88

Width

433

DataField

'NameBook'

DataSource

DataSource1

57) Элемент для отображения записи БД «Год издания»

Object

DBText4: TDBText

Left

96

Top

160

Width

33

Height

17

DataField

'Year'

DataSource

DataSource1

58) Элемент для отображения записи БД «Количество»

Object

DBText5: TDBText

Left

144

Top

184

Width

49

Height

17

DataField

'Amount'

DataSource

DataSource1

59) Элемент для отображения записи БД «Наличие»

Object

DBText6: TDBText

Left

344

Top

24

Width

65

DataField

'Here and Now'

DataSource

DataSource1

60) Элемент, отображающий поле «Сведения, относящиеся к заглавию»

Object

DBText7: TDBText

Left

200

Top

135

Width

241

Height

17

DataField

'ExplanatoryToTitle'

DataSource

DataSource1

61) Элемент для отображения записи БД «Издательство»

Object

DBText8: TDBText

Left

112

Top

112

Width

329

Height

17

DataField

'PublishingHouse'

DataSource

DataSource1

62) Элемент для отображения записи БД «Область литературы»

object

DBText9: TDBText

Left

24

Top

160

Width

65

Height

17

DataField

'Type'

DataSource

DataSource1

63) Подпись к элементу, отображающему запись БД «УДК»

object

Label14: TLabel

Left

104

Top

26

Width

27

Height

13

Caption

УДК

64) Подпись к элементу, отображающему запись БД «Автор»

object

Label15: TLabel

Left

104

Top

48

Width

33

Height

13

Caption

Автор

65) Подпись к элементу, отображающему запись БД «Заглавие издания»

object

Label16: TLabel

Left

8

Top

72

Width

96

Height

13

Caption

Заглавие издания

66) Подпись к элементу, отображающему запись БД «Издательство»

object

Label17: TLabel

Left

24

Top

111

Width

75

Height

13

Caption

Издательство

67) Подпись к элементу, отображающему запись БД «Сведения, относящиеся к заглавию»

object

Label18: TLabel

Left

6

Top

135

Width

187

Height

13

Caption

Сведения, относящиеся к заглавию

68) Подпись к элементу, отображающему запись БД «Количество страниц»

object

Label19: TLabel

Left

176

Top

159

Width

106

Height

13

Caption

Количество страниц

69) Подпись к элементу, отображающему запись БД «Область литературы»

object

Label20: TLabel

Left

8

Top

207

Width

108

Height

13

Caption

Область литературы

70) Подпись к элементу, отображающему запись БД «Количество экземпляров»

object

Label21: TLabel

Left

6

Top

183

Width

133

Height

13

Caption

Количество экземпляров

71) Подпись к элементу, отображающему запись БД «Год издания»

object

Label22:TLabel

Left

24

Top

159

Width

66

Height

13

Caption

Год издания

72) Подпись к элементу, отображающему запись БД «Номер тома»

object

Label23: TLabel

Left

336

Top

158

Width

65

Height

13

Caption

Номер тома

73) Подпись к элементу, отображающему запись БД «Полка»

object

Label24: TLabel

Left

176

Top

183

Width

35

Height

13

Caption

Полка

74) Подпись к элементу, отображающему запись БД «Жанр»

object

Label25: TLabel

Left

8

Top

231

Width

32

Height

13

Caption

Жанр

75) Элемент для отображения записи БД «Количество страниц»

object

DBText10: TDBText

Left

288

Top

160

Width

49

Height

17

DataField

'KeyWord1'

DataSource

DataSource1

76) Элемент для отображения записи БД «Номер тома»

object

DBText11: TDBText

Left

408

Top

157

Width

25

Height

17

DataField

'Volume'

DataSource

DataSource1

77) Элемент для отображения записи БД «Полка»

object

DBText12: TDBText

Left

224

Top

184

Width

65

Height

17

DataField

'PlaceIndex'

DataSource

DataSource1

78) Элемент для отображения записи БД «Жанр»

object

DBText14: TDBText

Left

48

Top

232

Width

65

Height

17

DataField

'Genre'

DataSource

DataSource1

79) Элемент для отображения записи БД «Примечания»

object

DBText15: TDBText

Left

80

Top

248

Width

361

Height

41

DataField

'Notes'

DataSource

DataSource1

80) Подпись к элементу, отображающему запись БД «Примечания»

object

Label27: TLabel

Left

8

Top

252

Width

66

Height

13

Caption

Примечания

81) Панель для зрительного выделения кнопки «Готово»

object

Panel4: TPanel

Left

8

Top

16

Width

95

Height

32

TabOrder

0

82) Кнопка «Готово», скрывающая блок дополнительной информации об издании

object

Button3: TButton

Left

6

Top

3

Width

83

Height

25

Caption

Готово

TabOrder

0

procedure Button3Click(Sender: Tobject); - скрывает блок дополнительной информации об издании

83) Кнопка «Дополнительно», делающая видимым блок дополнительной информации об издании

object

Button4: TButton

Left

560

Top

184

Width

113

Height

33

Hint

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

Caption

Дополнительно

TabOrder

5

procedure Button4Click(Sender: Tobject); - делает видимым блок дополнительной информации об издании

84) Кнопка «Библиотека», делающая видимым блок выдачи/возврата издания

object

Button6: TButton

Left

440

Top

184

Width

115

Height

33

Hint

Позволяет обозначить факт выдачи или возврата издания в базе данных

Caption

Библиотека

Enabled

False

TabOrder

4

procedure Button6Click(Sender: Tobject); - делает видимым блок выдачи/возврата издания

85) Элемент для связывания самой БД и элементов отображения её записей

object

DataSource1: TDataSource

DataSet

Table1

Left

792

Top

184

86) Главное меню

object

MainMenu1: TMainMenu

Left

960

Top

168

object

N1: TMenuItem

Caption

Меню

object

N2: TMenuItem

Caption

Выборка

OnClick

Button19Click

object

N3: TMenuItem

Caption

Редактирование БД

OnClick

Button2Click

object

N4: TMenuItem

Caption

Библиотека

Enabled

False

OnClick

Button6Click

object

N5: TMenuItem

Caption

Дополнительные сведения

OnClick

Button4Click

object

N8: TMenuItem

Caption

'-'

object

N9: TMenuItem

Caption

Выход

OnClick

Button20Click

procedure N7Click(Sender: Tobject); - выводит форму «О прграмме»

87) Элемент, позволяющий работать с SQL-запросом на выбор записей из БД по автору

object

Query1: TQuery

Active

True

AutoRefresh

True

DatabaseName

'BOOK'

RequestLive

True

SQL.Strings

('SELECT D.*'

'FROM "..Библиотека\Books.db"D'

'WHERE (D. Author Like :FirstChar.)')

Left

816

Top

184

ParamData = <

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

Value

''

88) Элемент для связывания результатов работы SQL-запроса и элементов отображения записей БД

object

DataSource2: TDataSource

DataSet

Query1

Left

840

Top

184

89) Элемент, позволяющий работать с SQL-запросом на выбор записей из БД по заглавию издания

object

Query2: TQuery

Active

True

AutoRefresh

True

DatabaseName =

'BOOK'

RequestLive

True

SQL.Strings = (

'SELECT F.*'

'FROM "..Библиотека\Books.db"F'

'WHERE (F. NameBook Like :FirstChar.)')

Left

864

Top

184

ParamData = <

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

Value

''

90) Элемент для связывания результатов работы SQL-запроса и элементов отображения записей БД

object

DataSource3: TDataSource

DataSet

Query2

Left

888

Top

184

91) Элемент, позволяющий работать с SQL-запросом на выбор записей из БД по вышеуказанным фрагментам

object

Query3: TQuery

Active

True

AutoRefresh

True

DatabaseName

'BOOK'

RequestLive

True

SQL.Strings = (

'SELECT F.*'

'FROM "..Библиотека\Books.db"F'

'WHERE F. Type Like :FirstChar. OR'

'F. KeyWord2 Like :FirstChar. OR'

'F. KeyWord3 Like :FirstChar. OR '

'F. KeyWord4 Like :FirstChar. OR'

'F. NameBook Like :FirstChar. OR '

'F. ExplanatoryToTitle Like :FirstChar. OR'

'F. Type Like :FirstChar. OR'

'F. Genre Like :FirstChar. OR'

'F. Notes Like :FirstChar.'')

Left

912

Top

184

ParamData = <

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

item

DataType

ftString

Name

'FirstChar.'

ParamType

ptUnknown

92) Элемент для связывания результатов работы SQL-запроса и элементов отображения записей БД

object

DataSource4: TDataSource

DataSet

Query3

Left

976

Top

184

93) Элемент позволяющий программе работать с указанной БД «Books.DB»

object

Table1: TTable

Active

True

ObjectView

True

AutoRefresh

True

StoreDefs

True

TableName

'Books.DB'

Left

1000

Top

184

FieldDefs = <

item

Name

'UDK'

DataType

ftString

Size

30

item

Name

'Author'

DataType

ftString

Size

50

item

Name

'NameBook'

DataType

ftString

Size

150

item

Name

'Year'

DataType

ftString

Size

4

item

Name

'Amount'

DataType

ftInteger

item

Name

'Here and Now'

DataType

ftString

Size

10

item

Name

'PlaceIndex'

DataType

ftString

Size

3

item

Name

'Volume'

DataType

ftSmallint

item

Name

'Genre'

DataType

ftString

Size

40

item

Name

'Type'

DataType

ftString

Size

40

item

Name

'ExplanatoryToTitle'

DataType

ftString

Size

40

item

Name

'PublishingHouse'

DataType

ftString

Size

40

item

Name

'KeyWord1'

DataType

ftString

Size

20

item

Name

'KeyWord2'

DataType

ftString

Size

20

item

Name

'KeyWord3'

DataType

ftString

Size

20

item

Name

'KeyWord4'

DataType

ftString

Size

20

item

Name

'Notes'

DataType

ftString

Size

255

Вторая форма

1) Стартовая форма

object

Form2: Tform2

Left

319

Top

183

BorderStyle

bsNone

ClientHeight

434

ClientWidth

623

Color

clBtnFace

Position

poScreenCenter

2) Фоновое изображение стартовой формы

object

Image1: TImage

Left

0

Top

0

Width

623

Height

434

Align

alClient

Center

True

Stretch

True

OnClick

Image1Click

procedure Image1Click(Sender: Tobject); - скрывает стартовую форму при нажатии кнопкой мыши по фоновому изображению

3) Элемент отображающий текст на стартовой форме «БИБЛИОТЕКА»

object

Label1: TLabel

Left

168

Top

104

Width

295

Height

45

Caption

БИБЛИОТЕКА

Font.Charset

DEFAULT_CHARSET

Font.Color

clYellow

Font.Height

-32

Font.Name

'Arial Black'

Font.Style

[fsBold]

ParentFont

False

Transparent

True

4) Элемент отображающий текст на стартовой форме «ВЫПОЛНИЛ:»

object

Label2: TLabel

Left

32

Top

200

Width

238

Height

52

Caption

ВЫПОЛНИЛ:

Font.Charset

RUSSIAN_CHARSET

Font.Color

clYellow

Font.Height

-37

Font.Name

'Arial Black'

Font.Style

[fsBold]

ParentFont

False

Transparent

True

5) Элемент отображающий текст на стартовой форме «СТУДЕНТ ГРУППЫ ПИ-08-1»

object

Label3: TLabel

Left

64

Top

248

Width

524

Height

52

Caption

СТУДЕНТ ГРУППЫ ПИ-08-1

Font.Charset

RUSSIAN_CHARSET

Font.Color

clYellow

Font.Height

-37

Font.Name

'Arial Black'

Font.Style

[fsBold]

ParentFont

False

Transparent

True

6) Элемент отображающий текст на стартовой форме «СОЛОМАХИН П.С.»

object

Label4: TLabel

Left

232

Top

296

Width

361

Height

52

Caption

СОЛОМАХИН П.С.

Font.Charset

RUSSIAN_CHARSET

Font.Color

clYellow

Font.Height

-37

Font.Name

'Arial Black'

Font.Style

[fsBold]

ParentFont

False

Transparent

True

7) Элемент отображающий текст на стартовой форме «ИНФОРМАЦИОННАЯ СИСТЕМА»

object

Label5: TLabel

Left

32

Top

40

Width

586

Height

45

Caption

ИНФОРМАЦИОННАЯ СИСТЕМА

Font.Charset

DEFAULT_CHARSET

Font.Color

clYellow

Font.Height

-32

Font.Name

'Arial Black'

Font.Style

[fsBold]

ParentFont

False

Transparent

True

8) Элемент, позволяющий по истечении времени закрывать стартовую форму

object

Timer1: TTimer

Interval

4000

OnTimer

Timer1Timer

Left

592

Top

8

procedure Timer1Timer(Sender: Tobject); - скрывает по истечении времени стартовую форму

Третья форма

1) Форма «О программе»

object

Form3: TForm3

Left

151

Top

90

Width

473

Height

190

Align

alCustom

Caption

'О программе'

Color

clBtnFace

2) Панель для зрительного выделения объектов

object

Panel1: TPanel

Left

8

Top

8

Width

441

Height

139

TabOrder

0

3) Теметическое изображение на форме

object

Image1: TImage

Left

1

Top

3

Width

153

Height

134

Stretch

True

4) Элемент отображающий текст на форме «Библиотека»

object

Label1: TLabel

Left

256

Top

16

Width

98

Height

21

Caption

Библиотека

Font.Charset

RUSSIAN_CHARSET

Font.Color

clWindowText

Font.Height

-19

Font.Name

'Times New Roman'

Font.Style

[fsItalic]

ParentFont

False

5) Элемент отображающий текст на форме «Курсовая работа по дисциплине ВМИиП»

object

Label2: TLabel

Left

200

Top

48

Width

205

Height

13

Caption

Курсовая работа по дисциплине ВМИиП

6) Элемент отображающий текст на форме «Разработал студент группы ПИ-08-1: Соломахин П.С.»

object

Label3: TLabel

Left

160

Top

72

Width

273

Caption

Разработал студент группы ПИ-08-1: Соломахин П.С.

7) Элемент отображающий текст на форме «2009»

object

Label4: TLabel

Left

288

Top

100

Width

24

Height

13

Caption

'2009'

8) Кнопка для закрытия формы «О программе»

object

BitBtn1: TBitBtn

Left

336

Top

104

Width

89

Height

25

TabOrder

0

Kind

bkOK

procedure BitBtn1Click(Sender: Tobject); - закрывает форму «О программе»

3. Проектирование

3.1 Декомпозиция поставленной задачи

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

Подзадачи:

    В средстве Database Desktop 7 создать базу данных, соответствующую поставленной задаче.

    В среде Delphi создать средство управления базой данных под Windows.

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

    Добавить возможность выборки из базы данных по запросам пользователя.

    Создать уникальный значок приложения и включить в проект.

3.2 Разработка алгоритма решения задачи

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

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

    Создание модуля стартовой заставки;

Заставка запускается одновременно с главной формой, по истечении времени отображения (4 секунды) или при нажатии на неё кнопкой мыши скрывается. Возможно также перейти к работе с главной формой, кликнув на её рабочей области.

    Создание модуля информации о программе;

При нажатии на главной форме меню «О программе» открывается форма с содержанием модуля. Кнопка «Ок» закрывает форму.

    Создание процедур, требуемых для взаимодействия модулей;

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

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

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

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

При нажатии на кнопку «Выборка» или выборе соответствующего пункта меню становится видимым блок выборки из БД и невидимой — кнопка «Выборка». В этом блоке отображаются элементы, позволяющие при выборе первой буквы и нажатии на соответствующую кнопку выполнить выборку из БД по автору или заглавию издания. Также при вводе фрагмента заглавия издания, сведений, относящихся к заглавию, области литературы, жанра в поле ввода и нажатии на кнопку «По фрагменту» - произвести выборку записей, содержащих этот фрагмент. При нажатии на кнопку «Готово» блок выборки скрывается, становится видимой кнопка «Выборка».

При нажатии на кнопку «Редактирование БД» или выборе соответствующего пункта меню становится видимым блок редактирования БД, невидимой — кнопка «Редактирование БД» и включается кнопка «Библиотека». В этом блоке отображаются элементы, позволяющие добавлять, редактировать удалять записи БД. Управление БД производится с помощью навигатора. Поля «УДК», «Автор» и «Заглавие» являются обязательными к заполнению при добавлении записи. При нажатии на кнопку «Готово» блок редактирования скрывается, становится видимой кнопка «Редактирование БД», кнопка «Библиотека» выключается.

При нажатии на кнопку «Библиотека» или выборе соответствующего пункта меню в блоке «Редактирование БД» становится видимым блок управления библиотекой, кнопка «Библиотека» становится невидимой. В этом блоке отображается элемент, позволяющий обозначить факт выдачи/возврата выбранного издания в фонд библиотеки. При нажатии на кнопку «Готово» блок скрывается, становится видимой кнопка «Библиотека».

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

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

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

При нажатии на кнопку «Выход» или выборе соответствующего пункта меню происходит выход из программы.

Схема работы программы «Библиотека»



3.4 Разработка интерфейса ПС

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

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

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

    пользовательский интерфейс должен быть единообразным;

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

4. Кодирование

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

Delphi – это объектно-ориентированная среда для визуального проектирования Windows-приложений с развитыми механизмами повторного использования программного кода.

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

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

Программирование в Delphi состоит из двух основных этапов:

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

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

4.2 Характеристика языка программирования

Object Pascal — полностью объектно-ориентированный диалект языка Pascal, разработанный фирмой Borland. Начиная с Delphi 7 фирма Borland начала официально называть свой язык Delphi. Однако Object Pascal поддерживается и развивается другими разработчиками. Наиболее серьёзные реализации Object Pascal, кроме Delphi — это TMT Pascal, Virtual Pascal и Free Pascal.

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

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

    Объявление классов с полями (данными — членами класса) и методами (функциями — членами класса).

    Механизм расширения класса (наследования) — порождение нового класса от существующего с автоматическим включением всех особенностей реализации класса-предка в состав класса-потомка. Большинство ООП-языков поддерживают только единичное наследование.

    Средства защиты внутренней структуры классов от несанкционированного использования извне. Обычно это модификаторы доступа к полям и методам, типа public, private, обычно также protected, иногда некоторые другие.

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

    Полиморфное поведение экземпляров классов за счёт использования виртуальных методов. В некоторых ООП-языках все методы классов являются виртуальными.

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

    Конструкторы, деструкторы, финализаторы.

    Свойства.

    Индексаторы.

    Интерфейсы — как альтернатива множественному наследованию.

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

Часть языков (иногда называемых «чисто объектными») целиком построена вокруг объектных средств — в них любые данные (возможно, за небольшим числом исключений в виде встроенных скалярных типов данных) являются объектами, любой код — методом какого-либо класса и невозможно написать программу, в которой не использовались бы объекты. Примеры подобных языков — Java или Ruby. Другие языки (иногда используется термин «гибридные») включают ООП-подсистему в исходно процедурный язык. В них существует возможность программировать, не обращаясь к объектным средствам. Классические примеры — C++ и Delphi Pascal.

4.3 Структура программы

    .dpr – файл проекта создается во время работы над проектом. Этот файл содержит исходный текст главной программы приложения. (ProjectBWI.dpr)

    .pas – файлы модулей проекта представляют собой файлы с исходными текстами программ на языке Pascal. (UnitBWI.pas, UnitStart.pas, UnitAboutProg.pas).

    .DB – файл базы данных. (Books.DB).

    .ico – изображение, являющееся значком запускного файла. (IconBook.ico.).

    .jpg – изображения, используемые на формах. (LibraryAbout.jpg, LibraryPic.jpg).

    .dfm – файлы форм содержат двоичное представление форм. (UnitBWI.dfm, UnitStart.dfm, UnitAboutProg.dfm).

    .res – файлы ресурсов содержат двоичные данные, называемые также ресурсами, которые связаны с выполняемым файлом приложения. (ProjectBWI .res).

    .dof – файлы опций проекта хранят установки, определенные во вкладках окна Project Options. Такой файл создается при первом же сохранении проекта и обновляется при каждом последующем (ProjectBWI . Dof).

    .dcu – файлы скомпилированных модулей (UnitBWI.dcu, UnitStart.dcu, UnitAboutProg.dcu).

5. Тестирование и отладка

5.1 Тестирование

Стартовая форма программы

Главная форма программы

Главная форма программы с отображением имеющихся средств

Форма, содержащая информацию о программе

5.2 Отладка

1. Во время тестирования программного средства было обнаружено, что при нажатии на кнопку «Закрыть» формы программы перестают отображаться, а выполнение процесса программы продолжается .

Решением этой проблемы может служить изменение методов отображения форм с использования свойства Visible на обработчик OnShow (Hide/Show) форм. В программе предусмотрена кнопка для корректного завершения «Выход».

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

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

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

Заключение

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

Поставленные цели:

    В среде Delphi создать приложение под Windows с базой данных.

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

    Добавить возможность выборки из базы данных по запросам пользователя.

    Создать уникальный значок приложения и включить в проект.

Решение поставленных задач:

изучены элементы управления базами данных среды программирования Borland Delphi 7;

проанализирован теоретический материал, предназначенный для студентов 1 курса специальности «Прикладная информатика в экономике»;

Выводы:

1. Изучена технология визуального проектирования.

2. Создано программное средство для управления библиотекой.

3. Интерфейс ПС прост, удобен и понятен для пользователей.

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

1. Архангельский, А.Я. Программирование в Delphi 7/А.Я. Архангельский.- М.: Бином-Пресс, 2003.- 1152 с.: ил.

2. Канту, М. Delphi7: Для профессионалов/М. Канту.- СПб.: Питер, 2004.-1101с.: ил.

    3. Пестриков, В.М. Delphi на примерах/В.М. Пестриков, А.Н. Маслобоев.-СПб.:БХВ-Петерберг, 2005.- 596 с.: ил.

    4. Стивене, Р. Delphi. Готовые алгоритмы/Р. Стивене: Пер. с англ. Мерещука П.А. -2-е изд., стер. –М.:ДМК Пресс; СПб.:Питенр, 2004. -384 с.:ил.

    5. Работа с базами данных в Delphi:Метод. указ./Сост. А.В. Степанов, Ю.А. Степанов.- Новокузнецк.:ГОУВПО СибГИУ, 2003.- 24 c.

    6. Конспект лекций по дисциплине “Библиография”.

    7. Конспект лекций по дисциплине “Высокоуровневые методы информатики и программирования”.