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