2016-07-21 3 views
0

Итак, вопрос прост. Я просто не нашел ответа в Интернете. Я думаю, что частные методы бесполезны в диаграмме, не говоря много. Но, может быть, я ошибаюсь.Должен ли я включать частные методы в диаграмму классов UML?

+1

Почему голосует? –

+1

Я думаю, что люди найдут ваш вопрос вне темы и слишком широким для SO. –

+2

Диаграмма UML, как и любая другая диаграмма, является средством коммуникации. То, что вы должны и не должны включать в свою диаграмму, полностью зависит от того, что вы пытаетесь установить. –

ответ

2

Частные методы являются деталью реализации класса, а не его публичный API.

Нет:

Если вы используете схему, чтобы показать внешний интерфейс класса, или какой-либо подсистемы, что класс является частью, то нет никаких причин, чтобы включить их. Они просто добавят визуальный шум и запутают читателя.

Да/Может быть:

С другой стороны, если вы пытаетесь донести внутренний дизайн самого или его тесно связаны сотрудничество с другим классом класса (думаю friend в C++), то это может быть уместно.

0

Да, вы должны включить их. Это дает более подробную информацию о том, как класс будет работать. IBM фактически имеют специальные обозначения для частных методов - https://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/

+0

Символ для частного объема ('-') не является« специальной записью от IBM », он является частью спецификации UML OMG. –

+0

Вы правы. Спасибо :) –

1

Мнение:

UML не является * язык программирования 4GL. Вы используете его для передачи идеи, дизайна, архитектуры. Вы только добавляете информацию, которая служит этой цели. У этого нет понятия быть «полным». Как текст в книге, вы используете только слова, необходимые для передачи сообщения.

Если он используется как часть системной документации и ему необходимо показать все элементы, то мы просто сгенерируем его потом.

UML не является целью, это просто моделирование язык для связи с людьми.

Так что, если он служит цели, вы добавляете его, иначе вы его не оставляете.

*) некоторые попытки были сделаны в этом, но не очень удачным (togetherJ приходит на ум)

1

Это зависит от того, что вы моделируете.

В общем UML предоставляет механизм для отображения видимости операции (и атрибута). Поскольку частная функция может быть изображена на диаграмме, ясно, что вы можете представить ее на диаграмме. Однако, если вы показываете это или нет, это зависит от того, что вы моделируете. Если вы моделируете внутреннее поведение класса, тогда да. Если вы моделируете только внешний вид, вам не нужно (но вы все еще можете).