Главная страница

Инкапсуляцией


Скачать 0.92 Mb.
НазваниеИнкапсуляцией
Дата28.11.2018
Размер0.92 Mb.
Формат файлаdoc
Имя файлаUML.doc
ТипДокументы
#58103
страница3 из 4
1   2   3   4
Создание диаграмм Вариантов Использования

В среде Rose диаграммы Вариантов Использования создаются в представлении Вариантов Использо­вания. Главная диаграмма (Main) предлагается вам по умолчанию. Для моделирования системы можно разработать столько дополнительных диаграмм, сколько нужно.

Для получения доступа к Главной диаграмме Вариантов Использования:

  • В браузере щелкните мышью на значке "+" рядом с представлением Вариантов Использования. Данное представление будет открыто.

  • Вы увидите Главную диаграмму Вариантов Использования. Обратите внимание, что в левой ча­сти всех диаграмм Вариантов Использования в среде Rose находится следующая пиктограмма:

  • Дважды щелкнув на Главной диаграмме, откройте ее. Строка заголовка изменится — появится фраза [Use Case Diagram: Use Case view/Main] (Диаграмма Вариантов Использования: Пред­ставление Вариантов Использования/Главная).

Для создания новой диаграммы Вариантов Использования:

  • Щелкните правой кнопкой мыши на пакете представления Вариантов Использования в браузере.

  • Во всплывающем меню выберите пункт New Use Case Diagram (Создать Диаграмма Вариан­тов Использования)

Связывание файлов и ссылок с диаграммой Вариантов Использования

В среде Rose вы можете прикрепить к диаграмме Вариантов Использования файл или адрес Интерне­та (URL). Например, таким образом можно связать с диаграммой любой вспомогательный документ, например спецификации требований высокого уровня, документы концептуального характера или даже проектный план. Все связанные файлы и ссылки будут показаны в браузере под соответствующей диаграммой Вариантов Использования. По двойному щелчку мыши на файле или ссылке в браузере откроется соответствующее приложение и загрузится ваш документ, находящийся в файле или по ука­занному адресу Интернета.

Для прикрепления файла к диаграмме Вариантов Использования:

  • Щелкните правой кнопкой мыши на соответствующей диаграмме в браузере.

  • В открывшемся меню выберите пункт New >- File (Создать Файл).

  • В диалоговом окне Open (Открыть) укажите, какой файл нужно прикрепить к диаграмме.

  • Выберите пункт Open (Открыть), чтобы выполнить прикрепление.

Панель инструментов диаграмм Вариантов Использования

Когда открывается диаграмма Вариантов Использования, на панели инструментов диаграммы появля­ются соответствующие пиктограммы. Описание некоторых кнопок панели приведено в таблице 3.1. Далее рассматривается применение этих кнопок для создания вариантов испо­льзования, действующих лиц и других элементов ваших диаграмм.





Работа с вариантами использования

Вариант использования — это описание на "высоком уровне" фрагмента функциональности, которую обеспечивает система. Иначе говоря, вариант использования иллюстрирует, как можно использовать систему. Например, автоматический банкомат (ATM) предоставляет клиенту некоторый базовый на­бор функциональных возможностей. Он позволяет снимать деньги, делать вклад, переводить деньги с одного счета на другой, просматривать свой баланс, изменять идентификационный номер или произ­водить оплату по безналичному расчет) с кредитной карточки. Каждая из описанных транзакций яв­ляется способом, которым клиент может использовать систему. Таким образом, каждый из них — это самостоятельный вариант использования. На языке UML вариант использования изображают следую­щим образом:



Преимущество вариантов использования заключается в том, что можно отделить реализацию сис­темы от описания ее принципиальных основ. Они позволяют заострить внимание на наиболее важ­ных вещах — удовлетворении потребностей и ожиданий заказчиков — без необходимости углубления в детали реализации. Взглянув на варианты использования, пользователь сможет понять, что будет делать система, и обсудить сферу ее применения в самом начале работы над проектом.

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

В начале работы над проектом возникает естественный вопрос: "Как обнаружить варианты испо­льзования?" Лучше всего внимательно прочитать документацию заказчика. Часто помогает также рас­смотрение области использования системы на высоком уровне и документов концептуального характера. Учтите мнение каждого из заинтересованных лиц проекта. Подумайте, чего они ожидают от готового продукта. Каждому заинтересованному лицу можно задать следующие вопросы:

  • Что он хочет делать с системой?

  • Будет ли он с ее помощью работать с информацией (вводить, получать, обновлять, удалять)?

  • Нужно ли будет информировать систему о каких-либо внешних событиях?

  • Должна ли система в свою очередь информировать пользователя о каких-либо изменениях или событиях?

Как уже упоминалось ранее, варианты использования — это не зависящее от реализации высокоу­ровневое представление того, что пользователь ожидает от системы. Рассмотрим каждый фрагмент этого определения по отдельности.

Прежде всего варианты использования не зависят от реализации. Представьте себе, что вы пише­те руководство по работе с системой. Необходимо, чтобы ваши варианты использования можно было реализовать на языках Java, C++, Visual Basic или на бумаге. Варианты использования заостряют внимание на том, что должна делать система, а не на том, как она должна это делать. Проблемы реа­лизации вариантов использования описываются ниже.

Варианты использования — это высокоуровневое представление системы. Если, например, в ва­шей модели содержится 3000 вариантов использования, вы теряете преимущество простоты. Созда­ваемый вами набор вариантов использования должен предоставить пользователям возможность увидеть всю систему целиком на самом высоком уровне. Поэтому вариантов использования не дол­жно быть слишком много, чтобы клиенту не пришлось долго блуждать по страницам документации с целью выяснения того, что будет делать система. В то же время вариантов использования должно быть достаточно для полного описания поведения системы. Модель типичной системы обычно со­держит от 20 до 50 вариантов использования. Для разбиения вариантов использования на части при­меняются связи различных типов, так называемые связи использования и расширения. Для лучшей организации системы можно также формировать группы вариантов использования, объединяя их в пакеты (см. ниже).

Наконец, варианты использования заостряют внимание на том, что пользователи хотят получить от системы. Каждый вариант использования должен представлять собой завершенную транзакцию между пользователем и системой. Названия вариантов использования должны быть деловыми, а не техническими терминами. В рассматриваемом нами примере ATM нельзя назвать вариант использования "Интерфейс с банковской системой, осуществляющий перевод денег с кредитной карточки и наоборот". Вместо этого лучше дать название "Оплатить по карточке" — так будет понятнее для заказ­чика. Варианты использования обычно называют глаголами или глагольными фразами, описывая при этом, что пользователь видит как конечный результат процесса. Его не интересует, сколько дру­гих систем задействовано в варианте использования, какие конкретные шаги надо предпринять и сколько строчек кода требуется написать, чтобы заплатить по счету карточкой Visa. Для него важно только, чтобы оплата была произведена. Еще раз повторим, вы должны заострить внимание на резу­льтате, который потребитель ожидает от системы, а не на действиях, которые нужно предпринять для достижения этого результата.

Но как убедиться, что вы обнаружили все варианты использования? Для этого следует ответить на вопросы:

  • Присутствует ли каждое функциональное требование хотя бы в одном варианте использования?

  • Если требование не нашло отражение в варианте использования, оно не будет реализовано.

  • Учтено ли, как с системой будет работать каждое заинтересованное лицо?

  • Какую информацию будет передавать системе каждое заинтересованное лицо?

  • Какую информацию будет получать от системы каждое заинтересованное лицо?

  • Учтены ли проблемы, связанные с эксплуатацией? Кто-то должен будет запускать готовую систему и выключать ее.

  • Учтены ли все внешние системы, с которыми будет взаимодействовать данная?

  • Какой информацией каждая внешняя система будет обмениваться с данной?



Документирование потока событий

Варианты использования начинают описывать, что должна будет делать ваша система. Но чтобы фак­тически разработать систему, потребуются более конкретные детали. Они определяются в документе, называемом "потоком событий" (flow of events). Целью потока событий является документирование процесса обработки данных, реализуемого в рамках варианта использования. Этот документ подроб­но описывает, что будут делать пользователи системы и что — сама система.

Поток событий также не должен зависеть от реализации. Составляя этот документ, представьте себе, что создается автоматизированная система. Однако на данном этапе вас еще не должно волно­вать, будет ли она написана на языке C++, PowerBuilder или Java. Ваша цель — описать, что будет де­лать система, а не как она будет это делать. Обычно поток событий содержит:

  • Краткое описание

  • Предусловия (pre-conditions)

  • Основной поток событий

  • Альтернативный поток событий

  • Постусловия (post-conditions)


Рассмотрим последовательно эти составные части.

Описание

Каждый вариант использования должен иметь связанное с ним короткое описание того, что он будет делать. Например, вариант использования "Перевести деньги" системы ATM может содержать следу­ющее описание:

Вариант использования "Перевести деньги" позволяет клиенту или служащему банка перево­дить деньги с одного счета до востребования или сберегательного счета на другой.

Следует делать описание коротким и "к месту", при этом оно должно определять типы пользовате­лей, выполняющих вариант использования, и ожидаемый ими конечный результат. Во время работы над проектом (особенно, если проект длинный) эти описания будут напоминать членам команды, по­чему тот или иной вариант использования был включен в проект и что он должен делать. Четко доку­ментируя таким образом цели каждого варианта использования, можно уменьшить неразбериху, возникающую среди разработчиков.

Предусловия

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

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

Основной и альтернативный потоки событий

Конкретные детали вариантов использования отражаются в основном в альтернативном потоках со­бытий. Поток событий поэтапно описывает, что должно происходить во время выполнения заложен­ной в варианты использования функциональности. Поток событий уделяет внимание тому, что (а не как) будет делать система, причем описывает это с точки зрения пользователя. Первичный и альтер­нативный потоки событий содержат:

  • Описание того, каким образом запускается вариант использования

  • Различные пути выполнения варианта использования

  • Нормальный, или основной, поток событий варианта использования

  • Отклонения от основного потока событий (так называемые альтернативные потоки)

  • Потоки ошибок

  • Описание того, каким образом завершается вариант использования

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

Основной поток

  1. Вариант использования начинается, когда клиент вставляет свою карточку в ATM.

  2. ATM выдает приветствие и предлагает клиенту ввести свой персональный идентификацион­ный номер.

  3. Клиент вводит номер.

  4. ATM подтверждает введенный номер. Если номер не подтверждается, выполняется альтерна­тивный поток событий А1.

  5. ATM выводит список доступных действий:

  • Положить деньги на счет

  • Снять деньги со счета

  • Перевести деньги

  1. Клиент выбирает пункт "Снять деньги".

  2. ATM запрашивает, сколько денег нужно снять.

  3. Клиент вводит требуемую сумму.

  4. ATM определяет, достаточно ли на счету денег. Если денег недостаточно, выполняется альтер­нативный поток А2. Если во время подтверждения суммы возникают ошибки, выполняется по­ток ошибок Е1.

  5. ATM вычитает требуемую сумму из счета клиента.

  6. ATM выдает клиенту требуемую сумму наличными.

  7. ATM возвращает клиенту его карточку.

  8. Вариант использования завершается.


Альтернативный поток А1: ввод неправильного идентификационного номера

  • ATM информирует клиента, что идентификационный номер введен неправильно.

  • ATM возвращает клиенту его карточку.

  • Вариант использования завершается.

Альтернативный поток А2: недостаточно денег на счету

  • ATM информирует клиента, что денег на его счету недостаточно.

  • ATM возвращает клиенту его карточку.

  • Вариант использования завершается.

Поток ошибок Е1: ошибка в подтверждении запрашиваемой суммы

  • ATM сообщает пользователю, что при подтверждении запрашиваемой суммы произошла ошибка, и дает ему номер телефона службы поддержки клиентов банка.

  • ATM заносит сведения об ошибке в журнал ошибок. Каждая запись содержит дату и время / ошибки, имя клиента, номер его счета и код ошибки.

  • ATM возвращает клиенту его карточку.

  • Вариант использования завершается.

Документируя поток событий, можно использовать нумерованные списки (как это сделано в данном примере), ненумерованные списки, разбитый на параграфы текст и даже блок-схемы. Поток событий должен быть согласован с определенными ранее требованиями. Описывая поток, помните о тех, кто будет читать ваш документ. При его изучении заказчики будут проверять, соответствует ли он их ожиданиям, а аналитики — соответствует ли он требованиям к системе. Менеджер проекта захочет лучше понять, что же будет создано, а также сделать или обновить оценки проекта. Работая над потоком, избегайте детальных обсуждений того, как он будет реализован. Уделяйте внимание обмену информацией между пользователями и системой, но не подробному описанию ее реализации.

Постусловия

Постусловиями называются такие условия, которые должны быть выполнены после завершения варианта использования.

Работа с действующими лицами

Действующее лицо (actor) — это то, что взаимодействует с создаваемой системой. Если варианты исполь­зования описывают все, что происходит внутри области действия системы, действующие лица опре­деляют все, что находится вне ее. На языке UML действующие лица представляют в виде фигур:



Действующие лица делятся на три основных типа: пользователи системы, другие системы, взаимодействующие с данной и время.

  • Первый тип действующих лиц — это физические личности. Они наиболее типичны и имеются практически в каждой системе. В системе ATM, например, к этому типу относятся клиенты и обслуживающий персонал. Называя действующих лиц, используйте их ролевые имена, а не те, что соответствуют их должности. Конкретный человек может играть множество ролей. Ролевые, а не должностные, имена обеспечивают более стабильную картину действующих лиц. Должности могут меняться время от времени, при этом роли и ответственности могут перемещаться от одной должности к другой. Используя роли для названия действующих лиц, вам не придется обновлять модель каждый раз при появлении новой должности или при изменении распределения обязанностей между ними.

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

  • Третий наиболее распространенный тип действующего лица — время. Время становится действующим лицом, если от него зависит запуск каких-либо событий в системе. Например, система ATM может каждую полночь выполнять какие-либо служебные процедуры по настройке и согласованию своей работы. Так как время не подлежит нашему контролю, оно является действующим лицом.


Поместить действующее лицо на диаграмму Вариантов Использования можно следующим об­разом:

  • Нажмите кнопку Actor (Действующее лицо) панели инструментов.

Как и варианты использования, каждое действующее лицо в Rose имеет подробные спецификации. В окне спецификации действующего лица вы можете определить его имя, стереотип, количество экземпляров (множественность — cardinality) и другие детали.

Назначение стереотипа для действующего лица

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

Для действующего лица не поставляется никаких других стереотипов, кроме стереотипа Actor (Действующее лицо). Однако вы всегда можете определить свои собственные стереотипы и исполь­зовать их в ваших моделях.

Для назначения действующему лицу стереотипа:

  • Щелкните правой кнопкой мыши на действующем лице в браузере или на диаграмме Вариантов Использования.

  • В открывшемся меню выберите пункт Open Specification (Открыть спецификацию).

  • В поле Stereotype (Стереотип) введите стереотип действующего лица.

Задание множественности действующего лица

В среде Rose можно указать, сколько экземпляров конкретного действующего лица будет использова­ться. Например, существует множество людей, играющих роль действующего лица-клиента, но только один человек, играющий роль действующего лица-менеджера. Чтобы зафиксировать этот факт, мож­но использовать поле Cardinality (Множественность) окна спецификации.

Создание абстрактного действующего лица

Абстрактным называется действующее лицо, не имеющее экземпляров. Иными словами, его множест­венность равна нулю. Например, у вас может быть несколько действующих лиц: служащий с почасо­вой оплатой, служащий с окладом и служащий, нанятый на определенное время. Все они являются разновидностями четвертого действующего лица — служащего. Однако никто в компании не является просто служащим — каждый относится к одному из трех вышеназванных типов. Действующее лицо "Служащий1' существует только для того, чтобы показать общность между этими тремя типами. У него нет экземпляров, так что это абстрактное действующее лицо. Пример абстрактного действующего лица приведен на рис.



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

  • Создайте действующее лицо в браузере или на диаграмме Вариантов Использования.

  • Щелкните правой кнопкой мыши на действующем лице в браузере или на диаграмме.

  • В открывшемся меню выберите пункт Open Specification (Открыть спецификацию).

  • Выберите вкладку Detail.

  • Установите флажок Abstract (Абстрактный).

Работа со связями

В языке UML для вариантов использования и действующих лиц поддерживается несколько типов свя­зей. Это связи коммуникации (communication), использования (uses), расширения (extends) и обобще­ния действующего лица (actor generalization). Связи коммуникации описывают связи между действующими лицами и вариантами использования. Связи использования и расширения отражают связи между вариантами использования, а связи обобщения действующего лица — между действующи­ми лицами.

Связи коммуникации

Связь коммуникации (communicates relationship) — это связь между вующим лицом. На языке UML связь коммуникации изображают



Направление стрелки показывает, кто инициирует коммуникацию. В приведенном выше примере действующее лицо Клиент инициирует коммуникацию с системой для запуска функции "Снять день­ги". Вариант использования также может инициировать коммуникацию с действующим лицом:



В данном примере вариант использования инициирует коммуникацию с действующим лицом Кре­дитная система. Когда выполняется вариант использования "Произвести оплату", система ATM ини­циирует коммуникацию с Кредитной системой, чтобы завершить транзакцию. Информация при этом движется в обоих направлениях: от ATM к Кредитной системе и обратно; стрелка показывает только, кто инициирует коммуникацию.

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

Для добавления связи коммуникации:

  • Нажмите кнопку Unidirectional Association (Однонаправленная ассоциация) панели инструментов.

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

  • Между вариантом использования и действующим лицом будет показана стрелка, соответствующая связи.

Для удаления связи коммуникации:

  • Выделите связь на диаграмме Вариантов Использования.

  • В меню модели выберите пункт Edit Delete from Model (Правка Удалить из модели) или на­жмите сочетание клавиш CTRL+D.

Связь использования

Связь использования (uses relationship) позволяет одному варианту использования задействовать функ­циональность другого. С помощью таких связей обычно моделируют многократно применяемую фун­кциональность, встречающуюся в двух или более вариантах использования.



Связь расширения

Связь расширения (extends relationship) позволяет варианту использования только при необходимости применять функциональные возможности, предоставляемые другим вариантом использования. Она напоминает связь использования. В обоих типах отношений некоторая общая функциональность вы­деляется в отдельный вариант использования.



Связь обобщения действующего лица

С помощью связи обобщения действующего лица (actor generalization relationship) показывают, что у нескольких действующих лиц имеются общие черты. Например, ваши клиенты могут быть двух типов корпоративные и индивидуальные. Это отношение моделируется с помощью нотации, представленной на рис.



Работа с примечаниями

При работе над диаграммой имеет смысл связывать примечания (notes) с действующими лицами и ва­риантами использования. Например, иногда нужно пояснить, почему конкретное действующее лицо взаимодействует с конкретным вариантом использования, почему вариант использования участвует в связях использования или расширения или почему одно действующее лицо наследует от другого. До­бавление примечаний в Rose выполняется с помощью кнопки Note (Примечание) панели инструмен­тов.

Добавление примечаний на диаграмму

На диаграмму можно поместить примечания двух типов: собственно примечания (notes) и текстовую область (text box). В общем случае, примечания позволяют добавить комментарий к какому-то одному элементу диаграммы, а текстовая область содержит сведения, общие для всей диаграммы, например ее имя.

Поместить на диаграмму примечание можно следующим образом:

  • Нажмите на панели инструментов кнопку Note (Примечание).

  • Щелкните мышью где-нибудь внутри диаграммы, чтобы поместить туда примечание.

  • Выделив новое примечание, введите текст.

  • Для прикрепления примечания к элементу диаграммы:

  • Нажмите кнопку Anchor Note to Item (Прикрепить примечание к элементу) панели инструментов.

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



Работа с пакетами

На языке UML такие элементы, как действующие лица, варианты использования, классы и компонен­ты, можно сгруппировать в пакеты (packages). В частности, в представлении Вариантов Использова­ния можно сгруппировать в пакеты варианты использования и действующих лиц. На языке UML пакет изображается следующим образом:



Создание пакетов

Для упорядочения элементов модели в среде Rose можно создавать столько пакетов, сколько нужно. При необходимости, для лучшей организации разрешается помещать один пакет внутрь другого. При создании нового пакета Rose автоматически создает диаграмму Package Overview (Обзор пакета) и список ассоциаций (Associations list).

Для добавления пакета на диаграмму:

  • Щелкните правой кнопкой мыши на представлении Вариантов Использования в браузере. Что­бы вложить пакет в существующий, щелкните правой кнопкой мыши на существующем пакете в браузере.

  • В открывшемся меню выберите пункт New > Package (Создать > Пакет)

  • Введите имя нового пакета.
1   2   3   4


написать администратору сайта