Материал: Разработка автоматизированной системы оптимизации отслеживания отчетности предприятий

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

1.3.2     Моделирование информационной системы

Диаграммой «сущность-связь» или ER-диаграммой называется схематическое изображение сущностей и связей системы для более наглядного понимания структуры проектируемой системы. Классы сущностей на таких диаграммах принято обозначать прямоугольниками, а связи - ромбами. Имя сущности указывается внутри прямоугольника, а имя связи - рядом с ромбом.

Рис.1.1

Рис.1.2 Схема базы данных

Структура БД:

Под описанием структуры БД понимается описание составляющих базу данных отношений, а фактически, входящих в них атрибутов.

1.3.3     Анализ таблиц базы данных

База данных для отслеживания сданной отчетности по Нижегородской области содержит в себе 12 таблицы. Таблицы - это основные объекты любой базы данных, они построены на основе ER-диаграммы.

Таблица 1.3 CLIENTAGE

Данная таблица содержит список клиентов, с необходимыми данными

Наименование поля

Тип поля

Описание

IDCLIENT

INTEGER

Идентификатор таблицы клиенты

NAMECLIENT

VARCHAR(40)

Наименование клиента

INN

VARCHAR(12)

ИНН

ADDRESS

VARCHAR(40)

Адрес

IDTAXATIONSYSTEM

INTEGER

Идентификатор системы налогообложения

DISTRICT_ID

SMALLINT

Идентификатор района

ID_SUB_REP

SMALLINT

Поле для связи с таблицей видов сдачи отчетности


Таблица 1.4 DEADLINES

Данная таблица содержит данные о сроках сдачи отчетности

Наименование поля

Тип поля

Описание

IDDECLARATION

INTEGER

Идентификатор декларации

IDTERM

INTEGER

Идентификатор срока сдачи отчетности

TERM

VARCHAR(10)

Срок сдачи отчетности

QUARTER

INTEGER

Квартал

REPORTYEAR

INTEGER

Отчетный год


Таблица 1.5 DECLARATION

Данная таблица содержит данные о видах деклараций

Наименование поля

Тип поля

Описание

IDDECLARATION

INTEGER

Идентификатор декларации

NAMEDECLARATION

VARCHAR(20)

Наименование декларации

IDFUND

INTEGER

Идентификатор фонда

ID_DEADLINE

INTEGER

Идентификатор срока сдачи отчетности


Таблица 1.6 DISTRICT

Данная таблица содержит список районов

Наименование поля

Тип поля

Описание

IDDISTRICT

INTEGER

Идентификатор района

NAMEDISTRICT

VARCHAR(15)

Наименование района

DIST_LINK_ID

INTEGER

поле для связи с таблицей районов


Таблица 1.7 FUNDS

Данная таблица содержит список фондов

Наименование поля

Тип поля

Описание

IDFUND

INTEGER

Идентификатор фонда

NAMEFUND

VARCHAR(20)

Наименование фонда

INN

VARCHAR(12)

ИНН

ADDRESS

VARCHAR(40)

Адрес

ID_DECL

INTEGER

Идентификатор декларации


Таблица 1.8 INTERNALREPORTS

Данная таблица содержит внутренние отчеты

Наименование поля

Тип поля

Описание

NAMEOPERATION

VARCHAR(25)

Наименование операции

IDOPERATION

INTEGER

Идентификатор операции

NAMEMONTH

VARCHAR(10)

Месяц

REPORTYEAR

INTEGER

Отчетный год

DONE

INTEGER

Сделано

RESPONSIBLE

VARCHAR(15)

Ответственный

OPERАTION_DICT_ID

INTEGER

Поле для связи с таблицей операций

CLIENT_NAME

INTEGER

Наименование клиента

ID_RESPONSIBLE

INTEGER

Идентификатор ответственного


Таблица 1.9 OPERATIONS

Данная таблица содержит список операций

Наименование поля

Тип поля

Описание

ID_OPERATION

INTEGER

Идентификатор операции

OPERATION_NAME

VARCHAR(30)

Наименование операции


Таблица 1.10 PROGRESS

Данная таблица содержит данные о ходе выполнения работы

Наименование поля

Тип поля

Описание

IDPROGRESS

INTEGER

Идентификатор хода выполнения работы

IDDECLARATION

INTEGER

Идентификатор декларации

IDCLIENT

INTEGER

Идентификатор клиента

DONE

INTEGER

Сделано

SENT

INTEGER

Отправлено

RECEIVED

INTEGER

Принято

IDFUND

INTEGER

Идентификатор фонда

ID_DISTRICT

INTEGER

Идентификатор района

ID_TAX_SYSTEM

INTEGER

Идентификатор для связи с таблицей "системы налогообложения"

ID_SUB_REP

SMALLINT

Поле для связи с таблицей видов сдачи отчетности


Таблица 1.11 RESPONSIBLE

Данная таблица содержит список ответственных лиц

Наименование поля

Тип поля

Описание

RESPONSIBLE_ID

INTEGER

Идентификатор ответственного

RESPONSIBLE_NAME

VARCHAR(30)

ФИО ответственного


Таблица 1.12 SUBMISSIONREPORTS

Данная таблица содержит виды сдачи отчетности

Наименование поля

Тип поля

Описание

IDSUBMISSIONREPORTS

INTEGER

Идентификатор вида сдачи отчетности

IDDECLARATION

INTEGER

Идентификатор декларации

IDCLIENT

INTEGER

Идентификатор клиента

IDFUND

INTEGER

Идентификатор фонда

KINDSUBMISSIONREPORTS

VARCHAR(15)

Вид сдачи отчетности


Таблица 1.13 TAXATIONSYSTEM

Данная таблица содержит виды систем налогообложения

Наименование поля

Тип поля

Описание

IDTAXATIONSYSTEM

INTEGER

Идентификатор системы налогообложения

NAMETAXATIONSYSTEM

VARCHAR(10)

Наименование системы налогообложения


Описание структуры информационной системы:

Программа содержит следующие формы:

1)    Модуль данных

2)      Главная форма

3)      Форма сроков сдачи

4)      Форма фондов и деклараций

5)      Форма внутренних отчетов

6)      Форма заполнения словарей

Описание использованных программных средств:

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

Среда разработки:

C++ Builder - программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке программирования C++.

Изначально разрабатывался компанией Borland Software, а затем её подразделением CodeGear, ныне принадлежащим компании Embarcadero Technologies.

C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но обратное утверждение не верно.++ Builder содержит инструменты, которые при помощи drag-and-drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG - редактору интерфейса и пр.

Дополнительные компоненты:

Firebird (FirebirdSQL) - компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.

В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.используется в различных промышленных системах (складские и хозяйственные, финансовый и государственный сектора) с 2001 г. Это коммерчески независимый проект C и C++ программистов, технических советников и разработчиков мультиплатформенных систем управления базами данных, основанный на исходном коде, выпущенном корпорацией Borland 25 июля 2000 года в виде свободной версии Interbase 6.0.

Среди недостатков: отсутствие кэша результатов запросов, полнотекстовых индексов.является сервером баз данных. Один сервер Firebird может обрабатывать несколько сотен независимых баз данных, каждую с множеством пользовательских соединений. Он является полностью свободным от лицензионных отчислений даже для коммерческого использования.

Основные характеристики:

-      Соответствие требованиям ACID. Firebird сделан специально, чтобы удовлетворять требованиям «атомарности, целостности, изоляции и надёжности» транзакций («Atomicity, Consistency, Isolation and Durability»).

        Версионная архитектура. Основная особенность Firebird - версионная архитектура, позволяющая серверу обрабатывать различные версии одной и той же записи в любое время таким образом, что каждая транзакция видит свою версию данных, не мешая соседним («читающие транзакции не блокируют пишущие, а пишущие не блокируют читающих»).

Это позволяет использовать одновременно OLTP и OLAP запросы.

        Хранимые процедуры. Используя язык PSQL (процедурный SQL) Firebird, возможно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчётов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же как и обычные таблицы.

        События. Хранимые процедуры и триггеры могут генерировать события, на которые может подписаться клиент. После успешного завершения транзакции (COMMIT) он будет извещён о произошедших событиях и их количестве.

        Генераторы. Идея генераторов (последовательностей) делает возможной простую реализацию автоинкрементных полей, и не только их.

Генераторы являются 64‐битными хранимыми в базе данных счётчиками, работающими независимо от транзакций. Они могут быть использованы для различных целей, таких как генерация первичных ключей, управление длительными запросами в соседних транзакциях, и т. д.

-      Базы данных только для чтения. Позволяют распространять базы данных, к примеру, на CD-ROM. Особенно упрощает распространение данных их использование в комбинации с встраиваемой версией сервера Firebird (Firebird Embedded).

        Полный контроль за транзакциями. Одно клиентское приложение может выполнять множество одновременных транзакций. В разных транзакциях могут быть использованы разные уровни изоляции. Протокол двухфазного подтверждения транзакций обеспечивает гарантированную устойчивость при работе с несколькими базами данных. Также доступны оптимистическое блокирование данных и точки сохранения транзакций.

        Резервное копирование на лету. Для резервного копирования нет надобности останавливать сервер. Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, не мешая при этом работе с базой. Кроме того, существует возможность производить инкрементальное резервное копирование БД.

        Триггеры. Для каждой таблицы возможно назначение нескольких триггеров, срабатывающих до или после вставки, обновления или удаления записей. Для триггеров используется язык PSQL, позволяя вносить начальные значения, проверять целостность данных, вызывать исключения, и т. д. В Firebird 1.5 появились «универсальные» триггеры, позволяющие в одном триггере обрабатывать вставки, обновления и удаления записей таблицы.

        Внешние функции. Библиотеки с UDF (User Defined Function) могут быть написаны на любом языке и легко подключены к серверу в виде DLL/SO, позволяя расширять возможности сервера «изнутри».

        Декларативное описание ссылочной целостности. Обеспечивает непротиворечивость и целостность многоуровневых отношений «master-detail» между таблицами.

        Наборы символов. Firebird поддерживает множество международных наборов символов (включая Unicode) с множеством вариантов сортировки.

Соответствие стандарту SQL:полностью поддерживает SQL-92 Entry Level 1 и реализует большую часть стандарта SQL-99 c некоторыми очень полезными дополнениями. Это включает выражения DML/DDL, синтаксис объединений FULL/LEFT/RIGHT [OUTER] JOIN, выражения UNION, DISTINCT, подзапросы (IN, EXISTS), встроенные функции (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), ограничения целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY), и все общие типы данных SQL.также реализует ограничения проверки (check constraints) на уровне доменов и полей, отображения (views), исключения, роли и управление правами доступа. Для более подробной информации см. Firebird Reference Guide и Release Notes.

Требования к аппаратному обеспечению:работает на 32- и 64-разрядных версиях Windows, Linux, также на MacOS X, HP-UX, FreeBSD, и др., на аппаратных платформах x86, x64 и PowerPC, Sparc и многих других, и поддерживает легкий переход между этими платформами. Может использоваться даже не очень мощное оборудование, особенно под Linux. И как в любой СУБД, на производительность влияют: количество памяти, скорость работы дисковой подсистемы, и т. д. Рекомендации для выбора аппаратного обеспечения зависят от требования к системе, прогнозируемого размера базы данных, количества пользователей, и т. д. Допустимо начинать с минимальной конфигурации, расширяя её по мере надобности.

Доступные операционные системы:

Наиболее широко используемыми для серверов Firebird операционными системами являются Linux и Microsoft Windows (включая NT) (включая терминальные сервисы MS и Citrix). Другие поддерживаемые платформы - Mac OS X, Solaris, FreeBSD и HP-UX.