Методы обеспечения надежности программных средств. В современных автоматизированных технологиях создания и развития сложных ПС с позиции обеспечения их необходимой и заданной надежности можно выделить методы и средства позволяющие:
- создавать программные модули и функциональные компоненты высокого, гарантированного качества (см.гл.2);
- предотвращать дефекты проектирования за счет эффективных технологий и средств автоматизации обеспечения всего жизненного цикла комплексов программ и баз данных (см.п.3.1);
- обнаруживать и устранять различные дефекты и ошибки проектирования, разработки и сопровождения программ путем систематического тестирования на всех этапах жизненного цикла ПС (см.п.3.2);
- удостоверять достигнутые качество и надежность функционирования ПС в процессе их испытаний и сертификации перед передачей в регулярную эксплуатацию (см.п.3.3);
- оперативно выявлять последствия дефектов программ и данных и восстанавливать нормальное, надежное функционирование комплексов программ (см.п.3.4).
Комплексное, скоординированное применение этих методов и средств в процессе создания, развития и применения ПС позволяет исключать некоторые виды угроз или значительно ослаблять их влияние. Тем самым уровень достигаемой надежности ПС становится предсказуемым и управляемым, непосредственно зависящим от ресурсов, выделяемых на его достижение, а главное, от качества и эффективности технологии, используемой на всех этапах жизненного цикла ПС.
Предотвращение ошибок и улучшение технико-экономических показателей создания ПС обеспечивается применением современных технологий и систем автоматизированного проектирования, объединенных понятиями CASE и языки четвертого поколения (4GL) [9,12,40,49,53]. CASE-технологии представляют собой высокопроизводительные, ресурсосберегающие технологии создания комплексов программ высокого качества и надежности, имеют целью сокращение общих затрат на проектирование, реализацию, сопровождение и развитие таких систем. Такие технологии позволяют исключать или значительно снижать уровень системных, алгоритмических и программных ошибок в ПС, передаваемых на эксплуатацию. Кроме того, они эффективны при модификации и сопровождении ПС, а также при изменении конфигурации внешней среды. Повышение уровня автоматизации проектирования, применение методов и средств CASE-технологий - один из самых эффективных современных путей повышения надежности ПС.
При создании ПС высокой сложности важная проблема состоит в правильном системотехническом и информационно-технологическом проекте, обеспечивающем потребности конечного пользователя, высокие потребительские свойства и надежность ПС. CASE-средства предназначены для реализации больших и средних критических и ответственных проектов коллективами разработчиков и обычно базируются на охватывающих все этапы жизненного цикла этих систем, на конкретных методологиях коллективной разработки и сопровождения ПС. Интегрированные CASE-средства служат для извлечения и формализации знаний заказчика на этапе проведения обследования, анализа и подготовки технического задания, а также для проектирования концептуальной и логической структур комплексов программ и баз данных. Одновременно благодаря высокому качеству проработки и документирования такого проекта создается основа для снижения трудоемкости отладки, тестирования, испытаний, а также сопровождения и развития прикладных ПС. Совместное применение современных CASE-технологий и языков четвертого поколения способно снизить трудоемкость разработки сложных программных средств в несколько раз и сократить длительность их проектирования с 2-3 лет до нескольких месяцев.
Базовым принципом современных методов и технологий создания прикладных программных средств является многократное использование отработанных технических решений на различных аппаратных и операционных платформах. В настоящее время по некоторым оценкам только 10-15% прикладных программ создается вновь, в то время как основная часть программных средств переносится с других проектов или платформ, комплексируется и собирается из готовых, испытанных повторно используемых компонент гарантированного качества. Организация, внедряющая у себя CASE-технологию, должна осуществить определенные затраты на внедрение соответствующей методологии и средств, а также на обучение разработчиков. Результатом внедрения CASE-средств является значительное сокращение затрат на проектирование прикладной системы, высокое качество проекта и надежность комплекса программ.
Языки четвертого поколения - 4GL - предназначены для быстрой разработки проектов в определенной проблемной области. Они дают высокую производительность и достаточную гибкость при создании прикладных систем в тех проблемных областях (в одной или в нескольких), на которые ориентирован язык. Языки 4GL разных видов имеют общую цель - ускорение разработок, повышение их надежности и снижение требований к уровню квалификации разработчика. Они обеспечивают поддержку различных стандартов и интерфейсов пользователя, что также способствует повышению качества и надежности ПС.
Предотвращению дефектов в сложных, распределенных ПС способствует развитие и применение концепции и стандартов открытых систем [18,33,38,51]. При этом следует учитывать, что их использование сопряжено с некоторыми противоречивыми тенденциями в номенклатуре и величинах угроз, отражающихся на надежности ПС. Стандартизация интерфейсов между внешними и внутренними компонентами ПС и возможность массового переноса программ и данных на различные аппаратные и операционные платформы способствуют распространению дефектов и невыявленных ошибок, остающихся в переносимых компонентах. Усложнение взаимодействия программ и данных в распределенных ПС также приводит к возрастанию вероятности проявления угроз и снижению надежности. Однако переносимые компоненты, как правило, тщательнее тестируются и испытываются, поэтому имеют более высокое качество чем те, которые созданы без ориентации на переносимость. Стандартизация и глубокий формализованный контроль интерфейсов и протоколов взаимодействия компонент ПС позволяют создавать сложные, распределенные комплексы программ высокой надежности. Строгое соблюдение и контроль соответствия стандартам открытых систем является высокоэффективным методом предотвращения ряда классов дефектов и ошибок и повышения надежности ПС.
Для обнаружения и устранения ошибок проектирования все этапы разработки и сопровождения ПС должны быть поддержаны методами и средствами систематического, автоматизированного тестирования [16,22,42,43,44]. На этапах разработки ПС целесообразно применять различные методы, эталоны и виды тестирования, каждый из которых ориентирован на обнаружение, локализацию или диагностику определенных типов дефектов. Непредсказуемость конкретных дефектов и ошибок в программах приводит к целесообразности последовательного, методичного анализа возможности проявления любого типа ошибок и к необходимости их исключения на наиболее ранних этапах разработки при минимальных затратах. Надежность функционирования ПС непосредственно зависит от полноты применяющихся комплектов тестов и адекватности генераторов тестов реальным объектам внешней среды и условиям будущей эксплуатации.
Do'stlaringiz bilan baham: |