Сертификация программного обеспечения

Автор работы: Пользователь скрыл имя, 26 Января 2011 в 21:09, реферат

Краткое описание

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

Содержание работы

1.ВВЕДЕНИЕ……………………………………………………………………………………..3
2. ОБЩИЕ ПОЛОЖЕНИЯ ..…………………………………………………............................3
3. ПРОВЕРКА И ТЕСТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ………………...5
4.ОРГАНИЗАЦИИ, ОСУЩЕСТВЛЯЮЩИЕ СЕРТИФИКАЦИЮ ……………………….....5
5. СТАНДАРТЫ ДЛЯ СЕРТИФИКАЦИИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ....………7
6. СТАНДАРТЫ И НОРМАТИВНЫЕ ДОКУМЕНТЫ, РЕГЛАМЕНТИРУЮЩИЕ ЗАЩИЩЕННОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ………………………….……….9
7. ПОРЯДОК ПРОВЕДЕНИЯ СЕРТИФИКАЦИИ…………………………………………....10
8. ПЕРЕЧЕНЬ ИНФОРМАЦИИ, ПРЕДОСТАВЛЯЕМОЙ ЗАЯВИТЕЛЕМ ДЛЯ ПРОХОЖДЕНИЯ ПРОЦЕДУРЫ СЕРТИФИКАЦИИ……………………………………….12
9. ТРЕБОВАНИЯ К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ ...…….……............................13
10. СЕРТИФИКАЦИОННЫЕ ИСПЫТАНИЯ ПРОГРАММНЫХ СРЕДСТВ. …………….14
11. ПРИЕМКА И ЭКСПЛУАТАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ……………...15
12.ОРГАНИЗАЦИОННЫЕ ПРОЦЕССЫ ЖИЗНЕНОГО ЦИКЛА…………………………..20
13. ЗАКЛЮЧЕНИЕ………………………………………………………………………………21
ПРИЛОЖЕНИЕ 1………………………………………………………………………………...22

Содержимое работы - 1 файл

Сертификация программного обеспечения.doc

— 147.50 Кб (Скачать файл)

      · обновление (при необходимости) пользовательской документации;

      · разработку и документирование требований к тестам и плана тестирования компонентов ПО;

      · обновление плана интеграции ПО.

      Кодирование и тестирование ПО охватывает задачи:

      · разработку и документирование каждого  компонента ПО и базы данных а также  совокупности тестовых процедур и данных для их тестирования;

      · тестирование каждого компонента ПО и базы данных на соответствие предъявляемых к ним требованиям. Результаты тестирования компонентов должны быть документированы;

      · обновление (при необходимости) пользовательской документации;

      · обновление плана интеграции ПО. 

       10. Сертификационные испытания программных средств

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

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

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

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

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

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

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

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

      Сертификационные  испытания программных средств, в том числе защищенных программных  средств и программных средств  контроля защищенности проводятся в  государственных и отраслевых сертификационных центрах.

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

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

      Разработанные программные средства после их приемки  представляются для регистрации  в специализированный фонд Государственного фонда алгоритмов и программ.

       11. Приемка и эксплуатация программного обеспечения  

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

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

      Процесс эксплуатации охватывает действия и  задачи оператора - организации, эксплуатирующей систему и включает действия:

      Управление  конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях его жизненного цикла. Общие принципы и рекомендации по управлению конфигурацией ПО отражены в проекте стандарта ISO/IEC 12207-2: 1995 “Information Technology - Software Life Cycle Processes. Part2. Configuration Management for Software”.

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

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

      · подготовительная работа (заключается в координации с другими вспомогательными процессами и планировании самого процесса обеспечения качества с учетом используемых стандартов, методов, процедур и средств);

      · обеспечение качества продукта подразумевает  гарантирование полного соответствия программных продуктов и их документации требованиям заказчика, предусмотренным  в договоре;

      · обеспечение качества процесса предполагает гарантирование соответствия процессов жизненного цикла ПО, методов разработки, среды разработки и квалификации персонала условиям договора, установленным стандартам и процедурам;

      · обеспечение прочих показателей  качества системы осуществляется в  соответствии с условиями договора и стандартом ISO 9001.

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

      - непротиворечивость требований  к системе и степень учета  потребностей пользователей;

      - возможности поставщика выполнять  заданные требования;

      - соответствие выбранных процессов  жизненного цикла программного обеспечения условиям договора;

      - адекватность стандартов, процедур  и среды разработки процесса  ПО;

      - соответствие проектных спецификаций  ПО заданным требованиям;

      - корректность описания в проектных спецификациях входных и выходных данных, последовательности событий, интерфейсов, логики;

      - соответствие кода проектным  спецификациям и требованиям;

      - тестируемость и корректность  кода, его соответствие принятым  стандартам кодирования;

      - корректность интеграции компонентов  ПО в систему;

      - адекватность, полнота и непротиворечивость  документации.

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

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

       · подготовительную работу;

       · оценку управления проектом;

       · техническую оценку.

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

Информация о работе Сертификация программного обеспечения