Форум Сообщества Аналитиков

Общий раздел => Теория моделирования и нотации => UML SysML и пр. => Тема начата: Виктор Малышко от 27 Марта 2011, 17:38:18

Название: Вопрос по моделированию эффекта операции
Отправлено: Виктор Малышко от 27 Марта 2011, 17:38:18
Хочется при помощи диаграмм объектов описать эффект от выполнения операции. Не совсем ясно, как это сделать.
Например, пусть есть диаграмма классов где сказано, что любой экземпляр класса Class1 связан с двумя экземплярами Class2. Есть диаграмма объектов, изображающая соединения до вызова операции Class1::setFS(). Можно изобразить схожую диаграмму объектов, изображающую соединения после вызова. Например, после setFS(C,B) левый объект поменяется с правым. Вопрос, как представить это в модели, чтобы нетолько человеку, просматривающему модель, было понятно, что вызов операции приводит к переходу от одной диаграммы объектов к другой?
Название: Re: Вопрос по моделированию эффекта операции
Отправлено: Денис Иванов от 27 Марта 2011, 20:28:55
нарисуйте, пожалуйста, диаграмму объектов до вызова (указав при этом не только те экземпляры класса Class2, которые ассоциированы с экземпляром класса Class1, но и те, которые приходят как параметры метода setFS() ) и после вызова, а то не совсем понятно, что значит "левый объект поменяется с правым".
Название: Re: Вопрос по моделированию эффекта операции
Отправлено: Виктор Малышко от 30 Марта 2011, 00:30:29
Да, Денис, пример я описал фрагментарно. Положим, это операция Class1::setFS(a,b) устанавливает у экземпляра Class1 значение first равным a, second -- b. Диаграмма объектов нарисована в состоянии до, после вместо B будет C, вместо C -- B. Пример бессмысленный, он не важен, по большому счету. Вопрос касается того, как вообще можно (если можно) привязывать объекты и их соединения к моментам времени до вызова операции и после вызова. Конечно, для операции можно задать предусловие и постусловие на OCL, но хочется графическим способом воспользоваться.
Название: Re: Вопрос по моделированию эффекта операции
Отправлено: Денис Иванов от 31 Марта 2011, 00:45:31
Тут (http://blog.modelware.ru/?p=428)
Название: Re: Вопрос по моделированию эффекта операции
Отправлено: Виктор Малышко от 05 Апреля 2011, 22:46:04
Спасибо, Денис.
Название: Re: Вопрос по моделированию эффекта операции
Отправлено: Виктор Малышко от 06 Апреля 2011, 18:32:59
Кстати или нет, трое друзей пишут, что в UML2 <<become>> был отменен. Хотя в спецификации на одной из диаграмм проскакивает. По-прежнему признателен за помощь.
Название: Re: Вопрос по моделированию эффекта операции
Отправлено: Денис Иванов от 06 Апреля 2011, 20:37:50
я сейчас достаточно "свободно" трактую спецификацию. Главное, чтобы было понятно, что нарисовано.
Название: Re: Вопрос по моделированию эффекта операции
Отправлено: [прилетело НЛО и...] от 25 Июня 2022, 20:47:17
В современной версии UML есть подвид зависимости называемый <<derive>>. Им связывают элементы модели, такие что, один вычисляется из второго. Положение дел до вызова операции -- это базовый элемент, на основе которого вычисляется / <<derive>>-ится второй -- положение дел после вызова. В приведённом примере можно считать, что есть две спецификации экземпляра Class1, соединённые <<derive>>. По смыслу это один и тот же экземпляр, "снятый" в разные моменты времени. В кооперации, описывающей реализацию операции setFS(C,B), можно завести для этого 2 элемента.