Модели анализа надежности программных средств.

Методы обеспечения надежности программных средств


В современных автоматизированных технологиях создания и развития сложных ПС с позиции обеспечения их необходимой и заданной надежности можно выделить методы и средства, позволяющие:создавать программные модули и функциональные компоненты высокого, гарантированного качества;предотвращать дефекты проектирования за счет эффективных технологий и средств автоматизации обеспечения всего жизненного цикла комплексов программ и баз данных;обнаруживать и устранять различные дефекты и ошибки проектирования, разработки и сопровождения программ путем систематического тестирования на всех этапах жизненного цикла ПС;удостоверять достигнутое качество и надежность функционирования ПС в процессе их испытаний и сертификации перед передачей в регулярную эксплуатацию;оперативно выявлять последствия дефектов программ и данных и восстанавливать нормальное, надежное функционирование комплексов программ.Комплексное, скоординированное применение этих методов и средств в процессе создания, развития и применения ПС позволяет исключать некоторые виды угроз или значительно ослаблять их влияние. Тем самым уровень достигаемой надежности ПС становится предсказуемым и управляемым, непосредственно зависящим от ресурсов, выделяемых на его достижение, а главное от качества и эффективности технологии, используемой на всех этапах жизненного цикла ПС.Для обнаружения и устранения ошибок проектирования все этапы разработки и сопровождения ПС должны быть поддержаны методами и средствами систематических, автоматизированных верификации, тестирования и испытаний. При разработке ПС целесообразно применять различные методы, эталоны и виды тестирования, каждый из которых ориентирован на обнаружение, локализацию или диагностику определенных типов дефектов. Надежность функционирования ПС непосредственно зависит от полноты применяющихся комплексов тестов и адекватности генераторов тестов реальным объектам внешней среды и условиям будущей эксплуатации.Тестирование – основной метод измерения качества, определения корректности и реальной надежности функционирования программ на любых этапах разработки. Результаты тестирования и измерения показателей качества должны сравниваться с требованиями технического задания или спецификаций для определения степени соответствия предъявлявшимся требованиям, полученным разработчиком от заказчика.Важная особенность тестирования ПС – необходимость достаточно полной их проверки при ограниченной длительности испытаний. Это определяет целесообразность тщательного планирования тестирования. При планировании основная задача состоит в достижении максимальной достоверности испытаний, в определении качества и надежности ПС при ограниченных затратах ресурсов на проведение тестирования.За ограниченный, относительно короткий период испытаний трудно провести достаточно обширное тестирование, достоверно демонстрирующее достигнутые показатели качества и безопасности, и гарантировать выполнение всех технических требований к сложному ПС. Поэтому для обеспечения высокого качества целесообразно проводить испытания не только завершенного ПС, но на ряде промежуточных этапов разработки проверять состояние и характеристики компонент проекта.Тестирование сопровождает весь жизненный цикл ПС и на его основе формируются, уточняются и детализируются технические требования, спецификации проекта в целом.

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