Преобразование описания черного ящика в шаги белого ящика подсистемы
На этом этапе текст потока событий черного ящика (который представляет собой свойство каждого варианта использования)
из модели варианта использования уточняется в последовательность шагов белого ящика (представленный в терминах действий
подсистемы и взаимодействий с использованием подсистем и выделенных коопераций из анализа архитектуры системы). Если
операции подсистемы уже указаны, то их можно выбрать в качестве начальной точки и перейти непосредственно к начальному расширению шага белого ящика.
Пример потока событий черного ящика:
Вариант использования системы<имя>
|
Шаг
|
Действие субъекта
|
Описание шага черного ящика
|
Запланированные требования черного ящика
|
Операция системы
|
1
|
(идентификатор
действия субъекта): описание действий субъекта, например, "AA1: этот вариант использования
начинается, когда Сотрудник нажимает кнопку Открыть сделку"
|
(идентификатор
шага черного ящика): описание реакции системы (без предоставления информации о внутренней структуре
системы), например, "BBS1: система открывает окно новой сделки и включает сканер"
|
(идентификатор
требований шага черного ящика): описание того, насколько качественно система должна выполнить этот
шаг (например, с учетом времени или частоты ответа); например, "SUP36.2: общее время ответа
составляет 0.5 секунды"
|
(идентификатор
операции системы): имя операции системы, вызываемой на этом шаге, например,
<<операция>> Начать новую сделку" (из диаграммы контекста, заданной в разделе Задача: Определение контекста системы)
|
2
|
|
|
|
|
3
|
|
|
|
|
Пример потока событий черного ящика
Если задача выполняется для подсистемы, для которой определены только операции
Далее операция системы (шаг черного ящика) расширяется до одного или нескольких шагов белого ящика, каждый из которых
выполняется указанной подсистемой. В соответствии с рекомендациями архитектора, выданными в ходе анализа архитектуры,
проектировщик выбирает подсистемы и взаимодействия для описания шагов белого ящика. Обратите внимание, что теперь
анализ управляется операцией системы; т.е. следующий шаг реализации следует рассматривать в качестве реализации
отдельной операции системы (в отличие от более абстрактной нотации шага черного ящика варианта использования системы).
Шаги белого ящика каждой операции системы (серый фон в следующей таблице) изначально извлекаются из модели анализа,
которая связана с соответствующей операцией системы в качестве ее реализации. Шаги белого ящика не хранятся вместе с
вариантом использования системы (здесь они показаны в качестве иллюстрации), однако они доступны для трассировки из
варианта использования системы через операцию системы.
Вариант использования системы<имя>
|
Операция системы
|
Шаг
|
Действие субъекта
|
Описание шага черного ящика
|
Запланированные требования шага черного ящика
|
Описание шага белого ящика подсистемы
|
Запланированные требования шага белого ящика
|
Расположение
|
Процесс
|
Исполнитель
|
(идентификатор операции системы): имя операции системы,
вызываемой на этом шаге, например, <<операция системы>> Начать новую сделку" (из
диаграммы контекста)
|
1
|
(идентификатор действия субъекта): описание действий субъекта,
например, "AA1: этот вариант использования начинается, когда Сотрудник нажимает кнопку Открыть
сделку"
|
(идентификатор шага черного ящика): описание реакции системы (без
предоставления информации о внутренней структуре системы), например, "BBS1: система открывает окно
новой сделки и включает сканер"
|
(идентификатор требований шага черного ящика): описание того,
насколько качественно система должна выполнить этот шаг (например, с учетом времени или частоты
ответа); например, "SUP36.2: общее время ответа составляет 0.5 секунды"
|
(идентификатор шага белого ящика): описание действия, выполняемого
подсистемой (входит в состав шага черного ящика) в формате ввод-обработка-вывод; например,
"WBS1: Интерфейс точки продажи очищает транзакцию, открывает меню новых сделок и запрашивает
запуск списка сделок в операции Обработка заказа"
|
|
|
|
|
(идентификатор шага белого ящика):...
|
|
|
|
|
|
|
|
|
|
|
2
|
|
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
|
|
Пример потока событий белого ящика
|
Дополнение шагов белого ящика решениями расположения, процесса и исполнителя
Описание дополняется решениями расположения, процесса и исполнителя. Решение расположения указывает (с заданным уровнем
абстракции), где следует выполнять шаг белого ящика подсистемы. Решение процесса необходимо только в том случае, если
подсистема (по крайней мере для текущего шага) должна работать в пассивном режиме, в котором ее операции вызываются
внешними процессами. "Активная" подсистема может реагировать автоматически, вызывая внутренние процессы. Проектировщик
системы снова руководствуется рекомендациями архитектора (выданными при создании моделей локальности и процесса).
Решения исполнителя, применяемые в случае обращения к людским ресурсам, выбирают организационные объекты и ресурсы
системных исполнителей для выполнения операции системы.
Если анализ показывает, что шаг белого ящика требует применения нескольких расположений или процессов, разделите его на
несколько простых шагов, каждый из которых можно связать с отдельным расположением или процессом. Такое разделение
может привести к важному разветвлению архитектуры (может потребоваться рефакторинг подсистемы) и должно быть
согласовано с архитектором системы.
Вариант использования системы<имя>
|
Операция системы
|
Шаг
|
Действие субъекта
|
Описание шага черного ящика
|
Запланированные требования шага черного ящика
|
Описание шага белого ящика подсистемы
|
Запланированные требования шага белого ящика
|
Расположение
|
Процесс
|
Исполнитель
|
(идентификатор операции системы): имя операции системы,
вызываемой на этом шаге, например, <<операция системы>> Начать новую сделку" (из
диаграммы контекста)
|
1
|
(идентификатор действия субъекта): описание действий субъекта,
например, "AA1: этот вариант использования начинается, когда Сотрудник нажимает кнопку Открыть
сделку"
|
(идентификатор шага черного ящика): описание реакции системы (без
предоставления информации о внутренней структуре системы), например, "BBS1: система открывает окно
новой сделки и включает сканер"
|
(идентификатор требований шага черного ящика): описание того,
насколько качественно система должна выполнить этот шаг (например, с учетом времени или частоты
ответа); например, "SUP36.2: общее время ответа составляет 0.5 секунды"
|
(идентификатор шага белого ящика): описание действия, выполняемого
подсистемой (входит в состав шага черного ящика) в формате ввод, обработка, вывод; например,
"WBS1: Интерфейс точки продажи очищает транзакцию, открывает меню новых сделок и запрашивает
запуск списка сделок в операции Обработка заказа"
|
|
Идентификатор расположения
|
Идентификатор процесса
|
Идентификатор организации или пользователя системы
|
(идентификатор шага белого ящика):...
|
|
|
|
|
|
|
|
|
|
|
2
|
|
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
|
|
Пример расширенного потока событий белого ящика
|
Выделение запланированных требований белого ящика
Далее следует распределить запланированные требования шага черного ящика между шагами белого ящика. На этом этапе
определяются требования к производительности как подсистемы, так и связанного расположения. В случае пассивной
подсистемы - это ввод анализа задержки вызывающего процесса (который может иметь другие обязанности).
Вариант использования системы<имя>
|
Операция системы
|
Шаг
|
Действие субъекта
|
Описание шага черного ящика
|
Запланированные требования шага черного ящика
|
Описание шага белого ящика подсистемы
|
Запланированные требования шага белого ящика
|
Расположение
|
Процесс
|
Исполнитель
|
(идентификатор операции системы): имя операции системы,
вызываемой на этом шаге, например, <<операция системы>> Начать новую сделку" (из
диаграммы контекста)
|
1
|
(идентификатор действия субъекта): описание действий субъекта,
например, "AA1: этот вариант использования начинается, когда Сотрудник нажимает кнопку Открыть
сделку"
|
(идентификатор шага черного ящика): описание реакции системы (без
предоставления информации о внутренней структуре системы), например, "BBS1: система открывает окно
новой сделки и включает сканер"
|
(идентификатор требований шага черного ящика): описание того,
насколько качественно система должна выполнить этот шаг (например, с учетом времени или частоты
ответа); например, "SUP36.2: общее время ответа составляет 0.5 секунды"
|
(идентификатор шага белого ящика): описание действия, выполняемого
подсистемой (входит в состав шага черного ящика) в формате ввод, обработка, вывод; например,
"WBS1: Интерфейс точки продажи очищает транзакцию, открывает меню новых сделок и запрашивает
запуск списка сделок в операции Обработка заказа"
|
(идентификатор требований шага белого ящика): описание того,
насколько качественно система должна выполнить этот шаг (например, с учетом времени или частоты
ответа); например, "SUP36.2.1: затраченное время составляет 0.16 секунды"
|
Идентификатор расположения (модель расположения)
|
Идентификатор процесса (модель процесса)
|
Идентификатор организации или пользователя системы
|
(идентификатор шага белого ящика):...
|
(идентификатор требований шага белого ящика):...
|
Идентификатор расположения
|
Идентификатор процесса
|
Идентификатор организации или пользователя системы
|
|
|
|
|
|
|
2
|
|
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
|
|
Пример выделенных запланированных требований потока событий белого ящика
|
Сортировка шагов белых ящиков по подсистеме
На этом этапе следует сгруппировать шаги белых ящиков каждой подсистемы (т.е. шаги, принадлежащие конкретной
подсистеме). Это выполняется в ходе подготовки определения операций подсистемы (которые по отношению к
подсистеме аналогичны операциям системы для системы) путем проверки описаний шагов белых ящиков. Также как в случае
операций системы для каждого шага белого ящика может отсутствовать уникальная операция подсистемы. Кроме того,
обратите внимание, что шаги белого ящика группируются по операции системы. Например, можно составить таблицу,
сгруппированную по подсистеме:
Пример обзора варианта использования подсистемы
Подсистема - <имя>
|
Операция системы
|
Расположение
|
Процесс
|
Исполнитель
|
Описание шага белого ящика подсистемы
|
Операция подсистемы
|
<имя>
|
Идентификатор расположения
|
Идентификатор процесса
|
Идентификатор организации или пользователя системы
|
(идентификатор шага белого ящика): описание действия, выполняемого
подсистемой (входит в состав шага черного ящика) в формате ввод-обработка-вывод
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример обзора варианта использования операции
В случае сверхбольших систем, предусматривающих создание модели вариантов использования для каждой системы/подсистемы,
такая группировка представляет собой надежный способ идентификации вариантов использования подсистемы: изначально можно
определить вариант использования подсистемы для каждой связанной операции системы. Впоследствии вы можете заметить, что
последовательности шагов белого ящика совпадают для некоторых из этих вариантов использования; таким образом их можно
объединить и применять один вариант использования подсистемы в нескольких операциях системы.
|
Уточнение коопераций для каждой операции системы
На основе шагов белого ящика на диаграммах последовательности или кооперации (в модели анализа) создаются
взаимодействия подсистем. Такой подход позволяет уточнить работу, выполненную архитектором системы. На этом этапе
кооперации могут все еще оставаться абстрактными; определены могут быть только ссылки или сообщения на абстрактном
уровне. Тем не менее, вы сможете получить представление о связывании и взаимодействии подсистем и уточнить расширение
шага белого ящика, выполненное ранее (см. раздел Начальное расширение
шага белого ящика).
|
Оценка анализа
По окончании этой задачи проектировщик системы должен убедиться, что все неполадки зарегистрированы и добавлены в план
исправления.
|
|