При взаимодействии нескольких различных систем в анализе
вариантов использования будут присутствовать один или несколько граничащих классов, описывающих протокол для него.
В роли внешней системы может выступать что угодно, от программного до аппаратного обеспечения, которое будет
использоваться настоящей системой, например: принтеры, терминалы, устройства аварийной сигнализации, сенсоры. Для
каждой из таких систем будет иметься класс, выступающий посредником между настоящей и внешней системой.
Пример
Банкомат должен быть связываться с банком для проверки номера кредитной карты и пароля, и доступны ли запрошенная сумма
для данного клиента. Т.к. банковская сеть является внешней системой (с точки зрения банкомата), для ее представления в
анализе вариантов использования будет использоваться граничащий класс.
Если интерфейсы простые и четкие, то для представления внешней системы может быть достаточно одного класса. Однако,
часто интерфейсы слишком сложные и требуют целого набора классов для корректного представления. Более того, одни и те
же интерфейсы между системами часто широко используются в разных приложениях. Как результат, во многих случаях для
моделирования интерфейсов системам больше подходит подсистема.
Использование подсистемы позволяет делать интерфейсы определенными и устойчивыми, сохраняя при этом уровень детализации
низким не смотря на развитие определения интерфейсов.
|