i* (произносится как «ай стар») или фреймворк i* — это язык моделирования , подходящий для ранней фазы моделирования систем с целью понимания проблемной области. Язык моделирования i* позволяет моделировать как существующие, так и будущие ситуации. Название i* относится к понятию распределенной преднамеренности, которое лежит в основе фреймворка. Это подход, изначально разработанный для моделирования и рассуждений об организационных средах и их информационных системах, состоящих из разнородных субъектов с разными, часто конкурирующими целями, которые зависят друг от друга для выполнения своих задач и достижения этих целей. Он охватывает как ориентированное на субъектов, так и моделирование целей . Модели i* отвечают на вопросы КТО и ПОЧЕМУ, а не что.
Напротив, подход UML Use case охватывает только функциональные цели, с актерами, непосредственно вовлеченными в операции (обычно с программным обеспечением). Подход KAOS охватывает цели всех типов, но в меньшей степени касается намерений актеров.
Модель описывает зависимости между субъектами . Для их описания используются четыре элемента: цель , мягкая цель , задача и ресурс . Центральным понятием в i* фактически является намеренный субъект . Организационные субъекты рассматриваются как имеющие намеренные свойства, такие как цели, убеждения, способности и обязательства (концепция распределенной намеренности ). Субъекты зависят друг от друга в достижении целей, выполнении задач и предоставлении ресурсов. Зависимость от других позволяет субъекту достигать целей, которые трудно или невозможно достичь самостоятельно; с другой стороны, субъект становится уязвимым, если субъекты, от которых он зависит, не выполняют свои обязательства. Субъекты являются стратегическими в том смысле, что они обеспокоены возможностями и уязвимостями и стремятся перестроить свою среду, которая лучше отвечала бы их интересам, путем реструктуризации намеренных отношений.
Фреймворк i* состоит из двух основных компонентов моделирования:
Модель SD описывает сеть отношений зависимости между различными субъектами в организационном контексте. Субъект обычно определяется в контексте модели. Эта модель показывает, кто является субъектом и кто зависит от работы субъекта.
Модель SD состоит из набора узлов и связей, соединяющих актеров. Узлы представляют актеров, а каждая связь представляет зависимость между двумя актерами. Зависимый актер называется Depender , а актер, от которого зависят, называется Dependee .
Модель SR позволяет моделировать причины, связанные с каждым субъектом и их зависимостями, и предоставляет информацию о том, как субъекты достигают своих целей и неявных целей. Эта модель включает только элементы, которые считаются достаточно важными, чтобы повлиять на результаты цели.
Модель SR показывает зависимости субъектов, включая модель SD. Относительно этих зависимостей модель SR определяет цели, мягкие цели, задачи и ресурсы. По сравнению с моделями SD модели SR обеспечивают более подробный уровень моделирования, заглядывая внутрь субъектов, чтобы моделировать внутренние, намеренные отношения. Намеренные элементы (цели, мягкие цели, задачи, ресурсы) появляются в модели SR не только как внешние зависимости, но и как внутренние элементы, связанные отношениями «средства-цели» и «задачи-декомпозиции». Связи «средства-цели» обеспечивают понимание того, почему субъект будет заниматься некоторыми задачами, преследовать цель, нуждаться в ресурсе или хотеть мягкой цели; связи «задачи-декомпозиции» обеспечивают иерархическое описание намеренных элементов, которые составляют рутину . Такая модель используется для описания интересов и проблем заинтересованных сторон, а также того, как их можно решить с помощью различных конфигураций систем и сред.
i* обеспечивает возможность получения информации на ранней стадии процесса разработки программного обеспечения. Раньше UML использовался для того, чтобы сделать информацию видимой, но поскольку UML часто фокусируется на организационных объектах, которые не так важны на ранней стадии, акцент должен быть сделан на том, чтобы помочь заинтересованным сторонам лучше понять различные возможности использования информационных систем в их организациях.
Модели i* предлагают несколько уровней анализа с точки зрения возможностей , работоспособности , жизнеспособности и правдоподобности .
i* обеспечивает раннее понимание организационных отношений в бизнес-доменах. Разработка вариантов использования из организационного моделирования с использованием i* позволяет инженерам по требованиям устанавливать связь между функциональными требованиями предполагаемой системы и организационными целями, ранее определенными в моделировании организации.
i* может использоваться в проектировании требований для понимания проблемной области. Модели SD и модели SR затем могут использоваться для разработки вариантов использования . Это идеальный язык для выражения Актеров, Задач, Ресурсов, Целей и Мягких целей.
i* используется для ранних требований, а UML — для поздних требований. Таким образом, необходимо преобразовать модель i* в модель UML. Это можно сделать, используя следующие рекомендации: