Page 94

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

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

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

..

Свешникова Наталья Владимировна

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

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

Специализация: Сбор, анализ и управление требованиями, проектирование пользовательских интерфейсов, разработка отчетов с помощью специализированных инструментов (Business Objects, MS SSRS).

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

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

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

Какие диаграммы существуют в 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...

Сурова Ирина

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 лет...

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

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

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