Экономико-математические модели процессов использования интернет-приложений: методология построения и инструментарий разработки (26.07.2010)

Автор: Щербаков Сергей Михайлович

– множество диаграмм деятельности. K – общее количество диаграмм деятельности в модели.

– соответствующая вероятность, Qi – число интервалов для i-ой переменной.

– выражение, описывающее верхний предел суммирования.

Актор может быть задан конструкцией вида:

– численность экземпляров акторов данного вида;

– прецедент, на который указывает связь.

. Связь может отсутствовать.

Прецедент может быть задан конструкцией вида:

– диаграмма деятельности, которая связана с данным прецедентом. Диаграмма деятельности описывает деловой процесс, который инициируется прецедентом;

– прецедент, на который указывает связь.

связан отношением «include».

Диаграмма деятельности задается конструкцией вида:

, соответственно для случаев, когда условие выполняется или не выполняется.

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

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

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

Диаграмма деятельности (Activity Diagram) языка UML описывает деловой процесс. Диаграмма задает операции делового процесса, их последовательность и исполнителей, определяет возможные варианты исполнения процесса. Включенные количественные компоненты диаграммы деятельности позволяют описать количественную сторону исполнения делового процесса. Пример диаграммы делового процесса приведен на рис. 9. Здесь представлены блоки различных видов и дорожки. В виде комментариев языка UML показаны значения времени исполнения операций.

Блок операции (Activity) описывает операцию делового процесса, позволяет моделировать какую-либо деятельность, занимающую определенное время: технологическую операцию, обработку документа и т.п. С блоком операции связывается переменная, значение которой соответствует затратам труда на выполнение этой операции или ее стоимости. Так может быть учтен случайный характер времени выполнения операции.

Блок условия (Decision) позволяет моделировать альтернативные варианты исполнения делового процесса с помощью ветвлений и циклов.

Блок подпроцесса (Subactivity) позволяет организовать иерархию процессов. Например, при заключении договора осуществляется проверка контрагента. При каждом обращении к блоку подпроцесса будет запускаться на исполнение вложенный процесс. Использование вложенных деловых процессов повышает гибкость создаваемых моделей. Для блока подпроцесса задается имя переменной-процесса. Время исполнения этого процесса учитывается при определении времени исполнения родительского процесса.

Рис. 9. Пример процесса функционирования интернет-приложения

(в виде диаграммы деятельности)

Плавательные дорожки (Swimlanes) позволяют отслеживать затраты труда и стоимость не только по деловому процессу в целом, но и по его исполнителям. Например, если деловой процесс затрагивает несколько отделов, дорожки позволят найти затраты труда/стоимость по каждому из этих отделов за заданный период времени.

Диаграмма прецедентов (Use Case Diagram) позволяет моделировать исследуемую совокупность бизнес-процессов в целом. Компоненты диаграммы прецедентов описывают границы системы, объединяют исследуемые деловые процессы, обеспечивают возможность моделирования на визуальном и на количественном уровне входной нагрузки изучаемой системы. Пример диаграммы прецедентов приведен на рис. 10.

Актор (Actor) представляет внешнюю по отношению к изучаемой системе сущность, порождающую разнообразные обращения к системе и вызывающую ее реакцию. Примерами акторов могут служить: заказчик, руководитель предприятия, и т.д. Для интернет-приложений акторами, как правило, выступают пользователи. С актором связывается переменная, определяющая численность его экземпляров.

Рис. 10. Пример совокупности процессов функционирования интернет-приложения, описанных диаграммой прецедентов (фрагмент)

Прецедент (Use Case) описывает способ взаимодействия актора с системой. Примеры прецедентов: оплатить участие в конференции, заказать партию товара и т.д. Согласно метамодели, прецедент связан с некоторым деловым процессом и при обращении к прецеденту начинается исполнение этого делового процесса.

Ассоциация (Association) связывает актора с прецедентом. Ассоциации поставлена в соответствие переменная, описывающая частоту обращения актора к прецеденту за заданный период времени. Используются связи вида «include» и «extend» (для последней задается вероятность обращения к расширяющему прецеденту). Обобщение (Generalization) позволяет описать наследование акторов. Для актора-наследника будет производиться обращение ко всем прецедентам, связанным с актором-родителем.

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

Таблица 6

Количественные компоненты имитационной модели функционирования интернет-приложения (фрагмент)

Имя Вид

переменной Название Тип / Закон

распределения Параметры /

Формула расчета

nuchast Аргумент Число уч-ков без докладов Нормальное ? = 50, ? = 10

nzaja Аргумент Число докладов Нормальное ? = 60, ? = 10

conf Диаграмма прецедентов Поддержка проведения конференции

Актор

Аргумент Секретарь оргкомитета Число значение = 1


загрузка...