Смекни!
smekni.com

Создание автоматизированной системы по ведению именных накопительных счетов (стр. 4 из 11)

- находится средняя сумма дохода, приходящаяся на один человеко-день как общая сумма дохода деленная на общее количество человеко-дней

- средняя сумма дохода за один день умножается на количество дней по каждому договору

Если после окончания распределения, возникает неделимый остаток, он распределяется по одной копейке по всем счетам, вплоть до полного исчерпания.


2. Разработка структуры и программная реализация

2.1 Объектно-ориентированный подход

При проектировании системы был выбран объектно-ориентированный подход, так как он обладает большими преимуществами[1]:

- ускоряет разработку программ за счёт использования системы понятий приближённой к естественному языку;

- основывается на природных способностях человеческого мышления к классификации и абстрагирования;

- повышение качества разработки за счёт более тщательной отработки её компонентов;

- упрощает планирование работ и удешевляет проект;

- даёт возможность системе развиваться постепенно, не приводит к полной переработке при изменении требований;

- уменьшает риск разработки проекта, т.к. процесс интеграции объектов растягивается во времени и возможно постепенное уточнение состояния и поведения компонентов системы.

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

Описание проекта требует отображения его логической и физической структуры. Для отображения структуры используются следующие диаграммы:

а) логические;

1. диаграмма классов;

2. диаграмма объектов;

б) модульная диаграмма;

в) динамические;

г) диаграмма перехода состояний.

2.2 Диаграмма классов

При проектировании программы контроля и учета финансово – хозяйственной деятельности малого предприятия была разработана диаграмма классов.

Информация из справочников образует базовые классы. Таким образом, существуют следующие базовые классы:

Район, город, ЗАГСы, вид операций.

Эти классы используются в дальнейшем:

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

2.3 Диаграмма переходов состояний

Диаграмма переходов состояний отражает динамическое поведение объектов, показывает состояния объектов, и условия, при которых они переходят из одного состояние в другое.

Начальным состоянием объекта является состояние «Подключение к серверу и идентификация пользователя», в случае ошибки происходит конфигурация сервера или отключение от сервера. Если происходит подтверждение пользователя, то программа переходит в состояние «работа», из этого состояния при наступлении соответствующих событий программа может перейти в состояния: «создание запроса», «отчеты». Из этого состояния программа также может перейти в аналогичные состояния, что и из состояния «работа».

2.4 Модульная диаграмма

Разработанные диаграммы объектов и диаграммы состояний объектов использованы для разработки модульной диаграммы программы. Модульная диаграмма определяет распределение классов и объектов в модулях, физически реализующих проект. Диаграмма отображает основные функции программы.

Функциональная структура ПО

Рисунок 2.1 - Функциональная структура

Модуль базы данных

База данных системы хранит информацию о заключенных договорах. Сохраняются следующие параметры заказа: номер, дата основания, дата закрытия, основания создания, основания закрытия, приоритет, данные о ребенке, его родителях или опекуне. Необходимо реализовать следующие функции:

регистрация нового клиента в базе;

модификация записи о клиенте;

удаление записи о клиенте из базы (в случае расторжения договора и т. п.)

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

Главный модуль

Главный модуль реализует функции:

обеспечения обмена информацией между модулями;

визуального отображения результатов работы системы.

Модуль учета и ведения счетов по лицевым счетам

Этот модуль реализует следующие функции:

Открытие карт;

Закрытие карт;

Ввод и корректировка информации по лицевым счетам.

Модуль учета поступления денежных средств

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

Модуль распределения средств по счетам

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

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

Модуль формирования отчетов

Модуль отчетов тесно связан физически и логически с модулем БД. Этот модуль реализует функцию наглядного представления информации, хранимой в базе заказов.

Модуль формирует отчеты по лицевым счетам, бюджетным поступлениям, распределением бюджетных средств по картам, а также и по словарным понятиям.

Модуль ведения нормативно-справочной информации

В данном модуле хранятся словари: Словарь операций, Словарь районов, Словарь ЗАГСов, Словарь городов. Данные словари оперативно пополняются в процессе заполнения карточек, операций над бюджетными средствами.

2.5 Логическая и физическая структуры базы данных

2.5.1 Логическая схема базы данных

Логическая схема Базы Данных построена на основе рассмотренных выше диаграмм.

Логическая схема Базы Данных включает в себя сущности, физическая интерпретация которых составляет структуру взаимосвязанных таблиц Базы Данных. Основными таблицами являются «лицевые счета», «движение средств по доходным операциям», «поступление бюджетных средств».

Добавлены так же таблицы: «тип операции», для разбиения операций с денежными средствами на виды; а также словари: «словарь операций», «словарь ЗАГСов», «словарь городов», «словарь районов» для разбиения данных на виды, предназначены для ускорения процесса заполнения карточек лицевых счетов.

Логическая схема БД включает в себя сущности, физическая интерпретация которых составляет структуру взаимосвязанных таблиц БД.


Рисунок 2.2 - Структура базы данных

2.5.2 Физическая схема базы данных

На основе логической схемы БД строится физическая схема БД следующим образом: сущности преобразуются в таблицы БД, атрибуты сущностей - в поля таблиц, в таблицы так же добавляются ключевые поля, по которым осуществляется установление связи между таблицами. На связях указываются ключевые поля одной и другой таблицы. Так же указываются типы полей в таблицах.

Информация о реквизитах лицевого счета в таблице CARD, имеющую следующую структуру:

Таблица 2.1 – Лицевые счета

Идентификатор тип поля значение
CODE INTEGER Код лицевого счета
ZAGS INTEGER Загс регистрации
DATEZAGS DATE Дата регистрации
POL CHAR(1) Пол
SURNAME CHAR(20) Фамилия
NAME INTEGER Имя
OTCH INTEGER Отчество
DATEBORN DATE Дата рождения
SVBORNSER CHAR(6) Серия свидетельства о рождении
SVBORNNUM CHAR(20) Номер свидетельства о рождении
BORNRAY INTEGER Район рождения
BORNTOWN INTEGER Место рождения
FSURNAME CHAR(30) Фамилия отца
FNAME INTEGER Имя отца
FOTCH INTEGER Отчество отца
FPASPSER CHAR(6) Серия паспорта отца
FPASPNUM CHAR(20) Номер паспорта отца
FRAY INTEGER Район проживания отца
FTOWN INTEGER Место проживания отца
FSTREET CHAR(50) Улица проживания отца
MSURNAME CHAR(30) Фамилия матери
MNAME INTEGER Имя матери
MOTCH INTEGER Отчество матери
MPASPSER CHAR(6) Серия паспорта матери
MPASPNUM CHAR(20) Номер паспорта матери
MRAY INTEGER Район проживания матери
MTOWN INTEGER Место проживания матери
MSTREET CHAR(50) Улица проживания матери
OPOL CHAR(1) Пол опекуна
OSURNAME CHAR(30) Фамилия опекуна
ONAME INTEGER Имя опекуна
OOTCH INTEGER Отчество опекуна
OPASPSER CHAR(6) Серия паспорта опекуна
OPASPNUM CHAR(20) Номер паспорта опекуна
ORAY INTEGER Район проживания опекуна
OTOWN INTEGER Место проживания опекуна
OSTREET CHAR(50) Улица проживания опекуна
PRIOR INTEGER Приоритет выплаты
CATEGORY INTEGER Категория лиевого счета
DATE_OPEN DATE Дата создания
DATE_CLOSE DATE Дата закрытия
OSN_OPEN CHAR(255) Основание создания
OSN_CLOSE CHAR(255) Основание закрытия
PLASEBORN CHAR(200) Модификация

Таблица поступления бюждетных средств BUDGET