В статье приведены краткие результаты анализа принципов, стандартов и методов оценки факторов и управления качеством программных продуктов. Для обеспечения качества и осуществления управления им предлагается использовать метод регрессионного анализа.

Аннотация

В статье приведены краткие результаты анализа принципов, стандартов и методов оценки факторов и управления качеством программных продуктов. Для обеспечения качества и осуществления управления им предлагается использовать метод регрессионного анализа. Его важнейшая особенность — возможность количественной оценки любых факторов, в той или иной мере влияющих на качество программных продуктов.
Баутов Андрей Николаевич — эксперт Федеральной системы сертификации космической техники. С ним можно связаться по телефону (095) 513-9240.

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

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

Цена качества

Качество имеет вполне осязаемое стоимостное выражение. Именно это заставляет разработчиков обеспечивать необходимый уровень качества программных продуктов. Экономические последствия ошибок в них могут быть огромны. Весьма поучительное событие произошло 23 сентября 1999 года, когда при попытке выхода на орбиту спутника Марса погибла американская автоматическая межпланетная станция Mars Climate Orbiter. Спустя неделю было выпущено официальное сообщение, приведшее многих в шок [3]: в бортовом программном обеспечении оказалась не выявленная при многократных проверках ошибка, которая привела к неправильному управлению станцией. Причина ошибки заключалась в том, что одна из групп разработчиков использовала британскую систему единиц измерений, а другая - метрическую. Наибольшую озабоченность руководство NASA выразило даже не потерей объекта стоимостью 125 млн. долл., а неспособностью системы контроля качества выявить ошибку. И насмешкой выглядело сообщение, также вышедшее после аварии, что одна группа разработчиков программного обеспечения полетов уже сертифицирована в соответствии с ISO 9001, а другая рекомендована для этой процедуры (указанный стандарт подтверждает, что в организации существует и работает система управления качеством).

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

Стандарты качества

В соответствии с терминологией, принятой Международной организацией по стандартизации (ISO), качество — это свойство объекта, относящееся к потребностям и ожиданиям и направленное на их удовлетворение. Под объектом подразумевается все, что мыслимо и ощутимо: продукты, процессы, системы. Качество описывается рядом свойств, количественные характеристики которых называются показателями. Показатели качества программных продуктов весьма разнообразны. Так, одними из основных показателей качества являются претензии пользователей. В силу уникальности программных продуктов и организаций-разработчиков, качество и его показатели будут в каждом конкретном случае индивидуальными.

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

Почти любая организация в своей деятельности сталкивается с проблемами, связанными с качеством. Одним из путей их решения считается внедрение и использование методов и средств обеспечения качества и управления им, предписанных международными стандартами. Семейство стандартов ISO 9000 версии 2000 года разработано с тем, чтобы помочь организациям всех типов и размеров внедрить и использовать эффективные системы менеджмента качества. Оно включает следующие документы:

  • ISO 9000:2000, являющийся введением в системы менеджмента качества и содержащий соответствующий словарь;
  • ISO 9001:2000, устанавливающий детальные требования для систем менеджмента качества;
  • ISO 9004:2000, обеспечивающий руководство по развитию системы менеджмента качества;
  • ISO 10011:2000, предназначенный для управления и проведения внутреннего и внешнего аудитов системы менеджмента качества.

Семейство этих стандартов различает требования к системам менеджмента качества и требования к программным продуктам, как, впрочем, и к любой другой продукции. Требования к системам менеджмента качества подробно определены в стандарте ISO 9001:2000. Подход к системам менеджмента качества является общим и применяется к организациям в любой отрасли экономики, поэтому данный стандарт не устанавливает каких-либо конкретных требований к программным продуктам. Требования к ним могут определяться заказчиками или третьими лицами и содержаться в технических спецификациях, стандартах на продукт, стандартах на процесс, контрактных соглашениях и нормативных документах.

Внедрение системы менеджмента качества организацией - разработчиком программных продуктов по ISO 9000 версии 2000 года состоит из нескольких этапов. В их числе выделяются:

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

Реализация этих этапов возможна только при наличии в организации системы критериев, показателей и факторов качества, а также методов их измерения и оценки.

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

Кроме общих международных стандартов на системы менеджмента качества, существует ряд отечественных нормативных документов, конкретно посвященных качеству программных продуктов. Прежде всего, это ГОСТ 28195-89 «Оценка качества программных средств. Общие положения», который устанавливает общие положения по оценке качества программных средств, поставляемых через фонды алгоритмов и программ, номенклатуру и применяемость показателей качества. В стандарте отмечается, что оценка качества осуществляется на всех этапах жизненного цикла программных средств - при планировании показателей качества, его контроле на отдельных этапах разработки, в процессе производства, при проверке эффективности модификации на этапе сопровождения. Установлено, что оценку качества проводят специалисты организаций: разработчика - на этапах разработки; фондодержателя - на этапах приемки программного средства в фонд; испытательных и сертификационных центров - на этапах испытаний и внедрения; изготовителя - на этапах тиражирования; пользователя - на этапах внедрения, сопровождения и эксплуатации.

К основным задачам, решаемым при оценке качества программных средств, отнесены: планирование уровня качества; контроль значений показателей качества в процессе разработки и испытаний; эксплуатационный контроль заданного уровня качества; методическое руководство разработкой нормативно-технических документов по оценке качества.

С момента вступления в силу ГОСТ 28195-89 произошли существенные изменения во многих аспектах общественной жизни, в том числе существенно изменились экономико-правовые отношения и в сфере разработки и эксплуатации программных средств. Например, в области коммерческих программных продуктов исчез фондодержатель, а разработчик и изготовитель обычно представляют собой одно и то же юридическое лицо. В рыночных условиях разработчик заинтересован в обеспечении качества своих продуктов в течение всего их жизненного цикла. Кроме того, изменился порядок сертификации продукции. Типичный порядок оценки качества программных продуктов, сложившийся в современных условиях, приведен в табл. 2.

В другом отечественном стандарте, имеющем отношение к рассматриваемой проблеме, ГОСТ 28806-90, установлены термины и определения понятий в области качества программных средств.

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

Показатели качества

В соответствии со стандартом ISO 9001:2000 разработчик программных продуктов должен спланировать и внедрить процессы контролирования, измерения, анализа и улучшения характеристик (показателей) качества, необходимые, чтобы демонстрировать соответствие продукции, обеспечить соответствие системы менеджмента качества установленным требованиям, постоянно улучшать эффективность данной системы.

Этим стандартом установлено, что организация должна держать под контролем информацию, касающуюся восприятия потребителями выполнения организацией их требований, как одного из измерений работы системы менеджмента качества. Должны быть установлены методы получения и использования этой информации. Необходимо также проводить сбор и анализ соответствующих данных для подтверждения пригодности и эффективности системы менеджмента качества и оценки возможности осуществления ее постоянного улучшения. Эти данные могут быть получены в результате мониторинга и измерения, а также из других источников. Информация внешнего характера собирается преимущественно маркетинговыми средствами, а внутреннего - с помощью аудита. Приведенные в ISO 9004:2000 примеры источников информации о показателях качества включают обращения потребителей, анкетирования и обзоры, сообщения в СМИ, отраслевые исследования.

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

В совместном стандарте ISO и Международной комиссии по электротехнике (IEC) ISO/IEC 9126:1993 выделены характеристики (показатели) качества с позиций пользователя, разработчика и управляющего проектом. Документом рекомендуется шесть основных характеристик - функциональная пригодность, надежность, применимость, эффективность, сопровождаемость и переносимость, детализированные 21 показателем. Функциональная пригодность детализируется пригодностью для применения, точностью, защищенностью, способностью к взаимодействию и согласованностью со стандартами и правилами проектирования. Надежность рекомендуется характеризовать уровнем завершенности (отсутствием ошибок), устойчивостью к ошибкам и перезапускаемостью. Применимость описывается понятностью, обучаемостью и простотой использования; эффективность - ресурсной и временной экономичностью; сопровождаемость - удобством для анализа, изменяемостью, стабильностью и тестируемостью; переносимость - адаптируемостью, структурированностью, замещаемостью и внедряемостью. Показатели качества в стандарте определены очень кратко, без комментариев и рекомендаций по их применению.

Отечественный стандарт ГОСТ 28195-89 определяет иерархическую структуру, номенклатуру и содержание понятий качества программных средств. На верхнем уровне выделены шесть характеристик - надежность, корректность, удобство применения, эффективность, универсальность и сопровождаемость, которые детализируются на втором уровне 19 комплексными показателями. На третьем уровне дальнейшая детализация содержит более чем 200 оценочных элементов. Состав используемых показателей рекомендуется выбирать в зависимости от назначения, функций и этапов жизненного цикла программного средства.

В ГОСТ 28806-90 к общим характеристикам качества программного средства отнесены функциональность, надежность, удобство использования, эффективность и сопровождаемость. В справочном приложении стандарта приведены примеры 20 подхарактеристик качества.

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

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

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

Так как потребительская сторона качества может проявляться только в процессе эксплуатации, то система показателей качества для этого этапа жизненного цикла не менее важна. Анализ известных нормативных документов дает основание предполагать, что при коммерческой эксплуатации программного продукта к числу наиболее значимых показателей качества можно отнести:

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

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

Факторы и их оценка

Выбор и обоснование факторов должен осуществляться комплексно, в зависимости от принятой системы показателей качества, выдвинутых гипотез о причинах изменения качества программного продукта, установленных целей статистического анализа и других причин. Всегда есть вероятность того, что не все существенные факторы включены в рассмотрение, а значения некоторых из них неточны. Поэтому при выборе факторов большую роль играет опыт эксперта. Необходимо учитывать, что факторы оказывают различное воздействие на значения показателей качества. Согласно принципу Парето, при анализе системы существенны лишь некоторые факторы, причем 20% из них определяют 80% свойств системы [7].

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

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

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

Факторы можно рассматривать как причину изменения качества программного продукта, а показатели - как последствие воздействия факторов. При этом показатели отражают структуру и значения факторов, воздействующих на программный продукт и влияющих на его качество. Оценка причин по результатам их косвенных проявлений относится к классу обратных задач, которые решаются с использованием специальных математических методов, например регуляризации [8].

В стандартах ISO указывается, что управление качеством должно основываться прежде всего на объективных методах его контроля. К их числу относятся статистические методы, которые признаются важным условием рентабельного управления качеством, а также средством повышения эффективности производственных процессов и качества продукции. К сожалению, достаточно распространено мнение (см., например, [6]), что следует использовать статистические методы, которые могут легко применяться теми, кто не имеет специальных знаний в области статистики. К числу так называемых инструментов качества относят гистограммы, временные ряды, диаграммы Парето, причинно-следственные диаграммы, контрольные листки, контрольные карты, диаграммы рассеяния. Примеры их использования можно найти, например, в [2]. Однако применение примитивных «инструментов» не позволяет решать проблемы, возникающие на практике. Они не позволяют выявить причины снижения качества и, соответственно, разработать эффективные корректирующие мероприятия и иные управляющие воздействия. Поэтому должны использоваться такие методы, которые позволяют решить все задачи, возлагаемые на контроль качества; при необходимости должны привлекаться квалифицированные специалисты.

Существуют методы, обеспечивающие управление качеством на основе обработки и анализа статистических данных о качестве. К мощным методам, позволяющим наиболее полно выявить необходимые для исследования взаимосвязи, можно отнести регрессионный, корреляционный, факторный и дисперсионный анализ. Перечисленные методы, тесно связанные друг с другом [4], рекомендованы стандартом ISO 9004-1:1994. Исследования [1] показывают, что наиболее эффективен регрессионный анализ. Конечно, этот метод требует определенных знаний в области статистики и математики, а также использования специального программного обеспечения. С другой стороны, регрессионный анализ позволяет количественно оценить степень влияния самых различных факторов на показатели качества программных продуктов, обеспечивая эффективное управление качеством при минимальных затратах времени и средств.

Методология использования регрессионного анализа при оценке качества и управления им заключается в следующем [1].

  1. Разрабатывается перечень характеристик (показателей), определяющих качество программного продукта.
  2. Устанавливаются факторы, которые могут оказать влияние на качество.
  3. Производится сбор соответствующих статистических данных.
  4. Вычисляются коэффициенты регрессии с использованием устойчивых математических методов [8].
  5. Оценивается адекватность модели опытным данным.
  6. Проверяется значимость коэффициентов регрессии.
  7. Выделяются коэффициенты регрессии и соответствующие им факторы, повышающие качество, и факторы, его снижающие.
  8. По результатам анализа выделенных факторов разрабатываются необходимые корректирующие мероприятия и иные действия, обеспечивающие необходимый уровень качества.
  9. Производится оценка экономической эффективности управляющих воздействий.
  10. Руководство организации утверждает и реализует управляющие воздействия.
  11. Производится оценка достаточности и эффективности управляющих воздействий.

При необходимости производится корректировка управления качеством.

Пример регрессионного анализа

Для иллюстрации метода регрессионного анализа рассмотрим модельные данные о показателях качества некоторого программного продукта за период с января по сентябрь (см. табл. 4).

Среди факторов, которые могут оказать влияние на качество, выбраны: число модулей в программном продукте; наличие в организации службы тестирования; численность службы тестирования; наличие в организации службы технической поддержки; численность службы технической поддержки; наличие в организации системы качества; численность службы разработки программного продукта; наличие в организации отдела маркетинга; наличие в организации службы документирования. Модельные значения факторов качества за анализируемый период представлены в табл. 5.

В результате численного решения задачи регрессионного анализа методом регуляризации определяются коэффициенты влияния соответствующих факторов на показатели качества [1]. Абсолютная величина коэффициента показывает степень, а знак - характер его влияния. Интерпретация коэффициентов регрессии позволяет выделить факторы, повышающие, снижающие или не оказывающие влияния на соответствующие показатели качества программного продукта. Установлено, например, что при модельных исходных данных, приведенных в примере (см. врезку), рост значений такого фактора качества, как численность службы тестирования, уменьшает число отказов программного продукта в процессе применения по назначению, а также претензий пользователей к замедленному времени работы продукта и задержкам представления им промежуточной и выходной информации. С другой стороны, увеличение этого фактора способствует возрастанию числа претензий пользователей к неполноте отражения информации и нарушению ее конфиденциальности.

Если по результатам анализа установлено, что ряд факторов не оказывает статистически значимого влияния ни на один показатель качества, то они являются несущественными и могут быть исключены. Однако при изменении исходной системы показателей или их значений гипотеза о несущественности становится неверна, такие факторы необходимо учитывать вновь.

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

Поскольку изменение некоторых факторов может оказать влияние на измеряемые показатели качества не сразу, а спустя некоторое время, необходимо проводить дополнительный анализ. При этом изучаются механизмы формирования показателей и оцениваются соответствующие временные лаги. Для нахождения последних обычно используются корреляционные функции. Учет фактора времени позволяет создавать динамические модели качества конкретных программных продуктов. Такие модели обеспечивают эффективное прогнозирование показателей качества и управление ими. Так, одним из основных способов управления является инвестирование на поддержание и улучшение качества выпускаемой продукции. Очевидно, что реакция на вложенные средства, выраженная в будущем изменении показателей качества, будет растянута в течение некоторого периода времени. Анализ, выполненный регрессионным методом, позволяет оценить длительность этого периода и ожидаемый эффект от инвестиций. Однако для создания и практического применения динамических моделей качества программных продуктов необходимы соответствующие исходные данные; их содержание и объем определяются характером исследуемых процессов и особенностями программных продуктов.

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

Заключение

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

Данная методика не является единственно возможной. Есть и другие подходы к решению рассмотренной проблемы. Главное, чтобы используемый способ был с идейной, методической и вычислительной сторон достаточно проработан и обеспечивал практическую оценку факторов и реальное управление качеством программных продуктов.

Литература
  1. Баутов А. Н. Оценка факторов качества программных продуктов методом регрессионного анализа. Программно-методическое обеспечение. М., 2001.
  2. Дружинин Г. В., Сергеева И. В. Качество информации. М.: Радио и связь, 1990.
  3. Карпенко С., Лисов И. Mars Climate Orbiter сгорел, не успев выйти на работу. Новости космонавтики. 1999. № 11.
  4. Математика и кибернетика в экономике. Словарь-справочник. М.: Экономика, 1975.
  5. Международные стандарты ИСО серии 9000 и 10000 на системы качества: версии 1994 г. М.: Изд-во стандартов, 1995.
  6. Окрепилов В. В. Управление качеством. М.: Экономика, 1998.
  7. Смирнов В. Н. Системное исследование показателей качества изделий. Л.: Машиностроение, 1981.
  8. Тихонов А. Н., Арсенин В. Я. Методы решения некорректных задач. М.: Наука, 1986.