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

×


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

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


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

Страницы: « 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 »
466
Почему Вы считаете, что это способ поражения в правах?
Я так не считаю. Я считаю, что это способ регулирования рекламы, предложенный одним из участников (цитирую: "Сделайте в конце концов подраздел ... — и там сходите с ума"). По прецеденту можно было бы отделить вопросы обучения от рекламы ШСА тем же самым путём, что и в случае с Cradle.

467
Да, он имеет право публиковать сообщения рекламного характера, согласно правилам форума. Регистрационные правила следует уточнить, спасибо за наблюдение. Но хотелось бы услышать причину, которая побудила написать это сообщение. Это возможно?
1) В марте я заметил, что новички ограничены в правах строже старожилов. Например, приняв соглашения, я обязался не размещать никаких рекламных сообщений, хотя мог бы пригласить молодых исследователей в области SE участвовать в одной из (некоммерческих) научных конференций.  Захотел проверить, продолжает ли действовать дискриминация новичков.
2) Также я заметил, что появление информационных сообщений по системе Cradle на форуме теперь ограничено -- для них выделен специальный подфорум. Хотелось понять, это специальный случай, или пример действия новой системы регулирования рекламы, которая пока касается не всех?

468
Задаю схожий вопрос о сообщении выше. Соглашение запрещает размещать на форуме сообщения, являющиеся ложными, клеветническими, неточными, оскорбительными, вульгарными. На кого распространяется действие этого запрета из нового соглашения?

469
Текущая версия регистрационного соглашения запрещает рекламу на форуме. Является ли разрешённым сообщение руководителя ШСА о записи в блоге, где первым обучателем ИТ-аналитиков представлен один из экспертов ШСА?

470
Была мысль продолжить ряд примеров 1-2-3 из этого сообщения примерами 4 и 5, где рефлексивный переход из композитного состояния нарисован так, что его дуга пересекает границы одного или двух вложенных состояний. По стандарту такое обозначение нельзя объяснить, как мне кажется. Но почему бы его не допустить, считая, что при таких переходах выполняется цепочка входов, затем действие при переходе, затем цепочка выходов?

471
Хороший пример, вызвал вопрос - в примере из предыдущего сообщения (рис. 14.34 с состоянием s2) какими (локальными или внешними) будут переходы, если бы они были нарисованы внутри s0 (мой вариант в скобках):
  • из s0 в s0 (локальный, он и нарисован слева внизу)
  • из s0 в s1 (локальный, он и нарисован слева в середине)
  • из s1 в s0 (не знаю!, стандарт считает внешним)
  • из s1 в s2 (внешний)
В стандартных терминах локальности/внешности так и будет.

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

472
Тогда как будет выглядеть ответ на вопрос в первом топике не по стандарту, а по Харелу?
По Харелу диаграмма состояний основывается на формализме higraph'ов (хайграфов), введённым им же (см.).
В хайграфе ребро-переход соединяет между собой два блоба (blobs) -- набора вершин-состояний, соединённых связками И- и ИЛИ-. Каждый такой блоб-набор определяет некоторое множество допустимых конфигураций состояний. Блоб в терминах UML -- это состояние или композитное состояние и, может быть, регион. И это важно, что переход, фактически, описывает биекцию между наборами конфигураций состояний.

Если диаграмма нарисована в соответствии с замыслом Фаулера, то она выглядит так как в приложении.
DisplayAlarm & PlayCD --radio--> DisplayAlarm & PlayRadio
другие части биекции, описываемой переходом по radio:
DisplayAlarm & PlayRadio --radio--> DisplayAlarm & PlayRadio
DisplayCurrent & PlayCD --radio--> DisplayCurrent & PlayRadio
DisplayCurrent & PlayRadio --radio--> DisplayCurrent & PlayRadio

Если нужно, чтобы переход по radio затрагивал оба региона, то стрелку следует рисовать от границы состояния On. В этом случае описываемая переходом биекция:
DisplayAlarm & PlayCD --radio--> DisplayCurrent & PlayRadio
DisplayAlarm & PlayRadio --radio--> DisplayCurrent & PlayRadio
DisplayCurrent & PlayCD --radio--> DisplayCurrent & PlayRadio
DisplayCurrent & PlayRadio --radio--> DisplayCurrent & PlayRadio

Как-то так.

473
А если так: на рис. 14.34 левый нижний (и верхний) переход не внутренний, а локальный потому, что целью является композитное состояние (s0) и в целевую конфигурацию состояний должно войти то элементарное состояние, на которое есть переход от начального псевдосостояния. Пример: дополним рис. 14.34 состоянием s2 и начальным псевдосостоянием внутри s0 с переходом к s2. Тогда для исходной конфигурации {s0, s1} внутренний переход (для s0!) приведет к той же конфигурации {s0, s1}, а локальный переход - к конфигурации {s0, s2}.
Разбираемый пример показывает, что описание локальных и внутренних переходов в стандарте дано неаккуратно и не отражено должным образом в метамодели. Так мне кажется.
Очевидно, что нет особой необходимости запрещать рефлексивные локальные переходы. Если составителю диаграммы нужно, чтобы осуществлялся выход из всех вложенных подсостояний, но не выход композитного, он нарисует стрелкой рефлексивный локальный переход. Если не нужно -- он напишет текстом внутренний переход.
К сказанному Вами замечу, что мы не можем считать переход внутренним или локальным не по его свойствам, а по наличию/отсутствию начального псевдосостояния в суперсостоянии и перехода из него. Так мне кажется.)

474
Конструктивная критика приветствуется.  :)
Не уверен, что критикую конструктивно, но всё же:
Авторизация не имеет неуспешного окончания из-за чего может зацикливаться.
Оплата картой предполагает ещё одно действующее лицо, шаги которого отсутствуют.
Выделять ВИ, в котором только шаги системы, вряд ли разумно.

475
Просьба указать на недочеты.
1) Никогда не соединяйте варианты использования коммуникациями (ассоциациями) -- сплошными линиями. У этих связей на одном конце должно быть действующее лицо, а на другом -- ВИ.
2) Избегайте связей обобщения (наследования) между вариантами использования, тем более множественного наследования. Обобщение ВИ предполагает довольно непростое их описание, которое, скорее всего Вы не сможете составить, или составите с большим трудом.
3) Попробуйте начать с простой диаграммы ВИ, где будут указаны только ВИ уровня цели пользователя и не будет никаких связей между ВИ. Затем составьте текстовые описания. По мере составления описаний Вы можете придти к выводу, что следует завести расширения, включаемые ВИ и/или ВИ-наследники. И только в таком случае будет иметь смысл новая версия диаграммы со связями включения, расширения, наследования.

476
В прочем, сами составители стандарта ему не следуют. Например, на рис. 14.34 приведены примеры локальных переходов (см. аттач), но левый нижний переход не является локальным, он внутренний (его исток и его цель совпадают!). Внутренние переходы по стандарту изображаются без линий (см. 14.2.4.10). Т. е. рисунок из стандарта нарушает сам стандарт.)))
Придумалась казуистическая трактовка, которая бы позволила не считать левый нижний "красный" переход внутренним. Если исток перехода = {s0 s1}, а цель = {s0}, то они не совпадают. А с истоком = {s0 s1} = цели переход был бы внутренним и рисовался бы строчкой текста. Но снова смотрим в метамодель и видим, что исток = vertex, в данном случае, -- состояние, а не коллекция или конфигурация состояний.

Я не забыл про вопрос о трактовке по Харелу. Точный ответ для него достаточно трудоёмок. Чтобы его составить, мне надо освободиться от других дел.

477
2. Клиент сам определяет были у него покупки или нет. На форме "оформление заказ" будет такой выбор. Далее клиент один из вариантов выбирает и т.д.
Соответствующие действия клиента есть только в Вашем тексте, их нет на диаграмме.
3. Доставка. Сначала ввод адреса, потому что исходя из адреса будет выдаваться способ доставки. Например если по такому-то адресу нет курьерской доставки, на форме она и не появится. Если наоборот сделать, то после того как клиент ввел адрес, а на него нет курьерской доставки, выдавать ошибку и возвращать к выбору доставки.
Если смотреть, как я сделал, сначала адрес, а потом способ доставки, то даже при самовывозе, адрес моно просто не учитывать потом, а внести его в базу как и контактные данные, вдруг клиент потом решит еще раз заказать и не самовывозом, а тут раз и все автоматом заносится.
Дело Ваше.
4. Альтернативные потоки я сделаю чуть позже, я про них помню )) Сейчас пока преподаватель принял как есть (не думаю что он вообще проверял что-то). А вот когда буду пояснительную записку писать, обязательно учту альтернативные потоки.
Сейчас диаграмма указывает, что альтернативных потоков нет. О чём и было написано. Раз преподаватель принял, то тема себя изжила.

Кстати вопрос по альтернативным потокам: отказаться от оформления заказа можно в любой точке в момент его оформления, получается будет много много стрелок к возврату в корзину...

В языке есть средства, чтобы обойтись одной стрелкой.

478
Попробовал со слиянием.
Прошу еще раз посмотреть, оценить правильность.
На диаграмме есть лишний поток управления от "удалить товар" к "оформлению заказа".
Пока клиент не зарегался / не авторизовался, не ясно как определить были ли у него раньше покупки или нет. Разумно предложить клиенту авторизоваться либо зарегаться и после его выбора выводить нужную форму.
Не вижу смысла сначала вводить адрес доставки, а затем выбирать её способ. Например, если способ = самовывоз, может не понадобится вводить адрес. Вероятно, следует поменять местами, либо объединить.
У диаграммы лишь одни финальный узел, т. е. у ВИ лишь один возможный исход -- успешное оформление заказа. Заказ нельзя отменить, авторизация всегда успешна, регистрация всегда успешна. Разумно показать на диаграмме неуспешные завершения и альтернативные потоки, ведущие к ним.
Нигде нет сторожа, проверяющего, что заказ оформляется по непустой (после удалений товаров) корзине. Аналогично, нет сторожа для удалений из пустой корзины.

479
Похоже мы (вдвоем, за стандарт пока утверждать не буду :) ) по-разному понимаем то, что называем состоянием-исходом для перехода:
Я не пишу о своём понимании, я показываю, что можно вкладывать смыслы, отличающиеся от стандартных, и получать более внятные, на мой взгляд, объяснения чем те, что предлагает стандарт. У Харела нет деления переходов на локальные/внешние/внутренние. От этого его "метамодель" ничуть не страдает.
Недостаток стандарта мне видится в том, что кое-что, выраженное в конкретном синтаксисе, не нашло явного отражения в абстрактном синтаксисе. Имеется в виду невнятица про владельца, из-за которой в Ваших 3-х примерах его для внешнего перехода придётся определять на глазок, а не по метамодели.

480
Давайте по шагам:
Да, можно идти по шагам. Но можно взглянуть с другого угла на диаграммы состояний: не через призму понятий, предлагаемых стандартом, а через исходные положения Харела, через рассмотренные нами примеры. Всё наше обсуждение, как мне кажется, показало, что нарисованное на диаграмме вполне можно понять, а написанное в стандарте даёт такую терминологию, метамодель и семантику, что смыслы расходятся с нарисованным. Можно продолжать держаться за написанное и патчить. Можно смотреть как то же самое нарисованное изложил другими словами Харел. Можно пытаться подбирать свои собственные слова, подходящие к тому, что видит на диаграмме глаз.
Переход имеет ровно одно состояние-исход.
В примере 1 исходом перехода по стандарту и по "нестандарту" является состояние С.
В примере 2 исходом перехода по стандарту является состояние С а по "нестандарту" являются состояния С и B.
В примере 3 исходом перехода по стандарту является состояние С а по "нестандарту" являются состояния С, B и A.
"Нестандарт" мы видим глазами на диаграмме и понимаем, что при переходе придётся выйти из 1 (в примере 1), 2 (в примере 2) и 3 (в примере 3) состояний. Но стандартное понимание исхода узко. Оно говорит, что во всех 3 случаях исход 1. Стандартное понимание исхода позволяет выразить лишь то, надо ли делать exit из состояния, от которого непосредственно начинается переход. Видимое глазами нестандартное понимание исхода позволяет выразить то, что надо делать exit'ы всех покидаемых состояний.
Внешность/локальность перехода определяется по отношению к переходу целиком
В примере 1 переход внешний по стандарту, а по "нестандарту" он внешний для С, но локальный для B (кандидата во владельцы перехода) и А.
В примере 2 переход внешний по стандарту, а по "нестандарту" он внешний для С и B, но локальный для А (кандидата во владельцы перехода).
В примере 3 переход внешний по стандарту, а по "нестандарту" он внешний для С, B и А. Владеет переходом сам автомат (по "нестандарту").
Нестандартное понимание согласуется с видимым глазом расположением части стрелки за границами состояния, по отношению к которому исследуется локальность/нелокальность.
Переход внешний рисуется наружу от границы состояния-исхода и не имеет ограничений кто будет состоянием-целью (соответствующий экземпляр метакласса Transition имеет значение атрибута kind равное external).
Это положение показывает, как стандартное понимание отдаляется от визуального. Глаз видит, что то, будет ли переход внешним (т. е. будет ли автомат делать exit'ы и какие), зависит от всего перехода, от того, как он лёг на диаграмму и на границы состояний, а не только лишь от того, где переход начался.

Не примите выше написанное за попытку предлагать нестандартные термины, метамодель и проч. В обсуждении приведён ряд диаграмм, авторы которых составляли их, опираясь на видимые глазом смыслы и вошли в противоречие со стандартом. Учитывая, что среди авторов известные специалисты и один из "троих друзей", можно предположить, что стандарт не рассчитан на такие примеры. Более простые машины состояний он описывает верно и в полном соответствии с увиденным. А эти -- в неполном.

Страницы: « 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 »