Цель
|
Определение области действия и целей проверки.
Определение подходов, применяемых для каждой конкретной комбинации область/цель.
|
Проверку можно выполнить различными подходами:
-
на основе представления
-
на основе данных
-
на основе сценария
Проверка на основе представления
Получите (или создайте) представление архитектуры, затем в соответствии с этим представлением поставьте вопросы и
примите решения.
В данном случае возможны различные ситуации: организации, предоставляющие четкое начальное описания архитектуры;
организации, в которых требуется определить сотрудника, выполняющего роль архитектора программного обеспечения
(независимо от его фактической должности), и получить информацию у него; а также организации, в которых понятие
архитектуры программного обеспечения неизвестно. Этот процесс называется "сбор и анализ данных об архитектуре" и
заключается в следующем: анализ программного обеспечения и документации, просмотр исходного кода, интерфейсов, данных
конфигурации и т.д.
Для представления архитектуры можно использовать модель архитектурных представлений, описанную в документе архитектуры
программного обеспечения: логическое представление содержит основные классы (модель объектов), представление процессов
описывает основные потоки управления и способы их взаимодействия, представление разработки отражает различные
подсистемы и их взаимосвязи, физическое представление описывает связи между элементами разных представлений в одной или
нескольких физических конфигурациях. Вопросы, требующие внимания, следует распределить по различным представлениям.
Проверка на основе данных
Составьте список информации (данные, показатели), необходимой для принятия решений, соберите эту информацию и сравните
ее с требованиями или с приемлемыми опорными стандартами. Такой подход эффективен для оценки отдельных качественных
показателей, таких как производительность и надежность.
Проверка на основе сценариев
Данный подход представляет собой причинно-следственный анализ. Интересующие вас вопросы следует преобразовать в набор
сценариев, через которые должна пройти система. Затем эти вопросы следует задать на основе сценариев. Примеры
сценариев:
-
Система выполняется на платформах X и Y. (Проверяется показатель переносимости.)
-
Система поддерживает дополнительную функцию F. (Проверяется показатель расширяемости.)
-
Система обрабатывает 200 запросов в час. (Проверяется показатель масштабируемости.)
-
Система устанавливается пользователем в конкретной среде. (Проверяется показатель завершенности или удобства
работы.)
Преимущество такого подхода заключается в максимально конкретном представлении задачи, которое понятно всем
заинтересованным сторонам. Кроме того, он позволяет найти пропущенные требования и недостатки требований, в особенности
в случае неформальных, нечетких, слишком общих и лаконичных требований. Недостаток этого подхода связан с тем, что
архитектура не рассматривается в качестве отдельного объекта. Система представлена в виде черного ящика, в который
передаются различные входные данные.
На практике четкое разграничение между описанными подходами отсутствует и применяется их сочетание.
Определение неполадок
Важную роль в процессе обнаружение потенциальных неполадок играют опыт и знания проверяющих. Отдельные шаблоны
неисправностей могут повторяться в нескольких проектах или организациях. Для обнаружения некоторых проблемных областей
применим эвристический поиск. Кроме того, можно использовать справочные таблицы (примеры наиболее общих таблиц
приведены ниже) и результаты предыдущих проверок.
Описывая обнаруженные потенциальные неполадки, используйте нейтральные высказывания - не допускайте поиска
виновных и излишней обреченности. Для облегчения расстановки приоритетов, организации и устранения неполадок
рекомендуется использовать небольшие картонные карточки, как это делают проверяющие AT&T, либо карточки CRC.
Далее потенциальные неполадки следует отсортировать в порядке уменьшения области действия или влияния; в случае
большого числа неполадок сначала рассмотрите те из них, которые непосредственно связаны с текущим вопросом, отложив
"остальные предложения". Оцените, насколько реальна неполадка: зачастую вследствие нехватки информации неполадки видят
там, где их нет. Повторите сортировку. Проверьте реальность неполадки с учетом нескольких факторов. (Неопытные
проверяющие обычно рассматривают проблемы только с одной стороны.)
Подтвердив неполадку, попытайтесь найти способ ее устранения, не требующий повторного проектирования системы. Запишите
потенциальные упрощения, возможности повторного использования и альтернативы (например, покупка по сравнению с
разработкой).
|