Смекни!
smekni.com

Разработка информационной системы бюджетного процесса финансового управления Новоегорлыкского сельского поселения (стр. 11 из 15)

На рисунке 3.1 представлена среда автоматизированной системы бюджетного процесса.

Рисунок 3.1 – Среда автоматизированной системы бюджетного процесса

Пользовательская среда автоматизированной системы бюджетного процесса состоит из нескольких основных частей:

- главное меню приложения;

- строка навигации по доступным проектам бюджета;

- панель навигации;

- основная часть.

Главное меню приложения служит для доступа ко всем функциям системы.

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

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

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

Структура главного меню приложения представлена в таблице 19.

Таблица 19 – Структура главного меню

№ п/п Название Описание
1 2 3
1 Файл
1.1 Войти в системы Позволяет пользователю подключится к системе
1.2 Выйти из системы Позволяет пользователю отключится от системы
1.3 Выход Завершает работу приложения
2 Правка
2.1 Отменить Позволяет отменить последнее произведенной пользователем действие
2.2 Повторить Позволяет повторить отмененное ранее действие
2.3 Скопировать Позволяет скопировать данные в буфер обмена
2.4 Вырезать Позволяет вырезать данные в буфер обмена
2.5 Вставить Позволяет вставить данные из буфера обмена
3 Проект бюджета
3.1 Доходы
3.1.1 Сметы доходов Администраторам бюджетных средств позволяет вводить и передавать в Финансовое управление сметы доходов, а работникам Финансового управления проверять и утверждать сметы
3.1.2 Справки-уведомления Администраторам бюджетных средств позволяет вводить
справки-уведомления по доходам, а работникам Финансового управления проверять и утверждать их
3.2 Расходы
3.2.1 Сметы расходов Распорядителям бюджетных средств позволяет вводить и передавать в Финансовое управление сметы расходов, а работникам Финансового управления проверять и утверждать сметы
3.2.2 Справки-уведомления Распорядителям бюджетных средств позволяет вводить и передавать в Финансовое управление справки-уведомления по расходам, а работникам Финансового управления проверять и утверждать их

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

3.3 Проектирование структуры программного

В процессе анализа требований и объектно-ориентированного анализа предметной области основное внимание уделялось правильной организации деятельности, т.е. изучению основных целей построения автоматизированной системы бюджетного процесса. На данном этапе акцент смещается в сторону правильной реализации поставленных целей, т.е. разработке грамотного проектного решения, удовлетворяющего поставленным требованиям. И здесь на помощь приходят диаграммы взаимодействий, иллюстрирующие взаимодействия объектов в процессе выполнения системных требований /18/. Они помогают определить структуру приложения, т.е. выявить классы системы и их взаимосвязи.

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

Пользователь вводит логин и пароль своей учетной записи и нажимает на кнопку «Войти» формы AuthForm. Эта форма в свою очередь отправляет сообщение Connect управляющему объекту ClientImpl, который представляет собой клиентское приложение. Объект ClientImpl вызывает метод Connect объекта-сервера ServerImpl и передает себя в качестве параметра этого сообщения. ServerImpl проверяет наличие в системе зарегистрированной учетной записи, с введенными пользователем логином и паролем, при помощи управляющего объекта SecurityManager. Если учетная запись с введенными пользователем данными зарегистрирована в системе, то сервер регистрирует сессию для клиентского приложения и возвращает управление клиентскому приложению.

Рисунок 3.2 – Аутентификация пользователя в системе

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

Администратор вводит на форме RegisterUserForm необходимые для регистрации нового пользователя данные, а затем запускает процедуру регистрации нового пользователя в системе. Форма RegisterUserForm передает сообщение Register управляющему объекту UserManager вместе с введенными администратором данными.

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


Рисунок 3.3 – Регистрация нового пользователя в системе

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

Пользователь вводит свой старый пароль и новый, и запускает процедуру смены пароля. Форма ChangePasswordForm передает сообщение ChangePass управляющему объекту UserManager, который в свою очередь при помощи SecureManager проверяет наличие у пользователя права на смену пароля на текущей учетной записи. Если у пользователя это право имеется, то SecureManager посылает сообщений объекту Users, который меняет пароль на учетной записи.

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


Рисунок 3.4 – Смена пароля на учетной записи пользователя

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

Дадим некоторые пояснения по структуре приложения.

Центральными классами являются ServerImpl и ClientImpl, которые соответственно представляют серверную и клиентскую часть приложения. Первый объект реализует интерфейс IServer, а второй IClient. Клиентская часть приложения имеет доступ к серверу только через интерфейс IServer. Такая реализация продиктована требованиями безопасности.

При проектировании класса ServerImpl использовался паттерн Singleton, что гарантирует существование единственного экземпляра этого класса в течение всего времени работы программы.

Класс ServerImpl управляет загрузкой подключаемых модулей и предоставляет доступ клиентскому коду к управляющим объектам.

Подключаемые модули поставляются в виде динамически подключаемых библиотек. В каждой библиотеке определен один или несколько классов реализующих интерфейс IPlugin. Класс ServerImpl при запуске приложения просматривает динамически подключаемые библиотеки на наличие классов реализующих интерфейс IPlugin и в случае если такие классы обнаружены, создает объекты этих классов и вызывает метод Load. В этом методе подключаемый модуль проводит необходимую ему инициализацию и регистрирует управляющие классы объектов в системе.

Все управляющие объекты реализуют интерфейс IManager и доступ к ним осуществляется по названию менеджера через класс ServerImpl.

Рассмотрим назначение основных менеджеров.

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

SessionManager управляет подключенными клиентскими приложениями. При подключении нового клиента к серверу ему автоматически присваивается сессия и вся дальнейшая работа строится на использовании этой сессии.

UserManager служит для управления пользователями. Он позволяет регистрировать новые учетные записи пользователей, удалять их и изменять регистрационные данные.

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

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

DALManager управляет компонентами доступа к данным. При помощи этого менеджера в системе регистрируются DAL‑компоненты, которые осуществляют сохранение объектов в базе данных, их модификацию и удаление, а также построение объектов из данных сохраненных в базе.

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

BCAdminManager управляет администраторами бюджетных средств. Позволяет назначать и удалять администраторов бюджетных средств.