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

×


Последние сообщения

Страницы: « 1 2 3 4 5 6 7 8 9 10 »
61
OCLь нам в помощь.)
62
На диаграмме классов для тернарной ассоциации Matches надо как-то обозначить, что объектов-плейсходлеров в экземпляре тернарной ассоциации должно быть не более одного.
63
Некрокопания псто.
Группы изображаем как классы: Material, Method, Tool.
Соединяем их классом тернарной ассоциации Matches
Material-0..*---┓
Method-0..*---⃟-- -- --Matches
Tool-0..*-------┛
Чтобы были тройки вместо NULL заводим объекты-плейсходлеры undefined-material:Material, undefined-tool:Tool, undefined-method:Method.
Конкретные тройки связанных экземпляров рисуем на диаграмме объектов (есть лакуна в стандарте UML по части того, как должно рисовать тройки, соединённые экземпляром тернарной ассоциации). В книгах авторы просто повторяют то, что на диаграмме классов, полагая, что если экземпляр бинарной ассоциации выглядит также, как она сама, то это справедливо и для тернарной.

Нормальной онлайн-рисовалки, как выяснилось, нет.
64
RUP (по неясно откуда взявшейся традиции, называя его UMLем) не только увязывают бегом на месте, но и заявляют, что он тянет аналитиков в прошлое. Так прямо и заявлено в одном выступлении на аналитич-фесте, а затем понабросано на нескольких площадках -- на хабре и далее везде. То есть технология, придуманная NASA-вскими разрабами надёжных программ для шаттлов (а именно они и создали Rational, а значит и RUP), не пускает аналитика в светлое будущее, где проги, с которыми ты вынужен обращаться в обиходе постоянно сбоят, и вместо этого отправляет в тёплое ламповое прошлое, когда надёжность обеспечивалась и за счёт процесса разработки, а не только лишь за счёт личных качеств исполнителей.
65
Бизнес-анализ и Целеполагание / buy virtual number receive sms
« Последний ответ от Anastasiyaflolf 03 Марта 2022, 17:58:12 »
Сегодня серфил контент инета, вдруг к своему восторгу обнаружил четкий ресурс. Вот посмотрите: бесплатные номера для смс . Для меня этот вебсайт произвел незабываемое впечатление. Хорошего дня!
66
В продолжение про вложенное / владеемое.
В стандарте 2.5.1 есть иллюстрация 11.48. Там не класс, а компонент, но можно видеть, что полоска с внутренней структурой и полоска со вложенными определениями классов нарисованы отдельно.
И можно осознать, что компонент не связан композициями со своими частями из внутренней структуры. А класс, выходит, связан. Но это вытекает не из картинки (т. к. они визуально схожи), а из свойств класса. То есть это положение выводимое, а не определяющее. Ну и всё такое.
67
Не могу попробовать VP. ...
Подозреваю, что VP работает так же.
Да, верно. Мы видим, как конкретный синтаксис, осязаемый руками/курсором, начинает превалировать над абстрактным.
Можно припомнить, что даже бинарная ассоциация может быть нарисована с ромбиком по середине. И задуматься, сколько обобщений нужно проводить -- к каждому полюсу или к ромбику?
VP ещё позволяет мощности указывать с обеих сторон хвоста, растущего из ромбика в сторону класса. У кого-то читало, как это можно осмысленно использовать при арности N>2.
68
Мы смотрим на 14-33 немашинным взглядом. Если делать модель в расчёте на скармливание какой-нибудь софтине, то и не такое рисуется (иногда даже не рисуется, так как модель не содержит диаграмм, являясь лишь деревцем в проводнике.
Если смотреть "машинным" взглядом, то ситуация становится ещё "жэстачайшэ" - машине надо объяснить, где информационное свойство является избыточным (может/должно быть выведено - derived), а где только ограничение (constraint).
Я расцениваю 14-33 как желание отобразить:
1. 2 класса связаны ассоциацией
2. оба класса имеют одинаковый набор подклассов
3. ассоциироваться могут только одноименные подклассы
4. мощность "подчиненных" ассоциаций - такая же, как у "обобщающей" ассоциации
Пусть хотя бы с одной стороны мощность ассоциации такова, что становится обязательной (1..1 или 1..*). Тогда, например если model имеет мощность 1..1 или 1..*, то разбиение Symbol на OrderSymbol и CustomerSymbol становится выводимым из разбиения Subject на Order и Customer.
Если же с обеих сторон мощность необязательна (0..1 или 0..*), то имеем дело с ограничением.
69
Офтопик. Интересно VP работает наследование между тернарными ассоциациями. Вдруг, оказывается, что обобщение соединяет в таком случае не ассоциации, а их отдельные хвосты. Ещё VP позволяет соединять обобщениями ассоциации без учёта их арности. Тернарная может стать наследницей бинарной. Ну, то есть, в этой части VP -- всё ещё рисовалка по большей мере.
Не могу попробовать VP. Но в MagicDraw работает так:
1.   Тернарная (и выше) ассоциация имеет отдельный знак – «ромбик».
2.   Чтобы нарисовать «хвосты» используются бинарные ассоциации между «ромбиком» и классами.
3.   Эти бинарные ассоциации и другие «обычные» бинарные ассоциации являются объектами для соединения с помощью обобщения. Можно даже сделать, что один «хвост» обобщает другой. Единственное ограничение – обобщения не могут зацикливаться.
4.   Нельзя делать обобщения между «ромбиками».
Подозреваю, что VP работает так же.
70
Гуру UML-стандартов Kirill Fakhroutdinov завёл отдельное описание "вложенных классов": https://www.uml-diagrams.org/nested-classifier.html
Пишу об этом, т. к., например, вложенные пакеты в другом пакете UML позволяет рисовать внутри рамок этого пакета. То же справедливо для владеемых пакетом элементов (т. е. классов, типов и проч. описанных в самом пакете). К слову вложенные пакеты не являются владеемыми. Понятия вложения и владения в UML 2.x начали расходиться по смыслу. В UML 1.x это были синонимы. Метамодель UML разрешает классу вложенные классификаторы, но не объясняет, как их изображать. Fakhroutdinov даёт возможную версию с явной линией, заканчивающейся позитроном. VP разрешает так рисовать, но также он разрешает вложенный класс помещать внутрь рамок класса на диаграмме составной структуры (рисуя при этом предупреждающий знак, но съедая нарисованное). В обоих случаях в дереве модели вложенный класс появляется как дочерняя вершина класса, в который он вкладывается.
Учитывая написанное, можно полагать, что визуально вложенные в рамки класса другие классы являются вложенными, в смысле UML (их описание действует внутри пространства имён объемлющего класса).
VP позволяет рисовать к вложенному классу ассоциацию от объемлющего класса. Так что изначальная диаграмма может иметь место, если классы вложенные и если к ним провести таки композиции. 
Страницы: « 1 2 3 4 5 6 7 8 9 10 »