Файл: Проектирование реализации операций бизнес- процесса «Движение библиотечного фонда».pdf
Добавлен: 26.05.2023
Просмотров: 336
Скачиваний: 3
СОДЕРЖАНИЕ
1. Характеристика комплекса задач
1.1. Выбор комплекса задач автоматизации
1.2. Характеристика существующих бизнес –процессов
1.3. Характеристика документооборота, возникающего при решении задачи
1.4. Обоснование проектных решений
1.5. Обоснование проектных решений по программному обеспечению
2 глава. ПРОЕКТНАЯ ЧАСТЬ Информационное обеспечение задачи
2.1. Информационная модель и её описание
2.2. Характеристика нормативно-справочной, входной и оперативной информации
2.3. Характеристика результатной информации
2.4. Программное обеспечение задачи
Результирующая информация – это данные, которые получаются в результате запросов. Результирующие данные это список должников, который формируется на основании таблицы Out, и выводится на экран.
2.3. Характеристика результатной информации
Результирующей информацией являются следующие данные:
1. Вывод должников.
2. Вывод читателей.
3. Вывод поиска по имени автора.
Эти три пункта осуществляют вывод на экран всю информацию, оговоренную в требованиях к программе. Вся необходимая информация сначала сохраняется на жесткий диск в директорию «Temp» (если директория «Temp» была удалена или перемещена из каталога, где находится исполнительный файл, то программа сама создаст эту директорию), в виде файлов формата HTML, а уже затем запускается и выводится на экран с помощью программы назначенной в системе по умолчанию для просмотра данного типа файлов. Печать осуществляется уже из этого приложения.
2.4. Программное обеспечение задачи
Общие положения (дерево функций и сценарий диалога)
Программа разработана для одного пользователя – библиотекаря. Функции используемые в программе делятся на
- служебные функции;
- основные функции (ведение таблиц БД, ответы на запросы и др.).
Для создания структуры сценария диалога помимо выявления функции и их иерархии надо определиться с языком «общений» между пользователем и системой. В данном случае общение по средствам меню – это оптимальный вариант.
Характеристика базы данных
Файлы базы данных, в которых хранится вся информация, должны находятся в поддиректории «DB», рабочей директории программы.
Программа при запуске ищет фалы базы данных именно в этой директории, при этом рабочая директория программы может находиться на любом логическом диске, в любом каталоге. Файлы базы данных:
1. DB_Books.db – база книг. Эта таблица содержит следующие поля: Number (тип LongInteger) – номер книги в каталоге, Title (Alpha) – название книги, Writer (Alpha) - автор, Publish (Alpha) - издательство, Year (LongInteger) – год издания.
2. DB_Readers.db – база читателей. Поля: Number (LongInteger) – номер билета, FNP (Alpha) – Ф.И.О, Adress (Alpha) – адрес, Phone (LongInteger) – телефон.
3. DB_Out.db – база выданных книг. Поля: Number (LongInteger) – номер книги, Number_R (LongInteger) – номер билета, вспомогательное поле, введено для организации связи данной таблицы с таблицей DB_Readers.db (отношение много-к-одному), Title (Alpha) - название, Date_out (Date) – дата выдачи, Date_return (Date) – дата возврата, Fine (LongInteger) – сумма штрафа.
Структурная схема пакета (дерево вызова программных модулей)
Для наглядности представления работы создаваемой программы следует разработать его структурную схему. Структурная схема содержит общий алгоритм переходов между формами проекта.
Структурная схема показана на рисунке ?.
Главная форма состоит из кнопок, которые связаны с БД, по определенному алгоритму.
Файл
Файл
Открытие БД
Выход
Удаление, добавление, редактирование справочников
Отчеты
Помощь
Главная форма
Рисунок 3 – Структурная схема
Информационная система включает в себя модуль, осуществляющий все необходимые операции над данными. Данный модуль содержит формы, производящие добавление и редактирование информации. Кроме того, данный модуль выполняет функции удаления информации и формирования отчётов.
Взаимодействие пользователя и программы осуществляется при помощи диалогов.
При нажатии кнопки «Помощь» происходит вызов справки.
При нажатии кнопки «Файл – Открыть БД», попадаем на форму где можем добавлять, удалять, редактировать сведения в таблицах.
При нажатии кнопки «Отчеты», открывается отчет соответствующий данному запросу.
Описание программных модулей
Программа состоит из четырех модулей: Unit1, Unit2, Unit3, Unit4.
Основная часть алгоритма содержится в первом модуле, модуле главной формы (Form1) - Unit1. Unit2, Unit3 – обеспечивают в основном, работу временных форм (Form2, Form3), появляющихся только когда необходимо ввести и обработать некоторую информацию.
Unit4 – описание формы Form4, предназначенной для вывода рекламной заставки, отражающей суть и возможности программного средства, а также сведения об авторе.
Unit1 – краткое описание процедур и функций:
1. functionReadIni(ASection, AString : String) : String; - Функциячтенияданныхиз INI файла. Файл Options.ini должен находится в рабочей директории программы. В случае его отсутствия программа запросит необходимые данные и создаст его.
2. procedureWriteIni(ASection, AString, AValue : String); - Процедуразаписиданныхв INI файл.
3. procedure TForm1.FormCreate(Sender: TObject); - процедуразапускающаясяприсозданииглавнойформы. Содержит основные установки для визуальных компонентов, подключает и активизирует таблицы базы данных.
4. procedure TForm1.Button1Click(Sender: TObject); - УдалениезаписейизтаблицыDB_Books.db (Table1).
5. procedure TForm1.Button2Click(Sender: TObject); - Вызовформы Form2 длязаполненияданныхоновойкниге.
6. procedure TForm1.Button4Click(Sender: TObject); - Добавлениевтаблицу Table2 (DB_Readers) данныхоновомчитателе.
7. procedureTForm1.Button3Click(Sender:TObject); - Поиск читателя по введенным данным. По полю FNP (Ф.И.О) производится фильтрация (на частичное совпадение), по остальным полям – поиск (так же по неполному совпадению).
8. procedureTForm1.Button5Click(Sender:TObject); - Удаление записи о читателе (Table2) и каскадное удаление всех подчиненных записей из Table3.
9. procedure TForm1.RadioButton1Click(Sender: TObject); - Показтаблицы "Списокчитателей".
10. procedure TForm1.RadioButton2Click(Sender: TObject); - Показспискакнигвзятыхуказаннымчитателем.
11. procedure TForm1.Button6Click(Sender: TObject); - Показ Form3 длязаполненияее
полей редактирования.
12. procedureTForm1.Button8Click(Sender:TObject); - Удаление книги из списка книг, взятых указанным читателем.
13. procedureTForm1.Button7Click(Sender:TObject); - Вызов формы Form2 для поиска книг по имени автора.
14. procedureTForm1.N1Click(Sender:TObject); - Первая строчка, первого пункта главного меню. Вывод на экран списка должников и суммы штрафа из предварительно сформированного и сохраненного файла. Файл сохраняется вподдиректорию /Temp рабочей директории программы. Формат – HTML.
15. procedureTForm1.N2Click(Sender:TObject); - Вторая строчка, первого пункта главного меню. Вызов второй формы для поиска читателей, которые должны сдать книги в определенную дату.
16. procedureTForm1.N3Click(Sender:TObject); - Третья строчка, первого пункта главного меню. Вызов второй формы для поиска всех книг определенного автора.
17. procedureTForm1.Button9Click(Sender:TObject); - Пересчет суммы штрафа для всех должников на сегодняшний день.
18. procedureTForm1.N5Click(Sender:TObject); - Изменение размера штрафа (запись в INI файл Options.ini). Второй пункт меню, первая строчка.
Unit2:
1. procedureTForm2.Button1Click(Sender:TObject); - Добавление новой (записи) книги в базу данных Table1.
2. procedure TForm2.Button2Click(Sender: TObject); - Фильтрацияпоимениавтора.
3. procedureTForm2.Button3Click(Sender:TObject); - Сохранение в файл и вывод на экран списка всех книг указанного автора.
Unit3:
1. procedureTForm3.Button1Click(Sender:TObject); - Добавление еще одной взятой книги к списку взятых ранее.
2. procedureTForm3.Button2Click(Sender:TObject); - Сохранение в файл и вывод на экран
всех читателей которые должны сдать книги в определенную дату.
2.5. Контрольный пример реализации проекта и его описание
В качестве тестирования было решено просто поработать с программой, так как это будет делать любой пользователь, столкнувшийся с данной программой.
Первое замечание появилось еще до запуска программы: было бы хорошо, если бы программа имела свою собственную иконку, а не стандартную, присваиваемую любой программе скомпилированной на Дельфи. Запускаем исполняемый файл Library.exe. Сразу после запуска программы появляется заставка, содержащая название программы, ее краткое описание, а также имя автора. Заставка держится на экране три секунды, однако есть подозрение, что при увеличении объема баз данных будет происходить следующее: заставка после трех секунд показа исчезнет с экрана, а основная форма еще не появиться, поскольку будет осуществляться подключение баз данных. Впрочем, скорее всего, эта проблема решается простым перемещением строк кода, ответственных за задержку в другое место алгоритма - сразу после команд подключения баз данных.
После создания форма активизируется в центре экрана, это неплохо, так как размеры формы строго фиксированы, а разрешение на компьютере будущего пользователя заранее не известны. Стоит отметить, что минимально возможное разрешение 800x600, при меньшем разрешении форма просто не поместится на экране целиком. В этом заключается еще одно замечание: размеры формы можно было не фиксировать строго, а назначить всем компонентам выравнивания, чтобы они автоматически изменяли свои размеры в зависимости от размеров главной формы, либо ввести соответствующую опцию в настройки, позволяющую изменять размер формы в зависимости от текущего разрешения.
Рисунок 4 – Форма программы
После полной загрузки программы начинаем работу с ней. Для начала было заполнено верхнее поле – каталог книг. Поля компонента, отображающие эти данные, защищены от непосредственного редактирования, ввод может осуществляться только с помощью специальной формы. Все данные, вводимые в текстовые поля, анализируются, так в поле «Номер» и «Год издания» ввести можно только натуральные числа, так же программа не добавит запись в таблицу пока не будут указаны все необходимые данные.
Рисунок 5- Форма «Добавление книги в каталог»
Удаление записи из таблицы тоже организовано с помощью кнопки, после нажатия на которую, программа запрашивает подтверждение на удаление и только после утвердительного ответа выделенная запись удаляется.
Процедура ввода нового читателя в список практически аналогична процедуре добавления книги в каталог, отличие только в том, что для этого не вызывается специальная форма. В остальном программа так же анализирует и просит ввести все нужные данные. Добавление запись в таблицу осуществляется по нажатию на кнопку «Добавить читателя». Удаление записи из этой таблицы инициализирует каскадное удаление записей из подчиненной таблицы, содержащей список книг, взятых удаляемым читателем. Данная процедура работает безупречно. Эти поля редактирования могут использоваться не только для ввода данных в таблицу, но и для поиска конкретного читателя в массиве данных. Поиск организован вполне удобно и логично.
Следующую таблицу можно увидеть только после нажатия на переключатель «Показывать список книг». В появляющейся таблице будут отображены все книги, записанные на имя читателя, который был выделен в общем списке читателей. Ввод новых данных осуществляется с помощью специальной формы (форма появляется по нажатию кнопки «Внести данные» в случае если включен переключатель «Показывать список книг»). В этой форме заполнить необходимо лишь два поля «Номер книги» и «Дата возврата», все остальные данные программа заполняет сама. Программа сама найдет книгу с указанным номером в каталоге и поставит ее название в соответствующее поле (либо можно наоборот номер книги оставить незаполненным, а ввести название книги), в качестве даты выдачи программа ставит текущее число, сумма штрафа автоматически пересчитывается при каждом запуске. При вводе данных программа проверяет их корректность: во-первых, проверяется наличие указанной книги в каталоге, в случае отсутствия такой книги будет выдана ошибка, во-вторых, поверяется, есть ли указанная книга в наличии, т.е. не фигурирует ли она в списке книг взятых другими читателями, в-третьих, проверяется правильность ввода даты. Замечания по этой процедуре:
1) Нужно было организовать ввод даты возврата таким образом, чтобы нельзя было ввести дату более раннюю, чем дата выдачи, хотя это и не критично.
2) В первой таблице можно было ввести цветовое обозначение записей, чтобы отмечать книги уже выданные на руки, допустим, красным цветом.
3) Заполнение полей «Номер книги» («Название») можно было организовать по клику мышки на какой-либо записи в первой таблице.
Рассмотрим теперь главное меню:
«Вывод» - состоит из трех пунктов
1. Вывод должников.
2. Вывод читателей.
3. Поиск по имени автора.
Эти три пункта осуществляют вывод на экран всю информацию, оговоренную в требованиях к программе. Вся необходимая информация сначала сохраняется на жесткий диск в директорию «Temp» (если директория «Temp» была удалена или перемещена из каталога, где находится исполнительный файл, то программа сама создаст эту директорию), в виде файлов формата HTML, а уже затем запускается и выводится на экран с помощью программы назначенной в системе по умолчанию для просмотра данного типа файлов. Печать осуществляется уже из этого приложения.
Замечания: вывод в формат HTML это хорошо, но у этого способа есть и недостатки (зависимость от внешнего приложения, правка текста довольно затруднительна).
В результате тестирование показало, что, несмотря на указанные небольшие замечания, касающиеся большей частью оформления программы, данная программа соответствует поставленной задаче.
Заключение
В заключении можно сказать, что созданная программа - проста, удобна в применении, так как данные отображаются в таблице, экономит большое количество времени. Эта программа доступна для любого человека, работающего в библиотеке и обладающего простыми навыками пользования компьютером.
Потенциал программы большой. В будущем, функциональность программы можно было бы расширить за счет добавления различных функций. Например, добавить в программу несколько новых видов поиска, сортировки, добавить функцию просмотра данных в виде диаграмм (для большей наглядности данных). Также можно добавить функцию добавления таблиц для большей функциональности.
Библиография
|
Занимательное программирование VisualBasic С. Симанович, Г. Евсеев АСТ-ПРЕСС КНИГА 2002 |
|
|
Язык программирования C++ С.В Глушаков, А.В Коваль, С.ВСмирнов Фолио Аст 2001 |
|
|
Культин, Н.Б. Программирование на Object Pascal в Delphi. Н.Б. Культин. М.:BHV - СПБ. 2008г. - 340 с. |