Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПО на практике.doc
Скачиваний:
0
Добавлен:
14.02.2020
Размер:
62.71 Mб
Скачать

4.3. Атрибуты качества системы

Атрибуты качества систем изучаются специалистами-проектировщиками про-граммных средств по крайней мере с 1970-х годов. Существует множество различных классификаций и определений, нашедших своих приверженцев среди теоретиков и практиков. С точки зрения архитектора, у проведенных к настоящему моменту исследований атрибутов качества систем есть три основных недостатка.

♦ Все предложенные определения атрибутов непрактичны. Сказать, что система будет модифицируемой, — значит ничего не сказать. Любая система модифицируема в отношении одного ряда изменений и немодифицируема в отношении другого такого ряда. Другие атрибуты страдают тем же недугом.

♦ Очень часто обсуждения сосредоточиваются на том, к какому атрибуту качества следует отнести тот или иной аспект. К примеру, аспектом чего

является отказ системы: готовности, безопасности или практичности? В зависимости от того, кто чем занимается, специалисты тянут одеяло на себя.

♦ У каждого сообщества «качества» свой словарь. Одно и то же явление специалисты по производительности называют «событием», специалисты по безопасности — «атакой», специалисты по готовности — «сбоем», а специалисты по практичности — «данными, вводимыми пользователем». Разнобой в терминологии сбивает с толку.

Первые две проблемы (непрактичные определения и несогласованность в классификации аспектов) решаются путем применения для составления характеристик сценариев атрибутов качества (quality attribute scenarios). Решение третьей проблемы представляется нам так: каждый атрибут следует обсуждать кратко, с упором на фундаментальные задачи, и тем самым прояснять понятия, которые играют первостепенную роль для той или иной специализации.

Сценарии атрибутов качества

Сценарием атрибута качества называется требование, путем выполнения которого этот атрибут реализуется. Сценарий состоит из шести элементов.

♦ Источник стимула. Это некий субъект (человек, вычислительная система или любой другой), который порождает стимул.

♦ Стимул. Стимулом называется наблюдаемое в системе явление, требующее к себе внимания.

♦ Условия. Стимул возникает в определенных условиях. К примеру, система может находиться в состоянии перегрузки или исполняться в обычном режиме.

♦ Артефакт. Объектом воздействия стимула является некий артефакт. В этом качестве может выступать как система в целом, так и ее отдельные элементы.

♦ Реакция. Реакция — это действие, предпринятое в ответ на появление стимула.

♦ Количественная мера реакции. Предпринимаемые в ответ на стимул действия должны быть измеримы — только в этом случае соответствие требованию можно проверить.

Сценарии атрибутов качества, по нашему мнению, можно разделить на две группы: общие — те, что не зависят от конкретный системы и потенциально при-менимы к любой системе, и конкретные — те, что характерны только для рас-сматриваемой системы. Характеристики атрибутов здесь представлены как сово-купности общих сценариев; следует, впрочем, иметь в виду, что для составления на основе одной из таких характеристик требований к конкретной системе соот-ветствующие общие сценарии следует перевести в конкретные.

Элементы сценария атрибута качества показаны на рис. 4.1.

Сценарий готовности

Общий сценарий атрибута качества «готовность» представлен на рис. 4.2. Для всех его шести элементов указаны диапазоны допустимых значений. На основе этого общего сценария можно создавать конкретные, системно-ориентированные сценарии. Впрочем, не во всех таких сценариях будет шесть элементов. Необходимые элементы выявляются по результатам применения сценария и согласно типам тестирования, при помощи которых планируется проводить проверку его реализации.

К примеру, на основе общего сценария, показанного на рис. 4.2, путем конкретизации каждого из его элементов можно получить такой конкретный сценарий: «Процесс, находясь в нормальном режиме работы, получает извне непредвиденное сообщение. Проинформировав о приеме сообщения соответствующую операцию, система, не переходя в состояние простоя, продолжает работать». Частично этот сценарий представлен на рис. 4.3.

От того, что выступает в качестве источника стимула, зависит характер реакции. К примеру, в сценарии безопасности могут предусматриваться разные реакции на запросы от доверенных и ненадежных источников. Кроме того, влияние на реакцию оказывают условия — если, скажем, система перегружена, реакция на событие может быть иной, чем в том случае, если бы система работала в нормальном режиме. Артефакт в этом контексте не столь важен. В этом качестве почти всегда выступает система, причем по двум нижеизложенным причинам ее вызов производится явно.

Во-первых, во многих требованиях принимаются допущения относительно составляющих системы (например, «при отказе веб-сервера системы»). Во-вторых, в случае применения сценариев в рамках методов оценки или проектирования сведения о стимулированном элементе системы в артефакте делаются более явными. Наконец, наличие явных сведений о значении реакции способствует прояснению требований по атрибуту качества. По этим причинам мы оставили в составе сценария элемент «количественная мера реакции».

Сценарий модифицируемости

Пример сценария модифицируемости: «В период проектирования разработчику требуется внести изменения в код пользовательского интерфейса, чтобы сделать фоновый цвет синим. Соответствующие операции и тестирование проводились в течение трех часов и не привели к появлению побочных эффектов в поведении». За исключением ряда деталей, этот сценарий приводится в графическом виде на рис. 4.4. 

Требования по атрибутам качества свойств системы можно представить и виде ряда конкретных сценариев. Каждый из них должен быть понятен архитектору. а подробности реакции должны быть сформулированы так, чтобы возможным стало проведение проверки на предмет ее реализации в системе. В процессе выявления требований общие сценарии имеет смысл рассматривать в категориях атрибутов качества; если оказывается, что два различных атрибута порождают один и тот же сценарий, один из этих атрибутов исключается.

Для каждого атрибута строится отдельная таблица со всеми возможными системно-независимыми значениями шести элементов сценария качества. При создании общего сценария качества для каждого из элементов отбирается по одному значению. Конкретный сценарий создается в ходе выявления требований путем выбора в каждом столбце таблицы одной или нескольких записей и последующего обеспечения читаемости. К примеру, сценарий, показанный на рис. 4.4, выведен из сценария модифицируемости (см. табл. 4.2); при этом отдельные части были незначительно изменены для обеспечения совместимости с форматом сценария.

Роль конкретных сценариев при специфицировании требований по атрибутам качества близка к функции элементов Use Case при специфицировании функциональных требований.

Создание сценария атрибута качества

На материале этой главы мы пытаемся показать, как архитекторы формулируют содержательные атрибуты качества системы. Теоретически, эта задача должна выполняться в процессе выявления требований к проекту, однако на практике так происходит не часто. Как мы говорили в главе 1, случаи систематического выявления и фиксации требований к системе по качеству встречаются не так уж часто. Исправить эту ситуацию можно путем составления конкретных сценариев атрибутов качества. Для этого используются конкретные таблицы атрибутов качества, на основе которых строятся общие сценарии, а из них, в свою очередь, выводятся сценарии системно-ориентированные. Как правило, создаются не все возможные общие сценарии. Таблицы составляются скорее для того, чтобы обеспечить учет всех возможных вариантов; они не выступают в качестве явного механизма генерации. Нас не интересуют сценарии, которые не согласуются с точным определением свойства, — избыточность, которая возникает, если одно и то же требование по качеству можно сформулировать на основе двух разных атрибутов, легко устранить. С другой стороны, если одно из существенных требований по качеству не учтено, последствия могут быть весьма серьезными.