Реферат: Схема характеристик качества программных средств. Оценка качества программного обеспечения реферат


Реферат Качество программного обеспечения

Опубликовать скачать

Реферат на тему:

План:

Введение

Ка́чество програ́ммного обеспечения — характеристика программного обеспечения (ПО) как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям».

1. Качество исходного кода

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

Методы улучшения качества кода: рефакторинг.

2. Факторы качества

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

Некоторые из факторов качества:

понятность Назначение ПО должно быть понятным, из самой программы и документации. полнота Все необходимые части программы должны быть представлены и полностью реализованы. краткость Отсутствие лишней, дублирующейся информации. Повторяющиеся части кода должны быть преобразованы в вызов общей процедуры. То же касается и документации. портируемость Лёгкость в адаптации программы к другому окружению: другой архитектуре, платформе, операционной системе или её версии. согласованность По всей программе и в документации должны использоваться одни и те же соглашения, форматы и обозначения. сопровождаемость Насколько сложно изменить программу для удовлетворения новых требований. Это требование также указывает, что программа должна быть хорошо документирована, не слишком запутана, и иметь резерв роста по использованию ресурсов (память, процессор). тестируемость Позволяет ли программа выполнить проверку приёмочных характеристик, поддерживается ли возможность измерения производительности. удобство использования Простота и удобство использования программы. Это требование относится прежде всего к интерфейсу пользователя. надёжность отсутствие отказов и сбоев в работе программ, а также простота исправления дефектов и ошибок: структурированность эффективность Насколько рационально программа относится к ресурсам (память, процессор) при выполнении своих задач. безопасность

3. С точки зрения пользователя

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

скачатьДанный реферат составлен на основе статьи из русской Википедии. Синхронизация выполнена 14.07.11 04:58:08Похожие рефераты: Разработка программного обеспечения, Прототипирование программного обеспечения, Разработчик программного обеспечения, Производитель программного обеспечения, Архитектура программного обеспечения, Аналитик программного обеспечения, Взлом программного обеспечения, Легализация программного обеспечения, Проектирование программного обеспечения.

Категории: Качество программного обеспечения.

Текст доступен по лицензии Creative Commons Attribution-ShareAlike.

wreferat.baza-referat.ru

Понятие качества программного средства

Каждое ПС должно выполнять определенные функции, т.е. делать то, что задумано. Хорошее ПС должно обладать еще целым рядом свойств, позволяющим успешно его использовать в течении длительного периода, т.е. обладать определенным качеством. Качество ПС — это совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователей [30]. Это не означает, что разные ПС должны обладать одной и той же совокупностью таких свойств в их высшей возможной степени. Этому препятствует тот факт, что повышение качества ПС по одному из таких свойств часто может быть достигнуто лишь ценой изменения стоимости, сроков завершения разработки и снижения качества этого ПС по другим его свойствам. Качество ПС является удовлетворительным, когда оно обладает указанными свойствами в такой степени, чтобы гарантировать успешное его использование.

Совокупность свойств ПС, которая образует удовлетворительное для пользователя качество ПС, зависит от условий и характера эксплуатации этого ПС, т.е. от позиции, с которой должно рассматриваться качество этого ПС. Поэтому при описании качества ПС должны быть, прежде всего, фиксированы критерии отбора требуемых свойств ПС. В настоящее время критериями качества ПС принято считать [30, 31, 32, 33, 34]:

Функциональность — это способность ПС выполнять набор функций, удовлетворяющих заданным или подразумеваемым потребностям пользователей. Набор указанных функций определяется во внешнем описании ПС.

Надежность подробно обсуждалась в первой лекции.

Лёгкость применения — это характеристики ПС, которые позволяют минимизировать усилия пользователя по подготовке исходных данных, применению ПС и оценке полученных результатов, а также вызывать положительные эмоции определённого или подразумеваемого пользователя.

Эффективность — это отношение уровня услуг, предоставляемых ПС пользователю при заданных условиях, к объему используемых ресурсов.

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

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

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

      1. Обеспечение надёжности — основной мотив разработки программных средств

Рассмотрим теперь общие принципы обеспечения надёжности ПС, что, как мы уже подчёркивали, является основным мотивом разработки ПС, задающим специфическую окраску всем технологическим процессам разработки ПС. В технике известны четыре подхода обеспечению надёжности [2]:

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

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

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

studfiles.net

Реферат - Схема характеристик качества программных средств

ФГОУВПО «РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТУРИЗМА И СЕРВИСА»

Институт сервиса (г. Москва) (филиал)

Кафедра «Системы обработки и защиты информации»

Отделение «Информационные и коммуникационные технологии»

Реферат

По дисциплине: «Разработка и стандартизация программных средств и информационных технологий»

На тему: «Схема характеристик качества программных средств»

Выполнил: студентка группы ИРЗ–06

Каштальянова М. В.

Проверил: Писаренко И. В.

МОСКВА 2010

Оглавление

Введение

1. Схема характеристик оценки качества ПС

2. Классификация показателей качества

3. Выбор номенклатуры показателей качества

Заключение

Список использованных источников

Введение

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

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

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

1. Схема характеристик оценки качества ПС

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

Методологии и стандартизации оценки характеристик качества готовых программных средств и их компонентов (программного продукта) на различных этапах жизненного цикла посвящен международный стандарт ISO 14598, состоящий из шести частей. Рекомендуется следующая общая схема процессов оценки характеристик качества программ:

· установка исходных требований для оценки — определение целей испытаний, идентификация типа метрик программного средства, выделение адекватных показателей и требуемых значений атрибутов качества;

· селекция метрик качества, установление рейтингов и уровней приоритета метрик субхарактеристик и атрибутов, выделение критериев для проведения экспертиз и измерений;

· планирование и проектирование процессов оценки характеристик и атрибутов качества в жизненном цикле программного средства;

· выполнение измерений для оценки, сравнение результатов с критериями и требованиями, обобщение и оценка результатов.

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

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

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

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

Оценка защищенности программных средств включает определение полноты использования доступных методов и средств защиты программного средства от потенциальных угроз и достигнутой при этом безопасности функционирования информационной системы. Наиболее широко и детально методологические и системные задачи оценки комплексной защиты информационных систем изложены в трех частях стандарта ISO 15408:1999-1--3 «Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий».

Оценка надежности — измерение количественных метрик атрибутов субхарактеристик в использовании: завершенности, устойчивости к дефектам, восстанавливаемости и доступности/готовности.

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

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

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

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

Система управления качеством

Выбор характеристик и оценка качества программных средств — лишь одна из задач в области обеспечения качества продукции, выпускаемой компаниями — разработчиками ПО. Комплексное решение задач обеспечения качества программных средств предполагает разработку и внедрение той или иной системы управления качеством. В мировой практике наибольшее распространение получила система, основанная на международных стандартах серии ISO 9000, включающей десяток с лишним документов, в том числе стандарт, регламентирующий обеспечение качества ПО (ISO 9000/3). Эти стандарты должны служить руководством для ведущих специалистов компаний, разрабатывающих ПО на заказ.

2. Классификация показателей качества

Под показателем качества программной продукции в соответствии с ГОСТ 15467—79 следует понимать количественную характеристику одного или нескольких свойств продукции, составляющих ее качество, рассматриваемую применительно к определенным условиям ее создания и эксплуатации. Свойство продукции — это объективная особенность, которая может проявиться при создании или эксплуатации продукции. В определении понятия “Показатель качества” слова “Количественная характеристика” не следует понимать в буквальном смысле. При определении значений показателей качества успешно могут применяться и нечисловые характеристики, хотя в общем случае наличие строго количественных, числовых характеристик предпочтительней.

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

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

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

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

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

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

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

Значения эксплуатационных показателей определяют по результатам промышленной эксплуатации ПС. При соблюдении определенных правил сбора и обработки данных о качестве ПС в процессе эксплуатации эксплуатационные показатели дают наиболее объективную и достоверную оценку. Только по этим показателям можно произвести действительную оценку научно-технического уровня и качества ПС.

3. Выбор номенклатуры показателей качества

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

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

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

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

При выделении свойств и соответствующих показателей качества ПС необходимо руководствоваться следующими основными принципами:

1) выделение групп свойств должно производиться по четко определенным признакам;

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

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

4) для каждого из выделенных свойств должна существовать возможность выражения их в шкалах “лучше — хуже”, “больше — меньше”;

5) в группу следует включать свойства, необходимые и достаточные для определения соответствующего сложного свойства;

6) формулировка свойств должна быть однозначной;

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

8) дерево свойств должно отражать все основные особенности использования н функционирования ПС;

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

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

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

5—крайне важно, чтобы данный показатель имел высокое значение;

4—важно, чтобы данный показатель имел высокое значение;

3—хорошо бы иметь высокое значение данного показателя;

2— в некоторой степени полезно иметь высокое значение данного показателя;

1—при низких значениях данного показателя ощутимых потерь нет,

Около 50 % частных показателей можно определить автоматически с помощью ЭВМ, 25 % —с помощью компаратора. Таким образом, оценка около 75 % показателей может быть формализована. Оценка 20 % показателей может быть произведена только квалифицированным специалистом. Большинство показателей устанавливают путем статического анализа программ и лишь около 5 % — в процессе динамических испытаний (Данные соответствуют положению в этой области в 80-е годы).

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

Заключение

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

Список используемых источников

1. В.В. Липаев. Качество программных средств. Методические рекомендации. М.: «Янус-К». 2002. – 298с.

2. Г. Коллинз, Дж. Блей. Структурные методы разработки систем: от стратегического планирования до тестирования. М.: «Статистика», 1980. 260с.: ил.

3. ISO 14598-1-6:1998-2000 «Оценка программного продукта»;

4. ГОСТ Р ИСО/МЭК 12207-99 «Информационная технология. Процессы жизненного цикла программных средств»

5. ГОСТ 15467—79 «Управление качеством продукции. Основные понятия. Термины и определения»

www.ronl.ru

Реферат - Способы обеспечения качества программных продуктов

.

Введение.

Всем, кто когда-либо работал с программным обеспечением производства Microsoft, IBM, Novell или другой компании, приходилось решать проблемы различной степени сложности, вызванные сбоями в работе ПО. Производство современного ПО происходит на фоне высоких требований, предъявляемых к качеству создаваемых программ и значительной сложности выполняемых ими функций. Для обеспечения надежности программных продуктов приходится выявлять ошибки на всех этапах проектирования, начиная с этапа анализа требований и заканчивая устранением ошибок на стадии сопровождения. И если на этапе анализа требований стремятся исключить логические ошибки той деятельности, под которую пишется ПО, то на остальных этапах от целого ряда ошибок стремятся избавится комплексом мер, начиная от декомпозиций и заканчивая “Идеальной” технологией программирования — технология, которая по некоторому достаточно неформальному описанию объекта программирования автоматически генерирует текст синтаксически и семантически корректной программы.

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

Способы обеспечения качества программных продуктов.

Стандартизация.

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

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

В последние годы сформировалась комплексная система управления качеством продукции TQM (Totaly Quality Management), которая концептуально близка к предшествующей более общей системе на основе стандартов ИСО серии 9000. Система ориентирована на удовлетворение требований потребителя, на постоянное улучшение процессов производства или проектирования, на управление процессами со стороны руководства предприятия на основе фактического состояния проекта. Основные достижения TQM состоят в углублении и дифференциации требований потребителей по реализации процессов, их взаимодействию и обеспечению качества продукции. Системный подход поддержан рядом специализированных инструментальных средств, ориентированных на управление производством продукции. Поэтому эта система пока не находит применения в области обеспечения качества жизненного цикла программных средств.

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

В России в области обеспечения жизненного цикла и качества сложных комплексов программ существует и применяется очень небольшая группа устаревших стандартов серий ГОСТ 19.ХХХ и ГОСТ 34.ХХХ. Предприятия, выполняющие государственные заказы при создании ПС для внутреннего применения, вынуждены использовать эти стандарты. Однако в экспортных заказах зарубежные клиенты требуют соответствия технологии проектирования, производства и качества продукции современным международным стандартам. Это противоречие особенно обострилось в государственных заказах Минобороны России, результаты которых одновременно используются и внутри, и вне страны.

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

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

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

Удостоверение достигнутого качества функционирования сложных критических ПС и процессов их жизненного цикла должно базироваться на сертификатах, выданных аттестованными проблемно-ориентированными испытательными лабораториями. Сертификация систем качества предприятий — разработчиков ПС по МС ИСО серии 9000 — позволяет заказчикам и покупателям выбирать из них наиболее надежных партнеров для реализации информационных систем, способных гарантировать высокое качество поставляемых и используемых комплексов программ. Применение сертифицированных систем качества предприятий не только гарантирует высокое, устойчивое качество проектирования и обеспечение жизненного цикла ПС, но позволяет во многих случаях не проводить или сокращать сертификацию конечного продукта. Базой такой сертификации предприятий, разрабатывающих программные средства, может служить комплекс стандартов, нормативных и инструктивных документов, представленных на схеме. Краткое содержание стандартов ИСО изложено в, а полные тексты в.

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

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

Обеспечение надежности на этапе кодирования и компиляции программного обеспечения.

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

Все время существования программного средства от зарождения идеи по его созданию, до завершения его эксплуатации, обычно определяют как жизненный цикл. Укрупнено можно выделить пять наиболее важных этапов жизненного цикла программного средства (ЖЦ ПС): спецификацию (10%), проектирование (10%), кодирование (10%), отладку (20%) и сопровождение (50%). В скобках записаны относительные затраты ресурсов на создание ПС.

По затратам времени, человеческих и машинных ресурсов все эти этапы не одинаковы. Наиболее “дорогими”, в этом смысле, являются этапы, связанные с поиском ошибок в программах. Затраты ресурсов на них могут быть равными, или даже превосходить совокупные затраты ресурсов на остальных этапах. В стандарте DOD‑STD‑2167‑A около 30% требований, документов и соответствующих им процессов непосредственно связаны с отладкой, тестированием и испытаниями программ. Данный стандарт является обязательным при выполнении заказов Министерства обороны США.

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

Ретроспектива развития методов и средств автоматизации программирования в этом отношении говорит сама за себя. В модульном программировании акцент делается на разбиение программы на модули таким образом, чтобы данные (обрабатываемые модулем) были спрятаны в нем. Эта доктрина, известная как “принцип ограничения доступа к данным”, в значительной степени повысила модифицируемость и эффективность порождаемого кода.

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

В 80-х годах исследование причин неудач при реализации больших программных проектов показало, что число ошибок в спецификациях на программы значительно превышает их количество в программных кодах. Так около 56% ошибок допускаются на этапе формулировки требований к программе при этом расходуется в среднем 82% всех усилий, затраченных коллективом на устранение ошибок проекта. В то время как на этапе кодирования программ допускается соответственно 7% ошибок и тратится 1% усилий на их ликвидацию. В это время формулируется тезис о том, что целью программирования является не порождение программы как таковой, а создание технологических условий, когда разрабатываемое программное обеспечение легко адаптируется к новым обстоятельствам и новому пониманию решаемой задачи. Р. Хемминг так формулирует этот тезис: “Здравая вычислительная практика требует постоянного исследования изучаемой задачи не только перед организацией вычислений, но также в процессе его развития и особенно на той стадии, когда полученные числа переводятся обратно и истолковываются на языке первоначальной задачи”.

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

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

Применение CASE-инструментов позволяет в значительной степени снизить трудоемкость создания ПС, а в отдельных случаях заменить программирование автоматическим синтезом программ.

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

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

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

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

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

Высокое качество ПС достигается либо методами безошибочного программирования (“пассивными” методами), либо путем выявления и устранения ошибок (“активными” методами).

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

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

— модульность и строгую иерархию в структурном построении программ;

— унификацию правил проектирования, структурного построения и взаимодействия компонент ПС;

— унификацию правил организации межмодульного интерфейса;

— поэтапный контроль полноты и качества решения функциональных задач.

Тестирование программного обеспечения.

Многие организации, занимающиеся созданием программного обеспечения, до 50% средств, выделенных на разработку программ, тратят на тестирование, что составляет миллиарды долларов по всему миру в целом. И все же, несмотря на громадные капиталовложения, знаний о сути тестирования явно не хватает и большинство программных продуктов неприемлемо ненадежно даже после «основательного тестирования».

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

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

Невозможно гарантировать отсутствие ошибок в нетривиальной программе; в лучшем случае можно попытаться показать наличие ошибок. Если программа правильно ведет себя для солидного набора тестов, нет основании утверждать, что в ней нет ошибок; со всей определенностью можно лишь утверждать, что не известно, когда эта программа не работает. Конечно, если есть причины считать данный набор тестов способным с большой вероятностью обнаружить все возможные ошибки, то можно говорить о некотором уровне уверенности в правильности программы, устанавливаемом этими тестами.

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

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

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

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

Еще одна причина, по которой трудно говорить о тестировании — это тот факт, что о нем известно очень немногое. Если сегодня мы располагаем 5% тех знании о проектировании и собственно программировании (кодировании), которые будут у нас к 2000 г., то о тестировании нам известно менее 1%.

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

Тестирование (testing), как мы уже выяснили,—процесс выполнения программы (или части программы) с намерением (или целью) найти ошибки.

Доказательство (proof) — попытка найти ошибки в программе безотносительно к внешней для программы среде. Большинство методов доказательства предполагает формулировку утверждений о поведении программы и затем вывод и доказательство математических теорем о правильности программы. Доказательства могут рассматриваться как форма тестирования, хотя они и не предполагают прямого выполнения программы. Многие исследователи считают доказательство альтернативой тестированию — взгляд во многом ошибочный; более подробно это обсуждается в гл. 17.

Контроль (verification) — попытка найти ошибки, выполняя программу в тестовой, или моделируемой, среде.

Испытание (validation) — попытка найти ошибки, выполняя программу в заданной реальной среде.

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

Отладка (debugging) не является разновидностью тестирования. Хотя слова «отладка» и «тестирование» часто используются как синонимы, под ними подразумеваются разные виды деятельности. Тестирование — деятельность, направленная на обнаружение ошибок; отладка направлена на установление точной природы известной ошибки, а затем — на исправление этой ошибки. Эти два вида деятельности связаны — результаты тестирования являются исходными данными для отладки.

Тестирование модуля, или автономное тестирование (moduletesting, unittesting) — контроль отдельного программного модуля, обычно в изолированной среде (т. е. изолированно от всех остальных модулей). Тестирование модуля иногда включает также математическое доказательство.

Тестирование сопряжении (integrationtesting) — контроль сопряжении между частями системы (модулями, компонентами, подсистемами).

Тестирование внешних функций (externalfunctiontesting) — контроль внешнего поведения системы, определенного внешними спецификациями.

Комплексное тестирование (systemtesting) — контроль и/или испытание системы по отношению к исходным целям. Комплексное тестирование является процессом контроля, если оно выполняется в моделируемой среде, и процессом испытания, если выполняется в среде реальной, жизненной.

Тестирование приемлемости (acceptancetesting) — проверка соответствия программы требованиям пользователя.

Тестирование настройки (installationtesting) — проверка соответствия каждого конкретного варианта установки системы с целью выявить любые ошибки, возникшие в процессе настройки

Бета — тестирование программного обеспечения.

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

Выводы.

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

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

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

Список литературы

Крайер Э. Успешная сертификация на соответствие нормам ИСО серии 9000: Пер. с нем. — М.: ИздАТ, 1999.

2. Сборник действующих международных стандартов ИСО серии 9000. Т. 1-3. — М.: ВНИИКИ, 1998.

3. Encyclopedia of Software Engineering. Vol.1 A-N; Vol. 2 O-Z. Editor — In — Chief John J. Marciniak. John Wiley & Sons.Inc. 1995.

4. Глудкин О.П. и др. Всеобщее управление качеством: Учебник для вузов. — М.: Радио и связь, 1999.

5. Гличев А.В. Основы управления качеством продукции. — М.: МАИ, 1998.

6. Круглов М.Г., Шишков Г.М. Управление качеством TQM. — М.: МГТУ «Станкин», 1999.

7. Липаев В.В. Сертификация систем качества предприятий, разрабатывающих программные средства для информационных систем, на соответствие стандартам серии ИСО 9000 // Информационные технологии. — 1999. — ╧ 12.

www.ronl.ru

Схема характеристик качества программных средств

ФГОУВПО «РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТУРИЗМА И СЕРВИСА»

Институт сервиса (г. Москва) (филиал)

Кафедра «Системы обработки и защиты информации»

Отделение «Информационные и коммуникационные технологии»

Реферат

По дисциплине: «Разработка и стандартизация программных средств и информационных технологий»

На тему: «Схема характеристик качества программных средств»

Выполнил: студентка группы ИРЗ-06

Каштальянова М. В.

Проверил: Писаренко И. В.

МОСКВА 2010

Оглавление

ВВЕДЕНИЕ

1. Схема характеристик оценки качества ПС2. Классификация показателей качества3. Выбор номенклатуры показателей качестваЗаключениеСписок использованных источниковВВЕДЕНИЕ

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

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

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

1. Схема характеристик оценки качества ПС

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

Методологии и стандартизации оценки характеристик качества готовых программных средств и их компонентов (программного продукта) на различных этапах жизненного цикла посвящен международный стандарт ISO 14598, состоящий из шести частей. Рекомендуется следующая общая схема процессов оценки характеристик качества программ:

· установка исходных требований для оценки - определение целей испытаний, идентификация типа метрик программного средства, выделение адекватных показателей и требуемых значений атрибутов качества;

· селекция метрик качества, установление рейтингов и уровней приоритета метрик субхарактеристик и атрибутов, выделение критериев для проведения экспертиз и измерений;

· планирование и проектирование процессов оценки характеристик и атрибутов качества в жизненном цикле программного средства;

· выполнение измерений для оценки, сравнение результатов с критериями и требованиями, обобщение и оценка результатов.

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

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

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

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

Оценка защищенности программных средств включает определение полноты использования доступных методов и средств защиты программного средства от потенциальных угроз и достигнутой при всём этом безопасности функционирования информационной системы. Наиболее широко и детально методологические и системные задачи оценки комплексной защиты информационных систем изложены в трех частях стандарта ISO 15408:1999-1--3 "Методы и средства обеспечения безопасности. Критерии оценки безопасности информационных технологий".

Оценка надежности - измерение количественных метрик атрибутов субхарактеристик в использовании: завершенности, устойчивости к дефектам, восстанавливаемости и доступности/готовности.

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

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

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

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

Система управления качеством

Выбор характеристик и оценка качества программных средств - лишь одна из задач в области обеспечения качества продукции, выпускаемой компаниями - разработчиками ПО. Комплексное решение задач обеспечения качества программных средств предполагает разработку и внедрение той или иной системы управления качеством. В мировой практике наибольшее распространение получила система, основанная на международных стандартах серии ISO 9000, включающей десяток с лишним документов, в том числе стандарт, регламентирующий обеспечение качества ПО (ISO 9000/3). Эти стандарты должны служить руководством для ведущих специалистов компаний, разрабатывающих ПО на заказ.

2. Классификация показателей качества

Под показателем качества программной продукции в соответствии с ГОСТ 15467--79 следует понимать количественную характеристику одного или нескольких свойств продукции, составляющих ее качество, рассматриваемую применительно к определенным условиям ее создания и эксплуатации. Свойство продукции -- это объективная особенность, которая может проявиться при создании или эксплуатации продукции. В определении понятия “Показатель качества” слова “Количественная характеристика” не следует понимать в буквальном смысле. При определении значений показателей качества успешно могут применяться и нечисловые характеристики, хотя в общем случае наличие строго количественных, числовых характеристик предпочтительней.

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

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

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

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

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

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

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

Значения эксплуатационных показателей определяют по результатам промышленной эксплуатации ПС. При соблюдении определенных правил сбора и обработки данных о качестве ПС в процессе эксплуатации эксплуатационные показатели дают наиболее объективную и достоверную оценку. Только по этим показателям можно произвести действительную оценку научно-технического уровня и качества ПС.

3. Выбор номенклатуры показателей качества

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

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

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

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

При выделении свойств и соответствующих показателей качества ПС необходимо руководствоваться следующими основными принципами:

1) выделение групп свойств должно производиться по четко определенным признакам;

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

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

4) для каждого из выделенных свойств должна существовать возможность выражения их в шкалах “лучше -- хуже”, “больше -- меньше”;

5) в группу следует включать свойства, необходимые и достаточные для определения соответствующего сложного свойства;

6) формулировка свойств должна быть однозначной;

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

8) дерево свойств должно отражать все основные особенности использования н функционирования ПС;

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

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

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

5--крайне важно, чтобы данный показатель имел высокое значение;

4--важно, чтобы данный показатель имел высокое значение;

3--хорошо бы иметь высокое значение данного показателя;

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

1--при низких значениях данного показателя ощутимых потерь нет,

Около 50 % частных показателей можно определить автоматически с помощью ЭВМ, 25 % --с помощью компаратора. Таким образом, оценка около 75 % показателей может быть формализована. Оценка 20 % показателей может быть произведена только квалифицированным специалистом. Большинство показателей устанавливают путем статического анализа программ и лишь около 5 % -- в процессе динамических испытаний (Данные соответствуют положению в этой области в 80-е годы).

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

Заключение

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

Список используемых источников

1. В.В. Липаев. Качество программных средств. Методические рекомендации. М.: «Янус-К». 2002. - 298с.

2. Г. Коллинз, Дж. Блей. Структурные методы разработки систем: от стратегического планирования до тестирования. М.: «Статистика», 1980. 260с.:ил.

3. ISO 14598-1-6:1998-2000 «Оценка программного продукта»;

4. ГОСТ Р ИСО/МЭК 12207-99 «Информационная технология. Процессы жизненного цикла программных средств»

5. ГОСТ 15467--79 «Управление качеством продукции. Основные понятия. Термины и определения»

referatwork.ru

Оценка качества программного обеспечения — реферат

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

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

    Значения  эксплуатационных показателей определяют по результатам промышленной эксплуатации ПС. При соблюдении определенных правил сбора и обработки данных о качестве ПС в процессе эксплуатации эксплуатационные показатели дают наиболее объективную и достоверную оценку. Только по этим показателям можно произвести действительную оценку научно-технического уровня и качества ПС.

2. Выбор номенклатуры показателей качества.

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

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

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

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

    Стадии  определения значении показателей  качества соответствуют стадиям  жизненного цикла ПС.

    При выделении свойств и соответствующих  показателей качества ПС необходимо руководствоваться следующими основными  принципами :

    выделение групп свойств должно производиться  по четко определенным признакам;

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

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

    для каждого из выделенных свойств должна существовать возможность выражения  их в шкалах «лучше — хуже», «больше  — меньше»;

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

    формулировка  свойств должна быть однозначной;

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

    дерево  свойств должно отражать все основные особенности использования н  функционирования ПС;

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

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

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

    5—крайне  важно, чтобы данный показатель  имел высокое значение;

    4—важно, чтобы данный показатель имел  высокое значение;

    3—хорошо  бы иметь высокое значение  данного показателя;

    2—  в некоторой степени полезно иметь высокое значение данного показателя;

    1—при  низких значениях данного показателя  ощутимых потерь нет,

    Около 50 % частных показателей можно  определить автоматически с помощью  ЭВМ, 25 % —с помощью компаратора. Таким  образом, оценка около 75 % показателей может быть формализована. Оценка 20 % показателей может быть произведена только квалифицированным специалистом. Большинство показателей устанавливают путем статического анализа программ и лишь около 5 % — в процессе динамических испытаний (Данные соответствуют положению в этой области в 80-е годы).

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

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

3. Группы показателей  качества

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

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

    Выделение групп показателей качества является важной и сложной задачей формирования номенклатуры показателей качества. Неудачное комплектование групп  может привести к усложнению взаимосвязей между группами и отдельными показателями, а также сделать номенклатуру показателей качества малоконструктивной.

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

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

    Экологические показатели и показатели безопасности  нехарактерны для ПО, так как программные изделия непосредственно не могут оказывать вредных воздействий ни на окружающую среду, ни на здоровье человека. В принципе, такие воздействия возможны в тех случаях, когда ПИ используют в качестве элементов управляющих объектов, например в АСУ. В этом случае вырабатываемые ЭВМ по определенному алгоритму управляющие воздействия могут вызвать и неблагоприятные экологические последствия, и быть опасными для человека. Но это уже косвенное воздействие через управляющие органы и исполнительные механизмы автоматизированных технологических комплексов (АТК). Они учитываются как соответствующие показатели AT К.

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

    Заключение

    Относительно  надежности программной продукции  существует много противоречивых мнений. Вместе с тем большинство специалистов единодушны в мнении о том, что  природа надежности программных и технических средств различна. Для программной продукции малопродуктивными являются такие показатели надежности, как долговечность, сохраняемость, ремонтопригодность. Источниками низкой надежности ПС в основном являются ошибки в программах, внесенные на стадии проектирования и невыявленные при отладке и испытаниях. Заслуживает внимания мнение американского специалиста Фокса Д., который считает, что использование термина «надежность программного обеспечения» наносит вред, так как способствует неправильному пониманию природы программного обеспечения . Вместе с тем следует учитывать тот факт, что при анализе некоторых свойств ПО, проявляющихся при ее функционировании, приходится пользоваться категориями надежности (работоспособность, отказ, сбой, восстановление и др.). Поэтому в номенклатуре показателей качества ПО признано целесообразным выделять в отдельную группу показатели, характеризующие свойства ПО, близкие по своим внешним проявлениям показателям надежности аПОаратуры. Эта группа названа показателями надежности функционирования.

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

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

freepapers.ru


Смотрите также