Языки моделирования качества программных продуктов

NoFun - формальный язык моделирования качества программного обеспечения

Язык NoFun (акроним для "NOn-FUNctional")- это декларативный язык построения формальных моделей качества на базе стандарта ISO/IEC 9126. Стандарты представляют требования качества к продукту в виде характеристик высокого уровня абстракции. Сложности возникают на этапе их точного определения, так как часто для этого используются неформальные утверждения. Таким образом, модель качества может быть определена неоднозначно. Язык NoFun призван решить эту проблему. Для того, чтобы достигнуть цели хорошей формализации требований к программной продукции, разработчики данного языка моделирования предоставляют возможность использовать несколько видов модулей при построении модели качества: модулей характеристик, подхарактеристик и атрибутов. Это в свою очередь позволяет отражать различные виды концепций, определённых в стандартах качества. Одни модули могут импортироваться в другие, при этом только модули характеристик не могут быть выражены в терминах этого же уровня (зависеть от других модулей характеристик).

Домены в модели качества

Характеристики, подхарактеристики и атрибуты качества являются предопределёнными типами (доменами) языка. Домены используются для фиксирования типов атрибутов качества напрямую или в сложном описании атрибута (через функции, множества). NoFun имеет предопределённые домены, такие как integer, real, boolean и string, а также позволяет определять новые типы с помощью перечислений значений. В примере показано определение домена CompanyAreas, заключённого в модуль домена COMPANY_AREAS.

Домены в модели качества NoFun

Пример 1. Домены в модели качества NoFun

Атрибуты в модели качества

Атрибуты качества используются для оценки основных возможностей разрабатываемых компонентов и объединяются в модули атрибутов. Модули атрибутов содержат:
- Описание атрибута на естественном языке.
- Описание типа атрибута. Простые атрибуты будут описаны с помощью предопределённого типа или домена, более сложные с помощью таких конструкций, как функция, множество и картеж. Используемые домены должны быть описаны ранее в данном модуле либо импортированы.
- Определение значения (только для производных атрибутов, т.е. тех, значения которых зависят от других атрибутов). Ниже показано определение нескольких атрибутов качества, объединенных в одном модуле.

Атрибуты в модели качества NoFun

Пример 2. Атрибуты в модели качества NoFun

Характеристики и подхарактеристики в модели качества

Модули (под)характеристик призваны соединить вместе атрибуты и подхарактеристики качества продукта путём прямого объединения сущностей качества в один модуль либо с помощью их импортирования. Ниже приводится пример определения подхарактеристики соответствия (accuracy), имеющие отношение к продуктам ERP.

Подхарактеристики и характеристики в модели качества NoFun

Пример 3. Подхарактеристики и характеристики в модели качества NoFun

Требования в модели качества

Для того чтобы разработка программного обеспечения соответствовала технологическому процессу, определённому стандартами ISO/IEC, необходимо уметь оценивать качество компонентов программного обеспечения в ходе их разработки. Такая оценка производится с учетом фиксированного списка атрибутов качества каждой компоненты. Требования качества в соответствии с определением, данным в стандарте ISO/IEC 9126, рассматриваются создателями данного языка моделирования качества как набор ограничений на характеристики, подхарактеристики и атрибуты качества модели. Они заключаются в специальные модули, называемые модулями требований и принимают форму выражений на языке, включающих в себя сущности качества. Для каждого требования качества может быть задано имя; неформальное объяснение требования на естественном языке; перечисление сущностей качества, к которым относится данное требование; формальное определение; категория требования в зависимости от важности выполнения (например, обязательное, желательное и др.). В примере оказано как создаётся требование, устанавливающее универсальное свойство на атрибут Area Coverage.

Требование в модели качества NoFun

Пример 4. Требования в модели качества NoFun

назад
Хостинг от uCoz