Автоматизированная система анализа государственных контрактов
Задача накопления, обработки и распространения (обмена) информации стояла перед человечеством на всех этапах его развития. В течение долгого времени основными инструментами для ее решения были мозг, язык и слух человека. Первое кардинальное изменение произошло с приходом письменности, а затем изобретением книгопечатания. Поскольку в эпоху книгопечатания основным носителем информации стала бумага, то технологию накопления и распространения информации естественно стали называть «бумажной информатикой». [8]
Положение в корне изменилось с появлением электронных вычислительных машин (ЭВМ).
Первые ЭВМ использовались как большие автоматические арифмометры. Принципиально новый шаг был совершен, когда от применения ЭВМ для решения отдельных задач перешли к их использованию при комплексной автоматизации тех или иных законченных участков деятельности человека по переработке информации.
Одним из первых примеров подобного системного применения ЭВМ в мировой практике были так называемые административные системы обработки данных: автоматизация банковских операций, бухгалтерского учета, резервирования и оформления билетов и т.п. Решающее значение для эффективности систем подобного рода имеет то обстоятельство, что они опираются на автоматизированные информационные базы. Это означает, что в памяти ЭВМ постоянно сохраняется информация, нужная для решения тех задач, на которые рассчитана система. Она и составляет содержимое информационной базы соответствующей системы.
При решении очередной задачи система нуждается во вводе только небольшой порции дополнительной информации, остальное берется из информационной базы. Каждая порция вновь вводимой информации изменяет информационную базу системы. Эта база (информационная, или база данных) находится, таким образом, в состоянии непрерывного обновления, отражая все изменения, происходящие в реальном объекте, с которым имеет дело система.
Хранение информации в памяти ЭВМ придает этой информации принципиально новое качество динамичности, т.е. способности к быстрой перестройке и непосредственному ее использованию в решаемых на ЭВМ задачах. Устройства автоматической печати, которыми снабжены современные ЭВМ, позволяют в случае необходимости быстро представить любую выборку из этой информации в форме представления на бумаге.
По мере своего дальнейшего развития административные системы обработки данных перерастают в автоматизированные системы управления соответствующими объектами, в которых, как правило, не ограничиваются одной ЭВМ, а в составе двух и более ЭВМ объединяют в вычислительный комплекс.
Асимметричность информации на рынке образовательных услуг
... определить специфику асимметричности информации на рынке образовательных услуг; определить пути снижения асимметричности информации в сфере образования; обосновать рекомендации по решению проблем асимметричности информации для абитуриента при выборе вуза. Работа включает в себя ...
В настоящее время деятельность организаций напрямую зависит от информированности и способности эффективно использовать имеющуюся информацию. Для этого необходимо провести большую работу по сбору, упорядочиванию, переработке информации, а также ее анализу. При большом количестве информации такая работа становится очень трудоемкой и требует большого количества времени и кадровых ресурсов.
Использование современных компьютерных технологий облегчает эту задачу. Компьютер играет роль усилителя интеллектуальных возможностей человека и общества в целом, а коммуникационные средства, интегрируемые с компьютерами, служат для связи и передачи необходимой информации. Внедрение компьютерных технологий позволяет существенно увеличить производительность труда и снизить затраты.
Поэтому перед организациями на первом плане стоит задача внедрения современных информационных технологий. Разработка автоматизированных систем сбора, обработки и анализа информации позволит облегчить труд специалистов. Сейчас многими организациями ведутся работы по созданию автоматизированных рабочих мест для реализации необходимых функций.
Одной из таких организаций является Федеральная служба судебных приставов. Необходимостью создания автоматизированной системы послужило увеличение объема документации, большая затрата времени на обработку, анализ результатов по различным параметрам.
Программа, которая будет создана в ходе выполнения работы должна систематизировать данные по техническим заданиям, государственным контрактам и договорам, счет-фактурам, так же на основе этих данных проводить анализ по различным параметрам (интенсивность ремонта и использования орг. техники, частоту заправки картриджей и т.д.).
Полученные данные будет удобно использовать для различных отчетов.
В Службе судебных приставов не существует программных средств, автоматизирующих работу отдела информатизации по анализу исполнения государственных контрактов и договоров. Это определяет актуальность выбора темы выпускной квалификационной работы.
Автоматизация процесса анализа исполнения государственных контрактов и договоров привода позволит сотрудникам отдела избавиться от рутинной работы, быстро и эффективно производить учет выполненных работ, осуществлять анализ и получать отчеты с использованием собственной базы данных.
Целью данной работы является разработка системы автоматизации анализа исполнения государственных контрактов и договоров отдела информатизации УФССП по Архангельской области.
Задачи, поставленные перед выполнением работы:
- Проанализировать область деятельности отдела информатизации;
- Проанализировать литературу и выбрать средства реализации;
- Спроектировать и разработать систему;
- Провести тестирование и ввести систему в эксплуатацию.
Последовательное решение поставленных задач ведет к достижению выработанной цели.
В субъектах Российской Федерации (республиках, краях, областях) образованы Службы судебных приставов органов юстиции, возглавляемые Главными судебными приставами субъектов Российской Федерации, которые по занимаемой должности одновременно являются заместителями руководителей органов юстиции субъектов Российской Федерации.
Организация движения документов в Инспекции Федеральной налоговой ...
... документооборота в налоговых органах. В третье главе проводится анализ организации документооборота в ИФНС № 30 России по республике Башкортостан, определяются его основные проблемы и пути совершенствования. ГЛАВА I. НАЛОГОВЫЕ ОРГАНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ Налоговые ... – рассмотреть и проанализировать организацию документооборота в Инспекции Федеральной налоговой службы № 30 по республике Башкортостан. ...
В составе Служб судебных приставов субъектов Федерации действуют районные, межрайонные или соответствующие им территориальные подразделения судебных приставов, возглавляемые старшими судебными приставами. Данные подразделения являются основным звеном Службы судебных приставов и включают в себя должности судебных приставов-исполнителей и судебных приставов по обеспечению установленного порядка деятельности судов.
В настоящее время соответствующие структурные образования Службы судебных приставов (за исключением Службы судебных приставов Управления военных судов Министерства юстиции России) созданы на всей территории Российской Федерации, за исключением Чеченской Республики.
Воссоздание службы судебных приставов было осуществлено в 1997 году в соответствии с Федеральными законами «О судебных приставах» и «Об исполнительном производстве». В результате административной реформы, проведенной в соответствии с Указами Президента Российской Федерации от 09.03.2004 №314 «О системе и структуре федеральных органов исполнительной власти» и от 13.10.2004 №1316 «Вопросы службы судебных приставов», департамент судебных приставов в структуре Минюста России был упразднен, и создана Федеральная служба судебных приставов (ФССП России).
Основными задачами ФССП России являются: обеспечение установленного порядка деятельности Конституционного Суда Российской Федерации, Верховного Суда Российской Федерации, Высшего Арбитражного Суда Российской Федерации, судов общей юрисдикции и арбитражных судов; организация принудительного исполнения судебных актов судов общей юрисдикции и арбитражных судов, а также актов других органов, предусмотренных законодательством Российской Федерации об исполнительном производстве; управление территориальными органами ФССП России.
Исполнение судебных решений является неотъемлемой частью основного права человека на судебное разбирательство, поэтому эффективность системы исполнения судебных решений имеет первостепенную важность для функционирования судебной системы в целом. Только реальное обеспечение права гражданина на справедливый суд в разумные сроки, может сохранить и повысить доверие общества к власти, обеспечивающей воплощение восстановленной судом справедливости. Эффективность мер по обеспечению исполнения судебных решений так же, как и статус, и уровень подготовки судебных исполнителей, являются ключевыми в организации всей системы. [9]
Управление Федеральной службы судебных приставов по Архангельской области является территориальным органом Федеральной службы судебных приставов Российской Федерации. Управление территориальным органом Федеральной службы судебных приставов (далее — территориальный орган ФССП России) и контроль за его деятельностью осуществляет руководство и центральный аппарат Федеральной службы судебных приставов (далее — ФССП России), подведомственной Министерству юстиции Российской Федерации.
Тенденции и перспективы развития корпоративных конфликтов в России
... конфликтов в России. Для достижения поставленной цели в работе решены следующие задачи: раскрыта сущность, понятие и значение конфликтов; охарактеризованы особенности корпоративных конфликтов; проанализированы особенности российских корпоративных конфликтов; рассмотрено влияние корпоративных конфликтов ... время российские хозяйствующие акционерные общества выходят на международный рынок торговли ...
В территориальный орган ФССП России входят:
- аппарат управления территориального органа ФССП России;
- структурные подразделения территориального органа ФССП России, состоящие из государственных служащих, технического и обслуживающего персонала, возглавляемые начальниками отделов — старшими судебными приставами.
Основными задачами территориального органа ФССП России являются:
- Обеспечение установленного порядка деятельности судов общей юрисдикции и арбитражных судов, находящихся на территории соответствующего субъекта Российской Федерации;
- Организация принудительного исполнения судебных актов судов общей юрисдикции и арбитражных судов (далее — судебные акты), а также актов других органов, предусмотренных законодательством Российской Федерации об исполнительном производстве (далее — акты других органов);
- Управление районными, межрайонными и специализированными отделами (далее — структурные подразделения территориального органа ФССП России. [4]
В состав Управления ФССП по Архангельской области входят 52 структурных подразделения. Одним из них является отдел информатизации и обеспечения информационной безопасности, который занимается организацией единой системы информационно-телекоммуникационного обеспечения Управления и его структурных подразделений. Кроме этого данный отдел выполняет следующие функции:
- Обеспечивает функционирование информационных систем в установленной сфере деятельности.
- Обеспечивает справочно-информационное сопровождение деятельности структурных подразделений Управления.
- Организует и обеспечивает в пределах своей компетенции защиту сведений, составляющих государственную и иную охраняемую законом тайну.
- Создает и сопровождает в установленном порядке электронные банки данных.
Объектом информатизации в данном случае является процесс анализа исполнения государственных контрактов и договоров. Объект информатизации взаимодействует с внешней средой посредством получения данных. Также необходима обработка информации, поступающей из внешней среды и анализ выполненных действий.
Таким образом, структуру системы анализа исполнения государственных контрактов и договоров можно представить в следующем виде:
- Получение информации из внешней среды.
- Занесение информации в базу данных.
- Формирование отчетов на основании поступившей информации и анализ деятельности отдела.
Взаимосвязь информационных потоков, средств обработки, хранения и анализа данных и составляет информационную систему. Термин «информационная система» можно применить для описания разработанного программного средства, так как оно относится к классу программных продуктов, облегчающих или автоматизирующих работу пользователей, а также выполняет более одной функции, например:
- а) сбор информации из внешней среды посредством внесения сведений;
- б) хранение информации в базе данных;
- в) обработка полученной информации, составление отчетов;
- г) поиск нужной информации.
Для создания собственной информационной системы необходимо обеспечить должное хранение сведений об объектах предметной области.
Материально-техническая база торговли, ее анализ и пути повышения ...
... анализ и контроль за эффективностью ее использования позволит более четко принимать управленческие решения во все более усложняющейся рыночной конъюнктуре. Целью данной курсовой работы является рассмотрение состояния и использования материально-технической базы, разработка ...
Данные, к которым требуется доступ на высоком уровне детализации со стороны нескольких пользователей, или данные, которые должны переноситься на многие платформы, обычно размещают в базах данных.
Так как предметная область гармонично укладывается в модель базы данных, поэтому было принято решение использовать для хранения информации базу данных. Набором информации, входящей в состав базы данных, управляет специальная системная программа, называемая «системой управления базами данных» (СУБД), которая обладает знаниями по поводу связи между разнородными данными, а также обладает целостностью. Проведенный анализ показал, что использование базы данных для хранения необходимой информации дает следующие преимущества:
— СУБД берет на себя ответственность за поддержание ограничений целостности данных. При разработке базы данных нужно только сообщить СУБД, какого рода ограничения целостности система должна поддерживать в базе данных, так как механизм обеспечения целостности баз данных интегрируется с механизмом управления транзакциями — последовательностью операций модификации базы данных, воспринимаемыми СУБД как одна атомарная операция.
- Вторым важным преимуществом использования баз данных является то, что есть возможность обеспечения выполнения так называемых «незапланированных» запросов к базе данных.
— Еще одной важной причиной выбора базы данных является обеспечение так называемого «режима мультидоступа». В Службе судебных приставов г. Архангельска существует локальная вычислительная сеть с сервером и клиентскими рабочими станциями, которая обеспечивает совместное использование ресурсов. Поэтому важно, чтобы СУБД дала возможность любому пользователю любой момент времени воспользоваться услугами приложения. СУБД поддерживает возможность параллельно выполнить операции, задаваемые несколькими пользователями одновременно (или очень близко во времени), избавляя разработчиков от необходимости заботиться об обеспечении режима мультидоступа.
При выполнении этих функций СУБД должна использовать различные описания данных. Для создания описаний сначала нужно создать проект базы данных.
Любой процесс разработки любого проекта должен быть документирован. На сегодняшний день разработано несколько методик проектирования и документирования процессов разработки систем. Наиболее популярный метод проектирования системы основан на традиционном подходе к разработке приложений с помощью построения модели процесса разработки приложений MSF (MSF Process Model Application Development).
Модель процесса разработки — составная часть структуры, описывающая жизненный цикл проекта разработки программного обеспечения. Она позволяет создавать продукт в постоянном контакте с заказчиком и адаптировать процесс в соответствии с его пожеланиями. Кроме того, этот метод способен обеспечить саму быструю реализацию ключевых составляющих проекта.
Любой проект разработки программного обеспечения в своем развитии проходит определенный жизненный цикл — последовательность этапов и совокупность действий, в результате которых создается первая версия продукта.
Для разработки программного продукта применим традиционную модель разработки приложений — модель водопада. Модель водопада представляет процесс разработки в виде строго упорядоченной последовательности этапов.
Корпоративные базы данных
... также применяется и к системам управления базами данных :Oracle, Informix, Sybase, DB2 - все это примеры СУБД, которые часто называются корпоративными. Имеется несколько устоявшихся признаков корпоративности, и ... к ресурсам. Физическое проектирование определяет точное задание типов устройств (марку и модель), мест прокладки кабеля, типов глобальных сервисов (протокол, тип передающей среды, типы ...
На этапе «сбора требований к системе» была собрана информация о предметной области из множества источников и были сформулированы основные требования к системе:
- Система должна поддерживать механизмы занесения и хранения входящих данных: о технические задания;
- о государственных контрактах и договорах;
- о счет-фактурах;
- справочники;
- приложения.
- Поиск в хранящихся данных различных сведений.
- Анализ хранящихся сведений и составление отчетов за требуемый период.
На этапе анализа были проанализированы и сформулированы требования к приложению с точки зрения разработчика приложения.
По завершении анализа можно приступать к проектированию. На этом этапе выявляются сущности и описывается их поведение, создается проект базы данных.
Проект базы данных нужно начинать с анализа предметной области и выявления требований к ней пользователей, для которых создается база данных (в данном случае сотрудников отдела информатизации).
Проектирование обычно поручается администратору базы данных (АБД).
Им может быть как специально выделенный сотрудник организации, так и будущий пользователь базы данных, достаточно хорошо знакомый с машинной обработкой данных.
Объединив представления о содержимом базы данных, полученные на этапе сбора требований и анализа, сначала было создано обобщенное неформальное описание разрабатываемой базы данных. Это описание, выполненное с использованием естественного языка, математических формул, таблиц, графиков и других средств, понятных всем людям, работающих над проектированием базы данных, называют инфологической моделью данных (рис. 1).
Такая человеко-ориентированная модель полностью независима от физических параметров среды хранения данных. Поэтому инфологическая модель не должна изменяться до тех пор, пока какие-то изменения в реальном мире не потребуют изменения в ней некоторого определения, чтобы эта модель продолжала отражать предметную область.
Остальные модели являются компьютеро-ориентированными. С их помощью СУБД дает возможность программам и пользователям осуществлять доступ к хранимым данным лишь по их именам, не заботясь о физическом расположении этих данных.
Использование трехуровневой архитектуры (инфологический, даталогический и физический уровни) при разработке модели данных позволит обеспечить независимость хранимых данных от разработанного приложения, которое будет использовать эти данные. Также это позволит переписать хранимые данные на другие носители информации или реорганизовать их физическую структуру, изменив лишь физическую модель данных.
Рис. 1. Уровни моделей данных
Технология создания и развития программных средств и баз данных опирается на модели жизненного цикла информационных систем, программных средств и баз данных. В моделях жизненный цикл структурируется рядом крупных фаз или этапов, каждый из которых характеризуется достаточно определенными целями и результатами. Модели жизненных циклов определяются выделением наиболее важных процессов, а также способами их группирования и отображения.
Каждая программа проходит свой жизненный путь от задумки до прекращения работы с ней по разным причинам. Согласно разработке программного продукта по стадиям жизненного цикла необходимо выбрать методику, в соответствии с которой будет разрабатываться и тестироваться программа. Наиболее приемлемой и эффективной, в данном случае, является технология нисходящего проектирования, кодирования и тестирования [5], которая позволит реализовать все требуемые функции на каждом из этапов.
Приложение для учёта домашних финансов
... бесплатных приложений для учёта домашних финансов для IOS и Android, в которые нужно заносить данные самостоятельно. Приложения, которые будут рассматриваться в реферате (вся информация о приложениях была ... «Где деньги?» [4] 5. «Home money» [5] В таблице представлено сравнение приложений по функционалу, дизайну. См. таблицу. Количество Название Год Разработчи Оценка Последнее Семейный Платный Размер ...
В соответствии с жизненным циклом на начальном этапе необходимо сформировать требования к программному продукту, а также проанализировать предметную область, определить модели данных существующей информационной системы.
На стадии «анализа» будет проанализированы и сформулированы требования к приложению.
По завершении этапа «анализа» необходимо спроектировать приложение и базу данных.
Результат данного этапа — проектная модель, описывающая все классы с их поведением, свойствами и методами, и их взаимосвязи — в течение жизненного цикла проекта остается практически неизменной.
Процесс реализации циклически продолжается до тех пор, пока все необходимые функции не реализованы. Этап «Реализация» представляет собой практическое воплощение этапа «Проектирование»; в частности, должно существовать однозначное соответствие между проектными классами и кодом, созданным на этапе разработки.
Этап реализации состоит из следующих процессов:
- а) реализация прототипа архитектуры;
- б) реализация компонентов;
- в) тестирование компонентов;
- г) интеграция компонентов;
- д) сборки приложения;
- е) создание текстов на основе схем использования;
- ж) проверка архитектуры;
- з) планирование следующей сборки;
- и) переход к следующей итерации.
Цель тестирования — сверка достигнутых результатов с ожидаемыми. Тестирование начинается по окончании этапа реализации. На каждой стадии итерации тестовая модель уточняется: из нее изымают тесты, утратившие актуальность, создаются схемы регрессионного тестирования и добавляются тесты для будущих сборок.
Проектирование данных играет ключевую роль при разработке информационных систем — ведь от качества выполнения этой работы зависят затраты, связанные с созданием приложений для конечных пользователей, а также с последующим сопровождением и модернизацией созданного продукта. Результатом этого этапа является «пустая» база данных.
Следующий этап жизненного цикла информационной системы — разработка приложения. Результатом этого этапа является готовый продукт, состоящий из ряда приложений, позволяющих пользователям вводить данные в таблицы либо редактировать уже существующие данные, анализировать введенные и представлять их в более удобном для восприятия виде — сводных таблиц или отчетов.
2.1 Использование архитектуры клиент-сервер
При разработке системы автоматизации анализа исполнения государственных контрактов и договоров отдела информатизации Службы судебных приставов по Архангельской области предполагалось, что в пределах отдела с программным средством будут работать несколько пользователей.
В Службе судебных приставов существует локальная вычислительная сеть на основе выделенного сервера под управлением Firebird SQL Server, к которому подключены рабочие станции. В пределах подразделения с разработанным приложением будет работать несколько пользователей. Поэтому есть две возможности использования базы данных: локальная база данных и база данных на основе архитектуры клиент-сервер.
Корпоративные базы данных экономических информационных систем
... Цель данного исследования - ознакомление с корпоративными базами данных в учебных целях. Предмет данной курсовой работы - полезность баз данных, подходящих под классификацию "корпоративные". Необходимо ли использование подобного рода систем для совершенствования и отлаживания ведения ...
При использовании локальной базы данных доступность данных может привести к появлению проблем, связанных с чрезмерной нагрузкой (трафик является узким место при получении данных).
Поэтому целесообразнее при разработке приложения использовать архитектуру клиент-сервер [3], потому что она обладает следующими преимуществами:
- Допускает независимый групповой доступ к данным, что позволяет отдельным пользователям обрабатывать только ту часть данных, которая нужна им для работы.
- Обеспечивает эффективный доступ к данным сотрудникам, нуждающимся в информации, и позволяет извлекать информацию в наиболее удобном для них виде.
- Повышает возможности централизованного управления многоуровневой моделью с целью обеспечения целостности данных, что позволяет уменьшить остроту проблемы централизованного контроля и анализа использования данных.
- Устанавливает правила целостности базы данных для всей базы данных.
- Обеспечивает более высокий уровень разделения труда между клиентом и сервером (каждый выполняет задачи, для решения которых он приспособлен).
- Позволяет использовать улучшенные средства поддержки целостности данных.
- Уменьшает нагрузку на сеть, поскольку клиенту возвращаются подмножества данных, а не целиком все таблицы, как в случае локальных баз данных.
Разрабатываемая база данных будет обрабатываться на сервере, что позволит сделать базу данных доступной нескольким пользователям. И сервер (в данном случае сервером является Firebird Server 2.1) будет предоставлять сервис клиенту. Он ждет, пока клиент сделает запрос, а затем обрабатывает этот запрос. Причем, сервер обладает способностью обрабатывать одновременно несколько запросов от нескольких клиентов, а также умеет распределять эти запросы по приоритетам.
Firebird Server Service Manager постоянно работает, обеспечивая непрекращающийся доступ к ее услугам.
Клиентская часть разрабатываемой системы автоматизации анализа исполнения государственных контрактов и договоров должна представлять собой приложение, обеспечивающее графический интерфейс с пользователем, и представляющее пользователю интерфейс для управления данными на сервере. Именно через разработанное клиентское приложение пользователь получает доступ к функциональным возможностям сервера.
Также на выбор архитектуры клиент-сервер повлияло то, что она поддерживает требования защиты данных и обеспечивает их целостность. Защита данных реализуется посредством назначения привилегий доступа на уровне пользователей к различным объектам базы данных. А для обеспечения целостности данных было использовано ограничение действий, которые могут выполняться над данными за счет применения множества проверок. Поэтому при обслуживании обращений к общим данным разрабатываемая база данных должна обеспечивать, по крайней мере, два основных метода доступа: монопольный и коллективный.
Монопольный доступ будет использоваться в двух случаях:
- во-первых, когда требуется исключить доступ к объектам со стороны других пользователей;
- во-вторых, когда производятся ответственные операции с БД, не допускающие других действий, например, изменение структуры БД.
Также необходимо реализовать режим коллективного доступа, где полная блокировка на используемые объекты не будет устанавливаться. Коллективный доступ возможен, например, при одновременном просмотре таблиц. Для организации коллективного доступа к СУБД применяется механизм блокировок. Суть блокировки состоит в том, что на время выполнения какой-либо операции в БД доступ к используемому объекту со стороны других потребителей временно запрещается или ограничивается.
2.2 Программная реализация базы данных
На современном рынке программных продуктов существует большой выбор СУБД: Oracle, Sybase, Informix, IBM и многие другие. В нашем случае эффективнее использовать СУБД Firebird SQL Server 2.1.
Главным аргументом в пользу данной СУБД было то, что на предприятии необходимо придерживаться единого стандарта, то есть создание баз данных необходимо производить на единой платформе. Службы судебных приставов централизованно перешли на платформу Windows 2000 и Firebird 2.1, и базы данных были реализованы на СУБД Firebird 2.1. СУБД Firebird — это универсальный пример системы клиент-сервер, которая может быть установлена на платформе Windows NT, а также на платформе Windows 95/98 [3].
Кроме того, на выбор данной СУБД повлияли следующие моменты:
1. Данный программный продукт полностью обеспечивает программиста инструментами для проектирования базы данных, а также данное условие реализации в итоге сэкономило время для разработки программы.
2. Система предназначена для работы с данными, которые хранятся в базах данных. Процесс обработки данных включает хранение, обработку и выборку информации.
3. В SQL Server нет ограничения на количество строк в таблице.
4. Использование структурированного языка запросов Transact-SQL.
5. Дистрибутивы Firebird существуют под Windows, Linux, Unix, Solaris, MacOS, под 32-х и 64-х битную архитектуру.
6. Firebird SQL Server — сервер баз данных основанный на открытом исходном коде Interbase 6.0. Распространяется бесплатно и не имеет лицензионных ограничений.
2.3 Использование языка запросов
Transact-SQL — это диалект языка реляционных баз данных. Transact-SQL добавляет к базовому языке SQL ключевые слова, позволяющие производить формирование инструкций выборки, сохранения данных и манипуляций с ними.
Формирование инструкций, выполняющих все базовые операции по сохранению данных, их считыванию и манипуляциями производится с помощью четырех основных слов, которые были использованы для оперирования данными таблиц разработанной базы данных:
1. INSERT — используется для добавления новой строки в таблицу базы данных.
2. DELETE — используется для удаления строки из таблицы.
3. UPDATE — используется для изменения строки таблицы в базе данных.
4. SELECT — используется для формирования различных инструкций при считывании данных из таблицы или множества таблиц.
Также язык SQL использовался при создании таблиц базы данных.
Строки таблицы базы данных не упорядочены, если не создать для таблицы специальный кластерный индекс. После того, как для таблицы создан индекс такого типа, строки хранятся упорядоченными по одному или двум столбцам, которые выбраны при создании индекса.
Основной принцип теории реляционных баз данных состоит в том, что каждый кортеж любого отношения может быть однозначно идентифицирован. Атрибут или сочетание атрибутов, обеспечивающих однозначность идентификации, называется первичным ключом (primary key).
В таблице может быть определен только один первичный ключ. Firebird SQL Server использует ограничение Primary Key для гарантии, что уникальность значений в указанных полях никогда не будет нарушена.
Реляционная модель требует, чтобы каждая строка была уникальна, это требуется для решения проблем избыточности данных и предохраняет от случайного добавления одной или нескольких повторяющихся строк в таблицу. Так, для таблицы «Исполнитель» необходимо устранить повторяющиеся строки, поэтому был использован уникальный ключ unique, который помогает однозначно идентифицировать исполнителя по названию и адресу (вероятность того, что будут обращаться к двум разным исполнителем с одинаковыми названиями и адресом очень мала):
CREATE TABLE ISPOLN (_ISP INTEGER NOT NULL,VARCHAR(30) CHARACTER SET UTF8 NOT NULL,VARCHAR(30) CHARACTER SET UTF8,VARCHAR(30) CHARACTER SET UTF8,INTEGER,INTEGER,_S INTEGER,VARCHAR(30) CHARACTER SET UTF8,_S INTEGER
;
- /*** Primary Keys ***/TABLE ISPOLN ADD CONSTRAINT PK_ISPOLN PRIMARY KEY (ID);
- /*** Unique Constraints ***/TABLE ISPOLN ADD CONSTRAINT UNQ1_ISPOLN UNIQUE KEY (ID);
— Для поддержания логических связей между таблицами Firebird SQL Server использует внешний ключ, который соответствует первичному ключу другой таблицы. Например, между двумя таблицами «Подразделение» и «Государственные контракты» существует связь один-ко-многим между полями id (код подразделения) и podr. Между таблицами «Исполнитель» и «Государственные контракты» также существует связь по полям id (код исполнителя) и isp, а также между таблицей «Государственные контракты» и «Вид работ» существует еще одна связь по полям id (код вида работ) и vid_rab. Таким образом, таблица «Государственные контракты» связана с тремя таблицами, связь между которыми была определена при создании таблицы:
CREATE TABLE GOS_CONTR (INTEGER NOT NULL,VARCHAR(20) CHARACTER SET UTF8,DATE,VARCHAR(20) CHARACTER SET UTF8,_RAB VARCHAR(30) CHARACTER SET UTF8,VARCHAR(20) CHARACTER SET UTF8,INTEGER
;
- /*** Primary Keys ***/TABLE GOS_CONTR ADD CONSTRAINT PK_GOS_CONTR PRIMARY KEY (ID);
- /*** Foreign Keys ***/TABLE GOS_CONTR ADD CONSTRAINT FK_GOS_CONTR_1 FOREIGN KEY (ISP) REFERENCES ISPOLN (ID) ON DELETE SET NULL ON UPDATE CASCADE;TABLE GOS_CONTR ADD CONSTRAINT FK_GOS_CONTR_2 FOREIGN KEY (VID_RAB) REFERENCES VID_RAB (ID) ON DELETE SET NULL ON UPDATE CASCADE;TABLE GOS_CONTR ADD CONSTRAINT FK_GOS_CONTR_3 FOREIGN KEY (PODR1) REFERENCES PODRAZDELENIYA (ID) ON DELETE SET NULL ON UPDATE CASCADE;
2.4 Механизмы доступа к данным
Для соединения физических и логических проектов приложения необходимо реализовать доступ к данным посредством SQLdb. Пакет SQLdb включает в себя набор модулей для доступа к различным SQL базам данных
Компонент IBConnection используется для соединения с хранилищем данных SQLdb.
Пакет SQLdb включает следующие компоненты:
- TSQLQuery потомок TDataset и он представляет данные из SQL запроса в виде таблицы. Также этот компонент можно использовать для выполнения запроса, не возвращающих данных.
- TSQLTransaction.
Создает транзакцию на сервере базы данных. Он имеет методы для фиксации и отката транзакции.
- TXXXConnection.
- Где XXX название базы данных к которой необходимо подключиться. Каждый из этих компонентов переводит стандартные запросы от SQLQuery и SQLTransaction в запросы к конкретной базе данных, сглаживая их различия. [5]
В нашем случае наиболее оптимальным является использование компонента IBConnection. Он может быть связан с несколькими наборами данных с целью совместного использования соединения для выполнения команд, извлечения данных и выполнения операций с метаданными. Для установления соединения с источником данных SQLdb используется следующая строка соединения:
- dm.IBConnection1. DatabaseName:=FileNameEdit1. FileName;
Компонент SQLQuery используется для выполнения запросов SQL, возвращающих результирующий набор, но с этим набором нужно оперировать с помощью другого компонента доступа к данным Dataset:
- DBGrid1. DataSource. DataSet. Close;.SQLQuery12.SQL. Clear;. SqlQuery12.SQL. Add (‘select * from isp_gk where PODR=’+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;’);. DataSource. DataSet. Open.
2.5 Обеспечение безопасности приложения
В настоящее время технологии доступа к данным, создавая объективные предпосылки для повышения эффективности деятельности общества, порождает целый ряд проблем, связанных с обеспечением надежности и установленного статуса использования информации, циркулирующей в программных средствах автоматизации процессов.
Модификация данных контролируется клиентским приложением программного средства, то есть средствами Lazarus, что обеспечивает показатель доверия к информации. При попытке внесения некорректной информации выдается предупреждение пользователю, а некорректная информация не вносится в базу данных.
Безопасность информации осуществляется с помощью средств аутентификации Firebird SQL Server, установленной на сервере.
Для управления доступом пользователей к серверу Firebird использует базу данных безопасности security.fdb. Во время инсталляции эта база данных содержит одного пользователя SYSDBA. Пароль пользователя SYSDBA masterkey.
Пользователь SYSDBA имеет полные привилегии ко всем базам данных на сервере.
2.6 Выбор средств разработки
Для разработки программной части системы автоматизации исполнения государственных контрактов и договоров отдела информатизации была выбрана среда разработки приложений Lazarus 0.9.28.2 [5].
В настоящее время Lazarus практически полностью поддерживает виджеты Win32, GTK1, GTK2, Carbon. Интуитивно понятная среда разработки Lazarus обеспечивает очень высокую производительность труда разработчика, при ее полном изучении.
Данная среда разработки была выбрана по следующим причинам:
- Библиотека визуальных компонентов Lazarus Component Library позволяет автоматизировать многие операции, используя компоненты — строительные блоки приложения, используя которые, разработчик создает пользовательский интерфейс и включает в приложение некоторые невизуальные компоненты;
- Lazarus позволяет самим разрабатывать нужные компоненты;
- Распространяется бесплатно и не имеет лицензионных ограничений.
- Поддерживает преобразование проектов Delphi
- Поддерживаемые ОС: GNU/Linux, Microsoft Windows, Mac OS X, FreeBSD, WinCE.
6. Lazarus поддерживает работу с базами данных и обеспечивает доступ к файлам внешних баз данных из приложения: Firebird, Paradox, dBASE, Access, FoxPro, ODBC, Microsoft SQL Server, Oracle и Informix.
7. Lazarus — это, прежде всего, среда разработки приложений клиент-сервер и традиционной архитектуры для баз данных.
- Lazarus обладает гибкостью и масштабируемостью используемой архитектуры баз данных;
- Визуальная технология разработки программ позволяет быстро создавать приложения путем размещения в форме стандартных компонентов. При этом соответствующий код программы автоматически генерируется Lazarus. Такая технология освобождает от рутинной работы по созданию пользовательского интерфейса и позволяет уделить больше внимания внутренней организации программы и обработке данных;
- Библиотека компонентов содержит множество стандартных компонентов, которые можно использовать при создании приложений.
- 32-битовый компилятор Lazarus генерирует исполняемые EXE-файлы. Компилирование приложений занимает весьма незначительное время.
3.1 Цель проектирования
Применение новых информационных технологий в УФССП Архангельской области продиктовано ростом требований к качеству территориальным органам. В связи с необходимостью повышения эффективности работы служащих отдела информатизации требуется автоматизировать систему анализа исполнения государственных контрактов и договоров.
Можно выделить несколько основных целей проектирования:
- сокращение затрат рабочего времени сотрудников на поиск, создание, обработку необходимых документов и проверку;
- ускорение обмена информацией между различными государственными организациями.
3.2 Совокупность условий, при которых предполагается эксплуатировать будущий программный продукт
На самой ранней стадии проектирования следует учитывать клиентские операционные системы. Приложения, клиентская часть которых обращается к средствам операционной системы, называют «родными» для этой операционной системы. Для выполнения своих функций эти приложения используют прикладные интерфейсы операционной системы. При написании 32-разрядных Windows-приложений для операционных систем Windows 98, Windows NT и Windows 2000, применяется API Win32. таким образом, можно создать «родное» приложение для выбранной клиентской платформы.
В Службе судебных приставов была выбрана клиентская платформа на основе Windows NT. Среда Win32 предоставляет приложениям все возможности операционной системы высокого уровня при помощи таких средств, как многопоточные процессы, синхронизация, защита от несанкционированного доступа, ввод-вывод и управление объектами.
Перечислим основные качества платформы WinNT, которые повлияли на ее выбор в качестве основной клиентской платформы:
1) расширяемость;
2) переносимость — в соответствии с требованиями рынка код легко переносится с одного процессора на другой;
3) надежность и устойчивость — система защищает себя как от внутренних сбоев, так и от внешнего вторжения;
4) совместимость — пользовательский интерфейс и API совместимы с существующими системами Microsoft;
5) производительность — максимально быстрая и обеспечивает минимальное время отклика на каждой аппаратной платформе.
Также среда Win32 предоставляет большие возможности для создания пользовательского интерфейса. Специализированные Win32-приложения доступны большому количеству пользователей. Операционные системы располагают мощными средствами поддержки дополнительных технологий, которые можно применять в приложениях:
- а) технологии поддержки мультимедиа DirectX;
- б) технология доступа к данным Open Database Connectivity (ODBC) и OLE DB.
Так же на предприятии необходимо придерживаться единого стандарта, то есть создание баз данных необходимо производить на единой платформе. Службы судебных приставов централизованно перешли на Firebird SQL Server 2.1, и базы данных были реализованы на СУБД Firebird SQL Server 2.1. Firebird SQL Server — это универсальный пример системы клиент-сервер, которая может быть установлена на платформе Windows NT, а также на платформе Windows 95/98 [3].
Firebird SQL Server — сервер баз данных основанный на открытом исходном коде Interbase 6.0. Дистрибутивы Firebird существуют под Windows, Linux, Unix, Solaris, MacOS, под 32-х и 64-х битную архитектуру. Firebird SQL Server распространяется бесплатно и не имеет лицензионных ограничений.
Разработка интерфейса проектируемой системы будет производится с помощью пакета Lazarus 0.9.28.2. В настоящее время Lazarus практически полностью поддерживает виджеты Win32, GTK1, GTK2, Carbon. Интуитивно понятная среда разработки Lazarus обеспечивает очень высокую производительность.
3.3 Описание выполняемых программным продуктом функций
Система автоматизации анализа исполнения государственных контрактов и договоров должна включать следующие этапы:
- добавление записей в базу данных;
- редактирование записей в базе данных;
- поиск данных по различным критериям;
- выполнение различных запросов в базе денных.
Проектируемая система должна отвечать следующим требованиям:
- ввод данных с клавиатуры персонального компьютера;
- данные учитываются в виде таблицы с нарастающим итогом;
- простой и понятный интерфейс для использования в других отделах УФССП связанных с административно хозяйственной деятельностью;
- возможность проводить анализ данных по различным параметрам.
Пользователями проектируемой системы являются: Отдел информатизации и обеспечения безопасности информации, Отдел материально-технического обеспечения, Отдел реализации имущества должников.
3.4 Информационные объекты программного продукта
Ранее вся информация хранилась на бумажных носителях, что создавало неудобство и поиске и анализе необходимой информации. Сведений об аналогах данного программного продукта в доступной литературе не обнаружено. Разработка автоматизированных систем сбора, обработки и анализа информации позволит облегчить труд специалистов. Программа систематизирует данные по техническим заданиям, государственным контрактам и договорам, счет-фактурам, так же на основе этих данных удобно проводить анализ по различным параметрам (интенсивность ремонта и использования орг. техники, частоту заправки картриджей и т.д.).
Полученные данные будет удобно использовать для различных отчетов.
3.5 Перспективы и планы развития проекта
В дальнейшем, если будет необходимо, возможно расширение базы данных, т.е. создание новых таблиц, так же создание и модернизация пользовательского интерфейса.
4.1 Наименование программного продукта
Система автоматизации исполнения государственных контрактов и договоров отдела информатизации Управления Федеральной Службы Судебных приставов по Архангельской области.
4.2 Назначение программного продукта
Автоматизировать процесс анализа исполнения государственных контрактов и договоров. Что позволит сотрудникам отдела избавиться от рутинной работы, быстро и эффективно производить учет выполненных работ, осуществлять анализ и получать отчеты с использованием собственной базы данных.
4.3 Характеристика объекта автоматизации
Отдел информатизации и обеспечения информационной безопасности занимается организацией единой системы информационно-телекоммуникационного обеспечения Управления и его структурных подразделений. Кроме этого данный отдел выполняет следующие функции:
- Обеспечивает функционирование информационных систем в установленной сфере деятельности.
- Обеспечивает справочно-информационное сопровождение деятельности структурных подразделений Управления.
- Организует и обеспечивает в пределах своей компетенции защиту сведений, составляющих государственную и иную охраняемую законом тайну.
- Создает и сопровождает в установленном порядке электронные банки данных.
4.4 Требования к программному продукту
1. Система должна содержать
- Форму подключения к базе данных;
- справочники: Подразделения, Наименование изделия, Вид работ, Исполнитель, Предмет.
- Таблицы: Техническое задание, Государственные контракты, Приложения, Счет-фактуры.
- Запросы: Журнал счет-фактур, Исполнение Государственных контрактов и договоров.
- Поддерживать механизмы занесения и хранения входящих данных: о технические задания;
- о государственных контрактах и договорах;
- о счет-фактурах;
- справочники;
- приложения.
- Использование архитектуры клиент-сервер;
- Возможность выбора файла базы данных.
- Сортировка по всем столбцам таблицы.
- Возможность редактирования уже существующих данных.
- Присутствие в таблицах выпадающих полей. Данные полей берутся из справочников.
- На форме Государственные контракты так же отображать таблицу приложения. Данные этой таблицы должны соответствовать только выбранному государственному контракту.
- Поля «Сумма» в таблицах «Приложение» и «Счет-фактуры» должны вычисляться по формуле: Количество * Стоимость = Сумма.
- Система должна содержать запрос, результатом которого является таблица, в поле «Сумма» которой содержится общая сумма всех счет-фактур соответствующих одному номеру Государственного контракта.
- Система должна анализировать исполнение государственных контрактов по подразделениям и периоду заключения контракта. Так же считать общую сумму выбранных государственных контрактов и соответствующих им счет-фактур.
4.5 Этапы и срок создания программного продукта
Общий срок создания программного продукта составляет 3 месяца.
- Анализирование предметной области (7 дней)
- Проектирование базы данных (7 дней)
- Формирование физической модели данных (7 дней)
- Разработка базы данных (14 дней)
- Разработка программного модуля (30 дней)
- Тестирование программного продукта (7 дней)
- Доработка ошибок (7 дней)
Цель моделирования данных состоит в обеспечении разработчика ИС концептуальной схемой базы данных в форме одной модели или нескольких локальных моделей, которые относительно легко могут быть отображены в любую систему баз данных.
Наиболее распространенным средством моделирования данных являются диаграммы «сущность-связь» (ERD), нотация которых была впервые введена П. Ченом. Базовыми понятиями ERD являются:
Сущность (Entity) — реальный или воображаемый объект, имеющий существенное значение для рассматриваемой предметной области.
Каждая сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от других экземпляров данного типа сущности. Каждая сущность должна обладать некоторыми свойствами:
- каждая сущность должна иметь уникальное имя, и к одному и тому же имени должна всегда применяться одна и та же интерпретация. Одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами;
- обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь;
- обладать одним или несколькими атрибутами, которые однозначно идентифицируют каждый экземпляр сущности.
Каждая сущность может обладать любым количеством связей с другими сущностями модели.
Связь (Relationship) — поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области. Связь — это ассоциация между двумя сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, и наоборот.
Связи может даваться имя, выражаемое грамматическим оборотом глагола и помещаемое возле линии связи. Имя каждой связи между двумя данными сущностями должно быть уникальным, но имена связей в модели не обязаны быть уникальными. Имя связи всегда формируется с точки зрения родителя, так что предложение может быть образовано соединением имени сущности-родителя, имени связи, выражения степени и имени сущности-потомка.
Степень связи и обязательность графически изображаются следующим образом (рисунок 5.1).
Рисунок 5.1 — Степени связи
Атрибут — любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности. Атрибут представляет тип характеристик или свойств, ассоциированных с множеством реальных или абстрактных объектов (людей, мест, событий, состояний, идей, предметов и т.д.).
Экземпляр атрибута определяется типом характеристики и ее значением, называемым значением атрибута. В ER-модели атрибуты ассоциируются с конкретными сущностями. Таким образом, экземпляр сущности должен обладать единственным определенным значением для ассоциированного атрибута.
При проектировании данных рекомендуется создавать атомарные атрибуты, например, страна и город — отдельные атрибуты при описании адреса.
Для обеспечения связи между сущностями используются понятия ключей:
- первичный ключ:
- альтернативный ключ;
- внешний ключ.
Первичный ключ (главный ключ) — атрибут или группа атрибутов, однозначно идентифицирующая каждый экземпляр сущности. При выборе первичного ключа следует отдавать предпочтение наиболее простым ключам, имеющим числовой тип значений.
Первичный (главный) ключ должен обладать следующими свойствами:
- должен имет уникальные значения;
- не должен содержать пустых (неопределенных) значений:
- должен быть компактным, т.е.
должен содержать только такие атрибуты, удаление любого из которых может привести к утрате уникальности.
Внешний ключ — существует только для дочерней сущности и является ссылкой на значение ключа родительской сущности. При создании связей (отношений) между сущностями в дочернюю сущность передаются атрибуты, составляющие первичный ключ родительской сущности. Эти атрибуты и составляют внешний ключ. [3]
5.1 Схема данных
База данных BASE.FBD состоит из 9 таблиц, связанных между собой.
Таблица PODRAZDELENIYA используется для хранения данных о названиях подразделений ФССП по Архангельской области и имеет следующие поля (таблица 1):
Таблица 1
Имя |
Описание |
Тип |
Id |
идентификатор подразделения (первичный ключ) |
INTEGER |
Podr |
название подразделения |
VARCHAR |
GOS_CONTR_ID |
внешний ключ на таблицу GOS_CONTR |
INTEGER |
TEX_ZAD_ID |
внешний ключ на таблицу TEX_ZAD |
INTEGER |
SCH_F_ID |
внешний ключ на таблицу SCH_F |
INTEGER |
Таблица NAIM_IZD используется для хранения данных о наименовании изделий и имеет следующие поля (таблица 2):
Таблица 2
Имя |
Описание |
Тип |
Id |
идентификатор изделия (первичный ключ) |
INTEGER |
NAIM_IZD |
наименование изделия |
VARCHAR |
VID_RAB_ID |
внешний ключ на таблицу VID_RAB |
INTEGER |
PRILOZH_ID |
внешний ключ на таблицу PRILOZH |
INTEGER |
SCH_F_ID |
внешний ключ на таблицу SCH_F |
INTEGER |
Таблица ISPOLN используется для хранения данных об исполнителях и имеет следующие поля (таблица 3):
Таблица 3
ИмяОписаниеТип |
||
Id |
идентификатор исполнителя (первичный ключ) |
INTEGER |
NAZV |
Название исполнителя |
VARCHAR |
ADRESS |
Адрес исполнителя |
VARCHAR |
DIRECTOR |
Директор |
VARCHAR |
INN |
ИНН исполнителя |
INTEGER |
KPP |
КПП исполнителя |
INTEGER |
R_S |
Расчетный счет исполнителя |
INTEGER |
BANK |
Банк |
VARCHAR |
K_S |
Кассовый счет |
INTEGER |
GOS_CONTR_ID |
внешний ключ на таблицу GOS_CONTR |
INTEGER |
SCH_F_ID |
внешний ключ на таблицу SCH_F |
INTEGER |
Таблица PREDM используется для хранения данных о предметах государственных контрактов и имеет следующие поля (таблица 4):
Таблица 4
Имя |
Описание |
Тип |
Id |
идентификатор предмета договора, государственного контракта (первичный ключ) |
INTEGER |
PREDM |
предмет договора, государственного контракта. |
VARCHAR |
PRILOZH_ID |
внешний ключ на таблицу 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
Имя |
Описание |
Тип |
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 — используются для создания вспомогательных (локальных) меню, появляющихся после нажатия правой кнопки мыши. В отличие от главного меню, вспомогательное меню может быть создано для любого оконного компонента;
Главной задачей программирования интерфейса базы данных является предоставление пользователям удобных инструментов для реализации своих производственных задач. Программно реализованы следующие основные моменты:
. Подключение к базе данных:
procedure TForm1. Button1Click (Sender: TObject);.IBConnection1. DatabaseName:=FileNameEdit1. FileName;(‘неверный путь’);;;.IBConnection1. Connected:=true;(‘ Выберите файл базы данных (BASE.FDB)’);;;.SQLTransaction1. Active:=true;.SQLQuery1. Active:=true;.SQLQuery2. Active:=true;.SQLQuery3. Active:=true;.SQLQuery4. Active:=true;.SQLQuery5. Active:=true;.SQLQuery6. Active:=true;.SQLQuery7. Active:=true;.SQLQuery8. Active:=true;.SQLQuery9. Active:=true;.SQLQuery10. Active:=true;. Datasource1. Enabled:=true;. Datasource2. Enabled:=true;. Datasource3. Enabled:=true;. Datasource4. Enabled:=true;. Datasource5. Enabled:=true;. Datasource6. Enabled:=true;. Datasource7. Enabled:=true;. Datasource7. Enabled:=true;. Datasource8. Enabled:=true;. Datasource9. Enabled:=true;. Datasource10. Enabled:=true;. Caption:=’состояние: подключено’;. Visible:=true;. Visible:=true;. Visible:=true;(‘Ошибка подключения к базе’);;;;TForm1. Button2Click (Sender: TObject);. Datasource1. Enabled:=false;. Datasource2. Enabled:=false;. Datasource3. Enabled:=false;. Datasource4. Enabled:=false;. Datasource5. Enabled:=false;. Datasource6. Enabled:=false;. Datasource7. Enabled:=false;. Datasource8. Enabled:=false;. Datasource9. Enabled:=false;. Datasource10. Enabled:=false;.SQLQuery1. Active:=false;.SQLQuery2. Active:=false;.SQLQuery3. Active:=false;.SQLQuery4. Active:=false;.SQLQuery5. Active:=false;.SQLQuery6. Active:=false;.SQLQuery7. Active:=false;.SQLQuery8. Active:=false;.SQLQuery9. Active:=false;.SQLQuery10. Active:=false;.SQLTransaction1. Active:=false;.IBConnection1. Connected:=false;. Visible:=false;. Visible:=false;. Visible:=false;1. Caption:=’состояние: отключено’;
end;
. Вызов необходимых форм через пункты меню главной формы, появляющегося после подключения к базе данных:
procedure TForm1. MenuItem2Click (Sender: TObject);.IBConnection1. Connected:=true;.SQLQuery2. Active:=true;. Datasource2. Enabled:=true;. CreateForm (TForm2, Form2);. Show;(‘ Подключитесь к базе’);;;;
. Сортировка данных при клике на шапку таблицы:
procedure TForm2.DBGrid1TitleClick (Column: TColumn);Column. Field. Tag = 0 then.SQLQuery2. Active:=false;.SQLQuery2.SQL. Clear;.SQLQuery2.SQL. Add (‘select * from podrazdeleniya ORDER BY ‘ + Column. FieldName);.SQLQuery2. Active:=true;. Datasource2. Enabled:=true;. Title. Font. Color:=clBlue;. Field. Tag:= not Column. Field. Tag;
end;;
.
Сохранение введенной информации в базе данных:
procedure TForm2. Button1Click (Sender: TObject);.SQLQuery2. ApplyUpdates;.sqlquery2. Active:=false;.SQLtransaction1. Commit;.sqltransaction1. StartTransaction;.sqlquery2. Active:=true;(‘Сохранено’);;
. Запрос на форме «Показать приложения»: select * FROM prilozh WHERE prilozh.N_dog=+ m, где m — номер государственного контракта, соответствующего выбранной строке в таблице «Государственные контракты»:
procedure TForm9. Button5Click (Sender: TObject);.SQLQuery9. Active:=false;.SQLQuery9.SQL. Clear;.SQLQuery9.SQL. Add (‘select * from gos_contr ORDER BY id’);.SQLQuery9. Active:=true;. Datasource9. Enabled:=true;
end;
. Запрос «Журнал счет-фактур»: SELECT n_dog, podr, sum(stoim) FROM sch_f GROUP BY N_DOG, podr.
7. Запрос «Исполнение государственных контрактов». Для его реализации необходимы:
procedure TForm12. Button1Click (Sender: TObject);str: string;. DataSource. DataSet. Close;.SQLQuery12.SQL. Clear;. 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;’);. DataSource. DataSet. Open;.SQL. Clear;.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));. Active:=true;. Text:= DataSource1. DataSet. Fields[0].
AsString;. DataSet. Close;.SQL. Clear;.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));. Active:=true;. Text:= DataSource2. DataSet. Fields[0].
AsString;
DataSource2. DataSet. Close;;
Другие моменты разработки носят стандартный характер и не обладают какими либо специфическими особенностями.
Соблюдение канонических основ проектирования и программная реализация некоторых сложных моментов, носящих нетривиальный характер, позволила получить готовый к использованию продукт
Главная форма программного продукта «Подключение» изображена на рисунке 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) видим анализ исполнение государственных контрактов с выборкой по подразделениям и периоду заключения контракта. Так же общую сумму выбранных государственных контрактов и соответствующих им счет-фактур.
После внедрения программного средства производится его тестирование. Тестирование — это процесс многократного выполнения программы с целью обнаружения ошибок.
Опытную эксплуатацию и тестирование программный продукт проходил на протяжении недели в Отделе информатизации Управления Федеральной службы судебных приставов. В ходе этого были выявлены след недостатки:
. На форме «Государственные контракты» удобнее было бы сразу отображать приложения, соответствующие выбранному государственному контракту.
. Недостаточное количество символов в полях ввода данных;
. В справочник «Вид работ» необходимо добавить поле «Наименование изделия».
С учетом пожеланий будущих пользователей и результатов опытной эксплуатации данные недостатки были устранены в течение 7 дней. После этого программа успешно внедрена.
Целью данной работы являлась разработка системы автоматизации исполнения государственных контрактов и договоров отдела информатизации Управления Федеральной службы судебных приставов по Архангельской области.
В процессе создания проекта был осуществлен целый комплекс работ по проектированию и реализации информационной системы, исходя из поставленной задачи.
Была проанализирована литература, область деятельности отдела информатизации, спроектирована и разработана база данных BASE.FDB, разработан программный модуль СИСТЕМА АВТОМАТИЗАЦИИ АНАЛИЗА ИСПОЛНЕНИЯ ГОСУДАРСТВЕННЫХ КОНТРАКТОВ И ДОГОВОРОВ, проведено тестирование программного продукта, доработаны ошибки, выявленные в ходе тестирования.
Итогом выполнения данной квалификационной работы стала автоматизированная система анализа исполнения государственных контрактов и договоров отдела информатизации Управления Федеральной службы судебных приставов. Разработана на базе платформы Lazarus 0.9.28.2 с использованием системы управления базы данных (СУБД) Firebird и представляет собой клиент-серверное приложение. Данная система является кроссплатформенной, это означает, что программный модуль исходного кода может быть откомпилирован под ту среду, в которой его планируется эксплуатировать. База данных не требует дополнительных манипуляций и может быть перенесена на любую платформу методом копирования.
Разработанный программный продукт обладает простым и дружественным интерфейсом, что позволяет любому сотруднику службы судебных приставов использовать его при наличии доступа к приложению. В дальнейшее данный программный продукт планируется внедрить для использования во всех территориальных подразделениях Службы судебных приставов.
При создании проекта использовалось бесплатное программное обеспечение, что позволит не затрачивать материальные средства на приобретение и установку дополнительных лицензионных программ.
Тестирование программы успешно завершено. Выполнены основные задачи, поставленные в самом начале работы. Так как разработанный программный продукт обладает возможностью масштабирования, то при наличии свободного времени данную систему можно расширить практически для любых задач.
автоматизированный государственный контракт безопасность
1. Федеральный закон от 27.07.2006 №149 — ФЗ «Об информации, информационных технологиях и о защите информации» (принят ГД ФС РФ 08.07.2006)
. Ковязин А.Н., Востриков С.М. Мир InterBase. 2003. 489 с.
3. Борри Х. Firebird: руководство разработчика баз данных: Пер. с анrл. СПб.: БХВ Петербурr, 2006. 1104 с.: ил.
. Положение об отделе информатизации и обеспечения информационной безопасности Управления Федеральной службы судебных приставов по Архангельской области
. Рудюк С.А., 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/