Page 157

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сурова Ирина

BugIrraМесто проживания: Москва

Роль в сообществе: веду FAQ по продуктам Sparx. 

Специализация: Моделирование, Методологии производства ПО. Системный анализ. И обучение всему этому.

Текущее место работы: Лаборатория Касперского

Должность: Системный аналитик

Стаж в ИТ:10 лет. 

Стаж работы Аналитиком: постоянно выполняю работы по анализу ПО и описанию/построению процессов разработки последние 4 года...

Григораш Виталий

 Место проживания: Санкт-Петербург. 

Роль в сообществе: Oрганизатор семинаров, идеолог журнала Analyze IT.

Специализация: Системный анализ, планирование и управление требованиями.

Текущее место работы: EPAM Systems 

Должность: Старший бизнес-аналитик

Стаж в ИТ: Более 4 лет.

Стаж работы Аналитиком: Более 3 лет

Жизненный путь: Будучи студентом занимался научной деятельностью по направлению «Робастные системы автоматического управления» за что получил «Диплом  первой степени за высокие достижения в научно исследовательской работе»...

Галиаскаров Эдуард Геннадьевич

Галиаскаров Эдуард ГеннадьевичМесто проживания: Иваново.

Роль в сообществе: соадминистратор uml2.ru.

Специализация: ИТ-образование. Тестирование ПО. Системный анализ. Наука.

Текущее место работы: Ивановский государственный химико-технологический универсистет, кафедра информационных технологий, ЗАО НПО "Консультант", департамент информационных систем

Должность: доцент, руководитель учебного центра.

Стаж в ИТ: с 2000 года...

Столяров Дмитрий Олегович

 Место проживания: Москва

Роль в сообществе: Участник сообщества

Специализация: Системный анализ

Текущее место работы: Raiffeisen Bank Russia

Должность: Senior Officer

Стаж в ИТ: Более 10 лет.

Стаж Аналитиком: Более 5 лет.

Жизненный путь: Окончил Тверской Государственный Университет по направлению «Прикладная математика и информатика», затем Международный Университет Природы Общества и Человека «Дубна» по направлению «Системный анализ проектно-технологических решений»...

Емельянов Леонид Юрьевич

Место проживания: Москва.

Роль в сообществе: Участник сообщества.

Специализация: Системный анализ.

Текущее место работы: SITRONICS Telecom Solutions

Должность: бизнес-аналитик.

Стаж в ИТ: Более 5 лет.

Стаж Аналитиком: Более 3 лет.

Жизненный путь: В университете устроился в CNET Channel, дорос до аналитика, реализовывал проекты Products selector и memory selector...

Байкин Александр Сергеевич

 Место проживания: Москва.

Роль в сообществе: Отвечаю за внешние связи, Отец-основатель uml2.ru.

Специализация: Сбор, Анализ и Управление Требованиями. Стратегический Анализ.

Текущее место работы: ГК "Мототелеком"

Должность: Руководитель отдела разработки, тестирования и документирования.

Стаж в ИТ: Более 10 лет.

Стаж Аналитиком: Более 6 лет...

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

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

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

Можно ли в репозитории ЕА хранить не ссылки на файлы, а сами файлы 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.
..

Рекомендации по формулировке требований

Типичное требование

<Тип пользователя> должен иметь возможность <описание возможности>

Требование с ограничениямими и условиями

<Тип пользователя> должен иметь возможность <описание возможности> с <показатель производительности> от <момент отсчета>, находясь в <условия эксплуатации>

Оператор должен иметь возможность произвести выстрел в течение 3 секунд с момента обнаружения цели радаром, находясь в сложных морских условиях.

..