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

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - [прилетело НЛО и...]

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 »
406
Допустимыми должны быть только конфигурации: (ABD), (ABCE), (ACF). А так получается, что допустимой является и конфигурация ABCDF.
Раз так, то просто провести явно неявные стрелочки на 1й диаграмме.
Все нужны - на диаграмме этого нет, но каждый имеет особенность: или атрибут, или участие в ассоциации, или ограничение, или ещё что-нибудь.
Авторы стандарта просто завели атрибут, чтобы хранить вид перехода. Почему бы не последовать их дурному примеру?)
Кстати про ABCDF. См. Figure 14.35. Ах, да. Про это писали выше.
P. S. Рисунок гармонирует с ограничением state_is_external из 14.5.11.8. Как тут не вспомнить Джеймса Рамбо с его сакраментальным: "В ставке Гитлера все малахольные!"

407
Ситуации, по которым есть мнение по допустимости: да, да, да, нет.
3-й случай интересен. Где-то, вроде, говорилось, что если нет предыстории и нет предыстории по умолчанию, то используется начальное [по умолчанию].

Допустимость штука такая. Мы видим, стандарт не бьёт по рукам, значит, можно (или, значит, просто не бьёт?). Тянет отвечать вопросом на вопрос: А зачем? То есть, "позарез нужно, но допустимо ли" и "допустимо, но незачем" -- две разные ситуации.

408
Во многих источниках информации указано, что use case - это некая цель, которую желает достичь пользователь с помощью системы.
Просто приклею это сюда и улечу.

409
Если отвлечься от надписей, то почему бы не так:
A родитель перекрывающихся B и C, В родитель не перекрывающихся D и E, С родитель не перекрывающихся E и F.
Если принять во внимание надписи, то можно подумать над набором классов -- все ли нужны.

410
Лето... отпуска... даже у НЛО. Извините, отсутствовало и не отвечало. Теперь вернулось и буду посмотреть. ;D

411
Зачем вводится понятие "вершина", которое объединяет понятия "состояние" и "псевдосостояние"? У состояний и псевдосостояний много общего (например каждое звено исходит от ровно одного из них и приходит ровно к одному из них).
Это понятно. Но в том же ключе можно назвать элементы диаграмм классов вершинами [графа, которым является ДК].

Отразил, как понял в 1 и 2 вложении. Вложение 3 - вариант с запоминанием в переменной, откуда пришли, вложение 4 - провокационная версия того же.
Благодарю. В 2 провокационно хотелось  пунктирную часть видеть исходящей из середины сплошной (на манер пунктира класса ассоциации).
Что касается 3.1 (4?), почему бы нет. Junction -- спец. обозначение, позволяющее нарисовать несколько переходов, сэкономив на стрелках-звеньях, дублирующихся сторожах, эффектах, триггерах. Зачем требовать триггер именно на первые звенья? Может быть, требовать, что бы не было более одного триггера на любом из возможных путей?

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

Согласен, всё равно такой N-зубец надо проверять на полноту выходов. Вложения 3 и 4 содержат пример того же для исторического псевдосостояния. Может это всё для того, чтобы только после choice/junction проверять полноту выходов?
Мудрёно.

412
Для всех / Re: UCD для интернет-магазина
« : 24 Июня 2016, 01:31:57 »
Изменения.
Моё замечание про ассоциации не касалось якобы нехватки их на Вашей диаграмме.
Основной акцент делался на связи включения и расширения. Вы их используете на диаграмме (по легенде: преподаватель их хочет), но не используете в описаниях ВИ. Как включение/расширение влияет на описания подробно написано на русском у Коберна в "Современных методах описания функциональных требований к системам".
Я не буду пытаться пересказать. Дам краткое пояснение. ВИ с включениями пишутся специальным образом. ВИ с расширениями пишутся специальным образом. Если Вы не знаете, как их писать, то либо нужно узнать, либо не нужно использовать включение и расширение на диаграмме, а описывать ВИ как обычно. 

413
Вершина (Vertex) = состояние (State) + псевдосостояние (Pseudostate). Потом, при рассмотрении вложенных автоматов (StateMachine), возможно добавятся и ссылки на точки соединения (ConnectionPointReference). А такое дискриминация вершин?
Это понятно, но зачем выделяется такая категория? Очевидно же, что автомат лишь визуально состоит из вершин и звеньев, а на самом деле определяет правила переключения между конфигурациями состояний и сопутствующее поведение. У отделённого сиамского близнеца диаграмм состояний -- диаграмм деятельности -- контрольные узлы никто не называет псевдоузлами, например. И не говорит о стабильности.
Дискриминация: кому можно, а кому нельзя entry, exit, do, входящие звенья, исходящие звенья.
Какой (кроме junction/choice после звена из "вертолётной площадки")?
Заручимся тем, что Харел придумал чистить предысторию спец. действием. По его плохому примеру разрешим проверять, пуста ли предыстория в стороже. Тогда, в Вашем примере можно рисовать двузубец с choice, первый зуб которого идёт в "вертолётную площадку" (одну! общую!) и имеет сторожа [not EmptyHistory], второй идёт в предысторию по умолчанию и имеет сторожа [else]. Прелесть в том, что можно рисовать трезубец, n-зубец  и описывать условные дефолтные предыстории.
Другой способ менее выразительный -- разрешить переходам в предысторию иметь второе дополнительное (пунктирное:) остриё, указывающее на дефолтную предысторию для этого перехода. Основное (сплошное) остриё идёт только в "площадку" (которая одна, общая).

В описании (диаграмме) автомата есть только звенья (Transition). У каждого звена ровно 1 вершина-исто(чни)к и ровно 1 вершина-цель.
Такое прочтение возможно. С другой стороны можно видеть (в тексте, не в метамодели!) составные переходы (compound transition) и всюду дальше их первого упоминания подозревать, что транзишэнами называют и их и звенья. Довольно бессмысленно, на мой взгляд, запрещать в стандарте проводить из начального псевдосостояния несколько исходящих звеньев, но разрешать(?) рисовать хареловский эквивалентный им N-зубец с choice/junction.

414
Да вот с мощностями проблем нет.  Редко сталкивался с необходимостью использования системы группой лиц по предварительному сговору:)

А вот втыкал две ассоциации в один ВИ частенько... Искренне считая, что по умолчанию xor
Надо заметить, что попытки сделать диаграмму ВИ подвидом диаграммы классов мало продуктивны, на мой взгляд. Но почему-то подкреплены стандартом. Того гляди, у ВИ вырастут квалификаторы, появятся N-арные связи и другая чертовщина. Именно превращение туманных коммуникаций в подвид ассоциаций и применение к ним дефолтных единиц и определяет трактовку "И". А по дефолту лучше бы пошёл 0..1 и XOR.

415
Кстати в силу чего считается,  что по умолчанию И?
Начиная с какой-то версии UML появилось дурацкое правило, что неуказанная мощность полюса равна 1 (т. е. 1..1).

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

416
Чувствую себя студентом на комиссии.

417
4й вариант: [по последней моде] указывать мощности и др. ограничения на ассоциациях с диаграмм ВИ.

418
"Помогите" = "сделайте за меня"?

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

Для того, чтобы показать разные варианты поведения (когда историческая память не содержит никакого значения).
Может быть, рассмотреть другой способ?

То, что она общая - заложено в семантике (в одной из возможных семантик).
Мне подумалось, что ограничение на единственность исторического псевдосостояния в рамках композитного состояния (в разных источниках) обусловлена тем, что:
  • прагматичность нескольких исторических псевдосостояний невелика
  • определить предпочтительную семантику при нескольких исторических псевдосостояниях нелегко
Мне понравился прагматизм Рамбо, высказавшегося в своём интерью, что стандартизация языку моделирования не обязательна. Для каких-то задач множественные исторические псевдосостояния могут быть полезны. В этих случаях оправдано расширить язык. Сделать свой DSL для моделирования автоматов.
Поиски примеров диаграмм с глубокой и неглубокой предысторией в одном состоянии привели к задаче из студенческого quiz-а, не имеющей никакого смысла, кроме проверки знаний. Интересно найти что-то более жизненное для множественных предысторий.

Если имеется в виду Fig. 18. из "The Rhapsody Semantics of Statecharts", то всё нормально - из начального псевдосостояния ровно одно звено, без триггера и условия.
Как мы обсуждали, в стандарте нет явной градации на звенья и переходы. Диаграмму можно трактовать так, что из начального состояния выходит один составной переход, на котором есть сторожа.

Сформулирую вопрос по другому - если композитное состояние имеет внутренний переход, то это:
  • недопустимо
  • означает, что все подчиненные состояния имеют такой внутренний переход
  • означает, что все подчиненные состояния имеют внешний переход в себя с указанными свойствами (триггер, условие, действие). Этот вариант мне не нравится, да и Харел моделирует его локальным переходом к историческому псевдосостоянию (Fig. 34. "STATECHARTS: A VISUAL FORMALISM FOR COMPLEX SYSTEMS*")
Я уверен в ответе 2 (с уточнениями). Обоснование видел в "A Crash Course in UML State Machines" M. Samek. Там есть пример с перекрывающимися разноуровневыми локальными переходами у вложенных состояний.

420
Для всех / Re: UCD для интернет-магазина
« : 23 Июня 2016, 11:27:51 »
И снова я изменил диаграмму.
Можно ещё раз указать на то, что связи между ВИ на диаграмме ВИ влияют на описание ВИ. Из диаграммы следует, что в описании ВИ Оформление заказа должны быть:
1) одна (или более) точка расширения (для регистрации, авторизации);
2) шаги, на которых вызываются сценарии включаемых ВИ (поиск, выбор).
Ещё одно несоответствие между диаграммой и описанием ВИ Оформление заказа можно видеть в том, что при оформлении заказа нет возможности добавлять товары в заказ (только удалять). Вероятно, пропущен ВИ, в рамках которого это можно делать -- Составление заказа или вроде того. Либо надо менять описание и диаграмму деятельности из параллельной темы.

P. S. Ассоциация между действующим лицом и вариантом использования толкуется не только в том ключе, кому нужен ВИ как цель.

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 »