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

Реферат

Всем, кто когда-либо работал с программным обеспечением производства Microsoft, IBM, Novell или другой компании, приходилось решать проблемы различной степени сложности, вызванные сбоями в работе ПО. Производство современного программного обеспечения происходит на фоне высоких требований к качеству создаваемых программ и значительной сложности выполняемых ими функций. Чтобы обеспечить надежность программных продуктов, ошибки необходимо выявлять на всех этапах проектирования, от этапа анализа требований до устранения ошибок во время сопровождения. И если на этапе анализа требований стремятся исключить логические ошибки той деятельности, под которую пишется ПО, то на остальных этапах от целого ряда ошибок стремятся избавится комплексом мер, начиная от декомпозиций и заканчивая “Идеальной” технологией программирования — технология, которая по некоторому достаточно неформальному описанию объекта программирования автоматически генерирует текст синтаксически и семантически корректной программы.

Компании-производители пытаются улучшить качество программных продуктов с помощью тестирования. Существуют методы тестирования, в которых используются специальные драйверы, которые автоматически проверяют промежуточные версии разрабатываемого продукта на различном оборудовании. Другой способ проверки — бета-тестирование. В этом случае разработчики программного обеспечения позволяют пользователям опробовать предварительные версии продуктов.

Постоянный рост требований к качеству программных систем стимулирует создание и активное применение международных стандартов и регламентированных технологий, автоматизирующих основные процессы их жизненного цикла, начиная с момента запуска проекта. Это привело к существенному изменению в последние годы объектов, методологии и культуры в области создания и развития ПС и БД.

Серия MS ISO 9000 определяет и регулирует создание, развитие, применение и сертификацию систем качества любого предприятия, независимо от его цели. Они содержат и развивают базовую предпосылку о том, что «поставщик должен разработать и поддерживать задокументированную систему качества как средство обеспечения соответствия продукта установленным требованиям потребителя». Они устанавливают право заказчика проверять систему качества предприятия поставщика перед заключением договора на поставку продукции.

В последние годы сформировалась комплексная система управления качеством продукции TQM (Totaly Quality Management), которая концептуально близка к предшествующей более общей системе на основе стандартов ИСО серии 9000. Система ориентирована на удовлетворение потребностей заказчика, на постоянное совершенствование производственных или проектных процессов, на управление процессами со стороны руководства компании с учетом текущего состояния проекта. Основные результаты TQM заключаются в углублении и дифференциации потребностей клиентов в реализации процессов, их взаимодействии и обеспечении качества продукции. Системный подход поддерживается рядом специализированных инструментов, ориентированных на управление продуктами. Поэтому данная система пока не нашла применения в области обеспечения качества жизненного цикла программных средств.

5 стр., 2317 слов

Система управления базами данных (СУБД)

... банки данных. Предметом нашего рассмотрения является программное обеспечение автоматизированной базы данных - система управления базами данных. Целью данной работы является изучить телекоммуникационные компьютерные сети и систему управления базами данных ( ... ]. Магистральная сеть объединяет отдельные сети доступа, выполняя функции транзита трафика между ними по высокоскоростным каналам. Магистральные ...

Применение этого комплекса может служить основой для систем обеспечения качества программных средств, однако требуется корректировка, адаптация или исключение некоторых положений стандартов применительно к принципиальным особенностям технологий и характеристик этого вида продукции. Кроме того, при реализации систем качества ПС необходимо привлечение ряда стандартов, формально не относящихся к этой серии и регламентирующих показатели качества, жизненный цикл, верификацию и тестирование, испытания, документирование и другие особенности ЖЦ комплексов программ.

В России в области обеспечения жизненного цикла и качества сложных комплексов программ существует и применяется очень небольшая группа устаревших стандартов серий ГОСТ 19.ХХХ и ГОСТ 34.ХХХ. Компании, выполняющие госзаказ при создании ПС для внутреннего пользования, вынуждены использовать эти стандарты. Однако в экспортных заказах иностранные заказчики требуют, чтобы технологии проектирования, производства и качества продукции соответствовали современным международным стандартам. Это противоречие особенно обострилось в госзаказе Минобороны России, результаты которого используются одновременно как внутри страны, так и за ее пределами.

По требованиям Минобороны России для применения международных стандартов в таких заказах их необходимо перевести на русский язык, адаптировать, юридически утвердить и издать в качестве ГОСТ Р, на что требуется несколько лет. Однако при поставках за рубеж многие стандарты допускается практически применять на языке оригинала или в виде перевода до утверждения Госстандартом России, что вполне удовлетворяет зарубежных заказчиков, но не допускается отечественными органами сертификации для продукции внутри страны.

К настоящему моменту ряд отечественных руководителей убедился, что для обеспечения высокого качества, надежности функционирования и безопасности применения сложных комплексов программ целесообразно выделять специалистов, ответственных за соблюдение технологии создания и развития программ, за обеспечение и контроль качества, а также за надежность и безопасность проекта ПС в целом и его компонентов. Обеспечение качества должно осуществляться специалистами жизненного цикла программных средств на основе использования современных методологий, технологических инструментов, стандартов и нормативных документов. Для систематической и скоординированной борьбы с угрозами качеству необходимо проводить исследования конкретных факторов, влияющих на качество работы и безопасность использования программ извне, реальных и потенциально возможных дефектов в создаваемом сложном программном обеспечении.

11 стр., 5490 слов

Качество услуг: показатели качества, методы оценки, особенности обеспечения

... показатели качества услуг, методы оценки и характеристики, гарантирующие качество услуг. Понятие качества услуг. Показатели качества услуг Одним из основных документов, регулирующих качество услуг, является международный стандарт ISO 9004 - 2-91 «Административный менеджмент качества и элементы системы качества». Собственно услугам ...

Разработка и сопровождение сложных ПС на базе современных технологий позволяет предупреждать и устранять наиболее опасные системные и алгоритмические ошибки на ранних стадиях проектирования, а также использовать неоднократно проверенные в других проектах программные и информационные компоненты высокого качества. Для обнаружения и устранения ошибок проектирования все этапы разработки и сопровождения программного обеспечения должны поддерживаться систематическими и автоматизированными методами и средствами проверки, тестирования и тестирования. При разработке программного комплекса целесообразно применять различные методы, стандарты и типы тестов, каждый из которых ориентирован на обнаружение, локализацию или диагностику определенных типов дефектов.

Сертификация достигнутого качества работы сложных критических программных систем и процессов их жизненного цикла должна основываться на сертификатах, выдаваемых сертифицированными проблемно-ориентированными испытательными лабораториями. Сертификация систем качества предприятий — разработчиков программных систем по серии MS ISO 9000 позволяет заказчикам и покупателям выбирать между собой наиболее надежных партнеров по внедрению информационных систем, способных гарантировать высокое качество поставляемых и используемых программных комплексов. Использование сертифицированных систем качества компаний не только гарантирует высокое и устойчивое качество проектирования и гарантирует жизненный цикл ПС, но во многих случаях позволяет не проводить или сокращать сертификацию конечного продукта. Основанием для такой сертификации компаний, разрабатывающих программные средства, может служить набор стандартов, нормативных и инструктивных документов, представленных на схеме. Краткое содержание стандартов ИСО изложено в, а полные тексты в.

Необходимость анализа и развития сертификации программ как отдельной задачи обусловлена ​​конкретными стандартами и особенностями их жизненного цикла. Среди них, с одной стороны, объективная необходимость сертификации качества и потребительских свойств продукции, активизация деятельности в этом смысле на международном уровне. С другой, отсутствие в государственных и международных стандартах количественных требований к информационным системам, широкое многообразие классов и видов программ и баз данных, обусловленное различными функциями ИС, предопределяет формальные трудности, связанные с процедурами доказательства соответствия ПС и БД условиям контрактов и требованиям потребителей. Следовательно, в основе сертификации должны лежать подробные и эффективные методы тестирования конкретных систем качества и PS, специально разработанные тестовые задачи и генераторы для их обучения, а также квалификация и авторитет тестировщиков. Для этого клиенты должны выбрать подрядчиков — исполнителей своих проектов, у которых есть системы обеспечения качества программных средств интеллектуальной собственности и сертификаты, подтверждающие внедрение и применение системы качества разработчиком.

В отечественных ИБ все чаще используются программные компоненты зарубежных компаний, которые, однако, не могут быть полностью гарантированы от проявления дефектов проектирования, программирования и документации. Для обеспечения необходимого качества работы сложного программного обеспечения с использованием импортных компонентов следует приобретать только лицензионные продукты, для которых предусмотрена гарантированная поддержка конкретных поставщиков. Эти компоненты должны сопровождаться полной эксплуатационной и технологической документацией, сертификатом соответствия и испытательным комплектом. В соглашениях о покупке должны быть конкретно указаны обязательства поставщиков по обслуживанию и замене версий программного обеспечения системы при обнаружении дефектов или улучшении функций. Все версии внешних программных систем должны быть проверены на качество работы в конкретной среде ИБ путем повторного тестирования или отдельных проверок, подтверждающих зарубежный сертификат и эксплуатационную документацию.

54 стр., 26879 слов

Программно-целевое управление развитием региона на примере Пензенской области

... периода является программно-целевой метод [46, с. 65-69]. Суть системы стратегического управления заключается в разработке системы принятия решений, основанной на базовой системе ценностей. В ... следующие группы методов, находящие применение в государственном управлении: методы научного познания (математическое программирование, вероятностно-статистические методы, системный и функциональный анализы; ...

Разработка любого программного средства может быть представлена как процесс, состоящий из ряда последовательных преобразований одного описания решаемой задачи в другое, начиная от постановки задачи и заканчивая программой, реализованной в кодах конкретной ЭВМ.

Вся жизнь программного инструмента, от начала идеи до ее создания и до конца работы, обычно определяется как жизненный цикл. Укрупнено можно выделить пять наиболее важных этапов жизненного цикла программного средства (ЖЦ ПС): спецификацию (10%), проектирование (10%), кодирование (10%), отладку (20%) и сопровождение (50%).

В скобках записаны относительные затраты ресурсов на создание ПС.

С точки зрения времени, человеческих ресурсов и машин, все эти шаги не одно и то же. Самыми «дорогими» в этом смысле являются шаги, связанные с поиском ошибок в программах. Стоимость ресурсов для них может равняться или даже превышать общую стоимость ресурсов на других этапах. В стандарте DOD — STD — 2167 — A примерно 30% соответствующих требований, документов и процессов напрямую связаны с отладкой, тестированием и программами тестирования. Данный стандарт является обязательным при выполнении заказов Министерства обороны США.

Эти затраты быстро увеличиваются при возрастании требований к качеству ПС. По приведенным в работе оценкам, на устранение ошибок и сопровождение программного комплекса приходится почти 75% всех затрат. При этом следует учитывать, что значительная часть работы, выполняемой на этапе сопровождения, связана с поиском и устранением ошибок, оставшихся в программе.

Ретроспектива развития методов и средств программирования автоматизации в этом смысле говорит сама за себя. В модульном программировании акцент делается на разбиение программы на модули таким образом, чтобы данные (обрабатываемые модулем) были спрятаны в нем. Эта доктрина, известная как принцип ограничения доступа к данным, значительно повысила модифицируемость и эффективность сгенерированного кода.

Эволюция техники модульного программирования привела к появлению объектно-ориентированного стиля программирования, который во многом унифицировал процесс создания ПС. К достоинствам этого метода относится то, что в нем более полно реализуется технология структурного программирования, облегчается процесс создания сложных иерархических систем, появляется удобная возможность создания пользовательских библиотек объектов в различных областях применения.

7 стр., 3100 слов

Разработка управляющих программ для станков с чпу с использованием ...

... Генерирование управляющих программ с помощью постпроцессора, используя встроенное приложение GPost . Основные функции. Выбор постпроцессора. Тема 5. Основы ручного программирования SINUMERIC . Управление файлами. ... %_N_2_MPF, программа изготовления детали из прутка (программа начала прутка) для канала 1 называется: %_N_1_7_MPF. Главные программы и подпрограммы записаны в программной памяти. Наряду ...

В 1980-х годах исследование причин сбоев при реализации крупных программных проектов показало, что количество ошибок в спецификациях программного обеспечения значительно превышает их количество в программных кодах. Таким образом, около 56% ошибок совершается на этапе формулирования требований к программе, в то время как в среднем 82% всех усилий, затрачиваемых командой, тратится на устранение ошибок проекта. На этапе кодирования программ допускается соответственно 7% ошибок и 1% усилий затрачивается на их устранение. В это время формулируется тезис о том, что целью программирования является не генерация программы как таковой, а создание технологических условий, когда разрабатываемое программное обеспечение легко адаптируется к новым обстоятельствам и новому пониманию проблемы. Р. Хемминг так формулирует этот тезис: “Здравая вычислительная практика требует постоянного исследования изучаемой задачи не только перед организацией вычислений, но также в процессе его развития и особенно на той стадии, когда полученные числа переводятся обратно и истолковываются на языке первоначальной задачи”.

Перечисленные выше причины привели в середине 80-х годов к осознанию необходимости реализации интегрированного окружения поддержки всего жизненного цикла ПС и, в первую очередь, этапа проектирования ПС, что обусловило появление инструментальных средств автоматизации проектирования программных систем (CASE-технологий).

Первоначально CASE-средства были ориентированы на решение задач автоматизированного сбора информации по предметной области и проектированию будущего ПС, что позволяет экономить время при создании ПС за счет более тщательного анализа исходных требований и лучшего начального планирования программы. Впоследствии в CASE-средствах 2-го поколения полностью или частично были автоматизированы такие важные составляющие жизненного цикла ПС как моделирование информации предметной области; программирование; тестирование, отладка ПС и измерение качества; поддержка документирования; сопровождение.

Использование инструментов CASE позволяет значительно упростить создание программных систем и, в некоторых случаях, заменить программирование автоматическим синтезом программ.

Таким образом, развитие методов автоматизации разработки ПС происходит на различных основах (модульное программирование, объектно-ориентированный подход, логическое программирование, CASE-технологии), которые так или иначе развивают концепции структуризации в программировании. Структурирование способствует эффективной декомпозиции проекта, что позволяет получить как целостное представление о программной системе, так и о ее деталях. Однако, несмотря на многочисленные разработки в этой области в целом, проблема автоматизации разработки программного обеспечения остается нерешенной по многим причинам, как методологическим, так и практическим.

В последнее время в связи с совершенствованием технических средств отображения информации утверждается новый графический подход к решению проблемы автоматизации разработки ПС, основанный на идее привлечения визуальных форм представления программ, в большей степени соответствующих образному способу мышления человека. Использование графических методов обещает значительно повысить продуктивность программиста. Кроме того, графическая форма написания, по сравнению с текстовым представлением программ, обеспечивает более высокий уровень их структурирования, соблюдение технологической культуры программирования и предлагает более надежный стиль программирования.

26 стр., 12705 слов

(модулю), соотнесенных с планируемыми результатами освоения образовательной ...

... обществе мораль и её проявления в Тема 2. Профессиональная этика педагога: соде ... по дисциплине (модулю), соотнесенных с планируемыми результатами освое ния образовательной программы Изучение данной учебной дисциплины направлено на формирование у обучающихся следующих ... 2 6 8 устный опрос (УО 6-8), к/р питание педагога - - 2 2 (эссе), доклад. 2 2 2 2 Коллоквиум, к/р, доклад. Проектное задание ...

Одним из основных факторов повышения эффективности и надежности программирования можно считать отнесение изображений к формам спецификации данных и описания алгоритма. В этом смысле главный недостаток существующих технологий программирования заключается в преимущественно текстовых формах представления основных компонентов программы, что делает программу невыразительной и чрезвычайно трудной для восприятия человеком.

В настоящее время роль информационных технологий в обществе кардинально изменилась. С одной стороны, программные продукты — довольно дорогой товар. С другой стороны, ужесточились требования к качеству ПС, так как последние широко используются в таких сферах деятельности человека, которые традиционно относят к группе риска. Это аэрокосмические технологии, энергетика, связь, бизнес и т.д.

Современные информационные технологии играют чрезвычайно важную роль в интеллектуализации общества, позволяя активировать и эффективно использовать информационные ресурсы общества. Это приводит к необходимости создания эффективных методов достижения заданного качества программных систем, разрабатываемых в условиях ограниченных ресурсов, выделяемых на разработку.

Высокое качество ПС достигается либо методами безошибочного программирования (“пассивными” методами), либо путем выявления и устранения ошибок (“активными” методами).

Современные методы безошибочного программирования основываются на реализации процессов автоматизации всех этапов жизненного цикла ПС от проектирования и кодирования программ до документирования и их сопровождения. К таким средствам относятся: CASE-средства, объектно-ориенированное программирование, методы логического программирования. Особое место занимают методы визуального программирования, поскольку приближение формы представления программы и способов ее кодирования к образному способу мышления человека в значительной степени сокращает число ошибок, допускаемых человеком при разработке программ и повышает надежность программирования.

Активные методы повышения надежности ПС совершенствуются за счет развития средств автоматизации тестирования программ. Сложность ПС и высокие требования по их надежности требуют выработки принципов структурного построения сложных программных средств, обеспечивающих гибкость модификации ПС и эффективность их отладки. К таким принципам в работе относят:

  • модульность и строгую иерархию в структурном построении программ;
  • унификацию правил проектирования, структурного построения и взаимодействия компонент ПС;
  • унификацию правил организации межмодульного интерфейса;
  • поэтапный контроль полноты и качества решения функциональных задач.

Многие организации, занимающиеся созданием программного обеспечения, до 50% средств, выделенных на разработку программ, тратят на тестирование, что составляет миллиарды долларов по всему миру в целом. И все же, несмотря на громадные капиталовложения, знаний о сути тестирования явно не хватает и большинство программных продуктов неприемлемо ненадежно даже после «основательного тестирования».

12 стр., 5505 слов

Менеджмент качества проектов

... в данной курсовой работе - ОАО «Комбинат Красный Строитель». 1. Теоретические основы менеджмента качества проектов 1.1 Современная концепция управления качеством Одной из ключевых функций управления проектами, наряду с управлением затратами и временем, является управление качеством проекта. Качество - это ...

О состоянии дел лучше всего свидетельствует тот факт, что большинство людей, работающих в области обработки данных, даже не может правильно определить слово «тестирование», и это на самом деле главная причина неудач.

«Тестирование — процесс, подтверждающий правильность программы и демонстрирующий, что ошибок в программе нет.» Основной недостаток подобного определения заключается в том, что оно совершенно неправильно; фактически это почти определение антонима слова «тестирование». Человек с некоторым опытом программирования уже, вероятно, понимает, что невозможно продемонстрировать отсутствие ошибок в программе. Поэтому определение описывает невыполнимую задачу, а так как тестирование зачастую все же выполняется с успехом, по крайней мере с некоторым успехом, то такое определение логически некорректно. Правильное определение тестирования таково: Тестирование — процесс выполнения программы с намерением найти ошибки.

Невозможно гарантировать отсутствие ошибок в нетривиальной программе; в лучшем случае можно попытаться показать наличие ошибок. Если программа правильно ведет себя для солидного набора тестов, нет основании утверждать, что в ней нет ошибок; со всей определенностью можно лишь утверждать, что не известно, когда эта программа не работает. Конечно, если есть причины считать данный набор тестов способным с большой вероятностью обнаружить все возможные ошибки, то можно говорить о некотором уровне уверенности в правильности программы, устанавливаемом этими тестами.

Психологические эксперименты показывают, что большинство людей, поставив цель (например, показать, что ошибок нет), ориентируется в своей деятельности на достижение этой цели. Тестовик подсознательно не позволит себе действовать против цели, т. е. подготовить тест, который выявил бы одну из оставшихся в программе ошибок. Поскольку мы все признаем, что совершенство в проектировании и кодировании любой программы недостижимо и поэтому каждая программа содержит некоторое количество ошибок, самым плодотворным применением тестирования будет найти некоторые из них. Если мы хотим добиться этого и избежать психологического барьера, мешающего нам действовать против поставленной цели, наша цель должна состоять в том, чтобы найти как можно больше ошибок. Сформулируем основополагающий вывод:

Если ваша цель — показать отсутствие ошибок, вы. их найдете не слишком много. Если же ваша цель — показать наличие ошибок, вы найдете значительную их часть.

Надежность невозможно внести в программу в результате тестирования, она определяется правильностью этапов проектирования. Наилучшее решение проблемы надежности — с самого начала не допускать ошибок в программе. Однако вероятность того, что удастся безупречно спроектировать большую программу, бесконечно мала. Роль тестирования состоит как раз в том, чтобы определить местонахождение немногочисленных ошибок, оставшихся в хорошо спроектированной программе. Попытки с помощью тестирования достичь надежности плохо спроектированной программы совершенно бесплодны.

4 стр., 1701 слов

Управление качеством в проекте

... качества (COQ) и Постоянное совершенствование. Управление качеством проекта должно быть сосредоточено как на управлении проектом, так и на продукте проекта. Хотя управление качеством проекта применяется ко всем проектам, независимо от результатов проекта, ... качества и тестированию. Обеспечение качества охватывает весь жизненный цикл проекта. ... высокого качества (без явных ошибок, хорошая ...

Тестирование оказывается довольно необычным процессом (вот почему оно и считается трудным), так как этот процесс разрушительный. Ведь цель проверяющего (тестовика) — заставить программу сбиться. Он доволен, если это ему удается; если же программа на его тесте не сбивается, он не удовлетворен.

Еще одна причина, по которой трудно говорить о тестировании — это тот факт, что о нем известно очень немногое. Если сегодня мы располагаем 5% тех знании о проектировании и собственно программировании (кодировании), которые будут у нас к 2000 г., то о тестировании нам известно менее 1%.

Хотя в тестировании можно выделить несколько различных процессов, такие термины, как тестирование, отладка, доказательство, контроль и испытание, часто используются как синонимы и, к сожалению, для разных людей имеют разный смысл. Хотя стандартных, общепринятых определений этих терминов нет, попытка сформулировать их была предпринята на симпозиуме по тестированию программ. Классификацию различных форм тестирования мы начнем с того, что дадим эти определения, слегка их дополнив и расширив их список.

Тестирование (testing), как мы уже выяснили,—процесс выполнения программы (или части программы) с намерением (или целью) найти ошибки.

Доказательство (proof) — попытка найти ошибки в программе безотносительно к внешней для программы среде. Большинство методов доказательства предполагает формулировку утверждений о поведении программы и затем вывод и доказательство математических теорем о правильности программы. Доказательства могут рассматриваться как форма тестирования, хотя они и не предполагают прямого выполнения программы. Многие исследователи считают доказательство альтернативой тестированию — взгляд во многом ошибочный; более подробно это обсуждается в гл. 17.

Контроль (verification) — попытка найти ошибки, выполняя программу в тестовой, или моделируемой, среде.

Испытание (validation) — попытка найти ошибки, выполняя программу в заданной реальной среде.

Аттестация (certification) — авторитетное подтверждение правильности программы, аналогичное аттестации электротехнического оборудования UnderwritersLaboratories. При тестировании с целью аттестации выполняется сравнение с некоторым заранее определенным стандартом.

Отладка (debugging) не является разновидностью тестирования. Хотя слова «отладка» и «тестирование» часто используются как синонимы, под ними подразумеваются разные виды деятельности. Тестирование — деятельность, направленная на обнаружение ошибок; отладка направлена на установление точной природы известной ошибки, а затем — на исправление этой ошибки. Эти два вида деятельности связаны — результаты тестирования являются исходными данными для отладки.

Тестирование модуля, или автономное тестирование (moduletesting, unittesting) — контроль отдельного программного модуля, обычно в изолированной среде (т. е. изолированно от всех остальных модулей).

Тестирование модуля иногда включает также математическое доказательство.

Тестирование сопряжении (integrationtesting) — контроль сопряжении между частями системы (модулями, компонентами, подсистемами).

Тестирование внешних функций (externalfunctiontesting) — контроль внешнего поведения системы, определенного внешними спецификациями.

19 стр., 9410 слов

Внутришкольный контроль

... нормативные документы общеобразовательных школ; антология педагогической мысли, историко-педагогическая литература по проблемам управления, развития ... управления школами к сознательному проектированию, конструированию системы внутришкольного управления; расширением базы, условий управления качеством образования на разных управленческих уровня. 1. Внутришкольный контроль как часть системы управления ...

Комплексное тестирование (systemtesting) — контроль и/или испытание системы по отношению к исходным целям. Комплексное тестирование является процессом контроля, если оно выполняется в моделируемой среде, и процессом испытания, если выполняется в среде реальной, жизненной.

Тестирование приемлемости (acceptancetesting) — проверка соответствия программы требованиям пользователя.

Тестирование настройки (installationtesting) — проверка соответствия каждого конкретного варианта установки системы с целью выявить любые ошибки, возникшие в процессе настройки

Другой способ проверки — бета-тестирование. В этом случае разработчики программного обеспечения позволяют пользователям опробовать предварительные версии продуктов. Однако большинство разработчиков, с утверждают, что внешние бета-тестеры не выявляют такого большого количества ошибок.

Быстрое увеличение сложности и размеров современных комплексов программ при одновременном повышении ответственности выполняемых функций резко повысило требования со стороны пользователей к их качеству, надежности функционирования и безопасности применения. Для каждого проекта ПС, выполняющего ответственные функции, должны разрабатываться и применяться система качества, специальные планы и программа, методология и инструментальные средства, обеспечивающие требуемые качество, надежность и безопасность функционирования. Для удовлетворения высоких требований к функционированию необходимы выделение из ЖЦ ПС задач и работ по обеспечению качества программ, а также обучение и концентрация усилий разработчиков на анализе и обосновании рентабельности выбранной методологии и методов разработки комплексов программ.

Широкий спектр требований к качеству, в зависимости от назначения и области применения ПС, приводит к необходимости адаптации стандартов, регламентирующих системы качества предприятий-разработчиков. Последовательная детализация рекомендаций базовых стандартов должна доводиться до формирования должностных инструкций специалистам, образуя в совокупности иерархический комплекс нормативных документов системы качества предприятия, обеспечивающий жизненный цикл сложных программных средств.

Только скоординированное, комплексное применение в проектах ПС с начала проектирования современных методов и стандартов позволяет достигать высокого качества, необходимого для использования ПС в распределенных критических и сложных системах обработки информации. Необходимо убедить руководителей проектов, заказчиков и разработчиков в том, что тщательно регламентированное и достаточно полное системное проектирование ПС и БД на основе современных методов и международных стандартов выгодно с позиции сокращения ошибок и повышения качества сложных комплексов программ.

Крайер Э. Успешная сертификация на соответствие нормам ИСО серии 9000: Пер. с нем. — М.: ИздАТ, 1999.

2. Сборник действующих международных стандартов ИСО серии 9000. Т. 1-3. — М.: ВНИИКИ, 1998.

3. Encyclopedia of Software Engineering. Vol.1 A-N; Vol. 2 O-Z. Editor — In — Chief John J. Marciniak. John Wiley & Sons.Inc. 1995.

4. Глудкин О.П. и др. Всеобщее управление качеством: Учебник для вузов. — М.: Радио и связь, 1999.

5. Гличев А.В. Основы управления качеством продукции. — М.: МАИ, 1998.

6. Круглов М.Г., Шишков Г.М. Управление качеством TQM. — М.: МГТУ «Станкин», 1999.

7. Липаев В.В. Сертификация систем качества предприятий, разрабатывающих программные средства для информационных систем, на соответствие стандартам серии ИСО 9000 // Информационные технологии. — 1999. — ╧ 12.