Автоматизированная система анализа государственных контрактов
Разработка автоматизированной системы анализа исполнения государственных контрактов и договоров отдела информатизации Управления Федеральной службы судебных приставов. Технология создания программных средств и баз данных. Безопасность приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 11.04.2012 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
внешний ключ на таблицу PRILOZH
INTEGER
TEX_ZAD_ID
внешний ключ на таблицу TEX_ZAD
INTEGER
Таблица VID_RAB используется для хранения данных о видах работ и имеет следующие поля (таблица 5):
Таблица 5
Имя |
Описание |
Тип |
|
Id |
идентификатор вида работ (первичный ключ) |
INTEGER |
|
VID_RAB |
вид работ |
VARCHAR |
|
NAIM_IZD |
наименование изделия (вторичный ключ) |
INTEGER |
|
GOS_CONTR_ID |
внешний ключ на таблицу GOS_CONTR |
INTEGER |
|
SCH_F_ID |
внешний ключ на таблицу SCH_F |
INTEGER |
|
NAIM_IZD_ID |
внешний ключ на таблицу SCH_F |
INTEGER |
Таблица TEX_ZAD используется для хранения данных о технических заданиях для будущих государственных контрактов и договоров и имеет следующие поля (таблица 6):
Таблица 6
Имя |
Описание |
Тип |
|
Id |
идентификатор технического задания (первичный ключ) |
INTEGER |
|
PODR |
Внешний ключ на таблицу PODRAZDELENIYA |
INTEGER |
|
PREDM |
Предмет договора, государственного контракта |
VARCHAR |
|
DATA_RAZM |
Дата размещения заявки |
DATA |
|
DATA_RASSM |
Дата рассмотрения заявки |
DATA |
|
DATA_ZAKL |
Дата заключения контракта |
DATA |
|
N_KZ |
Номер котировочной заявки |
INTEGER |
|
PREDM_ID |
Внешний ключ на таблицу PREDM |
INTEGER |
|
N_GK_ID |
Внешний ключ на таблицу GOS_CONTR |
INTEGER |
Таблица GOS_CONTR используется для хранения данных о государственных контрактах и имеет следующие поля (таблица 7):
Таблица 7
Имя |
Описание |
Тип |
|
Id |
идентификатор государственных контрактов (первичный ключ) |
INTEGER |
|
N |
Номер государственного контракта |
INTEGER |
|
DATA |
Дата |
DATA |
|
ISP |
Исполнитель |
INTEGER |
|
VID_RAB |
Вид работ |
INTEGER |
|
PODR |
Подразделение |
INTEGER |
|
SUMM |
Сумма |
INTEGER |
|
ISPOLN_ID |
Внешний ключ на таблицу ISPOLN |
INTEGER |
|
VID_RAB_ID |
Внешний ключ на таблицу VID_RAB |
INTEGER |
|
PODRAZDELENIYA_ID |
Внешний ключ на таблицу PODRAZDELENIYA |
INTEGER |
Таблица PRILOZH используется для хранения данных о приложениях к государственным контрактам и имеет следующие поля (таблица 8):
Таблица 8
Имя |
Описание |
Тип |
|
Id |
идентификатор приложений |
INTEGER |
|
N_DOG |
Номер договора |
INTEGER |
|
PREDM |
Предмет договора |
INTEGER |
|
VID_RAB |
Вид работ |
INTEGER |
|
NAIM_IZD |
Наименование изделия |
INTEGER |
|
ED_IZM |
Единица измерения |
VARCHAR |
|
KOL |
Количество |
INTEGER |
|
STOIM |
Стоимость |
INTEGER |
|
SUMM |
Сумма |
INTEGER |
|
PREDM_ID |
Внешний ключ на таблицу PREDMET |
INTEGER |
|
VID_RAB_ID |
Внешний ключ на таблицу VID_RAB |
INTEGER |
Таблица SCH_F используется для хранения данных о счет-фактурах и имеет следующие поля (таблица 9):
Таблица 9
Имя |
Описание |
Тип |
|
Id |
идентификатор счет-фактур |
INTEGER |
|
N_SCH_F |
Номер счет-фактуры |
INTEGER |
|
N_AKTA |
Номер акта |
INTEGER |
|
N_DOG |
Номер договора |
INTEGER |
|
DATA |
Дата |
||
ISP |
Исполнитель |
INTEGER |
|
PODR |
Подразделение |
INTEGER |
|
KOL |
Количество |
INTEGER |
|
VID_RAB |
Вид работ |
INTEGER |
|
NAIM_IZD |
Наименование изделия |
INTEGER |
|
PRICE |
Стоимость |
INTEGER |
|
STOIM |
Сумма |
INTEGER |
|
ISPOLN_ID |
Внешний ключ на таблицу ISPOLN |
INTEGER |
|
PODRAZDELENIYA_ID |
Внешний ключ на таблицу PODRAZDELENIYA |
INTEGER |
|
VID_RAB_ID |
Внешний ключ на таблицу VID_RAB |
INTEGER |
|
NAIM_IZD_ID |
Внешний ключ на таблицу NAIM_IZD |
INTEGER |
Реляционные связи между вышеперечисленными таблицами представлены на рисунке 5.2.
Рис. 5.2. Реляционная схема данных
5.2 Создание автоматизированной системы
Доступ к данным этой СУБД необходимо осуществлять с помощью SQLdb. В качестве компонентов доступа к базе данных использовался набор IBConnection. SQLdb - это интерфейс прикладного уровня, который используется разработчиками приложений для доступа к данным.
В разработке программы использовались следующие компоненты:
- IBConnection - этот компонент используется другими компонентами для подключения к источникам данных SQLdb;
- TSQLQuery - потомок TDataset и он представляет данные из SQL запроса в виде таблицы. Также этот компонент можно использовать для выполнения запроса, не возвращающих данных.
- TSQLTransaction - cоздает транзакцию на сервере базы данных.
- TDataSource - обеспечивает взаимодействие набора данных с компонентами отображения данных;
- TMainMenu - определяет главное меню формы;
- TPanel - представляет собой контейнер общего назначения;
- TEdit - представляет собой однострочный редактор текста. С его помощью можно вводить и / или отображать достаточно длинные текстовые строки;
- TDBLookupComboBox - реализация списков подстановки в текущий набор данных из другого набора данных;
- TDBEdit - представляет собой однострочный редактор текста, привязанный к определенному столбцу таблицы базы данных, позволяющий вводить и редактировать данные;
- TDBGrid - используется для манипуляций с данными, извлеченными из базы данных и представленными в виде таблицы;
- TButton - широко используются для управления программами;
- TPopupMenu - используются для создания вспомогательных (локальных) меню, появляющихся после нажатия правой кнопки мыши. В отличие от главного меню, вспомогательное меню может быть создано для любого оконного компонента;
- TLabel - предназначен для размещения на форме различного рода текстовых надписей;
Главной задачей программирования интерфейса базы данных является предоставление пользователям удобных инструментов для реализации своих производственных задач. Программно реализованы следующие основные моменты:
1. Подключение к базе данных:
procedure TForm1. Button1Click (Sender: TObject);
begin
try
dm.IBConnection1. DatabaseName:=FileNameEdit1. FileName;
except
showmessage ('неверный путь');
exit;
end;
try
dm.IBConnection1. Connected:=true;
except
ShowMessage (' Выберите файл базы данных (BASE.FDB)');
exit;
end;
try
dm.SQLTransaction1. Active:=true;
dm.SQLQuery1. Active:=true;
dm.SQLQuery2. Active:=true;
dm.SQLQuery3. Active:=true;
dm.SQLQuery4. Active:=true;
dm.SQLQuery5. Active:=true;
dm.SQLQuery6. Active:=true;
dm.SQLQuery7. Active:=true;
dm.SQLQuery8. Active:=true;
dm.SQLQuery9. Active:=true;
dm.SQLQuery10. Active:=true;
dm. Datasource1. Enabled:=true;
dm. Datasource2. Enabled:=true;
dm. Datasource3. Enabled:=true;
dm. Datasource4. Enabled:=true;
dm. Datasource5. Enabled:=true;
dm. Datasource6. Enabled:=true;
dm. Datasource7. Enabled:=true;
dm. Datasource7. Enabled:=true;
dm. Datasource8. Enabled:=true;
dm. Datasource9. Enabled:=true;
dm. Datasource10. Enabled:=true;
label1. Caption:='состояние: подключено';
MenuItem1. Visible:=true;
MenuItem7. Visible:=true;
MenuItem12. Visible:=true;
except
showmessage ('Ошибка подключения к базе');
exit;
end;
end;
procedure TForm1. Button2Click (Sender: TObject);
begin
dm. Datasource1. Enabled:=false;
dm. Datasource2. Enabled:=false;
dm. Datasource3. Enabled:=false;
dm. Datasource4. Enabled:=false;
dm. Datasource5. Enabled:=false;
dm. Datasource6. Enabled:=false;
dm. Datasource7. Enabled:=false;
dm. Datasource8. Enabled:=false;
dm. Datasource9. Enabled:=false;
dm. Datasource10. Enabled:=false;
dm.SQLQuery1. Active:=false;
dm.SQLQuery2. Active:=false;
dm.SQLQuery3. Active:=false;
dm.SQLQuery4. Active:=false;
dm.SQLQuery5. Active:=false;
dm.SQLQuery6. Active:=false;
dm.SQLQuery7. Active:=false;
dm.SQLQuery8. Active:=false;
dm.SQLQuery9. Active:=false;
dm.SQLQuery10. Active:=false;
dm.SQLTransaction1. Active:=false;
dm.IBConnection1. Connected:=false;
MenuItem1. Visible:=false;
MenuItem7. Visible:=false;
MenuItem12. Visible:=false;
label1. Caption:='состояние: отключено';
end;
2. Вызов необходимых форм через пункты меню главной формы, появляющегося после подключения к базе данных:
procedure TForm1. MenuItem2Click (Sender: TObject);
begin
try
dm.IBConnection1. Connected:=true;
dm.SQLQuery2. Active:=true;
dm. Datasource2. Enabled:=true;
Application. CreateForm (TForm2, Form2);
form2. Show;
except
ShowMessage (' Подключитесь к базе');
exit;
end;
end;
3. Сортировка данных при клике на шапку таблицы:
procedure TForm2.DBGrid1TitleClick (Column: TColumn);
begin
if Column. Field. Tag = 0 then
begin
dm.SQLQuery2. Active:=false;
dm.SQLQuery2.SQL. Clear;
dm.SQLQuery2.SQL. Add ('select * from podrazdeleniya ORDER BY ' + Column. FieldName);
dm.SQLQuery2. Active:=true;
dm. Datasource2. Enabled:=true;
column. Title. Font. Color:=clBlue;
Column. Field. Tag:= not Column. Field. Tag;
end;
end;
4. Сохранение введенной информации в базе данных:
procedure TForm2. Button1Click (Sender: TObject);
begin
dm.SQLQuery2. ApplyUpdates;
dm.sqlquery2. Active:=false;
dm.SQLtransaction1. Commit;
dm.sqltransaction1. StartTransaction;
dm.sqlquery2. Active:=true;
showmessage('Сохранено');
end;
5. Запрос на форме «Показать приложения»: select * FROM prilozh WHERE prilozh.N_dog=+ m, где m - номер государственного контракта, соответствующего выбранной строке в таблице «Государственные контракты»:
procedure TForm9. Button5Click (Sender: TObject);
begin
dm.SQLQuery9. Active:=false;
dm.SQLQuery9.SQL. Clear;
dm.SQLQuery9.SQL. Add ('select * from gos_contr ORDER BY id');
dm.SQLQuery9. Active:=true;
dm. Datasource9. Enabled:=true;
end;
6. Запрос «Журнал счет-фактур»: SELECT n_dog, podr, sum(stoim) FROM sch_f GROUP BY N_DOG, podr.
7. Запрос «Исполнение государственных контрактов». Для его реализации необходимы:
procedure TForm12. Button1Click (Sender: TObject);
var str: string;
begin
DBGrid1. DataSource. DataSet. Close;
dm.SQLQuery12.SQL. Clear;
dm. SqlQuery12.SQL. Add ('select * from isp_gk where PODR1='+chr(39)+DBLookupComboBox1. Text+chr(39)+' AND DATA Between '+chr(39)+DateEdit1. Text+chr(39)+' AND '+chr(39)+DateEdit2. Text+chr(39)+' Order By DATA;');
DBGrid1. DataSource. DataSet. Open;
SqlQuery1.SQL. Clear;
SqlQuery1.SQL. Add ('select sum(SUMM) AS summa From GOS_CONTR, ZHURNAL11 where N=N_DOG and PODR1='+chr(39)+DBLookupComboBox1. Text+chr(39)+' AND DATA Between '+chr(39)+DateEdit1. Text+chr(39)+' AND '+chr(39)+DateEdit2. Text+chr(39));
SqlQuery1. Active:=true;
Edit1. Text:= DataSource1. DataSet. Fields[0].AsString;
DataSource1. DataSet. Close;
SqlQuery2.SQL. Clear;
SqlQuery2.SQL. Add ('select sum («st») AS summa From GOS_CONTR, ZHURNAL11 where N=N_dog and PODR1='+chr(39)+DBLookupComboBox1. Text+chr(39)+' AND DATA Between '+chr(39)+DateEdit1. Text+chr(39)+' AND '+chr(39)+DateEdit2. Text+chr(39));
SqlQuery2. Active:=true;
Edit2. Text:= DataSource2. DataSet. Fields[0].AsString;
DataSource2. DataSet. Close;
end;
Другие моменты разработки носят стандартный характер и не обладают какими либо специфическими особенностями.
Соблюдение канонических основ проектирования и программная реализация некоторых сложных моментов, носящих нетривиальный характер, позволила получить готовый к использованию продукт
6. Описание пользовательского интерфейса
Главная форма программного продукта «Подключение» изображена на рисунке 6.1 и представляет собой форму для выбора файла базы данных. После выбора базы и подключения к ней становится доступным меню для выбора справочников, таблиц и запросов (рис. 6.2). При нажатии на кнопку «Справочники» появляется список справочников. При выборе любой кнопки меню появляется соответствующая ей форма.
Рис. 6.1. Главная форма «Подключение»
Рис. 6.2. Главная форма после подключения к базе данных
На рисунке 6.3 представлена форма «Подразделения».
Компоненты присутствующие на форме (Сверху вниз):
· Навигатор. С его помощью осуществляется перемещение по строкам, добавление новой строки, удаление строки, редактирование, сохранение данных.
· Поле редактирования и ввода данных.
· Таблица «Подразделения».
· Кнопки сохранения и закрытия формы.
Аналогичным образом выглядят формы «Наименование изделия» (рис. 6.4), «Предмет» (рис. 6.5).
Рис. 6.3. Форма «Подразделения»
Рис. 6.4. Форма «Наименование изделия»
Рис. 6.5 Форма «Предмет»
Форма «Исполнитель», которая изображена на рисунке 6.6 так же является справочником. Добавление новой строки, удаление строки, перемещение по строкам осуществляется с помощью навигатора. Ввод и редактирование данных осуществляется через соответствующие поля. Сохранение данных в таблице базы осуществляется кнопкой «Сохранить» или с помощью навигатора.
Рис. 6.6 Форма «Исполнитель»
На рисунке 6.7 представлена форма «Вид работ». От предыдущих справочников ее отличает поле «Наименование изделия». Поле содержит данные из таблицы «Наименование изделия» и представлено в виде выпадающего списка.
Рис. 6.7. Форма «Вид работ»
Форма «Техническое задание» изображена на рисунке 6.8. Данные в поля «Номер договора», «Предмет», «Подразделение» заполняются из выпадающих списков.
Рис. 6.8. Форма «Техническое задание»
По аналогии заполняются форма «Приложение» (рис. 6.9)
Рис. 6.9. Форма «Приложение»
Форма «Государственные контракты» (рис. 6.10) содержит кнопку «Показать приложения». При выборе определенной строки в таблице «Государственные контракты» и нажатии этой кнопки отображаются все данные из таблицы «Приложения» соответствующие выбранному Государственному контракту (Рис. 6.11).
Рис. 6.10. Форма «Государственные контракты»
Рис. 6.11. Форма «Государственные контракты»
На форма «Счет-фактуры» (рис. 6.12) при выборе номера договора из выпадающего списка автоматически заполняются поля ИСПОЛНИТЕЛЬ, ПОДРАЗДЕЛЕНИЕ, ПРЕДМЕТ. При сохранении автоматически заполняется поле СУММА.
Рис. 6.12 Форма «Счет-фактуры»
Следующая кнопка меню главной формы «Запросы» содержит два элимента: «Журнал счет-фактур» и «Исполнение государственных контрактов».
На форме отображен результат запроса - таблица, в поле «Сумма» которой содержится общая сумма всех счет-фактур соответствующих одному номеру Государственного контракта.
Рис. 6.11. Форма «Журнал счет-фактур»
На форме «Исполнение государственных контрактов» (рис. 6.12) видим анализ исполнение государственных контрактов с выборкой по подразделениям и периоду заключения контракта. Так же общую сумму выбранных государственных контрактов и соответствующих им счет-фактур.
Рис. 6.12. Форма «Исполнение Государственных контрактов»
7. Тестирование программного продукта
После внедрения программного средства производится его тестирование. Тестирование - это процесс многократного выполнения программы с целью обнаружения ошибок.
Опытную эксплуатацию и тестирование программный продукт проходил на протяжении недели в Отделе информатизации Управления Федеральной службы судебных приставов. В ходе этого были выявлены след недостатки:
1. На форме «Государственные контракты» удобнее было бы сразу отображать приложения, соответствующие выбранному государственному контракту.
2. Недостаточное количество символов в полях ввода данных;
3. В справочник «Вид работ» необходимо добавить поле «Наименование изделия».
С учетом пожеланий будущих пользователей и результатов опытной эксплуатации данные недостатки были устранены в течение 7 дней. После этого программа успешно внедрена.
Заключение
Целью данной работы являлась разработка системы автоматизации исполнения государственных контрактов и договоров отдела информатизации Управления Федеральной службы судебных приставов по Архангельской области.
В процессе создания проекта был осуществлен целый комплекс работ по проектированию и реализации информационной системы, исходя из поставленной задачи.
Была проанализирована литература, область деятельности отдела информатизации, спроектирована и разработана база данных BASE.FDB, разработан программный модуль СИСТЕМА АВТОМАТИЗАЦИИ АНАЛИЗА ИСПОЛНЕНИЯ ГОСУДАРСТВЕННЫХ КОНТРАКТОВ И ДОГОВОРОВ, проведено тестирование программного продукта, доработаны ошибки, выявленные в ходе тестирования.
Итогом выполнения данной квалификационной работы стала автоматизированная система анализа исполнения государственных контрактов и договоров отдела информатизации Управления Федеральной службы судебных приставов. Разработана на базе платформы Lazarus 0.9.28.2 с использованием системы управления базы данных (СУБД) Firebird и представляет собой клиент-серверное приложение. Данная система является кроссплатформенной, это означает, что программный модуль исходного кода может быть откомпилирован под ту среду, в которой его планируется эксплуатировать. База данных не требует дополнительных манипуляций и может быть перенесена на любую платформу методом копирования.
Разработанный программный продукт обладает простым и дружественным интерфейсом, что позволяет любому сотруднику службы судебных приставов использовать его при наличии доступа к приложению. В дальнейшее данный программный продукт планируется внедрить для использования во всех территориальных подразделениях Службы судебных приставов.
При создании проекта использовалось бесплатное программное обеспечение, что позволит не затрачивать материальные средства на приобретение и установку дополнительных лицензионных программ.
Тестирование программы успешно завершено. Выполнены основные задачи, поставленные в самом начале работы. Так как разработанный программный продукт обладает возможностью масштабирования, то при наличии свободного времени данную систему можно расширить практически для любых задач.
автоматизированный государственный контракт безопасность
Список литературы
1. Федеральный закон от 27.07.2006 №149 - ФЗ «Об информации, информационных технологиях и о защите информации» (принят ГД ФС РФ 08.07.2006)
2. Ковязин А.Н., Востриков С.М. Мир InterBase. 2003. 489 с.
3. Борри Х. Firebird: руководство разработчика баз данных: Пер. с анrл. СПб.: БХВ Петербурr, 2006. 1104 с.: ил.
4. Положение об отделе информатизации и обеспечения информационной безопасности Управления Федеральной службы судебных приставов по Архангельской области
5. Рудюк С.А., Lazarus. Delphi-кросс-платформенный. Программирование для свободных людей. 2006. (http://corp2.net)
6. Сайт Firebird [Электронный ресурс]. - Режим доступа: http://www.firebirdsql.org/
7. Официальный сайт Федеральной службы судебных приставов России. [Электронный ресурс]. - Режим доступа: http://www.fssprus.ru
8. ИТ блокнот /Николай Войнов/ винегрет восприятия информационных технологий. [Электронный ресурс]. - Режим доступа: http://nvoynov.blogspot.com/2007/09/blog-post_19.html
9. ITProPortal.RU. Использование SQLdb в Lazarus: основы работы с базами данных [Электронный ресурс]. - Режим доступа: http://www.itproportal.ru/sqldbinlazarus.html
10. FreePascal.ru. Информационный портал для разработчиков. [Электронный ресурс]. - Режим доступа: http://www.freepascal.ru/article //lazarus/
Размещено на Allbest.ru
Подобные документы
Разработка автоматизированной системы с использованием программных продуктов: 1С: Предприятие 8.2 (для создания автоматизированной системы) и CASE средство BPwin (для проектирования структуры системы). Обучение пользователей работе с конфигурацией.
курсовая работа [3,6 M], добавлен 04.11.2014Общая характеристика использования информационных технологий на предприятии. Обоснование выбора программных средств разработки приложения. Логическое и физическое моделирование базы данных. Построение диаграммы классов автоматизированной системы учета.
дипломная работа [12,5 M], добавлен 13.06.2015Автоматизированные информационные системы и их структура. Обзор существующих автоматизированных информационных систем "Расписание". Структурный подход к проектированию автоматизированной системы "Расписание", построение моделей данных и анализ внедрения.
дипломная работа [3,1 M], добавлен 29.06.2010Создание математической модели расчета показателей в отчете метрологического отдела по учету средств измерений компании. Разработка базы данных информации, пользовательского интерфейса. Техническое обеспечение автоматизированной информационной системы.
дипломная работа [3,7 M], добавлен 14.01.2018Обоснование решений по автоматизированному решению информационных задач. Реализация расширения схем данных. Используемые классификаторы и системы кодирования. Структурные единицы сообщений. Нормативно–справочная информация. Описание программных модулей.
курсовая работа [1,9 M], добавлен 11.06.2014Этапы создания автоматизированной системы учета договоров на предприятии: определение входной и выходной информации, проектирование базы данных методом "сущность-связь" и CASE-средствами, разработка интерфейса, составление руководства пользователя.
курсовая работа [2,5 M], добавлен 15.01.2011Создание автоматизированной системы диагностики конструктивных дефектов на основе акустических сигналов. Структурная схема автоматизированной системы. Методика анализа звукового сигнала. Алгоритм сравнения полученных данных с помощью модуля Diag.
курсовая работа [658,5 K], добавлен 14.07.2012Использование информационной системы отдела кадров предприятия для уменьшения времени выполнения функций, автоматического создания документации, проставления дат и табельных номеров, простоты поиска. Интерфейс программы и структура базы данных приложения.
курсовая работа [254,7 K], добавлен 25.03.2011Обзор медицинских информационных систем. Анализ и моделирование автоматизированной системы "Регистратура". Требования к составу и параметрам вычислительной системы. Обоснование выбора системы управления базами данных. Разработка инструкции пользователя.
дипломная работа [1,2 M], добавлен 14.10.2012Цель создания информационной системы. Автоматизированная информационная система "Строительное предприятие". Использование вычислительной техники и программного обеспечения для создания автоматизированной информационной системы управления на предприятии.
курсовая работа [2,5 M], добавлен 04.01.2011