Качество программных средств Тема 13
Jan 03, 2016
Качество программных средств
Тема 13
Определение понятия качества
• Качество — совокупность характеристик объекта, относящихся к его способности удовлетворить установленные и предполагаемые потребности (стандарт ISO 8402:1994).
Три группы факторов, влияющих на качество программного
обеспечения:• функциональная — связана с полнотой и удобством
использования реализованных функций программного средства;
• административная—связана с квалификацией персонала, организационной структурой и управлением персоналом;
• программно-архитектурная — связана с процессом разработки программного обеспечения, выбранными методологиями, инструментальными средствами, использованными на различных этапах жизненного цикла программного обеспечения, а также архитектурой программного средства.
Программы как объекты оценки качества характеризуются:
1. областью применения и социальным назначением программного комплекса;
2. конкретным типом решаемых задач с определенной областью применения;
3. объемом и сложностью совокупности программ, решающей единую задачу;
4. необходимыми составом и требуемыми значениями характеристик качества и величиной допустимого ущерба из-за недостаточного их качества;
Программы как объекты оценки качества характеризуются:
5. степенью связи решаемых задач с реальными масштабом времени или допустимой длительностью ожидания результатов решения задачи;
6. прогнозируемыми значениями длительности эксплуатации и возможностью развития множества версий программ;
7. предполагаемым тиражом производства и применения программ;
8. степенью необходимой документированности программ.
6 основных характеристик качества ПС, каждая из которых детализируется несколькими (всего 21) субхарактеристиками (ISO 9126:1991 )
Показатели качества и надежности программных средств
Изменяемость
Стабильность
Тестируемость
Удобство для анализа
Внедряемость
Защищаемость
Структурированность
Адаптированность
Понятность
Обучаемость
Простота использования
Отсутствие ошибок
Устойчивость к ошибкам
Перезапускаемость
Характеристики качестваПрограммных средств
Пригодность для применения
Надежность Применимость Эффективность Сопровождаемость Переносимость
Пригодность для применения
Точность
Защищенность
Способность к взаимодействию
Соответствие стандартам и правилам
Ресурсная экономичность
Временная экономичность
Основные характеристики качества ПС (ISO 9126 – 1991):
• Функциональная пригодность
• Надежность
• Применимость
• Эффективность
• Сопровождаемость
• Переносимость
При отборе минимума стандартизируемых показателей учитывались следующие
принципы:
• Ясность и измеримость значений;
• Отсутствие перекрытия между используемыми показателями;
• Соответствие установившимся понятиям и терминологии;
• Возможность последующего уточнения и детализации.
Функциональная пригодность
набор атрибутов определяющих
назначение, номенклатуры, основные
необходимые и достаточные функции ПС
заданные техническим заданием
заказчика или потенциального
пользователя
Функциональная пригодность
Функциональнаяпригодность
Пригодность дляприменения
Точность
Защищенность
Соответствие стандартами правилам
Способность квзаимодействию
Существует понятие корректности программ
которое зависит от функциональной корректности применяемых компонент и может рассматриваться в зависимости от методов ее достижения и оценивания:
- детерменированно
- стохастически
- в реальном времени
Детерминированная корректность ПС
Определяется по частности отклонения конкретных вычисляемых результатов от эталонных значений, заданных в техническом задании, в спецификациях или в иных исходных документах.
Стохастическая корректность ПС
Характеризуется величиной стохастического отклонения распределений и их параметров (средних значений, среднеквадратических отклонений) результатов функционирования программ от заданных в качестве эталонов.
При этом не оценивается каждый результат тестирования, а они обобщаются и оцениваются интегрально по некоторой достаточно представительной выборке
Корректность в реальном времени
Определяется величиной максимального или усредненного отклонения траектории изменения выходных параметров от заданной эталонной траектории обработки тестовых исходных данных.
Результаты тестирования оцениваются интегрально на некотором временном интервале или по наибольшему отклонению от эталонной траектории.
Надежностьспособность ПС осуществлятьбезотказную работу в определенныйпромежуток времени.
Надежность
Отсутствие ошибок
Устойчивость к ошибкам
Перезапускаемость
Применимость (удобство использования ПС)
возможность применения ПС с учетомтехзадания и требований пользователя.
Применимость
Понятность
Обучаемость
Простота использования
Эффективностьвыполнение требуемых функций приминимальных затратах ресурсов.
Эффективность
Ресурсная экономичность
Временная экономичность
Сопровождаемостьвозможность внесения изменений без значительных затрат времени на последующуюотладку.
СопровождаемостьИзменяемость
Тестируемость
Стабильность
Удобство для анализа
Переносимость (модифицируемость, мобильность)
максимальная независимость от типа ЭВМи операционной системы.
Эффективность
Адаптируемость
Заменяемость
Структурированность
Вмедряемость
Показатели качества ПС в нашей стране (ГОСТ 28195 – 89):
• Надежность
• Корректность
• Удобство применения
• Эффективность
• Универсальность
• Сопровождаемость
При проектировании должны выбираться: - номенклатура
- значения показателей качества,Которые отражаются в:
- техническом задании,- спецификации требований к
конечному продукту.
Важно – оценивать качество программ не только в завершенном виде, но и в процессе их проектирования и разработки.
Качество определяется совокупными затратами, необходимыми для достижения заданного качества конечного продукта – ПС.
В результате достижимое качество ПС определяется:
- качеством методов- качеством средств
применяемых при проектировании и разработке.
Показатели качества напрямую зависят от затрат на проектирование.
Затраты возрастают, когда показатели качества приближаются к пределу.
ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
• Современная техника управления качеством (например, концепция Total Quality Management (TQM)) базируется именно на управлении качеством.
• На современном этапе уже недостаточно иметь только методы оценки качества программного средства, необходимо иметь возможность планировать качество, измерять его на всех этапах жизненного цикла программного средства и корректировать процесс производства программного обеспечения для улучшения качества .
Задачи (проблемы) по обеспечению качества
1. Создание методик технологий и средств автоматизации разработки и контроля качества.
2. Разработка методов технологий и средств измерения значений показателей качества.
3. Создание совокупности методов и средств правового и организационно-экономического обеспечения гарантий необходимого качества программ
Программное обеспечение как продукт имеет отличия от других промышленных
продуктов• наращивание объемов выпуска какого-то вида программного
продукта происходит практически мгновенно и имеет низкую стоимость, так как производство следующей единицы програм много продукта связано только с копированием информации на носитель (компакт-диск, дискету или жесткий диск);
• большие ресурсы затрачиваются на стадии планирования, реализации и тестирования;
• сильное влияние человеческого фактора на производство программного продукта, так как производство программного про дукта — интеллектуальная и творческая деятельность;
• в жизненном цикле программного продукта, как правило, отсутствует этап утилизации;
• программный продукт не подвержен физическому старению, а только моральному.
Обеспечение качества ПС
• Мероприятия, обеспечивающие приемлемый уровень качества программного средства, можно условно разделить на административные и технологические.
Административные мероприятия
• Проведение обучения персонала, переподготовки.
• Тщательное документирование всех изменений в структуре программного средства. Для этого используются средства поддержки версионности.
• Назначение ответственных лиц за каждую доработку про граммного средства.
• Уделение внимания текущему контролю качества и заключительному контролю качества.
Административные мероприятия
• Обеспечение мониторинга качества, например, фиксирова ние ошибок, поступивших от пользователя программного средства. Использование систематических испытательных методов, где испытания будут разработаны параллельно с разработкой программы.
• Введение внутренних стандартов. Такие стандарты обычно содержат соглашения о именовании переменных в программном коде, наименовании файлов данных, процедур и функций.
• Организация отдела тестирования как самостоятельного подразделения.
Административные мероприятия
• Проведение совместных аттестаций с пользователем.• Обращение внимания на уровень и простоту
обслуживаемости программного обеспечения. Здесь речь идет как о решении проблем, возникших у пользователя, так и о простоте и надеж ности внесения изменений в программное обеспечение. Даже если очень надежный кусок программного обеспечения был разработан, он может вскоре стать ненадежным, если сложно сделать изменения в программе. Часто изменения должны быть выполнены вследствие новых потребностей внешней среды, например вследствие изменений, в законодательстве или требований заказчика.
Технологические мероприятия • Выбор стандарта качества и четкое следование ему
на всех этапах. Создание модели проекта с регулярными проверками, которые будут выполняться независимыми командами экспертизы. Такая модель может быть построена, например, на основе стандартов качества (например, ISO 9000).
• Единая среда разработки. Лучшие результаты дают программные продукты разработки, которые поддерживают несколь ко или все этапы жизненного цикла программного обеспечения. На данный момент такими комплексными решениями являются, например, продукты Oracle Designer, продукты фирмы Rational.
• Использовать формальный язык спецификаций (например, UML, DESIGN IDEF).
Технологические мероприятия
• Выбор надежной СУБД (если программное средство работает с массивами информации и использование СУБД оправдано).
• Тщательное тестирование программного обеспечения.
• Широкое внедрение автоматизации тестирования.• Использование полностью проверенной
программной среды окружения (ОС) и языка программирования, которые минимизируют опасность внесения ошибки.
• Использование статистических методов для сбора информации о качестве ПС.
Технологические мероприятия
• Изучение результатов испытаний (тестов) и ошибок для использования в постоянном усовершенствовании программы. Источник в случае возникновения отказа должен быть найден и устранен. Недостаточно найти ошибку в программном обеспечении и исправить ее. Изменения должны быть сделаны в процессе разработки ПО.
• Использование испытательной среды, которая предостережет от передачи пользователю ненадежного программного обеспечения. Создание автоматических средств приемки.
Показатели качества баз данных:
• Программные средства системы управления базой данных (СУБД), независимые от сферы их применения и смыслового содержания накапливаемых и обрабатываемых данных
• Информация базы данных (БД), доступная для обработки и использования в конкретной проблемно – ориентированной сфере применения.
Показатели качества баз данных:
• Объем базы данных
• Оперативность
• Периодичность
• Глубина ретроспективы
• Динамичность
Спасибо за внимание