Шаг 5. Сбор статистики по времени обслуживания

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

Теперь мы создадим Java класс Customer. Экземпляры этого класса будут испольоваться в нашей модели в качестве заявок и будут представлять клиентов банковского отделения. Мы создадим в этом классе специальные поля для запоминания необходимой нам информации о проведенном клиентом времени.

 Создайте Java класс Customer 

  1. В панели Проекты, щелкните правой кнопкой мыши по элементу модели и выберите Создать|Java класс из контекстного меню. 

  1. Появится диалоговое окно Новый Java класс. В поле Имя введите имя нового класса: Customer
  2. Сделайте так, что этот класс будет наследоваться от базового класса заявки Entity. Для этого выберите из выпадающего списка Базовый класс имя этого класса: Entity.

  1. Щелкните мышью по кнопке Далее, чтобы перейти к следующей странице Мастера создания Java класса. На второй странице Мастера Вы можете задать параметры создаваемого Java класса. Создайте два параметра:

  1. Щелкните мышью по кнопке Готово. Вы увидите редактор кода созданного класса. Можете закрыть его, щелкнув мышью по крестику в закладке с его названием. 


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

 Добавьте элементы сбора данных

  1. Чтобы добавить объект сбора данных гистограммы на диаграмму, перетащите элемент Данные гистограммы с палитры Статистика на диаграмму активного класса. 
  2. Задайте свойства элемента.

  1. Создайте еще один элемент сбора данных гистограммы. Ctrl+перетащите только что созданный объект данных гистограммы, чтобы создать его копию. 
  2. Измените Имя этого элемента на timeInSystemDistr, а Заголовок на Time in system distribution.


Теперь нам нужно изменить свойства блоков нашей диаграммы процесса. 

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

  1. Измените свойства объекта source:


  2. Измените свойства объекта queue

  3. Измените свойства объекта sink:


Запустите модель и просмотрите статистику с помощью окон инспекта. Открыть окно инспекта можно щелкнув мышью по значку объекта сбора данных. Здесь Вы увидите стандартные для статистического анализа данные, приведенные для значений, собранных в данном объекте сбора статистики (см. рисунок):


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

 Добавьте две гистограммы для отображения распределений времен ожидания клиента и пребывания клиента в системе

  1. Чтобы добавить гистограмму на диаграмму класса активного объекта, перетащите элемент Гистограмма из палитры Статистика в то место графического редактора, куда Вы хотите ее поместить.

  1. Укажите, какой элемент сбора данных хранит данные, которые Вы хотите отображать на гистограмме: щелкните мышью по кнопке Добавить данные и введите в поле Данные имя соответствующего элемента: waitTimeDistr.

  1. Добавьте еще одну гистограмму и расположите ее под ранее добавленной.  
  2. В поле Данные введите имя элемента, хранящего данные, которые будут отображаться на гистограмме: timeInSystemDistr.
  3. Измените Заголовок отображаемых данных на Распр. времени пребывания в системе.
Запустите модель. Включите режим виртуального времени и понаблюдайте за тем, какой вид примет распределение времен ожидания и пребывания клиента в системе.

Контрольная модель: Bank Office - Phase 5


          Шаг 4. Добавление клерков