серые стрелочки - это генерализация, я так полагаю? я бы убрал стрелочку от элемента к системе. иначе элемент и подсистема вообще ничем не отличаются.
cardinality. надо как-то определиться, хотим мы её показывать графически (жирным кружком или ромбом) или текстуально [1..n]. если текстуально, то хорошо бы не забыть, что её (cardinality) имеют оба конца.
диграмма 2.
уже иногда появляются [1..n] с обоих концов, что не может не радовать. но вот отношение между, скажем, требованиями и ограничениями симметричное, а стрелка почему-то нет.
Д1. Тут некоторая избыточность - не лишняя, разделение на системы и элементы - вещь субъективная. Это мета-модель для человека, что-то вроде формальной записи для машинной генерации кода - пока очень далека, на данном уровне общности такого не появится.
cardinality 1..1 моделер просто не рисует, если где-то не подписано - там 1. Это UML моделер в составе Papyrus плагина в Ecliplse, кстати. Жирный ромб - это вроде как composite aggregation, к cardinality отношения не имеет.
Д2. Отношение (в данной системе терминов!) совершенно не симметричное. Ограничение - один из видов компонент требования.
тогда отношение симметричное, many-to-many. или то, или другое; совокупность, которую вы использовали, не имеет смысла. many-to-many relationship не бывают identifying.
ну, значит всё, что я говорил, относится к "strong aggregation", в терминах этой вики - композиция. "weak agregation", которой позволено вести себя так, как вы хотите, ничем не отличается от неспецифицированной "association".
вообще, польза разных слов заключается в том, что они описывают разные сущности. а если понимать под словом "агрегация" ту же сущность, что и слово "ассоциация", то уровень шума растёт, а пользы - уменьшается.
короче, я признаю, что вики не запрещает ваш вариант использования понятия "агрегация", но я с таким вариантом по вышеизложенным причинам не согласен.
Произвольная ассоциация используется для отражения произвольного отношения. поэтому требует подписания названия этого отношения, что я и делал аккуратно над линиями и стрелочками.
Агрегация и композиция (с ромбиками) изначают один конкретный вид ассоциации (в двух изводах), "is part of", потому в подписях не нуждаются.
То есть ромбик просто позволяет не захламлять диаграмму надписями.
Вообще же не очень правильно отражать онтологическое богатство смыслов юэмэльными диаграммами :-) Но они проще специнструментов типа Протэже, и в то же время дают более богатую картинку.
другая точка (моя) заключается в том, что отношение агрегации отличается от ассоциации (я уже объяснил, как). поэтому и обозначается ромбиком, а не просто линией. так же, как отношение генерализации - имеет другие свойства, нежели простая ассоциация, поэтому обозначается по-другому.
серые стрелочки - это генерализация, я так полагаю? я бы убрал стрелочку от элемента к системе. иначе элемент и подсистема вообще ничем не отличаются.
cardinality. надо как-то определиться, хотим мы её показывать графически (жирным кружком или ромбом) или текстуально [1..n]. если текстуально, то хорошо бы не забыть, что её (cardinality) имеют оба конца.
диграмма 2.
уже иногда появляются [1..n] с обоих концов, что не может не радовать. но вот отношение между, скажем, требованиями и ограничениями симметричное, а стрелка почему-то нет.
дальше лень.
Reply
cardinality 1..1 моделер просто не рисует, если где-то не подписано - там 1. Это UML моделер в составе Papyrus плагина в Ecliplse, кстати. Жирный ромб - это вроде как composite aggregation, к cardinality отношения не имеет.
Д2. Отношение (в данной системе терминов!) совершенно не симметричное. Ограничение - один из видов компонент требования.
Ну лень так лень. И на том спасибо.
Reply
правильно, значит "requirement" contains one or more (zero or more?) "constraints". значит отношение 1 -> 1..n или 1 -> 0..n, а нарисовано что?
Reply
А вот насчёт 0 - спасибо, надо править.
Reply
Reply
Возможность входит в одно или много Требований
Требование содержит ноль или более Возможностей
Для этого я со стороны Возможности пишу [0..*]
Со стороны Требования [1..*]
Само отношение - агрегация, так как Возможность является частью Требования. но не перестаёт сущенствовать при уничтожении Требования.
Что тут не так?
Reply
Reply
Тем более что других источников по русскоязычной терминологии не имею, а в этом проекте приходится писать на русском.
Reply
вообще, польза разных слов заключается в том, что они описывают разные сущности. а если понимать под словом "агрегация" ту же сущность, что и слово "ассоциация", то уровень шума растёт, а пользы - уменьшается.
короче, я признаю, что вики не запрещает ваш вариант использования понятия "агрегация", но я с таким вариантом по вышеизложенным причинам не согласен.
Reply
Агрегация и композиция (с ромбиками) изначают один конкретный вид ассоциации (в двух изводах), "is part of", потому в подписях не нуждаются.
То есть ромбик просто позволяет не захламлять диаграмму надписями.
Вообще же не очень правильно отражать онтологическое богатство смыслов юэмэльными диаграммами :-) Но они проще специнструментов типа Протэже, и в то же время дают более богатую картинку.
Reply
другая точка (моя) заключается в том, что отношение агрегации отличается от ассоциации (я уже объяснил, как). поэтому и обозначается ромбиком, а не просто линией. так же, как отношение генерализации - имеет другие свойства, нежели простая ассоциация, поэтому обозначается по-другому.
Reply
Leave a comment