2009-02-10 8 views
3

В моем приложении у меня есть класс Document и класс DocumentFact. Класс DocumentFact содержит методы, которые будут получать несколько документов из базы данных. Эти документы хранятся в виде данных или наборе данных. Оба (datatable, dataset) являются частными членами класса documentfact. Доступ к ним возможен через свойства.Свойство вызова диаграммы последовательности UML

Теперь мой вопрос: в диаграмме последовательности, это позволено называть свойство как это:

Actor  Web interface DocumentFact   Database 
    |   |     |      | 
    |input  |     |      | 
    |-------> | GetDocuments |      | 
    |   |---------------->|      | 
    |   |     | ExecuteSelectQuery() | 
    |   |     | -------------------->| 
    |   |     |      | 
    |   |     |  Bool   | 
    |   |     | <--------------------| 
    |   |     |      | 
    |   |     | GetDataSet()  | 
    |   |     | -------------------->| 
    |   |     |      | 
    |   |     | DataSet   | 
    |   |     |<---------------------| 
    |   |     |      | 

Где GetDataSet это свойство. Это верно? И если это не так, то каков правильный способ сделать это?

Примечание: Это только часть диаграммы последовательности, остальное не имеет отношения к делу.

+0

Как я могу посмотреть, что отредактировано? – Martijn

+0

Нажмите на слова «час назад» в «отредактированном некогда» – jpalecek

ответ

5

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

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

+0

Итак, вы говорите, когда я даю сообщения номеру и объясняю в своей документации, что номер 6 (например) является вызовом свойства, он будет делать? – Martijn

+0

Да, и это почти наверняка будет более ясным, чем любое ваше представление, которое вы выберете для вызова собственности. –

1

Я столкнулся с аналогичной проблемой при оформлении моего проекта. Я только что добавил текст «свойство» под вызовом метода (под стрелкой). (Я не нашел «правильный» UML способ сделать это.) Хотя это не стандартный UML, насколько я знаю, это действительно имело смысл. Конечно, это может не сработать для вас, и в этом случае вам будет лучше со стандартным UML.

0

Вы можете показать это имущество с помощью стереотипа. Например, если DataSet является свойством, и вы вызываете геттер, используйте стереотип <<get>>. Таким образом, это будет выглядеть как

 DataSet <<get>> 
---------------------> 

Я не уверен, что это в спецификации UML. Но это по предложению Скотта Амблера в его отличном The Elements of UML 2.0 Style.

Он также рекомендует сохранять стереотипы после имени.