Построение модели банковского отделения — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

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

Построение модели банковского отделения

2017-12-09 316
Построение модели банковского отделения 0.00 из 5.00 0 оценок
Заказать работу

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

Начнем с клиентов, использующих только банкомат, установленный в офисе.

Сделаем следующие предположения:

Ø Интервал времени между приходом клиентов распределен экспоненциально с интенсивностью прихода 0,67 человек в минуту (пуассоновский поток)

Ø Время обслуживания одного клиента распределено по треугольному закону с параметрами 0,8, 1 и 1,3

Ø В очереди может находиться не больше 15 человек

Начинаем строить модель.

§ Создаем новый проект Файл – Создать

§ Вводим имя проекта Банковское отделение

§ Выбираем вкладку Библиотеки

§ Выбираем библиотеку Enterprise Library

§ Находим объект источника source

§ Перетаскиваем данный объект в поле структурной диаграммы из окна Библиотеки

§ Добавляем таким же образом объекты queue, delay, sink

§ Соединяем объекты, перетаскивая порты один на другой

§ Переименовываем объект delay в ATM (для этого нужно щелкнуть по объекту мышью и ввести новое имя объекта в поле Имя закладки Общие)

§ Теперь можно запустить модель, нажав на кнопку Запустить (F5)

§ Пропишем свойства объектов:

Ø Для объекта source в поле interarrivalTime задаем значение exponential(0.67)

Ø Для объекта queue в поле capacity задаем значение 15

Ø Для объекта АТМ в поле delayTime задаем значение triangular(0.8, 1, 1.3)

§ Теперь можно переходить к построению анимации для данной модели.

Для объектов библиотеки Enterprise Library предусмотрена анимация. Общая идея построения анимации такова – нужно связывать с объектом блок схем, в котором могут находиться заявки, «направляющею» фигуру на анимации, и задать тип для этой анимации.

§ Для создания анимации выбираем Main – Новая анимация.

Анимировать будем следующие элементы:

Ø Анимирование клиентов, стоящих в очереди и перед банкоматом

Ø Визуализация состояния банкомата (свободен/занят)

Ø Индикатор усредненного размера очереди и среднего коэффициента использования банкомата

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

Состояние банкомата отразим прямоугольником, окрашенным в зеленый цвет при состоянии Свободен, или окрашенным в красный цвет при состоянии Занят. Добавляем на поле анимации объект Прямоугольник и вводим имя rectangle. В поле Цвет заливки вводим ATM.size > 0?Color.red: Color.green.

Банкомат и заявки, которые обслуживаются, отразим овалом. Добавляем на поле анимации объект Овал и называем его oval.

Усредненный размер очереди и средний коэффициент использования банкомата отразим столбцовыми индикаторами. Добавим на поле анимации 2 объекта Столбцовый индикатор.

Возвращаемся в поле диаграммы и в свойствах объектов прописываем анимацию:

Объект queue: полю statsEnabled присваиваем значение true (сбор статистики по столбцовым индикаторам); полю animationShape присваиваем значение animation.polyline (очередь будет отражаться ломаной); полю animationForward присваиваем значение false (определяет направление построения клиентов в очереди).

Объект ATM: полю statsEnabled присваиваем значение true (сбор статистики по столбцовым индикаторам); полю animationShape присваиваем значение animation.oval (банкомат и обрабатываемые заявки будут отображаться овалом); полю animationType присваиваем значение single (анимация будет отображаться только одним объектом).

Для столбцовых индикаторов в поле анимации в свойстве Отображает закладки Столбцовый индикатор пропишем отображаемые значение: для одного индикатора значение queue.getStatsSize().mean(), для другого индикатора - ATM.getStatsUtilization().mean() (сбор статистики по усредненному значению очереди и среднему использованию банкомата с возвращением данного значения).

§ Теперь можно запускать модель и анализировать анимацию

Существуют следующие типы анимаций:

Ø Arranged

Ø Queue

Ø Single

Ø Bag

Ø Linear (Movement)

Ø Set

Ø Conveyor

Ø Lane

Ø Robot/RobotPortal

§ Теперь создадим анимацию заявок от клиентов

Под заявкой в библиотеке понимается:

Ø Классические заявки – продукт, потребитель, пакет данных, документ

Ø Транспортеры – поезд, автобус, корабль, автопогрузчик

Класс Entity является базовым классом для всех сообщений, которые посылаются между объектами библиотеки. Заявки могут содержать в себе другие заявки, могут занимать ресурсы. Заявки расширяются дополнительными полями данных и пользовательскими методами. По умолчанию заявки анимируются прямоугольниками случайно выбранного цвета, но с заявкой можно связать и пользовательскую анимацию.

Базовый класс Entityфункции и переменные:

Ø Переменныеint priority (приоритет заявки; используется объектами queue; чем больше значение, тем выше приоритет); vector contents (содержимое заявки; другие заявки, содержащиеся в этой заявке); vector resources (ресурсы, которыми владеет данная заявка)

Ø Цвет для анимации по умолчаниюsetColor (Color c) (устанавливает цвет с); Color getColor (возвращает текущий цвет)

§ Создадим подкласс класса Entity

Во вкладке Проект в модели Main создадим новый класс сообщения, выбрав элемент Новый класс сообщения на панели инструментов, и назовем его Customer. Этот класс должен наследовать свойства базового класса Entity, поэтому в свойствах объекта во вкладке Общие укажем значение поля Базовый класс равное Entity. Можем также определить необходимые поля у объекта. Чтобы получить из объекта доступ к данному классу, нужно привести заявку к ее типу Customer, поэтому в свойствах объекта source в поле newEntity вкладки Общие указываем значение Customer.class.

§ Создадим анимацию заявок

На поле анимации нарисуем схематично клиента, поступающего с заявкой. Клиент может быть нарисован из линий и овалов. С помощью объекта Группа фигур объединяем все нарисованные элементы в один элемент. Устанавливаем флажок Шаблон на вкладке Общие окна свойств элемента и задаем имя ShapeCustomer. В поле Проект двойным щелчком мыши выбираем свойства подкласса Customer и задаем описание поля Код конструктора:

Ø shape.setup();

Ø setAnimation(shape);

Ø enableRotation (false);

Также задаем описание поля Дополнительный код класса:

Ø Main._Group.ShapeCustomer shape = ((Main)Engine.getRoot()).animation.new ShapeCustomer();

§ Теперь можем снова запустить модель и проанализировать анимацию

§ Преобразуем данную модель в модель с классическими ресурсами

Под ресурсами в библиотеке понимаются операторы, станки, критические секции, автомобили. Ресурсы – это объекты базового класса Entity или созданного подкласса этого класса. Ресурсы расширяются дополнительными полями данных и пользовательскими методами. Ресурсы по умолчанию анимируются прямоугольниками случайно выбранного цвета, но для ресурсов можно создать и пользовательскую анимацию.

Добавим в модель ресурсы – банковских служащих. Разделим клиентов на обычных и VIP-клиентов. Обычные клиенты будут продвигаться по уже описанному пути – к банкомату. VIP-клиенты будут переходить к кассирам на VIP-обслуживание. К кассирам и банкомату приходит примерно равное число клиентов (вероятности выбора одинаковы).

Сделаем следующие предположения:

Ø Время обслуживания одного VIP-клиента распределено по треугольному закону с параметрами 2,5, 6 и 11

Ø В офисе работает 4 кассира

Ø В очереди к кассирам может находиться не больше 20 человек

Для этого вводим в модель 3 дополнительных объекта: selectOutput, processQ, resource.

Объект processQ переименовываем в service. Укажем в поле delayTime вкладки Общие объекта service значение triangular(2.5,6,11). Размер очереди в поле queueCapacity вкладки Общие объекта service укажем равным 20.

Для объекта resource устанавливаем значение capacity равное 4 и соединяем данный объект с объектом service.

Выходы добавленного объекта selectOutput соединяем с входом очереди перед банкоматом и входом объекта service.

§ Запускаем данную модель и анализируем ее работу

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

 

 


Поделиться с друзьями:

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

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.021 с.