Автоматизация оценивания качества программного обеспечения

Automation of the software quality assessment

 

Б.И.Коган,

Институт автоматики и процессов управления (ИАПУ ДВО РАН, г. Владивосток)

B. I.Cogan

(IAPU FEB RAS, Vladivostok)

 

 Основное назначение технологии программирования (ТП - software engineering) как инженерной дисциплины - обеспечение создания высококачественного программного обеспечения (ПО). Среди прочего, это предполагает обеспечение возможности точного, т.е. непротиворечивого и однозначно толкуемого, описания ожидаемой заказчиком совокупности свойств ("качества") заказанного им программного средства (ПС). К настоящему времени сообщество специалистов ТП "породило" как национальные (например, национальный стандарт США IEEE/ANSI Std 1061-1992), так и международные стандарты (например, ISO 9126-1991), существенно помогающие разработчикам ПО в специфицировании качества создаваемого ПС и в оценивании ПС в процессе его разработки и по ее завершению. Однако все эти стандарты рассматривают специфицирование и оценивание ПО только в "высокоуровневых" терминах понятий качества ПО. Уровень моделей ПС, их метрик и внутренних свойств вообще остается несогласованным и неоднозначно толкуемым в мире и по сей день, что считается одной из важных проблем ТП.

В ИАПУ ДВО РАН предложен и развивается в последние пять лет так называемый "языково-ориентированный подход (ЯОП) к измерениям и оцениванию ПО", позволяющий создавать автоматические, основанные на знаниях программные технологии оценивания ПС, базирующиеся на однозначном, "прозрачном" и семантически корректном описании понятий прикладной области "качество программного обеспечения". ЯОП к оцениванию ПС состоит в использовании трех уровней согласованных формальных языков, предназначенных для: 1) точного определения множества свойств базового набора символов и конструкций каждого используемого языка описания программных продуктов (ПП), исходя из определений семантики и синтаксиса этого, точно определенного языка (в частности, языка программирования). Эти свойства представляются в "измерительной модели языка";2) формального определения метрик ПП в терминах измерительных моделей языков описания этих продуктов; 3) формального определения знаний прикладной области "качество программного обеспечения", спецификаций требований к качеству конкретных ПП в терминах формально определенных метрик и методов измерений ПП, а также теории измерений. ЯОП поддерживает все известные стандарты, модели и метрики в данной области.