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

×


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

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


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

Страницы: « 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 35 »
106
[Некробурения приступ]
"Ресторан" является популярным тренажёром -- учебной моделью, на которой якобы можно продемонстрировать подход, возможности нотации и т. п.. При этом считается, что [всю всамделишную] работу ресторана можно хорошо себе представить и считать-узнать в учебной модели. Полагаю это очень сильмым допучением и считаю, что "ресторан-тренажёр" моделирует только наши представления, которые могут соотноситься или не соотноситься с реальностью.
"Ресторан" by Kirill Fakhroutdinov.
"Ресторан" как часть руководства по RUPу от IBM и как исходник рисунков Fakhroutdinov-а.
"Ресторан с красными человечками" by Kirill Fakhroutdinov -- иллюстрация популярных "граблей" при построении BUC-модели.



107
[Глубинной некротредофилии псто]
Актуальная версия UML разрешает объекту иметь сколько угодно типов (классификаторов), просто перечисленных в описании через запятую. Если под термином "множественная классификация" имеется в виду эта способность, то UML нативно поддерживает "множественную классификацию".
Курьёзно, что UML в своей актуальной версии нативно поддерживает "динамическую классификацию". В частности параграфе 9.4.3.4 есть явные слова о том, что у параметра BehavioralFeature можно указать эффект = update, и это будет означать, что объект, поданный как этот параметр, может  поменять свою классификацию в ходе выполнения поведения, описанного этой  BehavioralFeature. Параграф 16.4.3.7 описывает специальные ReclassifyObjectAction-ы, которые меняют у объекта на своём входном пине список его классификаторов. В следующем параграфе расказывается про ReadIsClassifiedObjectAction-ы, которые чекают, может ли объект классифицироваться конкретным типом (классификатором).
В области ЯП, как подсказывает мой ксенолингвист, "классификация" называется "типизацией". Системы типов ЯП определяют правила, по которым в них работают аналоги ReadIsClassifiedObjectAction-ов и ReclassifyObjectAction-ов.

108
Я не такой хейтер Коберна как RUP-евангелистка Терри Кватрани. Я лишь обозначило возможное развитие его идей, с учётом приведённых выше IBM-овских диаграмм.
Могу продолжить болтать в том же ключе. Например, о том, что в большинстве случаев ВИ рассматривается как непротиворечивое взаимодействие действующих лиц и системы. Гитотетически можно предположить ВИ, в рамках которого несколько действующих лиц являются антагонистами со взаимно исключающими целями. Такой "лебедеракощучный" ВИ. В таком гипотетическом случае, считая основным лебедя и выделяя только его цель, забывая про то, что "рак пятится назад, а Щука тянет в воду", мы получим перекошенное описание. И не соблюдём завет классика: "Кто виноват из них, кто прав, — судить не нам...". 

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

110
Еще раз спасибо!

Благодарю Вас. Есть какие-то вещи, которые крутятся в голове, а повода оформить их в текст не находится. Общение на форуме такие поводы иногда даёт. Спасибо.

111
Что такое "с уровнем моря"?
С подачи Алистера Кобёрна считается, что у варианта использования есть т. н. "уровень цели" -- той цели [действующего лица], которая может быть достигнута в ходе взаимодействий, описываемых сценариями этого ВИ. Т. к. Кобёрн связывал ВИ-1---1-Цель [действующего лица] (1994й год, на минуточку), то из-за этого он упрощённо называл "уровень цели" ВИ просто "уровнем ВИ". Кобёрн придумал 5 "уровней цели" = 5 "уровней ВИ":
 "уровень облака"
 "уровень воздушного змея"
 "уровень моря"
 "уровень рыбы"
 "уровень моллюска"
Цели пользователя (user goal) находятся на "уровне моря". Отсюда закрепилось "вариант использования уровня моря" или "вариант использования уровня цели пользователя".

Тут можно найти поводы для неразберихи:
-- соблазнительно отождествить цель действующего лица с целью пользователя;
-- собразнительно отождествить цель действующего лица и вариант использования;
-- собразнительно отождествить цель пользователя и вариант использования;
-- соблазнительно выродить набор из 5ти уровней цели в один единственный "уровень моря";
-- соблазнительно вещать о том, что на одной диаграмме ВИ должны быть ВИ одного и того же уровня.

Выше можно видеть, что Кобёрна уточнили, что в общем случае ВИ-*---*-Цель [действующего лица]. Нужно учитывать, что ВИ может быть связан с несколькими действующими лицами, у каждого из которых, вообще говоря, есть своя собственная цель по отношению к системе (у клиента банкомата -- получить налик, у банковского сервера -- получить от банкомата вменяемую пачку данных, чтобы можно было разобрать, отбить запрос или удовлетворить). Тогда выходит, что "уровень цели" ВИ по Кобёрну = "уровень цели" основного действующего лица этого ВИ. Глядя на ВИ с позиций разных действующих лиц, связанных с ним, мы можем видеть уровни цели этих лиц, и уровни эти не обязаны совпадать. Для точного и полного описания ВИ следовало бы у каждого ВИ указывать перечень целей всех причастных действующих лиц.

Но это марсианские реалии. Любое совпадение с реалиями тутошней планеты случайно. 

112
А есть какие-то признаки? Это ведь должен быть докУмент какой-то?
Нету, ни признаков, ни докУментов. Приврало, по марсианскому обычаю.  ;D
Как курьёз, есть геоинформационный ГОСТ Р 57668 -- калька с ISO 19115 и там содержится кусочек UMLя. Т. к. переводили геоспецы, то их ксенолингвист породил принцип Анти-Лизковы, согласно которому подклассы заменяются суперклассами. Теперь так, по ГОСТу.

113
Так что мужикам - яйца, экспертам - язык.
некротрединга псто:
Предлагаю желающим определить, чья нотация на следующих картинках: мужицкая или экспертная?

Подпись к 1й картинке: Юзвери, юзвериные цели, экземпляры юзверей

Подпись ко 2й картинке: Связи между вариантами использования, юзвериными целями, деловыми целями
Эксперты по "прекрасным визуализациям" могут попытаться здесь рассмотреть, что цель юзверя и вариант использования (даже если это вариант использования с уровнем "моря") -- это разные вещи. Их нельзя отождествлять.

114
Было бы хорошо, если бы без лишних слов Вы просто объясните, чем схема не соответствует стандарту.
На Марсе в футбол играют в одни ворота. Слышало, что на Земле используют больше чем одни ворота в этой игре. Уважая традиции Вашей планеты, обращаюсь к Вам с симметричной просьбой обосновать свою точку зрения.

Открываем по Вашей просьбе стандарт OMG UML v2.5.1
В параграфе 18.1.4 на странице 642 сказано:
Цитировать
An Extend relationship between UseCases is shown by a dashed arrow with an open arrowhead pointing from the extending UseCase towards the extended UseCase. The arrow is labeled with the keyword «extend»... An Include relationship between UseCases is shown by a dashed arrow with an open arrowhead pointing from the base UseCase to the included UseCase. The arrow is labeled with the keyword «include»...

Стало быть, стандартная нотация нарушена при изображении связи включения от Usecase2 к Usecase3 (проведена пунктирная линия, а не предписываемая стандартом пунктирная стрелка). Стало быть, стандартная нотация нарушена при изображении связи расширения от Usecase4 к Usecase2 (также отсутствует стрелка).

Сплошной линией в стандартном UML изображается ассоциация. Проводить ассоциацию между двумя вариантами использования стандарт разрешает только тогда, когда  они находятся внутри разных subject-ов (внутри рамкок двух разных систем). Для этого в параграфе 18.2.5.6 на стр. 650 заведено ограничение:
Цитировать
no_association_to_use_case
UseCases cannot have Associations to UseCases specifying the same subject.
context UseCase inv: Association.allInstances()->forAll(a | a.memberEnd.type->includes(self) implies (
let usecases: Set(UseCase) = a.memberEnd.type->select(oclIsKindOf(UseCase))->collect(oclAsType(UseCase))->asSet() in
usecases->size() > 1 implies usecases->collect(subject)->size() > 1))

Выше в параграфе 8.1.3 на стр. 640 также сказано:
Цитировать
Two UseCases specifying the same subject cannot be associated...
Значит, рисовать сплошную линию между двумя вариантами использования внутри одной рамки стандартом запрещено.

Теперь пройдёмте к Вашим воротам.

115
Да. Телекоммуникационных нотаций в UML перетекло довольно много.

116
Кажись, UML гостировали. А нафига, если профи его не нужно знать, если профи позволительно рисовать и понимать какой-то псевдоUML под видом настоящего? [Марсианская риторика, если что.]

117
А что на этой схеме не соответствует UML?
В марсианских стандартах требуется, чтобы актор-треножник был на трёх ногах, а не на двух.  ::)
Затруднительно отвечать на заданный вопрос, сохраняя серьёзность.

118
А что есть MSC?
Message sequence chart -- то, что "трое друзей" переоформили в UML-диаграммы последовательности.

119
а потом на производстве им говорят, да какая разница, правильно или неправильно нарисовано, главное же тебя поняли :)
Даже не знаю, как на такое ответить. Может быть, авторы профстандартов недоглядели, не оборонили землянскую софтверную индустрию от такого непрофессионального подхода.

120
Тогда переименовываем тему в "диаграмма последовательности процесса успешного снятия денег в банкомате".
Экзэкьюшн-спек на uml-diagrams.org

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