2СПЕЦИАЛЬНАЯ ЧАСТЬ
2.1Структура и функциональное назначение отдельных модулей МИНЗАТР
Программный продукт разработан с помощью свободной среды разработки программного обеспечения Lazarus. Система состоит из 5 модулей. Все 5 модулей из используемых разрабатывались вручную на языке ObjectPascal.
Названия всех созданных модулей указывают на их функциональное назначение. Модуль View.pas – модуль, отвечающий за интерфейс пользователя, занимается выводом данных на экран. Модуль Controller.pas – обрабатывает данные для их отображения пользователю, а также передает расчетные данные, полученные из модуля Metod.pas. Модуль Metod.pas – осуществляет расчет затрат при заключении контракта на поставку сырья с использованием критерия ожидаемого значения и передачу рассчитанного значения в модуль Controller.pas. Модуль Raschet.pas – осуществляет возможность просмотра ранее произведенных расчетов. Модуль Document.pas занимается созданием документированных отчетов на основе информации хранящейся в базе данных. Данные для расчета, модуль Metod.pas получает от модуля Controller.pas, после чего возвращает в модуль Controller.pas рассчитанные с использованием заданного алгоритма значения которые впоследствии записываются в базу данных.. Процесс проектирования модульной структуры заключается в определении модулей, являющихся составными частями программного комплекса. Для решения задачи обработки и визуализации экспериментальных данных были использованы модули следующих типов:
-
модули, реализующие классы алгоритмов обработки данных;
-
модули, реализующие программные формы;
-
модули, обеспечивающие поддержку баз данных.
Модульная структура МИНЗАТР представлена на рисунке 2.1.
Рисунок 2.1 – Модульная структура МИНЗАТР
Функциональное назначение модулей МИНЗАТР представлено в таблице 2.1.
Таблица 2.1 – Функциональное назначение модулей МИНЗАТР
Модуль
|
Описание
|
View
|
Обслуживающий модуль, реализующий форму для управления системой, модуль управляется модулем Controller
|
Controller
|
Управляющий модуль, выполняющий посреднические функции между модулями Rachet, Metod и Document, а также управляющий модулем View
|
Document
|
Занимается созданием отчетов о проведенных расчетах
|
Metod
|
Обрабатывающий модуль, занимающийся произведением расчетов и пересылкой полученных данных в Controller
|
Rachet
|
Обрабатывающий модуль, занимающийся расчетом средних затрат по каждому из поставщиков. результаты передаются в модуль контроллер
|
Составим диаграмму компонентов ПМК автоматизации обработки данных с использованием моделей теории игр для принятия решений на машиностроительном предприятии. Диаграмма компонентов МИНЗАТР представлена на рисунке 2.2.
Рисунок 2.2 – Диаграмма компонентов МИНЗАТР
Из данной диаграммы видно, что компонент системы «MinZatr.exe» является исполнимым файлом, который реализуется посредством модулей, приведенных на диаграмме. Т.е. по сути это главный компонент программы. Также имеется справочная система «Help.file», которая отвечает за предоставление пользователю справочных сведений в режиме быстрой помощи и взаимодействует с компонентом «MinZatr.exe» посредством интерфейса Imain. «MinZatr.exe»в свою очередь взаимодействует с компонентом «Base», представляющим из себя базу данных.
Система проектируется как клиентское приложение, на основании этого на рисунке 2.3 приведена диаграмма развертывания МИНЗАТР.
Рисунок 2.3 – Диаграмма развертывания МИНЗАТР
Построим диаграмму состояний МИНЗАТР.
Диаграммы состояний – это один из пяти видов диаграмм в языке UML, используемых для моделирования динамических аспектов системы. Диаграмма состояний показывает автомат. Ее частной разновидностью является диаграмма деятельности, в которой все или большая часть состояний – это состояния деятельности, а все или большая часть переходов инициируются в результате завершения деятельности в исходном состоянии.
Таким образом, при моделировании жизненного цикла объекта полезны как диаграммы деятельности, так и диаграммы состояний. Но если диаграмма деятельности показывает поток управления от деятельности к деятельности, то на диаграмме состояний представлен поток управления от состояния к состоянию.
Диаграммы состояний используются для моделирования динамических аспектов системы. По большей части под этим подразумевается моделирование поведения реактивных объектов. Реактивным называется объект, поведение которого лучше всего характеризуется его реакцией на события, произошедшие вне его собственного контекста. У реактивного объекта есть четко выраженный жизненный цикл, когда текущее поведение обусловлено прошлым.
Диаграммы состояний можно присоединять к классам, прецедентам или системе в целом для визуализации, специфицирования, конструирования и документирования динамики отдельного объекта. Диаграммы состояний важны не только для моделирования динамических аспектов системы, но и для конструирования исполняемых систем путем прямого и обратного проектирования.
На рисунке 2.4 представлена диаграмма состояний МИНЗАТР.
Рисунок 2.4 – Диаграмма состояний МИНЗАТР
Произведем описание диаграммы состояний.
После запуска системы она попадает в состояние «Ожидание ввода». В данном состоянии система ожидает от пользователя команды. Чтобы перейти в следующее состояние, система должна отреагировать на событие запрос отчета либо запрос на расчет. Если это событие запрос отчета и соответствующие этому событию действия выполняются, то система переходит в состояние «Формирование и отображение отчета». Далее система переходит в состояние «Ожидание ввода». Если это событие запрос на расчет и соответствующие этому событию действия выполняются, то система переходит в состояние «Ввод цен и вероятности их появления». Далее система переходит в состояние «формирование платежной матрицы», в котором производится ввод основных данных. После ввода данных система переходит в состояние «Расчет критерия ожидаемого значения» в котором производятся основные операции расчета. После выполнения операций расчета критерия ожидаемого значения система возвращается в состояние «Ожидание ввода».
Выход происходит из состояния «Ожидание ввода» по получению запроса на закрытие программы.
|