Взаимосвязь атрибутов качества
Большинство атрибутов качества противоречат друг другу и для определенных их комбинаций компромиссы неизбежны. Пользователи и разработчики должны решить, какие атрибуты важнее других и при принятии решений соблюдать эти приоритеты.
В таблице 2-1, приведенной ниже, отражены взаимосвязи наиболее распространенных атрибутов качества. Знак «+» в ячейке означает, что увеличение величины атрибута в соответствующей строке позитивно влияет на атрибут в соответствующем столбце. Знак «-» в ячейке означает, что увеличение величины атрибута в этой строке негативно влияет на атрибут в соответствующем столбце. Пустая ячейка означает, что атрибут в этой строке оказывает незначительное влияние на атрибут в столбце.
Таблица 1‑1. Позитивные и негативные взаимосвязи атрибутов качества
Доступность | Эффективность | Гибкость | Целостность | Способность к взаимодействию | Легкость в эксплуатации | Мобильность | Надежность | Возможность повторного использования | Устойчивость к сбоям | Тестируемость | Удобство и простота использования | |
Доступность | + | + | ||||||||||
Эффективность | - | - | - | - | - | - | - | - | ||||
Гибкость | - | - | + | + | + | + | ||||||
Целостность | - | - | - | - | - | |||||||
Способность к взаимодействию | - | + | - | + | ||||||||
Легкость в эксплуатации | + | - | + | + | + | |||||||
Мобильность | - | + | + | - | + | + | - | |||||
Надежность | + | - | + | + | + | + | + | |||||
Возможность повторного использования | - | + | - | + | + | + | - | + | ||||
Устойчивость к сбоям | + | - | + | + | ||||||||
Тестируемость | + | - | + | + | + | + | ||||||
Удобство и простота использования | - | + | - |
Эффективность оказывает негативное влияние на большинство атрибутов. Если вы напишите компактную и быструю программу, используя хитрости кодирования и учитывая некоторые побочные эффекты при выполнении, вероятнее всего эту программу будет сложно поддерживать и исправлять, а также переносить на другие платформы. Аналогично, системы, которые были оптимизированы для удобства использования или спроектированы как гибкие, пригодные для многократного применения и способные взаимодействовать с другими программными компонентами или компонентами оборудования, часто грешат проблемами производительности. Необходимо найти баланс между возможным ухудшением производительности и ожидаемой выгодой от предлагаемого решения, чтобы убедиться, что компромисс, на который вы идете, разумен.
Матрица не симметрична, потому что влияние при увеличении атрибута А на атрибут В не обязательно такое же, как влияние, которое оказывает увеличение атрибута В на атрибут А. Так, модификация системы с целью повышения эффективности не оказывает эффекта на целостность. Но повышение целостности вероятнее всего весьма отрицательно отразится на эффективности, поскольку системе придется выполнять множество проверок аутентификации пользователей, зашифрованных данных, проверок на наличие вирусов и контрольных точек данных.
Чтобы оптимизировать баланс атрибутов продукта, в процессе сбора информации вам следует определить и задокументировать важнейшие атрибуты качества, расставив для них приоритеты. При определении атрибутов качества для проекта, следует использовать указанные зависимости, для того, чтобы не поставить перед собой несовместимые цели:
· Не нежно максимизировать удобство и простоту использования, если программное обеспечение должно работать на нескольких платформах (мобильность)
· Нелегко полностью проверить требования к целостности систем с высоким уровнем безопасности. Для универсальных компонентов многократного использования или тех, что предполагаются для связи с другими приложениями, можно в некоторой степени снизить требования безопасности.
· Крайне надежный код окажется менее эффективным из-за постоянного выполнения им проверок данных и поиска ошибок.
Как правило, слишком ограничивая возможности системы или определяя конфликтующие требования, вы тем самым усложняете задачу разработчикам – им гораздо труднее удовлетворить все требования заказчика.
Дата добавления: 2021-11-16; просмотров: 363;