Rational Rose 2000 и UML. Визуальное моделирование | страница 15



(Создать => Актер). В список окна браузера будет добавлен новый актер с именем New Class.

3. Выбрав новый пункт списка, введите нужное имя актера.

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

Рис. 3.2. Актеры

Описание актеров

В модель желательно включить краткое описание каждого актера, в котором нужно указать роль актера при взаимодействии с системой.

Для системы регистрации курсов описание актеров может быть следующим:

□ студент — человек, который регистрируется для посещения занятий в университете;

□ преподаватель — человек, который читает лекции в университете;

□ регистратор — человек, управляющий системой регистрации курсов;

□ система оплаты — внешняя система, выполняющая функции расчетов за курсы.

Описание актеров в программе Rational Rose осуществляется при выполнении следующих действий:

1. Если окна описания нет на экране, откройте его, выбрав команду меню View => Documentation (Вид => Описание).

2. Из списка браузера выберите актера, щелкнув по нему мышью.

3. Установите курсор в окне описания и введите текст описания актера.

Пример описания актера студент показан на рис. 3.3.

Рис. 3.3. Описание актера студент

Прецеденты

С помощью прецедентов (use cases) моделируется диалог между актером и системой. Другими словами, они определяют возможности, обеспечиваемые системой для актера. Набор всех прецедентов системы определяет способы ее использования. Можно сказать, что прецедент — это последовательность транзакций, выполняемых системой, которая приводит к значимому результату для определенного актера.

Чтобы выделить прецеденты для системы, можно использовать следующую серию вопросов:

1. Каковы задачи каждого актера?

2. Будет ли актер создавать, хранить, изменять, удалять или получать информацию из системы?

3. Какой прецедент будет создавать, хранить, изменять, удалять или получать эту информацию?

4. Должен ли актер информировать систему о внезапных изменениях внешней среды?

5. Должен ли актер быть проинформирован об изменениях состояния системы?

6. Какие прецеденты будут поддерживать и обслуживать систему?

7. Могут ли все функциональные требования быть реализованы прецедентами?

В языке UML прецедент изображается в виде овала — см. рис. 3.4.

Рис. 3.4. Нотация языка UML для прецедента

Основа правильного прецедента

На протяжении многих лет велись дискуссии на тему правильности прецедентов. Одной из проблем, с которой я столкнулась, является уровень их детализации. Насколько мал или велик он должен быть? Здесь нет однозначного ответа. Я обычно использую следующее правило: «Прецедент обычно определяет основной элемент функциональности и совершается от начала до конца. Он должен приносить что-то значимое для актера».