Международный iso/iec стандарт 12207

Вид материалаДокументы

Содержание


5.3Процесс Разработки
5.3.1Реализация процесса
5.3.2Анализ системных требований
5.3.3Проектирование архитектуры системы
5.3.4Анализ требований программного обеспечения.
5.3.5Архитектура программного обеспечения
5.3.6Детальное проектирование программного обеспечения
5.3.7Программирование и тестирование программного обеспечения
5.3.8Интеграция программного обеспечения
5.3.9Квалификационные испытания программного обеспечения
5.3.10Интеграция системы
5.3.11Квалификационное тестирование системы
5.3.12Установка программного обеспечения
5.3.13Поддержка принятия программного обеспечения
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   16

5.3Процесс Разработки


Процесс Разработки содержит действия и задачи разработчика. Процесс содержит действия для анализа требований проектирования, интеграции, тестирования, установки и принятия, связанного с программными продуктами. Он может содержать систему связанных действий, если это оговорено в контракте. Разработчик выполняет или обеспечивает действия в этом процессе согласно контракту. Разработчик управляет Процессом Разработки на проектном уровне следующим за Процессом Управления (7.1); устанавливает инфраструктуру после Процесса создания Инфраструктуры (7.2); приспосабливает процесс для проекта после Процесса Настройки (Приложение А); и управляет процессом на организационном уровне, после Процесса Усовершенствования (7.3) и Процесса Обучения (7.4), Когда разработчик является поставщиком разрабатываемого продукта, разработчик выполняет Процесс Поставки (5.2).

Этот процесс состоит из действий:
  1. Реализация процесса.
  2. Анализ системных требований.
  3. Проектирование архитектуры системы.
  4. Анализ требований программного обеспечения.
  5. Архитектура программного обеспечения.
  6. Детальное конструирование программного обеспечения.
  7. Кодирование и тестирование программного обеспечения.
  8. Интеграция программного обеспечения.
  9. Квалификационные испытания программного обеспечения.
  10. Интеграция системы.
  11. Квалификационные испытания системы.
  12. Установка программного обеспечения.
  13. Поддержка принятия программного обеспечения.

5.3.1Реализация процесса


Эта деятельность состоит следующих задач:

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

ПРИМЕЧАНИЕ. Эти действия и задачи могут накладываться или взаимодействовать и могут быть выполнены взаимосвязано или рекурсивно.

5.3.1.2. Разработчик должен:

а) документировать выходные данные согласно Процессу Документирования (6.1);

б) разместить выходные данные при Процессе Управления Конфигурацией (6.2) и выполнить контроль изменений согласно этому пункту;

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

г) выполнить вспомогательные процессы (п.6), как определено в контракте.

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

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

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

5.3.2Анализ системных требований


Эта деятельность состоит из следующих задач, которые разработчик должен выполнить или поддержать, как требуется по условиям контракта:

5.3.2.1. Рассматривается область применения системы для определения требований системы. Спецификация требований системы должна описывать: функции и возможности системы, бизнес, организационные требования и требования пользователя, безопасность, защищенность, человеческие факторы, эргономику, связи, операции и требования сопровождения; проектные ограничения и квалификационные требования. Квалификация требований системы должна быть документирована.

5.3.2.2. Требования системы должны быть определены при помощи рассмотрения критериев перечисленных ниже. Результаты оценок должны быть документированы:

а) трассируемость к потребностям приобретения;

б) согласованность с нуждами приобретения;

в) контролируемость;

г) выполнимость архитектуры системы;

д) возможность функционирования и сопровождения.

5.3.3Проектирование архитектуры системы


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

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

5.3.3.2. Архитектура системы и требования для единиц должны быть оценены, рассматривая критерии, опубликованные ниже. Результаты оценок должны быть документированы:

а) трассируемость к требованиям системы;

б) согласованность с требованиями системы;

в) соответствие стандартов проектирования и используемых методов;

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

д) возможность функционирования и сопровождения.

5.3.4Анализ требований программного обеспечения.


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

5.3.4.1. Разработчик должен установить и документировать требования программного обеспечения, включая спецификации характеристик качества, описанные ниже. Руководство по определению характеристик качества можно найти в ISO/IEC 9126.

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

б) внешние связи (интерфейсы) с единицей программного обеспечения;

в) требования квалификации;

г) спецификации надежности, включая спецификации, связанные методами функционирования и сопровождения, воздействия окружающей среды и травмы персонала;

д) спецификации защищенности, включая спецификации, связанные с компрометированием точности информации;

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

ж) определение данных и требований базы данных;

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

и) документация пользователя;

к) работа пользователя и требования выполнения;

л) требования сервиса пользователя.

5.3.4.2. Разработчик должен оценить требования программного обеспечения, рассматривая критерии, описываемые ниже. Результаты оценок должны быть задокументированы.

а) трассируемость к требованиям системы и проектированию системы;

б) внешняя согласованность с требованиями системы;

в) внутренняя согласованность;

г) контролируемость;

д) выполнимость проекта программного обеспечения;

е) возможность функционирования и сопровождения.

5.3.4.3. Разработчик должен проводить совместные оценки согласно п.6.6. После успешного завершения оценок должна быть определена базовая линия на требования единицы программного обеспечения.

5.3.5Архитектура программного обеспечения


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

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

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

5.3.5.3. Разработчик должен разработать и документировать проект верхнего уровня для базы данных.

5.3.5.4. Разработчик должен разработать и документировать предварительные версии документации пользователя.

5.3.5.5. Разработчик должен определить и документировать предварительные испытательные требования и планы для интеграции программного обеспечения.

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

а) трассируемость к требованиям единицы программного обеспечения;

б) внешняя согласованность с требованиями единицы программного обеспечения;

в) внутренняя согласованность между компонентами программного обеспечения;

г) соответствие методов проектирования и используемых стандартов;

д) возможность детального проектирования;

е) возможность функционирования и сопровождения.

5.3.5.7. Разработчик должен проводить совместные оценки согласно п.6.6.

5.3.6Детальное проектирование программного обеспечения


Для каждой единицы программного обеспечения (или единицы конфигурации программного обеспечения, если идентифицировано). Эта деятельность состоит из нескольких задач:

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

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

5.3.6.3. Разработчик должен разработать и документировать детальный проект для базы данных.

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

5.3.6.5. Разработчик должен определить и документировать требования к испытаниям и режимы тестирования частей программного обеспечения. Требования к тестированию должны включать вес элемента в пределах требований.

5.3.6.6. Разработчик должен модифицировать требования к тестированию и план интеграции программного обеспечения.

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

а) трассируемость к требованиям единицы программного обеспечения;

б) внешняя согласованность с архитектурой;

в) внутренняя согласованность между компонентами программного обеспечения и единицами программного обеспечения;

г) соответствие методов проектирования и используемых стандартов;

д) возможность тестирования;

е) возможность функционирования и сопровождения.

5.3.6.8. Разработчик должен проводить совместные оценки согласно п.6.6.

5.3.7Программирование и тестирование программного обеспечения


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

5.3.7.1. Разработчик должен разработать и документировать следующее:

а) каждый элемент программного обеспечения и базу данных;

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

5.3.7.2. Разработчик должен тестировать каждый элемент программного обеспечения и базу данных, гарантируя, что это удовлетворяет их требованиям. Результаты тестирования должны быть документированы.

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

5.3.7.4. Разработчик должен модернизировать испытательные требования и планы для интеграции программного обеспечения.

5.3.7.5. Разработчик должен оценить код программного обеспечения и результаты тестирования, рассматривая критерии, расположенные ниже. Результаты оценок должны быть документированы.

а) трассируемость к требованиям проекта единицы программного обеспечения;

б) внешнее соответствие с требованиями и проектом единицы программного обеспечения;

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

г) охват испытаниями всех элементов;

д) соответствие методов кодирования и используемых стандартов;

е) возможность интеграции программного обеспечения и тестирования;

ж) возможность функционирования и сопровождения.

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


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

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

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

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

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

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

а) трассируемость к требованиям проекта единицы программного обеспечения;

б) внешняя согласованность с требованиями системы;

в) внутренняя согласованность;

г) охват испытаниями требований единицы программного обеспечения;

д) соответствие испытательных стандартов и используемых методов;

е) согласованность с ожидаемыми результатами;

ж) выполнимость квалификационного тестирования программного обеспечения;

з) возможность функционирования и сопровождения.

5.3.8.6. Разработчик должен проводить совместные оценки согласно п.6.6.

5.3.9Квалификационные испытания программного обеспечения


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

5.3.9.1. Разработчик должен проводить квалификационное тестирование согласно квалификационным требованиям для единицы программного обеспечения. Должно быть гарантировано, что реализация каждого требования программного обеспечения проверена на соответствие. Результаты квалификационного тестирования должны быть документированы.

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

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

а) охват испытаниями требований единицы программного обеспечения;

б) согласованность с ожидаемый результатами;

в) выполнимость интеграции и тестирования системы, если проводилось;

г) возможность функционирования и сопровождения.

5.3.9.4. Разработчик должен проводить проверку согласно п.6.7. Результаты проверки должны быть документированы. Если аппаратные средства и программное обеспечение в процессе разработки и интеграции, проверка может быть отложена до квалификационного тестирования системы.

5.3.9.5. После успешного завершения проверок, если они проводились, разработчик должен:

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

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

5.3.10Интеграция системы


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

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

5.3.10.2. Для каждого квалификационного требования системы должны быть разработаны и документированы набор тестов, контрольные примеры (вводы, выводы, испытательные критерии) и испытательные процедуры для проведения квалификационных испытаний системы. Разработчик должен гарантировать, что интегрированная система готова для квалификационных испытаний.

5.3.10.3. Интегрированная система должна быть оценена при рассмотрении критериев, описанные ниже. Результаты оценок должны быть документированы.

а) охват испытаниями требований системы;

б) соответствие методов тестирования и используемых стандартов;

в) согласованность с ожидаемыми результатами;

г) выполнимость квалификационного тестирования системы;

д) возможность функционирования и сопровождения.

5.3.11Квалификационное тестирование системы


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

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

5.3.11.2. Система должна быть оценена, рассматривая критерии, описанные ниже. Результаты оценок должны быть документированы.

а) охват испытаниями требований системы;

б) согласованность с ожидаемыми результатами;

в) возможность функционирования и сопровождения.

5.3.11.3. Разработчик должен поддерживать проверку согласно п.6.7. Результаты проверок должны быть документированы.

ПРИМЕЧАНИЕ. Этот подпункт не применяется для тех единиц конфигурации программного обеспечения, для которых проверки были проведены заранее.

5.3.11.4. После успешного завершения проверок, если они проводились, разработчик должен:

а) модернизировать и подготовить поставляемый программный продукт для Установки программного обеспечения и Поддержки Принятия программного обеспечения;

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

ПРИМЕЧАНИЕ. Квалификационное тестирование системы может использоваться в Процессе Верификации (п.6.4) или Процессе Аттестации (п.6.5).

5.3.12Установка программного обеспечения


Эта деятельность состоит из следующих задач:

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

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

5.3.13Поддержка принятия программного обеспечения


Эти действия состоят из следующих задач:

5.3.13.1. Разработчик должен обеспечить приемную оценку и испытания программного продукта, проводимые пользователем. Приемные оценка и испытания должны рассматривать результаты Совместных Оценок (п.6.6), Проверок (п.6.7), Квалификационных Испытаний Программного Обеспечения и Квалификационных Испытаний Системы (если проводились). Результаты приемных оценок и испытаний должны быть документированы.

5.3.13.2. Разработчик должен укомплектовать и поставить программный продукт, как определено в контракте.

5.3.13.3. Разработчик должен обеспечить начальное и продолжающееся обучение и поддержку покупателя, как определено в контракте.