Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| mdd:overview [2016/12/23 22:44] – created yaroshenkopolina | mdd:overview [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ======Scenario-Based Software Architecture Evaluation Software Architecture Evaluation Methods: An Overview====== | ||
| + | Оригинал: | ||
| + | [[http:// | ||
| + | ====Введение==== | ||
| + | Анализ разработки программного обеспечения и его оценка стали устоявшейся практикой среди проектировщиков ПО. Исследовательские группы предлагают различные методы для оценки качества архитектуры ПО. Ниже приведен список доступных сегодня методов, | ||
| + | - SAAM, Software Architecture Analysis Method | ||
| + | - ATAM, Architecture Trade-off Analysis Method | ||
| + | - CBAM, Cost Benefit Analysis Method | ||
| + | - ALMA, Architecture Level Modifiability Analysis | ||
| + | - FAAM, Family - Architecture Analysis Method | ||
| + | |||
| + | ====Software Architecture Analysis Method(SAAM)==== | ||
| + | |||
| + | SAAM - первый широко распространенный метод анализа архитектуры ПО.Изначально SAAM создавался для оценки модифицируемости, | ||
| + | **Шаги в SAAM:** | ||
| + | - **Разработка сценариев: | ||
| + | - **Описание архитектур(ы): | ||
| + | - **Классификация и расстановка приоритетов сценариев: | ||
| + | - **Индивидуальная оценка косвенных сценариев: | ||
| + | - **Оценка взаимодействия сценариев: | ||
| + | - **Создание общей оценки: | ||
| + | |||
| + | **Роли в SAAM:** | ||
| + | * **Внешние заинтересованные стороны** не принимают участия в процессе разработки архитектуры ПО. Их роль заключается в представлении бизнес-целей проекта, | ||
| + | * **Внутренние заинтересованные стороны** играют роль анализа, | ||
| + | * **Команда SAAM** проводит сеанс оценки SAAM. Состоит из оценщиков, | ||
| + | ====Architecture Trade-off Analysis Method(ATAM)==== | ||
| + | |||
| + | Метод анализа архитектурных компромиссов (ATAM). ATAM – это доработанная и улучшенная версия SAAM, которая позволяет пересматривать архитектурные решения относительно требований параметров качества и того, насколько хорошо эти решения отвечают конкретным целевым показателям качества.\\ | ||
| + | **Шаги в ATAM:** | ||
| + | - **Фаза презентации: | ||
| + | - Презентация ATAM | ||
| + | - Представление бизнес двигателей | ||
| + | - Представление архитектуры | ||
| + | - **Фаза исследования и анализа: | ||
| + | - Определение архитектурных подходов | ||
| + | - Создание вспомогательного дерева атрибутов качества: | ||
| + | - Анализ архитектурных подходов: | ||
| + | - **Фаза тестирования: | ||
| + | - Мозговой штурм и расставление приоритетов сценариев: | ||
| + | - Повторный анализ архитектурных подходов | ||
| + | - **Фаза отчетности: | ||
| + | - Презентация результатов: | ||
| + | |||
| + | **Роли в ATAM:** | ||
| + | * **Внешние заинтересованные стороны** не принимают участия в процессе разработки архитектуры ПО, их роль заключается в представлении бизнес контекста проекта. | ||
| + | * **Внутренние заинтересованные стороны** принимают непосредственное участие в процессе разработки ПО архитектуры. Их роль заключается в анализе, | ||
| + | * **Команда ATAM** должна быть внешней по отношению к команде разработчиков по причинам нейтральности. Она приглашается, | ||
| + | ====Cost Benefit Analysis Method(CBAM)==== | ||
| + | |||
| + | Метод анализа рентабельности (Cost Benefit Analysis Method, CBAM). Метод CBAM основное внимание уделяет анализу затрат, | ||
| + | |||
| + | **Шаги в CBAM:** | ||
| + | - Выберите сценарии и связанные с ними стратегии в области архитектуры | ||
| + | - Оценка качества и атрибутов | ||
| + | - Количественная оценка преимуществ каждого архитектурного стиля | ||
| + | - Подсчет стоимости каждого архитектурного стиля и расчет времени на его внедрение | ||
| + | - Вычисление " | ||
| + | - Принятие решения | ||
| + | |||
| + | **Роли в CBAM:** | ||
| + | * **Внешние заинтересованные стороны** не принимают участия в процессе разработки архитектуры ПО, их роль заключается в представлении бизнес контекста проекта. | ||
| + | * **Внутренние заинтересованные стороны** принимают непосредственное участие в процессе разработки ПО архитектуры. | ||
| + | * **Команда CBAM** не имеет прямого отношения к выбору архитектуры ПО, но проводит CBAM сессию. | ||
| + | ====Architecture Level Modifiability Analysis(ALMA)==== | ||
| + | Анализ модифицируемости на уровне архитектуры (Architecture Level Modifiability Analysis, ALMA). ALMA оценивает модифицируемость архитектуры для систем бизнес-аналитики. | ||
| + | |||
| + | **Шаги в ALMA:** | ||
| + | - Установите цель анализа | ||
| + | - Опишите архитектуру ПО | ||
| + | - Выявите сценарии, | ||
| + | - Оцените сценарии из предыдущего пункта | ||
| + | - Интерпретируйте результаты: | ||
| + | |||
| + | **Роли в ALMA:** | ||
| + | * **Внешние заинтересованные стороны** не принимают участия в процессе разработки архитектуры ПО, их роль заключается в представлении бизнес контекста проекта. | ||
| + | * **Внутренние заинтересованные стороны** принимают непосредственное участие в процессе разработки ПО архитектуры. | ||
| + | * **Команда ALMA** не имеет прямого отношения к выбору архитектуры ПО, но их приглашают для проведения оценки. | ||
| + | ====Family - Architecture Analysis Method(FAAM)==== | ||
| + | |||
| + | Метод оценки семейства архитектур (Family Architecture Assessment Method, FAAM). FAAM оценивает архитектуры семейства информационных систем с точки зрения возможности взаимодействия и расширяемости. | ||
| + | |||
| + | **Шаги в FAAM:** | ||
| + | - Определите цель оценки | ||
| + | - Установите объем и содержание системы-семьи | ||
| + | - Установить будущие планы для семьи (интероперабельности, | ||
| + | - Предоставьте указания заинтересованным сторонам, | ||
| + | - Подготовка требований к системе качества | ||
| + | - Подготовьте архитектуру | ||
| + | - Обзор артефактов | ||
| + | - Проверка архитектуры на соответствие установленным в пункте 2 требованиям с акцентом на легкость интеграции | ||
| + | - Отчет об итогах и предложения | ||
| + | |||
| + | **Роли в FAAM:** | ||
| + | * **Внешние заинтересованные стороны** не принимают участия в процессе разработки архитектуры ПО, их роль заключается в представлении бизнес контекста проекта. | ||
| + | * **Внутренние заинтересованные стороны** принимают непосредственное участие в процессе разработки ПО архитектуры. | ||
| + | * **Команда FAAM** не имеет прямого отношения к выбору архитектуры ПО, но их приглашают для проведения оценки. | ||
| + | |||
| + | ====Таблица сравнения различных методов анализа архитектуры ПО==== | ||
| + | |||
| + | ^ Метод ^ Оценка\\ Качества^ Метрика^ Описание процесса ^Сильные\\ стороны^Слабые\\ стороны^Типы систем, | ||
| + | ^ SAAM | Модифицируемость|Классификация\\ сценариев| Разумное | Определение потенциальных областей высокой сложности\\ Открыт для любого\\ архитектурного описания| Нет явной метрики качества\\ Не отображает шаги| Все| | ||
| + | ^ ATAM | Модифицируемость | Точки чувствительности\\ Компромисные точки\\ Поддерживается ATA | Хорошее | Генерация сценариев основана на требованиях\\ Применим для статических и динамических свойств\\ Вспомогательное дерево качества | Требует глубоких технических знаний | Все | | ||
| + | ^ CBAM | Затраты и выгоды| Время и затраты | Разумное | Предоставляет бизнес измерения для определенных изменений системы\\ Вносит ясность в неопределенность, | ||
| + | ^ ALMA | Модифицируемость | Влияние оценки\\ Модифицируемость предсказываемой модели| Разумное |Критерий остановки генерации сценариев| Ограниченное множество случаев изучения\\ Концентрируется на статических свойствах| Бизнес информационные системы | | ||
| + | ^ FAAM | Совместимость и расширяемость | Различные специализированные таблицы и диаграммы | Очень хорошее |Акцент на расширении прав и возможностей команд | Доказан только в определенной среде\\ Концентрируется на статических свойствах| Системы-семьи |\\ | ||
| + | ====Список литературы==== | ||
| + | - Paul Clements, Rick Kazman and Mark Klein | ||
| + | - Evaluating Software Architectures: | ||