Page 158

Поиск объекта в браузере проекта

В сложном разветвленном проекте со множеством перекрестных ссылок часто требуется найти начальное размещение того или иного объекта.

  • Если нужно найти место диаграммы в браузере проекта, выберите Diagram/Find in Project Browser Shift+Alt+G
  • Если нужно найти место элемента в браузере проекта, выделите его на диаграмме, выберите Element/Find in Project Browser Alt+G
    Если нужно найти вхождение элемента во все диаграммы, выделите его на текущей диаграмме, выберите Element/Find in Diagrams Ctrl+U.
..

Как создавать ссылки на внутренние и внешние элементы?

ЕА предусматривает создание разнообразных ссылок как на внутренние объекты, так и на внешние

Ссылки на диаграммы
  • выбрать требуемую диаграмму в браузере проекта и отбуксировать ее с помощью мыши на активную страницу.
  • Появится окно вида
    • Diagram Frame — создается окно с вложенной в нее диаграммой
    • Diagram Reference — аналогичен Frame, но без демонстрации подробностей диаграммы
    • Hyperlink — создается ссылка на диаграмму, вид ссылки зависит от типа диаграммы на которой Вы размещаете ссылку.
..

Отношение «extend»

В двух ситуациях создание расширяющих вариантов использования оправдано.

Наиболее распространенная ситуация — когда пользователь может применить много асинхронных или прерывающих выполнение услуг, которые не должны мешать базовому варианту использования. Часто эти услуги разрабатываются разными командами и проявляют себя при работе с «коробочным» программным продуктом, таким как текстовый редактор.

..

Какие диаграммы существуют в UML 2 ?

Не хочется приводить линейный список, поэтому предложим дополнительно классификацию диаграмм в зависимости от того, на какой вопрос они отвечают:

Что делает система?

  • Диаграмма использования / Use case diagram

Из чего состоит система?

  • Диаграмма классов / Class diagram
  • Диаграмма компонентов / Component diagram
  • Диаграмма размещения (развертывания) / Deployment diagram
  • Диаграмма объектов / Object diagram
  • Диаграмма внутренней структуры / Composite structure diagram

Как работает система?..

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

В UML существует понятие уровень совместимости (compliance level). Всего существует четыре уровня совместимости: L0, L1, L2, L3. Каждый уровень определяет некоторый набор конструкций UML (language unit).

Уровень L0 определяет минимальный набор, а каждый последующий уровень этот набор раcширяет.

Все конструкции, которые описаны в стандарте, входят в L3...

Что такое метакласс и как его использовать?

Метакласс используется при моделировании на уровне метамодели, т.е. определяет какие сущности могут использоваться в модели.
Например, чтобы в модели могли быть классы (class), на уровне метамодели должен существовать метакласс Class.
Все элементы модели являются экземплярами какого-либо метакласса.

Использовать метакласс можно только в том случае, если вы хотите моделировать на уровне метамодели...

Почему actor переводится как “действующее лицо”?

Для перевода термина “actor” лучше всего подходит словосочетание “действующее лицо”, исходя из следующей, довольно точной аналогии.
Рассмотрим общеизвестное употребление термина “действующее лицо”. Имеются литературные сочинения определенного жанра, которые называются пьесы (например, “Трагическая история о Гамлете, принце датском”, автор — Вильям Шекспир)...

Почему use case переводится как “вариант использования”?

В целом ряде авторитетных источников можно встретить неправильный перевод термина “use case” — “прецедент”. Дело в том, что такой перевод термина “use case” дает один из самых старых, хороших и популярных словарей – англо-русский словарь Миллера, который, надо полагать, всегда под рукой у отечественных переводчиков компьютерной литературы...

Включение вариантов использования

Иногда в вариантах использования присутствует многократное описание одних и тех же действий.
Рассмотрим, к примеру, систему «Кадры» (рис.1)

Рис.1. Фрагмент функциональности системы «Кадры»

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

Обобщение вариантов использования

В ходе моделирования вариантов использования может возникнуть ситуация, когда обнаруживается, что несколько ВИ демонстрируют очень схожее поведение. В этом случае можно использовать обобщение ВИ. Такой прием следует использовать крайне осторожно и только в том случае, если он упрощает модель.

Если обобщение действующих лиц достаточно часто применяется правильно даже новичками, то обобщение ВИ зачастую вызывает затруднение или используется неверно...

Как моделировать альтернативные потоки?

В предыдущей статье я предложил некоторые рекомендации по написанию спецификации вариантов использования. Статья вызвала бурные дискуссии на форуме. Среди прочих поднимался вопрос о том, что считать альтернативными потоками и как их записывать. Действительно, что мы считаем альтернативными потоками? Если существует альтернатива чему-либо, то, очевидно, существует что-то, что мы считаем главным или исходным по отношению к ней...

Обобщение действующих лиц

Обобщение действующих лиц (actors) обеспечивает возможность вынести поведение, общее для двух и более действующих лиц, в действующее лицо-родителя

  • ДЛ-родитель является более обобщенным, чем его потомки, а ДЛ-потомки — более специализированными, чем их родитель
  • Дочернее ДЛ везде может заменять ДЛ-родителя — это принцип замещаемости
  • ДЛ-родитель обычно абстрактный — он определяет абстрактную роль
  • Дочерние ДЛ конкретны — они определяют конкретные роли
  • Обощение ДЛ может упрощать диаграммы вариантов использования

Рассмотрим простой, но достаточно показательный пример...

Рекомендации по написанию спецификаций вариантов использования

UML не определяет единых правил для создания спецификации вариантов использования или прецедентов (кому, что нравится). Однако существует ряд шаблонов, которыми Вы можете воспользоваться. Шаблон от Алистера Коберна. Шаблон от Карла Вигерса. Шаблон от RUP. Шаблон от ICONIX. Шаблон от OpenUP...

Как указать направление чтения в имени ассоциации?

Хорошо известно, что имя ассоциации не является обязательным атрибутом и используется для наглядности и передачи некоторого контекста. Имена ассоциации часто используют при построении концептуальных моделей классов для передачи смысла отношения между двумя сущностями.

Обычно по умолчанию приняты правила чтения имен ассоциации в соответствии с направлениями чтения в естественном языке...

Можно ли в репозитории ЕА хранить не ссылки на файлы, а сами файлы Word, Excel и т.д.?

Файл RTF-формата можно присоединить к конкретному элементу модели, выбрав команду контекстного меню элемента Add LinkedDocument. Для одного элемента может быть только один LinkedDocument.

Файлы других форматов, например Excelевые, ЕА хранить не умеет.

 ..

Как избавиться от кракозябриков вместо русского языка при создании RTF-отчетов?

Обычно кракозябры пропадают, если выставить правильно Codepage.

В версии 7.1 — формирование rtf-доки — закладка Codepage, там Language=1049 Russian, Codepage=855 Cyrillic, Charset=204 Russian

В версии 6.5 — формирование rtf-доки, дальше где-то по кнопочке Options, или как-то так, но добавить надо все те же настройки...

Как в ЕА изобразить параллельное композитное состояние?

Если открыть UML Help EA: Contents-> The UML Dictionary -> UML Elements -> Basic Elements -> State -> Composite State, на рисунке мы видим параллельное композитное состояние Install Software.

Для того, чтобы изобразить Составное состояние с «горизонтальной пунктирной прямой», которая разделяла бы потоки вложенных состояний на отдельные области, надо сделать следующее:

  • Рисуем элемент State.
..