Файл: Проектирование информационной системы по взаимодействию с поставщиками.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 238

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Контрольный пример

Работа в системе начинается с главного окна, которое содержит таблицу заказов и таблицу заказанного МТО. На рисунке 10 представлено окно работы со справочником статусов заказов. Для открытия данного окна в главном меню требуется выбрать пункт справочники и выбрать тип – «статусы». Для редактирования записи в справочнике требуется вызвать контекстное меню таблицы статусов и выбрать один из пунктов. Данные можно сохранить или отменить изменения в базе.

Рисунок 10 – Окно справочника категорий

Далее, добавим данные о поставщиках. В главном меню выбираем пункт «поставщики и МТО». Выбираем подпункт «поставщики». Откроется окно таблицы поставщиков – рисунок 11.

Рисунок 11 – Окно таблицы поставщиков

Можно вызвать окно редактирования записи о поставщике через контекстное меню таблицы поставщиков – рисунок 12.

Рисунок 12 – Окна редактирования записи о поставщике

Для работы с МТО, требуется в главном меню выбрать пункт «поставщики и МТО» и выбрать «МТО». Откроется окно таблицы МТО, которое представлено на рисунке 13. Для редактирования записи об МТО, требуется вызвать контекстное меню таблицы МТО.

Рисунок 13 – Окно таблицы МТО

Для редактирования данных о поставляемом МТО требуется в контекстном окне таблицы МТО выбрать пункт «поставляемое МТО». Окно представлено на рисунке 14.

Рисунок 14 – Окно поставляемого МТО

Для редактирования данных о требованиях на МТО требуется в контекстном окне таблицы МТО выбрать пункт «требования МТО». Окно представлено на рисунке 15.

Рисунок 15 – Окно требований на МТО

На рисунке 16 представлено главное окно системы. Откуда доступно ведение заказов. На рисунке 17 представлено окно редактирования записи о заказе. На рисунке 18 представлено окно редактирования записи о заказанном МТО.

Рисунок 16 – Главное окно

Рисунок 17 – Окно работы о записи заказа


Рисунок 18 – Окно работы о записи заказанного МТО

Специалисту по снабжению доступно формирование отчётов:

  • отчёт о требованиях МТО
  • отчёт о заказах по статусу за период;
  • отчёт о поставщике.

На рисунках 19 – 21 представлены примеры сформированных отчётов.

Рисунок 19 – Приме отчёта о требованиях МТО

Рисунок 20 – Пример отчёта о заказах по статусу за период

Рисунок 21 – Пример отчёта о поставщике

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

Заключение

В работе стояла задача автоматизации управления закупками и поставщиками. Была составлена SADT-модель процесса управления поставками и поставщиками. Выявлены проблемы в данном процессе в базовом варианте:

  • долгий поиск информации о заказах и поставщиках;
  • сложность отслеживания требований на МТО;
  • сложность ведения списков поставляемого МТО;
  • сложность определения надёжности заказчика.

В ходе работы с темой были изучены следующие системы: «ЛотЭксперт SRM»; «iTender SRM»; «APS SMART».

Выявлены следующие функциональные требования:

  • учёт МТО;
  • учёт поставщиков;
  • учёт требований на МТО;
  • учёт поставляемого МТО;
  • ведение заказов и заказанного МТО;
  • ведение справочной информации;
  • формирование отчётов.

Определено информационное обеспечение задачи. Построена логическая модель БД. Спроектирована физическая модель БД, определены таблицы БД:

  • поставщик;
  • МТО;
  • требование;
  • поставляемое;
  • заказ;
  • заказанное;
  • категория;
  • бренд;
  • статус.

Был спроектирован сценарий диалога. Определены программные модули ИС.

Проведено тестирования ИС. Составлен контрольный пример работы в ИС. Система соответствует поставленным требованиям.

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

  1. Амбалова З.А. Сравнение методологий разработки интеллектуальных систем в сфере управления комплексными проектами // В сб.: Инно-вационные механизмы решения проблем научного развития сборник статей по итогам Международной научно-практической конференции. 2017. С. 139-141.
  2. Буренин А.Н., Легков К.Е., Нестеренко О.Е. Методический подход к организации обработки оперативной информации распределенными вычислительными комплексами специального назначения // Наукоемкие технологии в космических исследованиях Земли. 2016. Т. 8. № 6. С. 18-30.
  3. Вендров А.М. CASE – технологии. Современные методы и средства проектирования информационных систем – М.: Финансы и статистика, 2017 г. - 230 с.
  4. Галас В.П. Вычислительные системы, сети и телекоммуникации. Часть 2. Сети и телекоммуникации. Учебник. В 2 ч. – Владимир: Изд-во ВлГУ, 2017. – 284 с.
  5. Грекул В.И. Проектирование информационных систем / Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. – М.: Интернет-университет информационных технологий, 2018 г. - 321 с.
  6. Добжинская М.А. Обзор существующих систем электронного документооборота // Научное сообщество студентов XXI столетия. Технические науки: сб. ст. по мат. XLIII междунар. студ. науч.-практ. конф. № 6(42). [Электронный ресурс]. – URL: https://sibac.info/archive/technic/6(42).pdf (дата обращения: 04.06.2020)
  7. Дубейковский В.И. Эффективное моделирование с CA ErwinProcessModeler (BPwin; AllfusionProcessModeler). 2-е изд., исправлен-ное и дополненное / В.И. Дубейковский. – М.: Диалог-МИФИ, 2015. – 384 с.
  8. Дунаев В.В. Базы данных. Язык SQL для студента – М.: БХВ, 2015. – 196 с.
  9. Иришкова К.Д., Найдис О.А. Исследование вариантов разработки и дальнейшей поддержки автоматизированных систем обработки информации // АНИ: экономика и управление. 2018. №1 (22). URL: https://cyberleninka.ru/article/n/issledovanie-variantov-razrabotki-i-dalneyshey-podderzhki-avtomatizirovannyh-sistem-obrabotki-informatsii (дата обращения: 03.06.2020).
  10. Кириллов В.В. Введение в реляционные базы данных. Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов - СПб.: БХВ-Петербург, 2015 г. - 464 c.
  11. Коваленко В. Проектирование информационных систем. - М.: Форум, 2018. - 320с.
  12. Культин Н.Б. Основы программирования в Embarcadero / Н.Б. Культин - СПб.:БХВ-Петербург, 2015. - 416с.
  13. Култыгин О.П. Администрирование баз данных. СУБД MS SQL Server – М: Московская финансово-промышленная академия, 2016. – 232 с.
  14. Липин Ю.Н. Разработка ПО (Delphi) – М.: LAP Publishing, 2017. – 300 с.
  15. Пирогов В.Ю. Некоторые особенности преподавания языка управления базами данных // Мир науки. – 2018. Т.6. №6. С.55.
  16. Стафиевская М.В., Петрова В.О. Моделирование бизнес-процессов как инструмент повышения эффективности деятельности организаций // Вестник Марийского государственного университета. Серия: Сельскохозяйственные науки. Экономические науки. 2018. № 2 (14). С. 126-134.

Приложение

Исходный код приложения

unit uMain;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, Vcl.Buttons,

Vcl.Menus, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids, Vcl.ExtCtrls;

type

TfrmMain = class(TForm)

mm: TMainMenu;

miMain: TMenuItem;

miLibrary: TMenuItem;

miReport: TMenuItem;

miSettings: TMenuItem;

miPostavshiki: TMenuItem;

miMTO: TMenuItem;

miClose: TMenuItem;

miBlank: TMenuItem;

miCategory: TMenuItem;

miBrand: TMenuItem;

miStatus: TMenuItem;

miReport0: TMenuItem;

miReport1: TMenuItem;

miReport2: TMenuItem;

miLinking: TMenuItem;

pnlFilter: TPanel;

pnlMain: TPanel;

pnlSub: TPanel;

grdMain: TDBGrid;

grdSub: TDBGrid;

cbStatus: TDBLookupComboBox;

cbPostavshik: TDBLookupComboBox;

Label1: TLabel;

Label2: TLabel;

pmMain: TPopupMenu;

pmSub: TPopupMenu;

btnSearch: TBitBtn;

btnCancel: TBitBtn;

miAddMain: TMenuItem;

miEditMain: TMenuItem;

miDeleteMain: TMenuItem;

miAddSub: TMenuItem;

miEditSub: TMenuItem;

miDeleteSub: TMenuItem;

procedure miLinkingClick(Sender: TObject);

procedure miCloseClick(Sender: TObject);

procedure miAddSubClick(Sender: TObject);

procedure miEditSubClick(Sender: TObject);

procedure miDeleteSubClick(Sender: TObject);

procedure pmSubPopup(Sender: TObject);

procedure pmMainPopup(Sender: TObject);

procedure miReportClick(Sender: TObject);

procedure miMTOClick(Sender: TObject);

procedure miDeleteMainClick(Sender: TObject);

procedure btnSearchClick(Sender: TObject);

procedure btnCancelClick(Sender: TObject);

procedure FormShow(Sender: TObject);

procedure miAddMainClick(Sender: TObject);

procedure miEditMainClick(Sender: TObject);

procedure miPostavshikiClick(Sender: TObject);

procedure miStatusClick(Sender: TObject);

procedure miBrandClick(Sender: TObject);

procedure miCategoryClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmMain: TfrmMain;

implementation

{$R *.dfm}

uses

uDM, uZakazano, uMTO, uReport, uZakaz, uPostavshik, uStatus, uBrand, uCategory;

procedure TfrmMain.btnCancelClick(Sender: TObject);

begin

DM.tblStatus.First;

DM.tblStatus.Last;

DM.tblPostavshik.First;

DM.tblPostavshik.Last;

grdMain.DataSource.DataSet.Filtered:=false;

grdMain.DataSource.DataSet.Filter:='';

grdMain.DataSource.DataSet.Filtered:=true;

end;

procedure TfrmMain.btnSearchClick(Sender: TObject);

var

str: string;

begin

str:='';

if cbStatus.Text<>'' then

str:='([Код_статуса]='+DM.tblStatus.FieldByName('Код_статуса').AsString+')';

if cbPostavshik.Text<>'' then

if str<>'' then str:='('+str+') and ([Код_поставщика]='+DM.tblPostavshik.FieldByName('Код_поставщика').AsString+')'

else str:='([Код_поставщика]='+DM.tblPostavshik.FieldByName('Код_поставщика').AsString+')';

grdMain.DataSource.DataSet.Filtered:=false;

grdMain.DataSource.DataSet.Filter:=str;

grdMain.DataSource.DataSet.Filtered:=true;

end;

procedure TfrmMain.FormShow(Sender: TObject);

begin

btnCancel.Click;

end;

procedure TfrmMain.miAddMainClick(Sender: TObject);

var

frm: TfrmZakaz;

begin

Application.CreateForm(TfrmZakaz,frm);

frm.Tag:=0;

DM.tblZakaz.Append;

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.miAddSubClick(Sender: TObject);

var

frm: TfrmZakazano;

begin

Application.CreateForm(TfrmZakazano, frm);

frm.Tag:=0;

DM.tblZakazano.Append;

frm.ShowModal;

if frm.ModalResult=mrOk then DM.CalcSum;

frm.Free;

end;

procedure TfrmMain.miBrandClick(Sender: TObject);

var

frm: TfrmBrand;


begin

Application.CreateForm(TfrmBrand, frm);

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.miCategoryClick(Sender: TObject);

var

frm: TfrmCategory;

begin

Application.CreateForm(TfrmCategory, frm);

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.miCloseClick(Sender: TObject);

begin

Application.Terminate;

end;

procedure TfrmMain.miDeleteMainClick(Sender: TObject);

begin

if MessageDlg('Вы действительно хотите удалить запись?',mtWarning,mbOkCancel,0)=mrOk then

grdMain.DataSource.DataSet.Delete;

end;

procedure TfrmMain.miDeleteSubClick(Sender: TObject);

begin

if MessageDlg('Вы действительно хотите удалить запись?',mtWarning,mbOkCancel,0)=mrOk then

begin

grdSub.DataSource.DataSet.Delete;

DM.CalcSum;

end;

end;

procedure TfrmMain.miEditMainClick(Sender: TObject);

var

frm: TfrmZakaz;

begin

Application.CreateForm(TfrmZakaz,frm);

frm.Tag:=1;

DM.tblZakaz.Edit;

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.miEditSubClick(Sender: TObject);

var

frm: TfrmZakazano;

begin

Application.CreateForm(TfrmZakazano, frm);

frm.Tag:=1;

DM.tblZakazano.Edit;

frm.ShowModal;

if frm.ModalResult=mrOk then DM.CalcSum;

frm.Free;

end;

procedure TfrmMain.miLinkingClick(Sender: TObject);

begin

DM.LinkedBase;

end;

procedure TfrmMain.miMTOClick(Sender: TObject);

var

frm: TfrmMTO;

begin

Application.CreateForm(TfrmMTO, frm);

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.miPostavshikiClick(Sender: TObject);

var

frm: TfrmPostavshik;

begin

Application.CreateForm(TfrmPostavshik, frm);

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.miReportClick(Sender: TObject);

var

frm: TfrmReport;

begin

Application.CreateForm(TfrmReport, frm);

frm.Tag:=(Sender as TMenuItem).Tag;

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.miStatusClick(Sender: TObject);

var

frm: TfrmStatus;

begin

Application.CreateForm(TfrmStatus, frm);

frm.ShowModal;

frm.Free;

end;

procedure TfrmMain.pmMainPopup(Sender: TObject);

begin

miEditMain.Visible:=grdMain.DataSource.DataSet.RecordCount>0;

miDeleteMain.Visible:=grdMain.DataSource.DataSet.RecordCount>0;

end;

procedure TfrmMain.pmSubPopup(Sender: TObject);

begin

miAddSub.Visible:=grdMain.DataSource.DataSet.RecordCount>0;

miEditSub.Visible:=grdSub.DataSource.DataSet.RecordCount>0;

miDeleteSub.Visible:=grdSub.DataSource.DataSet.RecordCount>0;

end;

end.

unit uZakazano;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Mask, Vcl.DBCtrls,

Vcl.Buttons, Vcl.ExtCtrls;

type

TfrmZakazano = class(TForm)

pnlMain: TPanel;

pnlButton: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

btnSave: TBitBtn;

btnCancel: TBitBtn;

btnSelect: TBitBtn;

txtNameMTO: TDBText;

edtPrice: TDBEdit;

edtCnt: TDBEdit;

procedure btnSelectClick(Sender: TObject);

procedure btnSaveClick(Sender: TObject);

procedure btnCancelClick(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

frmZakazano: TfrmZakazano;

implementation

{$R *.dfm}

uses

uDM, uSelectMTO;

procedure TfrmZakazano.btnCancelClick(Sender: TObject);

begin

DM.tblZakazano.Cancel;

ModalResult:=mrCancel;

end;

procedure TfrmZakazano.btnSaveClick(Sender: TObject);

begin

DM.tblZakazano.Post;

ModalResult:=mrOk;

end;

procedure TfrmZakazano.btnSelectClick(Sender: TObject);

var

frm: TfrmSelectMTO;

begin

Application.CreateForm(TfrmSelectMTO, frm);