Добавлен: 27.06.2023
Просмотров: 30
Скачиваний: 2
Разрабатываемый программный продукт автоматизирует функции инвентаризации в пенсионном фонде.
Выделяется два подмножества функций складской системы служебные функции, к которым относятся вход в систему с учетной записью пользователя, введение этой программы. Основные функции обработки данных: ведение учета , проведение инвентаризации, просмотр и печать описи после инвентаризации.(рис. 3.1.1.)
Система должна работать в многопользовательском режиме. При входе в систему под определенной учетной записью, пользователь получит доступ к тем функциям системы, которые ему доступны. Для решаемой задачи не определена четкая последовательность действий при обработке данных. Все операции, связанные с вводом информации, должны выполняться в диалоговом режиме обработки в реальном масштабе времени. Для такого взаимодействия пользователей с программой удобнее всего использовать язык диалога. (рис. 3.1.2.)
3.1.1 Древо функции
Рисунок 3.1.2. Сценарий диалога
3.2. Характеристика базы данных
Имя базы данных - Inv.mdb.
ER-модель описывает взаимосвязь таблиц в БД.
Рисунок 3.2 - ER-модель
Рисунок 3.3. Характеристики таблицы Tovar
Структура таблицы Категория, Отдел, Товары представлена в таблицах ниже.
Таблица 3.2.1.
Структура таблицы Отдел
Наименование |
Идентификатор |
Формат |
Id категория |
Id_kategoria |
Числовой |
Вид категории |
Vid_kategorii |
Короткий текст |
Таблица 3.2.2.
Структура таблицы Отдел
Наименование |
Идентификатор |
Формат |
ID отдела |
Id_otdela |
Числовой |
МОЛ |
mol |
Короткий текст |
Код отдела |
Kod_otdela |
Числовой |
Таблица 3.2.3.
Структура таблицы Товары
Наименование |
Идентификатор |
Формат |
ID категории |
Id_kategoria |
Числовой |
Инвентарный код |
Inv_kod |
Числовой |
Код отдела |
Kod_otdela |
Числовой |
ID отдела |
Id_otdela |
Числовой |
Наименование |
Naim |
Короткий текст |
Дата |
Data |
Числовой |
3.3. Структурная схема пакета (дерево вызова программных модулей)
Рисунок 3.4. Схема вызовов программных модулей
3.4. Описание программных модулей
Глава 4. Контрольный пример реализации проекта и его описание
Для того, чтобы ввести информация об объекте учета следует воспользоваться полями ввода, которые располагаются ниже таблицы.
Рисунок 4.1. Область ввода информации об объекте инвентаризации
Каждое поле ввода под таблицей соответствует своей колонке в таблице. Таким образом, заполним поля ввода. В качестве наименования объекта инвентаризации выберем принтер "Canon LBP 810". Введем это наименование в первое поле. Этот вид имущества относится к основным средствам, поэтому во втором поле из списка выберем значение"ОС". Далее внесем его инвентарный и серийный номера, количество единиц (в нашем примере пусть будет 1 штука) и все остальные данные, а затем нажмем кнопку "Добавить".
Рисунок 4.2. Поля ввода с заполненной информацией
После того, как будет нажата кнопка "Добавить", строка с введенной информацией добавится последней в таблицу с данными, а поля ввода очистятся для следующих данных.
Рисунок 4.3. Введенная в таблицу информация
При этом число записей в таблице увеличится на единицу. Приложение позволяет использовать сканер штрих-кода. Его использование удобна для считывания серийного номера.
Вывод данных подразумевает под собой не только вывод их на принтер, но и на экран в качестве результата выполнения запроса пользователя.
Протестируем несколько разновидностей поиска информации и вывода ее на экран пользователю.
Найдем только что введенную запись среди множества других.
Для этого в фильтрах в поле "Наименование" введем название нашего принтера
"Canon LBP 810". При этом усложним немного задачу. Допустим полное название пользователь не помнит, а помнит только его часть "Canon", но без уточнения модели. Программа вернет результат и по частичному совпадению.
Рисунок 4.4. Поиск данных по наименованию объекта инвентаризации
После нажатия на кнопку "Фильтр" программа отобразила запись, в которой содержится текс, который введен в поле "Наименование" группы "Фильтры". Видно, что запись в таблице с таким названием всего одна.
Теперь попробуем ввести в поле "Наименование" слово "Шкаф" и нажмем "Фильтр".
Рисунок 4.5. Поиск данных по наименованию
В результате отработки запроса пользователя получает семь записей, в наименовании которых встречается слово "Шкаф". Из семи записей, у одной из них дата постановки на учет равна 13.06.2009 году. Добавим к уже созданному фильтру диапазон дат. Допустим пользователю требуется выбрать все имущество со соловом "Шкаф", которое было поставлено на учет в 2009 году.
Рисунок 4.6. Фильтр из двух составляющих
В данном случае при отработке запроса пользователю выводится одна запись со словом "Шкаф".
Найденные и отобранные записи можно вывести на печать в виде инвентаризационной описи. Для этого следует нажать "Печать".
Рисунок 4.6. Печать выбранной информации
Результатом нажатия на эту кнопку будет открытие окна предварительного просмотре с инвентаризационной описью, в которой будут присутствовать выбранные с помощью фильтра записи.
Заключение
Итак, в результате исследования была разработана программа для автоматизации процесса инвентаризации основных средств и ТМЦ на предприятии.
Не лишним будет упомянуть, что программа получилась универсальной и может функционировать в любой организации.
Для разработки программного обеспечения был выбран объктно-ориентированный визуально-программируемый язык высокого уровня Delphi 7, содержащий в себе возможности по обработке базы данных, сопоставимые с возможностями СУБД. А широкий ассортимент методов и моделей доступа к данным позволил спроектировать приложения максимально комфортным способом.
К сожалению, рамки данного проекта и ограниченное время не позволили выполнить интеграцию созданного приложения с другими системами, но такие возможности вполне можно реализовать. В настоящий момент в программе осуществлен ручной ввод данных, но механизм ручного вода данных в программу выполнен по максимально удобной технологии с применением механизма доступа к данным ADO Microsoft и достаточно удобного пользовательского интерфейса.
Интерфейс программы является интуитивно понятным, требующим от пользователя самых базовых компьютерных навыков.
Приложение представляет из себя SDI-тип. Основная форма является собственно рабочей и содержит в себе поля ввода.
Программа обладает удобными фильтрами по отбору данных. Данные можно отбирать по частичному совпадению, что позволяет пользователю, не зная, например, точного названия имущества ввести часть его имени и система выдаст ему результат поиска. Отобранные данные можно распечатать в виде инвентарной описи.
Концепция хранения в одной таблице всех объектов инвентаризации является очень удобной, так как доступ и анализ конкретного показателя осуществляется посредством фильтра. И только после фильтрации становятся доступными необходимые данные.
Список используемой литературы
- Алешин Л.И.: Информационные технологии. - М.: Литера, 2008
- Архангельский А.Я.: Delphi 7. - М.: БИНОМ, 2004
- Архангельский А.Я.: Программирование в Delphi для Windows. - М.: Бином-Пресс, 2007
- Архангельский А.Я.: Программирование в Delphi для Windows. - М.: Бином-Пресс, 2007
- Балдин К.В.: Информационные системы в экономике. - М.: Дашков и К, 2006
- Бобровский СИ.: Delphi 7. - СПб.: Питер, 2005
- Бобровский СИ.: Delphi 7. - СПб.: Питер, 2006
- Бобровский СИ.: Delphi 7. - СПб.: Питер, 2008
- Боровский А.Н.: Программирование в Delphi 2005. -СПб.: БХВ-Петербург, 2005
- Браун С: Visual Basic 6. - СПб.: Питер, 2007
- Герчикова Т.М.: Как создать мультимедийное приложение на персональном компьютере: Все, что Вы хотели знать, но боялись спросить. - М.: Бук-Пресс и К, 2005
- Гобарева Я.Л.: Технология экономических расчетов средствами MS Exsel. - М.: КноРус, 2006
- Голенищев Э.П.: Информационное обеспечение систем управления. - Ростов н/Д: Феникс. 2010
- ДнепровАХ.: Видеосамоучитель. Microsoft Access 2007. - СПб.: Питер, 2008
- Емельянов в.п.: Основы программирования на Delphi. - М.: Высшая школа, 2005
- Зубов Ал Программирование на Delphi. - СПб.: Питер, 2005
- Избачков Ю.С.: Информационные системы. - СПб.: Питер, 2008
- Избачков Ю.С: Информационные системы. - СПб.:
- Избачков Ю.С: Информационные системы. - СПб.: Питер, 2008
- Корняков В.Н.: Программирование документов и приложений MS Office в Delphi. - СПб.: БХВ-Петербург, 2006
- Кузнецов A.: Microsoft Access 2003. Русская версия. - СПб.-Киев: Питер; ИД BHV, 2006
- Кузовкин А.В.: Управление данными. - М.: Академия. 2010
- Культин Н.Б.: Delphi в задачах и примерах. - СПб.: БХВ-Петербург, 2006
- Малыхина М.П.: Базы данных: основы, проектирование, использование. - СПб.: БХВ-Петербург, 2007
- Микрюков В.Ю.: Алгоритмизация и программирование. - Ростов на/Д: Феникс, 2007
- Михеева Е.В.: Информационные технологии в профессиональной деятельности. - М.: Академия, 2011
- Михеева Е.В.: Информационные технологии в профессиональной деятельности. - М.: Академия. 2010
- Михелёв В.М.: Базы данных и СУБД. - Белгород:
- Могилев А.В.: Информатика. - М.: Академия, 2008
- Могилев А.В.: Информатика. - М.: Академия, 2009
- Под общ. ред. д-ра экон. наук, профессора П.В. Акинина: Информационные системы в экономике: Практикум. - М.: КНОРУС, 2008
- под общ. ред. П.В. Акинина ; сост.: Е.Л. Торопцев и др.; рец.: Р.Г. Закинян, А.н. Байдаков: Информационные системы в экономике. - М.: КноРус, 2008
- Под ред. В. Озерова: Delphi. Советы программистов. - СПб.: Символ-Плюс, 2004
- Под ред. проф. А.Н. Романова, проф. Б.Е. Одинцова: Информационные системы в экономике. - М.: Вузовский учебник, 2008
- Под ред. СВ. Симоновича ; рец.: Каф. Московского гос. технического ун-та им. Н.Э. Баумана, СВ. Калин: Информатика. - СПб.: Питер, 2010
- Под ред. СВ. Симоновича ; рец.: Кафедра САПР Московского гос. технического ун-та им. Н.Э. Баумана, СВ. Калин: Информатика. - СПб.: Питер, 2009
- Ревич, Ю. Нестандартные приемы программирования на Delphi / Ю. Ревич. - М.: БХВ-Петербург, 2008. - 560 c.
- Рец.: П.Л. Салманов и др.; В.И. Чернов и др.: Информатика. - М.: Дрофа, 2008
- Родигин Л.А.: Базы данных для карманного персонального компьютера Pocket PC. - М.: КноРус, 2008
- Сергеев А.В.: Access 2007. Новые возможности. -СПб.: Питер, 2008
- Сорокин А.В.: Delphi. Разработка баз данных. -СПб.: Питер, 2005
- Угринович Н.Д.: Исследование информационных моделей. Элективный курс. - М.: БИНОМ. Лаборатория знаний, 2006
- Угринович Н.Д.: Исследование информационных моделей. Элективный курс. - М.: БИНОМ. Лаборатория знаний, 2004
- Уткин В.Б.: Информационные системы в экономике. - М.: Академия, 2010
- Фаронов В.В.: Delphi 2005. - СПб.: Питер, 2006
- Филимонова Е.В.: Информационные технологии в профессиональной деятельности. - Ростов н/Д: Феникс, 2009
- Флёнов М.Е.: Программирование в Delphi глазами хакера. - СПб.: БХВ-Петербург, 2004
- Харуто А.В.: Музыкальная информатика. - М.: ЛКИ, 2009
- Чиртик А.А.: Delphi. Трюки и эффекты. - СПб.: Питер, 2007
- Чиртик А.А.: Программирование в Delphi. - СПб: Питер, 2010
- Шаронов В.В.: Delphi 2005. Разработка приложений для баз данных и Интернета. - СПб.: Питер, 2006
- Шаронов В.В.: Delphi 2005. Язык, среда, разработка приложений. - СПб.: Питер, 2007
- Шаронов В.В.: Delphi 2005. Язык, среда, разработка приложений. - СПб.: Питер, 2007
- Шаронов В.В.: Delphi. Программирование на языке высокого уровня. - СПб.: Питер, 2008
- Шаронов В.В.: Turbo Pascal. - СПб.: Питер, 2007
- Шаронов В.В.: Программирование баз данных в Delphi 7. - СПб.: Питер, 2006
- Шаронов В.В.: Система программирования Delphi. -СПб.: БХВ-Петербург, 2006
Шлёнов М.Е.: Delphi 2005. Секреты программирования.. - СПб.: Питер, 2006
Приложение 1. Листинг разрабатываемого программного комплекса Инвентаризация
Ниже приводится фрагмент кода модуля основной формы.
unit Osn;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ComCtrls, Buttons, ExtCtrls, DB, ADODB,
frxClass, frxDBSet;
type
TfrmOsn = class(TForm)
DBGrid1: TDBGrid;
txtName: TEdit;
cmbTip: TComboBox;
txtInv: TEdit;
txtSerNom: TEdit;
txtOtdel: TEdit;
txtFIO: TEdit;
txtKol: TEdit;
cboData: TDateTimePicker;
Panel1: TPanel;
cmdPer: TButton;
cmdPred: TButton;
cmdSled: TButton;
cmdPosl: TButton;
cmdDob: TButton;
cmdDel: TBitBtn;
Panel2: TPanel;
txtZakr: TButton;
adoInv: TADOQuery;
dsInv: TDataSource;
lblKol: TLabel;
lblTek: TLabel;
cboDataEdit: TDateTimePicker;
Panel3: TPanel;
Panel4: TPanel;
txtNameF: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
cboTipF: TComboBox;
Label4: TLabel;
txtInvF: TEdit;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
cboData1F: TDateTimePicker;
cboData2F: TDateTimePicker;
Label9: TLabel;
Label10: TLabel;
txtSerNomF: TEdit;
txtOtdelF: TEdit;
txtFIOF: TEdit;
rbNameF: TRadioButton;
rbTipF: TRadioButton;
rbInvF: TRadioButton;
rbSerNomF: TRadioButton;
rbOtdelF: TRadioButton;
rbFIOF: TRadioButton;
chDataF: TCheckBox;
cmdCopy: TButton;
cmdVse: TButton;
cmdFilter: TButton;
cmdPrint: TButton;
frxReport1: TfrxReport;
frxDBDataset1: TfrxDBDataset;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure txtZakrClick(Sender: TObject);
procedure cmdDobClick(Sender: TObject);
procedure cmdDelClick(Sender: TObject);
procedure cmdIsmClick(Sender: TObject);
procedure cmdPerClick(Sender: TObject);
procedure cmdPredClick(Sender: TObject);
procedure cmdSledClick(Sender: TObject);
procedure cmdPoslClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure DBGrid1ColExit(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
procedure cboDataEditChange(Sender: TObject);
procedure cboDataEditDropDown(Sender: TObject);
procedure rbNameFClick(Sender: TObject);
procedure rbTipFClick(Sender: TObject);
procedure rbInvFClick(Sender: TObject);
procedure rbSerNomFClick(Sender: TObject);
procedure rbOtdelFClick(Sender: TObject);
procedure rbFIOFClick(Sender: TObject);
procedure chDataFClick(Sender: TObject);
procedure cmdVseClick(Sender: TObject);
procedure cmdCopyClick(Sender: TObject);
procedure cmdFilterClick(Sender: TObject);
procedure cmdPrintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmOsn: TfrmOsn;
PathBD: string; //Глобальная переменная, пределяющая путь к базе данных.
TekPapka: string;//Глобальная переменная, содержащая текущую папку
implementation
uses UdZap, Kopy_;
{$R *.dfm}
procedure ZapCount();
begin
frmOsn.lblKol.Caption:='Всего записей: '+inttostr(frmOsn.adoInv.RecordCount);//Считываем количество записей в таблице
frmOsn.lblTek.Caption:='Текущая запись: '+inttostr(frmOsn.adoInv.recno);//Считываем номер текущей записи
end;
procedure TfrmOsn.FormClose(Sender: TObject; var Action: TCloseAction);