Влияние класса UML-модели

введите здесь описание изображения

Я пытаюсь смоделировать с помощью UML эту проблему, которая у меня есть, это конкретная структура обменника.

У меня есть центральный класс Matrix, через который проходят несколько цепей, класс Circuit. Эта матрица представляет собой стопку переходов (класс Passage), в которой циркулирует один или несколько контуров. В одном контуре также может протекать несколько проходов.

Допустим, объекты переходов имеют имена "A", "B" и "C", матрица может выглядеть так: ABCCABA...

Я бы использовал ссылку, например массив указателей

Как смоделировать этот шаблон стека в UML?

Затем я хотел бы сказать, что A содержит 2 объекта схем "1" и "2", B содержит "2" и C содержит "3".

Помогите мне узнать, как это сделать


person renaud E    schedule 16.02.2015    source источник
comment
Это может быть проблема с языком, но классы не текут, и вы не можете их складывать. Вы хотите знать, как смоделировать класс, представляющий матрицу? А другой моделировать стек?   -  person qwerty_so    schedule 16.02.2015
comment
О, я вижу, может быть, есть путаница в использовании потока и стека. На самом деле я не хочу стекать или создавать потоки сами классы, а объекты. И самое главное, я хотел бы понять, какие типы ассоциаций мне придется использовать, чтобы эта структура работала.   -  person renaud E    schedule 16.02.2015


Ответы (2)


Ваш вопрос все еще находится в форме, позволяющей (слишком) много ответов, но я попробую так.

  • Для каждого из приведенных ниже шагов привлеките соответствующие заинтересованные стороны к участию в разработке.
  • Make up your mind what you actually want to do. What is the purpose of the matrix/stack (your question does not provide background).
    • A good way is to create use cases to describe the goals of your system
  • Если вы знаете, каковы эти системные цели, создайте домен, используя диаграмму классов. Приведенная выше диаграмма классов выглядит нормально, но без контекста я не могу сказать, правильно это или неправильно.
  • Once you got that structural model you can start designing functionality. The best approach is this:
    • Create a collaboration for each of your use cases (also known as use case realizations; they have a realization towards the use case).
    • Внутри каждого сотрудничества создайте диаграммы последовательности и разместите на них экземпляры тех классов, которые должны принимать участие в этом конкретном случае использования.
    • Теперь начните думать, как эти экземпляры должны взаимодействовать для выполнения желаемой задачи.
    • Нарисуйте сообщение, чтобы показать связь, и создайте метод в соответствующем классе (некоторые инструменты поддерживают это за один шаг).
    • Обзор модели коммуникации и предметной области

Примерно таковы основные этапы проектирования. Как видите, я не дал конкретного ответа на проблему, которую вы, вероятно, имеете в виду. Просто потому, что он недостаточно конкретен.

Дайте человеку рыбу, и он будет сыт на целый день. Научите его ловить рыбу, и у него будет еда на всю оставшуюся жизнь.

person qwerty_so    schedule 16.02.2015
comment
Я уже какое-то время искал какие-то руководящие принципы, я только что дал их мне. Спасибо. Думаю, я подумаю об этом, и если останется неясным, я вернусь за помощью, если все в порядке. Спасибо ! - person renaud E; 16.02.2015
comment
Без проблем. Вы можете проголосовать, если это поможет :-) UML - это язык. А научиться можно только на практике. Просто отправляйтесь в UMLand, где все говорят на UML, так что вы вынуждены учиться или умереть с голоду ;-) Вы можете задать дополнительный вопрос, если вы снова застряли. - person qwerty_so; 16.02.2015
comment
Я довольно хорошо знаю UML, и если бы у меня не было других знаний, я бы ВСЕ ЕЩЕ умер с голоду. :) - person BobRodes; 17.02.2015
comment
@ThomasKilian: я всегда рекомендовал диаграмму действий (где у вас есть сотрудничество) для каждого варианта использования с диаграммами последовательности для отдельных сценариев в случае использования. - person BobRodes; 17.02.2015
comment
@BobRodes: AD отправляется в UC, чтобы описать, что происходит. Вы можете использовать AD вместо SD, где это уместно (соотношение 1:1). AD лучше в структурном обзоре, в то время как SD своевременны. - person qwerty_so; 17.02.2015
comment
@ThomasKilian: я не уверен, что полностью согласен с тем, что между AD и SD соотношение 1: 1. Может быть, я упускаю из виду вашу мысль? Я не вижу простого способа смоделировать параллельные потоки поведения в SD так же хорошо, как вилки и соединения в AD. Я также считаю SD немного более низким уровнем, чем AD; трудно смоделировать поток взаимодействия между двумя объектами на уровне вызова метода в AD. - person BobRodes; 17.02.2015
comment
Ну, то, что соотношение 1:1, не означает, что преобразование легкое. Кроме того, тот факт, что вы можете это сделать, не означает, что вы должны это сделать. Фокус обоих различен, как я сказал. Таким образом, вы должны использовать любой из них, где вы считаете, что фокус больше всего необходим. Мы можем начать обсуждение на LinkedIn linkedin.com/ - person qwerty_so; 17.02.2015

Конкретная структура отношений экземпляров должна быть показана на диаграмме объектов.

Но она не так мощна и универсальна, как диаграмма классов. Так что, скорее всего, вам придется придумывать схему самостоятельно.

См. также схему составной структуры.

person Gangnus    schedule 16.02.2015