Способы обеспечения качества программных продуктов
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: налоги в россии, шпори для студентів
| Добавил(а) на сайт: Панин.
1 2 3 4 | Следующая страница реферата
Способы обеспечения качества программных продуктов.
Введение.
Всем, кто когда-либо работал с программным обеспечением производства 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% усилий на их ликвидацию. В это время формулируется тезис о том, что целью программирования является не порождение программы как таковой, а создание технологических условий, когда разрабатываемое программное обеспечение легко адаптируется к новым обстоятельствам и новому пониманию решаемой задачи. Р. Хемминг так формулирует этот тезис: “Здравая вычислительная практика требует постоянного исследования изучаемой задачи не только перед организацией вычислений, но также в процессе его развития и особенно на той стадии, когда полученные числа переводятся обратно и истолковываются на языке первоначальной задачи”.
Рекомендуем скачать другие рефераты по теме: бесплатные рефераты и курсовые, решебник 5 класс.
Категории:
1 2 3 4 | Следующая страница реферата