Файл: "Проектирование реализации операций бизнес-процесса «Управление документооборотом".pdf
Добавлен: 18.06.2023
Просмотров: 93
Скачиваний: 3
СОДЕРЖАНИЕ
Выбор комплекса задач автоматизации
Характеристика существующих бизнес –процессов
Определение Характеристика документооборота, возникающего при решении задачи
Обоснование проектных решений по информационному обеспечению
Обоснование проектных решений по программному обеспечению
Информационная модель и её описание
Характеристика нормативно-справочной, входной и оперативной информации
Характеристика результатной информации
Общие положения (дерево функций и сценарий диалога)
Структурная схема пакета (дерево вызова программных модулей)
При нажатии на кнопку «Закрыть», расположенную в нижней части окна, происходит переход к главному окну программы.
Акты выполненных работ. Окно «Акты выполненных работ» предназначено для ввода данных актов выполненных работ, рисунок 2.16.
Рисунок 2.16 - Окно «Акты выполненных работ»
Верхняя таблица содержит информацию об актах выполненных работ (клиент, дата акта). Дата вводятся в соответствующее поле ввода под таблицей. Наименование клиента выбирается из справочника «Клиенты».
Под таблицей расположена секция «Фильтрация записей». Фильтрация может осуществляться по следующим полям: наименование клиента, дата.
Нижняя таблица содержит информацию об израсходованных материалах по акту (наименование, количество). Наименование оборудования выбирается из справочника «Оборудование и расходные материалы».
Все операции с записями осуществляются с помощью кнопок под таблицами.
При нажатии на кнопку "Печать" открывается приложение Microsoft Word, в котором автоматически формируется выбранный акт выполненных работ. Сформированный документ можно распечатать или сохранить на диске.
При нажатии на кнопку «Закрыть», расположенную в нижней части окна, происходит переход к главному окну программы.
Отчет по договорам. Окно «Отчет по договорам» предназначено для формирования отчетов по договорам, рисунок 2.17.
Рисунок 2.17 - Окно «Отчет по договорам»
Для формирования отчета нужно выбрать клиента из выпадающего списка «Выберете клиента», ввести начало и конец периода, за который будет формироваться отчет, и нажать кнопку «Отчет». В результате заполнится таблица, содержащая информацию о договорах заключенных с выбранным клиентом за указанный период времени (предмет договора, дата заключения договора, сумма договора). В нижней части окна отображается итоговая сумма, на которую заключено договоров с выбранным клиентом за указанный период.
При нажатии на кнопку "Печать" открывается приложение Microsoft Word, в котором автоматически формируется отчет по договорам. Сформированный документ можно распечатать или сохранить на диске.
При нажатии на кнопку «Закрыть», расположенную в нижней части окна, происходит переход к главному окну программы.
Отчет по расходу материалов. Окно «Отчет по расходу материалов» предназначено для формирования отчетов по расходу материалов, рисунок 2.18.
Рисунок 2.18 - Окно «Отчет по расходу материалов»
Для формирования отчета расхода по всем материалам необходимо нажать кнопку «Отчет». В результате заполниться таблица, содержащая информацию об израсходованных материалах (наименование материала, расход). Для ограничения результатов отчета по периоду времени необходимо ввести начало и конец периода. Для ограничения результатов отчета по конкретному материалу необходимо нажать переключатель «Ограничить по материалу» и выбрать наименование материала из выпадающего списка «Выберете наименование материала».
Нажатие кнопки «Очистить» очищает поля ввода периода.
При нажатии на кнопку "Печать" открывается приложение Microsoft Word, в котором автоматически формируется отчет по расходу материалов. Сформированный документ можно распечатать или сохранить на диске.
При нажатии на кнопку «Закрыть», расположенную в нижней части окна, происходит переход к главному окну программы.
ЗАКЛЮЧЕНИЕ
Курсовая работа ставила целью разработать автоматизированную систему документооборота для организации.
В результате выполнения дипломного проекта были решены следующие задачи:
- Проведен анализ предметной области;
- Построена функциональная модель «As IS» по результатам обследования предметной области;
- Выявлены недостатки и построена функциональная модель «To Be»;
- Построена информационная модель данных;
- Выполнено проектирование системы, которая позволяет более эффективно осуществлять ведение документооборота в рамках ведения проектов, а также подготовку и печать выходных документов;
- Разработана система документооборота с учетом выявленных требований и пожеланий;
- Разработанная автоматизированная система управлением документооборотом внедрена на предприятии.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.
- Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 с., ил
- Баженова И. Ю. , Основы проектирования приложений баз данных, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2008 г., , 328 стр.
- Вендров А.М., CASE-технологии. Современные методы и средства проектирования информационных систем - М.: Финансы и статистика, 2007 г, 456 стр.
- Гашков С. Б., Э. А. Применко, М. А. Черепнев Криптографические методы защиты информации, М, Издательство: Академия, 2010 г., 304 стр.
- Гвоздева Т. В., Б. А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2009 г., 512 стр.
- Голицына О. Л., И. И. Попов, Н. В. Максимов, Т. Л. Партыка, Информационные технологии, М, Издательство Инфра-М, 2009 г., 608 стр.
- Дейв Крейн, Эрик Паскарелло, Даррен Джеймс. AJAX в действии: Учебник – М.: Вильямс, 2007. 450 – 490 с.
- Дэвид Флэнаган. JavaScript. Подробное руководство: Учебник – М.: Символ Плюс, 2008. 243 – 249 с.
- Емельянова Н. З., Партыка Т. Л., И. И. Попов, Проектирование информационных систем, М, Издательство: Форум, 2009 г., 432 стр.
- Емельянова Н. З., Т. Л. Партыка, И. И. Попов, М, Издательство Форум, 2007 г., , 416 стр.
- Илюшечкин В. М. , Основы использования и проектирования баз данных, М, Издательство Юрайт, 2010 г., 224 стр.
- Котляров В. П., Т. В. Коликова, Основы тестирования программного обеспечения, Издательства: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2009 г., 288 стр.
- Кристиан Дари, Богдан Бринзаре, Филип Черчез-Тоза, Михай Бусика. AJAX и PHP. Разработка динамических веб-приложений: Учебник – М.: Символ Плюс, 2007, 289 стр.
- Кузин А. В., С. В. Левонисова, Базы данных, М, Издательство: Академия, 2008 г., 320 стр.
- Кузнецов С. Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007 г., 488 стр.
- Молчанов А. Ю., Системное программное обеспечение, М, Издательство: Питер, 2010 г., 400 стр.
- Незнанов А. А., Программирование и алгоритмизация, М, Издательство: Академия, 2010 г., 304 стр.
- Пирогов В. Ю., Информационные системы и базы данных. М, Организация и проектирование, Издательство: БХВ-Петербург, 2009 г.528 стр.
- Предметно-ориентированные экономические информационные системы, М, Издательство: Финансы и статистика, 2007 г., 224 стр.
- Реляционные базы данных: практические приемы оптимальных решений. – СПб.: БХВ-Петербург, 2009 – 400с.:ил;
- Симионов Ю.Ф., Боромотов В.В. Информационный менеджмент. — Ростов н.Д: Феникс, 2008, 250с., ил.;
- Чипига А. Ф., Информационная безопасность автоматизированных систем, М, Издательство: Гелиос АРВ, 2010 г., 336 стр.
ПРИЛОЖЕНИЕ А - ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ
unit MainClients;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,
addsorce, DateUtils, parampoisk, ToolWin, ComCtrls, StdCtrls, jpeg, ExtCtrls,
RzButton, Buttons, RzSpnEdt, RzPanel;
type
TMainClientsForm = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
MainMenu1: TMainMenu;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
DataSource1: TDataSource;
ADOTable2: TADOTable;
ADOTable3: TADOTable;
ADOTable4: TADOTable;
ADOTable5: TADOTable;
ADOTable6: TADOTable;
ADOTable7: TADOTable;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
N18: TMenuItem;
ADOTable8: TADOTable;
N24: TMenuItem;
Image1: TImage;
ToolBar1: TToolBar;
RzRapidFireButton1: TRzRapidFireButton;
RzRapidFireButton2: TRzRapidFireButton;
RzRapidFireButton3: TRzRapidFireButton;
RzRapidFireButton4: TRzRapidFireButton;
RzRapidFireButton5: TRzRapidFireButton;
DataSource2: TDataSource;
h: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N19: TMenuItem;
N25: TMenuItem;
procedure N26Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure hClick(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure RzRapidFireButton5Click(Sender: TObject);
procedure RzRapidFireButton4Click(Sender: TObject);
procedure RzRapidFireButton3Click(Sender: TObject);
procedure RzRapidFireButton2Click(Sender: TObject);
procedure RzRapidFireButton1Click(Sender: TObject);
procedure N12Click(Sender: TObject);
function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;
function IsFormOpen(const FormName : string): Boolean;
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure N4Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N19Click(Sender: TObject);
private
{ Private declarations }
procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);
public
{ Public declarations }
end;
var
MainClientsForm: TMainClientsForm;
nastr:tinifile;
DirectoryForm : TDBDirectoryTemplateForm;
prosmForm: Taddform;
mainflag:boolean;
nomer_poisk:word;
flag1,flag2:boolean;
s:string;
var dom_tel,mob_tel:string;
adres,notes:string;
stag:real;
rogd:tdate;
var education,vuz, fakultet,specialnost,kurs:string;
data_vuz, data_kurs:tdate;
lingvo,lingvo_k, comp, comp_k :string;
idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;
var oblast,profesiya:string;
implementation
{$R *.dfm}
function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;
var
i: Integer;
begin
Result := False;
for i := Pred(AFormName.MDIChildCount) DownTo 0 do
if (AFormName.MDIChildren[i].Name = AMDIChildName) then
begin
Result := True;
AFormName.MDIChildren[i].Free;
end;
end;
function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;
var
i: Integer;
begin
Result := False;
for i := Screen.FormCount - 1 DownTo 0 do
if (Screen.Forms[i].Name = FormName) then
begin
Result := True;
Break;
end;
end;
procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);
begin
//создаем форму
DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);
DirectoryForm.TableDBGrid.DataSource:=ds;
DirectoryForm.Top:=0;
DirectoryForm.Left:=0;
DirectoryForm.Caption:=sCaption;
end;
procedure TMainClientsForm.N12Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Неотработанные документы';
nomer_poisk:=3;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=false;
end;
procedure TMainClientsForm.N6Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;
mainclientsform.ADOTable1.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem(, mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N7Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;
mainclientsform.ADOTable2.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Обязательства', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N8Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;
mainclientsform.ADOTable3.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Клиенты', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N9Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;
mainclientsform.ADOTable4.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Адреса', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);
begin
MainClientsForm.N3Click(Sender);
end;
procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);
begin
MainClientsForm.N4Click(Sender);
end;
procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);
begin
MainClientsForm.N15Click(Sender);
end;
procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);
begin
MainClientsForm.N14Click(Sender);
end;
procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);
begin
MainClientsForm.Close;
end;
procedure TMainClientsForm.N10Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;
mainclientsform.ADOTable5.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N20Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;
mainclientsform.ADOTable6.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N21Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;
mainclientsform.ADOTable7.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Запросы', mainclientsform.DataSource1);
end;
procedure TMainClientsForm.N23Click(Sender: TObject);
begin
mainclientsform.N3Click(Sender);
mainflag:=true;
flag1:=true;
flag2:=false;
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.Height:=800;
mainclientsform.DataSource1.DataSet.Last();
end;
procedure TMainClientsForm.N24Click(Sender: TObject);
begin
mainclientsform.N6Click(Sender);
mainflag:=true;
flag1:=false;
flag2:=true;
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.GroupBox7.Visible:=true;
ProsmForm.Height:=500;
ProsmForm.Width:=800;
mainclientsform.DataSource1.DataSet.Last();
end;
procedure TMainClientsForm.N25Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='';
nomer_poisk:=7;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=true;
Poisk.Button1.Caption:='Подготовить данные';
end;
procedure TMainClientsForm.N26Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Отчеты;
nomer_poisk:=8;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=false;
Poisk.Button1.Caption:='Подготовить данные';
end;
procedure TMainClientsForm.FormCreate(Sender: TObject);
var NewConnection: Widestring;
begin
ADOConnection1.Close;
ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+GetCurrentDir+'\baza.mdb;';
ADOConnection1.Open;
MainClientsForm.ADOTable1.Active:=true;
MainClientsForm.ADOTable2.Active:=true;
MainClientsForm.ADOTable3.Active:=true;
MainClientsForm.ADOTable4.Active:=true;
MainClientsForm.ADOTable5.Active:=true;
MainClientsForm.ADOTable6.Active:=true;
MainClientsForm.ADOTable7.Active:=true;
MainClientsForm.ADOTable8.Active:=true;
end;
procedure TMainClientsForm.hClick(Sender: TObject);
begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,'Резолюция ');
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox3.Visible:=true;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.GroupBox7.Visible:=false;
ProsmForm.Caption:=' / запрос';
ProsmForm.Height:=400;
end;
procedure TMainClientsForm.N3Click(Sender: TObject);
begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,');
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox3.Visible:=false;