Файл: «Проектирование реализации операций бизнес-процесса «Движение библиотечного фонда»(Выбор комплекса задач автоматизации).pdf
Добавлен: 17.06.2023
Просмотров: 849
Скачиваний: 0
СОДЕРЖАНИЕ
1.1 Выбор комплекса задач автоматизации
2.2 Поисковая системный библиотека каталог книга
2.3 Система формирования заказов
3.1 Обоснование проектных решений по информационному обеспечению
3.2 Обоснование проектных решений по программному обеспечению
1. Характеристика результатной информации
1.1 Общие положения (дерево функций и сценарий диалога)
1.2 Характеристика базы данных
1.3 Структурная схема пакета (дерево вызова программных модулей)
Программа состоит из следующих основных модулей.
Глобальный модуль - конфигурация среды окружения, формирование основного экрана программы, создание системы главного меню и соответствующих подменю, активизация меню.
Процедуры формирования отчетов – обеспечение выдачи установленных форм документов на основании критериев, определяемых пользователем и информационной базы.
Модуль справочников и модуль документов - обеспечение ввода информации с первичных документов в базы данных, контроль за допустимостью значений, обеспечение ввода данных путем выбора из списка.
Все модули в программе связаны между собой по данным, которые анализируются на входе и вырабатываются на выходе. Данные в модули поступают через диалог с пользователем, параметры и документы информационной базы.
Для ведения информационной базы могут быть выполнены операции просмотра и печати документов, их редактирование, ведение нормативно-справочных документов, а также создание архивов и восстановление документов БД. Операции осуществляются путем выбора соответствующих пунктов в главном и подчиненных меню.
Данные через диалог могут быть получены прямым и косвенным способом. Прямой способ реализуется путем их ввода по шаблону или по запросу конкретных значений. Косвенный способ – путем меню.
Параметры (входные документы ) – входные данные, полученные в виде конкретных значений, переданных в оперативной памяти смежным модулям (функциям ).
-
- Контрольный пример реализации проекта и его описание
В программе MS Access создали таблицу «Книги». В режиме конструктора эта таблица имеет вид как на (Рис. 2.5).
Рисунок 2.5 - Таблица «Книги» в режиме конструктор
Далее я внесла в таблицу данные (Рис. 2.6)
Рисунок 2.6 - Таблица «Книги» с внесёнными данными
Проект программы был разработан средствами Delphi 7 и MS Access 2003. Delphi, в свою очередь, является универсальной системой программирования, с помощью которой производится управление базой данных, a MS Access 2003 - хранилищем базы данных. Управление базой производится такими компонентами Delphi как ADOConnection, ADOTable и DataSource.
Доступ к данным производится через технологию ADO. Cоединение интерфейса с БД, осуществляется с помощью компонента ADOConnection. ADOConnection - это элемент, инкапсулирующий все настройки соединения с сервером БД, используемый для передачи этих настроек компонентам доступа к данным. Через компонент ADOTable производятся подключение к нужной таблице БД. DataSource является связующим звеном между компонентами ADO с компонентами отображения данных (для этого необходимо установить его свойство DataSet).
Пользовательский интерфейс включает главное окно, диалоговые окна команд меню и окна сообщений.
Главная форма (Forml) - представлена на (Рис.2.7).
Рисунок 2.7 - Главная форма БД Библиотека
После создания таблицы в MS Access, необходимо вывести ее в форму. Для этого надо установить компонент ADOConnection с вкладки ADO, дважды кликаем по свойству ConnectionString появляется окно 'Form1.ADOConnection1 ConnectionString', выбираем второй вариант (Use Connection String) и нажимаем кнопку Build. (Рис. 2.8)
Рисунок 2.8 - Окно подключения компонента ADO
Далее выбираем из появившегося списка 'Microsoft Jet 4.0 OLE DB Provider' и переходим на вкладку Подключение. Там вводим путь к нашей базе данных, пользователя и пароль не трогаем и нажимаем Проверить подключение.
Вторым действием мы ставим на нашу форму компонент ADOTable с той же вкладки, в свойстве Connection указываем наш ADOConnection1.
Теперь устанавливаем на форму компонент DataSource со вкладки Data Access. Свойство DataSet этого компонента меняем на ADOTable1 (опять выпадающий список). Ну и наконец, ставим DBGrid с вкладки Data Controls и свойству DataSource присваиваем значение DataSource1.
Стоит теперь у компонента ADOTable1 поменять значение свойства Active на True и в DBGrid отобразится таблица из нашей базы данных. Даже писать ничего не надо.
Главная форма проекта содержит 4 вкладки : Открыть, Редактировать, Поиск, О программе.
Форма «Открыть» позволяет посмотреть каталог книг. На форме расположена таблица с книгами, содержащая в себе названия книг. Так же можно осуществить поиск по названию и отсортировать по жанру, автору и коду книги. (Рис. 2.9)
Рисунок 2.9 - Форма просмотра каталога книг
Форма «Редактировать» позволяет редактировать данные о книгах, а также добавлять новые книги и удалять не нужные экземпляры. На форме также имеется иллюстрация обложки книги. Добавление данных в форму происходит нажатием на кнопку «+» компонента DBNavigator. На нем так же присутствуют кнопки прокрутки всех записей содержащихся в таблице базы данных, удаление и редактирование этих записей, что существенно облегчает работу пользователю. (Рис. 2.10)
Рисунок 2.10 - Форма редактирования данных о книгах
Форма «Поиск» предназначена для поиска необходимой книги. Книгу можно найти по ее названию, автору или коду. (Рис. 2.11)
Рисунок 2.11 Форма для поиска нужной книги
Форма «О программе» содержит информацию о авторе программы. (Рис. 2.12)
Рисунок 2.12 - Форма для просмотра информации о программе
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы была разработана программа «Движение библиотечного фонда», обладающая следующим функционалом:
1) просмотр и редактирование данных;
2) поиск по коду;
3) группировка данных;
4) поиск по автору;
5) сортировка данных;
В заключении можно сказать, что созданная программа – проста, удобна в применении, так как данные отображаются в таблице, экономит большое количество времени. Эта программа доступна для любого человека, работающего в библиотеке и обладающего простыми навыками пользования компьютером. Это позволит сэкономить на рабочей силе.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила оформления.
- ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
- ГОСТ 19.402-78 ЕСПД. Описание программы.
- ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.
- ГОСТ 34.201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем.
- ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и сис¬тем. Условные обозначения и правила выполнения.
- Шигина Н.А. Разработка БД в среде ACCESS/ Метод.разработка. – Пенза: изд. ПТИ, 2001.
- Марков А.С. Базы данных. Введение в теорию и методологию / Лисовский К. Ю., Москва, 2004
- Когаловский М.Р. Технология баз данных на персональных ЭВМ. / М.: Финансы и статистика, 1992
- Ревунков Г.И., Самохвалов Э.Н., Чистов В.В. Базы и банки данных и знаний: Учеб. для вузов / Под ред. Четверикова В.Н. - М.: Высш. шк., 1992.
- Тиори Т., Фрай Дж. Проектирование структур баз данных : В 2-х кн. Пер. с англ. / М.: Мир, 1985
- Голицина О. Л. Базы данных / Голицина О. Л., Максимов Н. В., Попов И. И. – М.: Форум, 2003
- Карпова Т.С. Базы данных: модели, разработка, реализация / Питер, 2002
- Бемер С., Фратер Г. Microsoft Access для пользователя / Микап, Москва 1994
- Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение / Москва, Питер, Киев, 2003
ПРИЛОЖЕНИЕ А – ЛИСТИНГ ПО
program Project20;
uses
Forms,
Unit21 in 'Unit21.pas' {Form21}, // Главная форма
Unit22 in 'Unit22.pas' {Form22}, // Форма просмотра каталога
Unit23 in 'Unit23.pas' {DataModule23: TDataModule}, //Подключение БД
Unit1 in 'Unit1.pas' {Form1}, // Форма редактирования
Unit2 in 'Unit2.pas' {Form2}, // Форма поиска книг
Unit3 in 'Unit3.pas' {Form3}; // Форма информации о программе
{$R *.res}
begin
Application.Initialize;
Application.Title := 'Библиотека';
Application.CreateForm(TForm21, Form21);
Application.CreateForm(TForm22, Form22);
Application.CreateForm(TDataModule23, DataModule23);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;
End
Unit 1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtDlgs, DBCtrls, Mask, ExtCtrls;
type
TForm1 = class(TForm)
DBNavigator1: TDBNavigator;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBImage1: TDBImage;
OpenPictureDialog1: TOpenPictureDialog;
Button1: TButton;
Label9: TLabel;
DBMemo1: TDBMemo;
procedure Button1Click(Sender: TObject);
procedure DBEdit1Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit23;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if openpicturedialog1.Execute then
dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName);
end;
Unit 2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls;
type
TForm2 = class(TForm)
ADOConnection1: TADOConnection;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOTable1: TADOTable;
ADOTable1_: TIntegerField;
ADOTable1DSDesigner: TWideStringField;
ADOTable1DSDesigner2: TWideStringField;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
ADOTable1DSDesigner3: TWideStringField;
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit23;
{$R *.dfm}
procedure TForm2.Edit1Change(Sender: TObject);
begin
if length(edit1.text)>0 then ADOTable1.Filtered:=true else
ADOTable1.Filtered:=false;
ADOTable1.Filter:='Наименование='''+edit1.Text+'''';
end;
procedure TForm2.Edit2Change(Sender: TObject);
begin
if length(edit2.text)>0 then ADOTable1.Filtered:=true else
ADOTable1.Filtered:=false;
ADOTable1.Filter:='Автор='''+edit2.Text+'''';
end;
procedure TForm2.Edit3Change(Sender: TObject);
begin
if length(edit3.text)>0 then ADOTable1.Filtered:=true else
ADOTable1.Filtered:=false;
ADOTable1.Filter:='Жанр='''+edit3.Text+'''';
end;
Unit 3
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm3 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
Unit 21
unit Unit21;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, jpeg, ExtCtrls;
type
TForm21 = class(TForm)
MainMenu1: TMainMenu;
Image1: TImage;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form21: TForm21;
implementation
uses Unit22, Unit1, Unit2, Unit3;
{$R *.dfm}
procedure TForm21.N1Click(Sender: TObject);
begin
form22.show;
end;
procedure TForm21.N2Click(Sender: TObject);
begin
form1.show;
end;
procedure TForm21.N3Click(Sender: TObject);
begin
form2. show;
end;
procedure TForm21.N4Click(Sender: TObject);
begin
form3.show
end;
Unit 22
unit Unit22;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Mask;
type
TForm22 = class(TForm)
DBGrid1: TDBGrid;
RadioGroup1: TRadioGroup;
RadioButton1: TRadioButton;
RadioButton3: TRadioButton;
RadioButton2: TRadioButton;
Label1: TLabel;
Edit1: TEdit;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form22: TForm22;
implementation
uses Unit23;
{$R *.dfm}
procedure TForm22.RadioButton1Click(Sender: TObject);
begin
DataModule23.ADOTable1.IndexFieldNames:='Автор';
end;
procedure TForm22.RadioButton3Click(Sender: TObject);
begin
DataModule23.ADOTable1.IndexFieldNames:='Жанр';
end;
procedure TForm22.RadioButton2Click(Sender: TObject);
begin
DataModule23.ADOTable1.IndexFieldNames:='Код_книги';
end;
procedure TForm22.Edit1Change(Sender: TObject);
begin
if length(edit1.text)>0 then datamodule23.ADOTable1.Filtered:=true else
datamodule23.ADOTable1.Filtered:=false;
datamodule23.ADOTable1.Filter:='Наименование='''+edit1.Text+'''';
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ADODB.hpp>
#include <Chart.hpp>
#include <DB.hpp>
#include <DbChart.hpp>
#include <DBGrids.hpp>
#include <ExtCtrls.hpp>
#include <Grids.hpp>
#include <TeEngine.hpp>
#include <TeeProcs.hpp>
#include <Series.hpp>
#include <Menus.hpp>
//---------------------------------------------------------------------------
class TFormDiagrammaOklad : public TForm
{
__published: // IDE-managed Components
TDBGrid *DBGridManager;
TADODataSet *ADODataSetManager;
TDataSource *DataSourceManager;
TAutoIncField *ADODataSetManagerCod;
TWideStringField *ADODataSetManagerFIO;
TBCDField *ADODataSetManagerOklad;
TDateTimeField *ADODataSetManagerDataRozhd;
TWideStringField *ADODataSetManagerPasport;
TWideStringField *ADODataSetManagerPassword;
TIntegerField *ADODataSetManagerCodDolgnost;
TDBChart *DBChartManager;
TPieSeries *Series1;
TStringField *ADODataSetManagerFIO2;
TButton *ButtonExit;
TPopupMenu *PopupMenu1;
TMenuItem *N1;
void __fastcall FormShow(TObject *Sender);
void __fastcall ADODataSetManagerCalcFields(TDataSet *DataSet);