4.1 Процессы реализации программных средств4.1.1 Процесс реализацииЦель процесса реализации программных средств заключается в создании заданных элементов системы, выполненных в виде программных продуктов или услуг.
В ходе этого процесса происходит преобразование заданных поведенческих, интерфейсных и производственных требований в действия, которые создают программный продукт или услугу («программный элемент»).
Результатом процесса является создание программной составной части, удовлетворяющей как требованиям к архитектурным решениям, что подтверждается посредством верификации, так и требованиям правообладателей, что подтверждается посредством валидации.
В результате успешного осуществления процесса реализации программных средств:
а) определяется стратегия реализации;
b) определяются ограничения по технологии реализации проекта;
с) изготавливается программная составная часть.
В дополнение к этим действиям процесс реализации программных средств имеет следующие процессы более низкого уровня:
– процесс анализа требований к программным средствам;
– процесс проектирования архитектуры программных средств;
– процесс детального проектирования программных средств;
– процесс конструирования программных средств;
– процесс комплексирования программных средств;
– процесс квалификационного тестирования программных средств.
4.1.2 Процесс анализа требований к программным средствамЦель процесса анализа требований к программным средствам заключается в установлении требований к программным элементам системы.
В результате успешного осуществления процесса анализа требований к программным средствам:
а) определяются требования к программным элементам системы и их интерфейсам;
b) требования к программным средствам анализируются на корректность и тестируемость;
с) осознается воздействие требований к программным средствам на среду функционирования;
d) устанавливается совместимость и прослеживаемость между требованиями к программным средствам и требованиями к системе;
е) определяются приоритеты реализации требований к программным средствам;
f) требования к программным средствам принимаются и обновляются по мере необходимости;
g) оцениваются изменения в требованиях к программным средствам по стоимости, графикам работ и техническим воздействиям.
4.1.3 Процесс проектирования архитектуры программных средЦель процесса проектирования архитектуры программных средств заключается в обеспечении проекта для программных средств, которые реализуются и могут быть верифицированы относительно требований.
В результате успешной реализации процесса проектирования архитектуры программных средств:
а) разрабатывается проект архитектуры программных средств и устанавливается базовый шаблон, описывающий программные составные части, которые будут реализовывать требования к программным средствам;
b) определяются внутренние и внешние интерфейсы каждой программной составной части;
с) устанавливаются согласованность и прослеживаемость между требованиями к программным средствам и программным проектом.
4.1.4 Процесс детального проектирования программных средствЦель процесса детального проектирования программных средств заключается в обеспечении проекта для программных средств, которые реализуются и могут быть верифицированы относительно установленных требований и архитектуры программных средств, а также существенным образом детализируются для последующего кодирования и тестирования.
В результате успешного осуществления процесса детального проектирования программных средств:
а) разрабатывается детальный проект каждого программного компонента, описывающий создаваемые программные модули;
b) определяются внешние интерфейсы каждого программного модуля;
с) устанавливается совместимость и прослеживаемость между детальным проектированием, требованиями и проектированием архитектуры.
4.1.5 Процесс разработки программных средствЦель процесса разработки программных средств заключается в создании исполняемых программных блоков, которые должным образом отражают проектирование программных средств.
В результате успешного осуществления процесса разработки (конструирования) программных средств:
а) определяются критерии верификации для всех программных блоков относительно требований;
b) изготавливаются программные блоки, определенные проектом;
с) устанавливается совместимость и прослеживаемость между программными блоками, требованиями и проектом;
d) завершается верификация программных блоков относительно требований и проекта.
4.1.6 Процесс комплексирования программных средствЦель процесса комплексирования программных средств заключается в объединении программных блоков и программных компонентов, создании интегрированных программных элементов, согласованных с проектом программных средств, которые демонстрируют, что функциональные и нефункциональные требования к программным средствам удовлетворяются на полностью укомплектованной или эквивалентной ей операционной платформе.
В результате успешного осуществления процесса комплексирования программных средств:
а) разрабатывается стратегия комплексирования для программных блоков, согласованная с программным проектом и расположенными по приоритетам требованиями к программным средствам;
b) разрабатываются критерии верификации для программных составных частей, которые гарантируют соответствие с требованиями к программным средствам, связанными с этими составными частями;
с) программные составные части верифицируются с использованием определенных критериев;
d) программные составные части, определенные стратегией комплексирования, изготавливаются;
е) регистрируются результаты комплексного тестирования;
f) устанавливаются согласованность и прослеживаемость между программным проектом и программными составными частями;
g) разрабатывается и применяется стратегия регрессии для повторной верификации программных составных частей при возникновении изменений в программных блоках (в том числе в соответствующих требованиях, проекте и кодах).
4.1.7 Процесс квалификационного тестирования программных средствЦель процесса квалификационного тестирования программных средств заключается в подтверждении того, что комплексированный программный продукт удовлетворяет установленным требованиям.
В результате успешного осуществления процесса квалификационного тестирования программных средств:
а) определяются критерии для комплексированных программных средств с целью демонстрации соответствия с требованиями к программным средствам;
b) комплексированные программные средства верифицируются с использованием определенных критериев;
с) записываются результаты тестирования;
d) разрабатывается и применяется стратегия регрессии для повторного тестирования комплексированного программного средства при проведении изменений в программных составных частях.
4.2 Процессы поддержки программных средств4.2.1 Процесс менеджмента документацииЦель процесса менеджмента документации – разработка и сопровождение зарегистрированной информации по программному обеспечению, сформированной в результате процессов ЖЦ.
Задачами процесса менеджмента документации являются:
- определение стандартов, которые применяются при разработке программной документации;
- определение документации, которая производится процессом ЖЦ;
- определение и утверждение содержания и целей всей документации;
- разработка документации и организация доступа к ней в соответствии с внутренними стандартами;
- сопровождение документации в соответствии с определенными критериями.
Порядок оформления документации установлен внутренними стандартами организации. Документ включает в себя:
– заголовок или название;
– цели и содержание;
– круг пользователей, которым она предназначена;
– процедуры и ответственность при формировании исходных данных, разработке, ревизиях, модификации, утверждении, производстве, хранении, распределении, сопровождении и менеджменте конфигурации;
– графики создания промежуточных и окончательных версий.
Каждый идентифицированный документ разрабатывается в соответствии с подходящими стандартами на документацию, регламентирующими носители, форматы, описание содержания, нумерацию страниц, размещение рисунков и таблиц, пометки о правах собственности и секретности и другие элементы представления.
Подготовленные документы рассматриваются и редактируются по формату, техническому содержанию и стилю представления в соответствии со стандартами на документацию. Перед выпуском документов они проверяются уполномоченным лицом.
Документы разрабатываются и поставляются в соответствии с планом. При производстве и распределении документов могут использоваться бумажные, электронные или другие носители. Важные материалы хранятся в соответствии с требованиями по содержанию записей, защищенности, сопровождению и резервированию.
Изменения в документацию вносятся при выполнении процесса сопровождения программного обеспечения.
4.2.2 Процесс менеджмента конфигурации программного обеспеченияЦель процесса менеджмента конфигурации программного обеспечения –установление и сопровождение целостности программных объектов и обеспечение их доступности для заинтересованных сторон.
Задачами процесса менеджмента конфигурации программного обеспечения являются:
– определение схемы обозначения программного обеспечения и его модификаций (объектов программной конфигурации);
– контроль модификаций и выпусков программного обеспечения;
– регистрация и предоставление информации о статусе модификаций;
– контроль хранения, обработки и поставки модификаций.
Управление конфигурацией включает в себя:
– идентификацию и регистрацию заявок на изменения;
– анализ и оценка изменений;
– принятие или отклонение заявок;
– реализацию, верификацию и выпуск модифицированной составной части;
– проверочные испытания, на основании которых можно прослеживать каждую модификацию, ее причины и полномочия на проведение изменений;
– оценка законченности программного обеспечения с точки зрения реализации установленных к ним требований.
Выпуск, поставка и поддержка программного обеспечения, а также документации на него осуществляются в соответствии с установленными требованиями заинтересованных сторон.
4.2.3 Процесс обеспечения гарантии качества программного обеспеченияЦель процесса обеспечения гарантии качества программного обеспечения – предоставление гарантии соответствия рабочей продукции и процессов предварительно определённым условиям.
Задачами процесса гарантии качества программного обеспечения являются:
– создание и поддержка свидетельств гарантии качества;
– идентификация и регистрация проблем и (или) несоответствий с требованиями;
– верификация соблюдения продукцией, процессами и действиями действующих стандартов, процедур и требований.
Процесс гарантии качества ведется координированно с процессами верификации программного обеспечения, валидации программного обеспечения, ревизии и аудита программного обеспечения.
4.2.4 Процесс верификации программного обеспеченияЦель процесса верификации программного обеспечения – подтверждение соответствия программного обеспечения заданным требованиям.
Задачами процесса верификации программного обеспечения являются:
- определение критериев верификации;
- выполнение требуемых действий по верификации;
- определение и регистрация дефектов;
- предоставление результатов верификации заказчику и другим заинтересованным сторонам.
Процесс верификации включает следующие этапы:
- верификация требований (верификация осуществляется с учетом следующих критериев: системные требования являются согласованными, выполнимыми и тестируемыми; системные требования соответственно распределены по техническим, программным элементам и ручным операциям согласно критериям проекта; требования к программному обеспечению согласованы, выполнимы, проверяемы и точно отражают системные требования; требования к программному обеспечению, связанные с безопасностью, защитой и критичностью, являются корректными, что показано соответствующими строгими методами);
- верификация кода (верификация осуществляется с учетом следующих критериев: код является следствием проекта и требований тестируемости, правильности и соответствует установленным требованиям и стандартам, относящимся к кодированию; код осуществляет надлежащую последовательность событий, согласованные интерфейсы, корректные данные и поток команд управления, завершений, адекватного распределения времени и размеров финансирования, а также определение ошибок, локализацию и восстановление; выбранный код может следовать из проекта или требований; код корректно реализует требования по безопасности, защищенности и другим критическим свойствам, как показано соответствующими строгими методами);
- верификация документации (верификация осуществляется с учетом следующих критериев: документация является адекватной, полной и согласованной; подготовка документации осуществляется своевременно; менеджмент конфигурации документов следует установленным процедурам).
4.2.5. Процесс валидации программного обеспеченияЦель процесса валидации программного обеспечения – подтверждение выполнения требований для конкретного применения рабочего программного обеспечения.
Задачами процесса валидации программного обеспечения являются:
- определение критериев валидации для всей требуемой рабочей продукции;
- идентификация и регистрация проблем;
- обеспечение свидетельств того, что созданное рабочее программное обеспечение пригодно для применения по назначению;
- предоставление результатов действий по валидации заказчику и другим заинтересованным сторонам.
В рамках работ разрабатывается план валидации для подтверждающей проверки программного обеспечения. Определяются задачи валидации, связанные с ними методы, технологии и инструментарий.
Проблемы и несоответствия, обнаруженные в процессе работ по валидации, передаются в процесс решения проблем в программном обеспечении.
При валидации на основе выбранных требований к тестированию разрабатываются тестовые примеры и спецификации для анализа результатов тестирования.
Процесс валидации включает в себя следующие проверки:
- тестирование в условиях повышенной нагрузки, граничных значений параметров и нестандартных входов;
- тестирование программного обеспечения на его способность изолировать и минимизировать влияние ошибок, то есть осуществлять плавную деградацию после отказов, обращение к заказчику за помощью в условиях повышенной нагрузки, граничных значений параметров и нестандартных входов;
- тестирование успешности решения намеченных задач основными пользователями программного обеспечения;
- тестирование программного обеспечения на соответствие своему назначению.
4.2.6 Процесс ревизии программного обеспеченияЦель процесса ревизии программного обеспечения – поддержание общего понимания у заинтересованных сторон относительно целей, достигнутых результатов я дальнейших действий. Ревизии программного обеспечения применяются как на уровне менеджмента проекта, так и на техническом уровне и проводятся в течение всей жизни проекта.
Задачами процесса ревизии программного обеспечения являются:
- выполнение технических ревизий и ревизий менеджмента на основе потребностей проекта;
- оценка состояния и результатов действий;
- предоставление результатов ревизии всем участвующим сторонам;
- идентификация и регистрация рисков и проблем.
Периодические ревизии проводятся в предварительно определенные сроки.
Для проведения каждой ревизии устанавливаются:
- план ревизии;
- состав программного обеспечения (результатов деятельности);
- проблемы, подлежащие обсуждению;
- области применения и процедуры;
- исходные и итоговые критерии для ревизии.
Проблемы, выявленные при проведении ревизии, регистрируются и передаются в процесс решения проблем в программном обеспечении.
Результаты ревизии документируются. Дается оценка адекватности ревизии (например, принятие, непринятие или условное принятие результатов ревизии). Результаты ревизии предоставляются заинтересованным сторонам. Участвующие стороны согласовывают итоговый результат ревизии, ответственность за позиции, требующие действий, и критерии завершения.
4.2.7. Процесс аудита программного обеспечения
Цель процесса аудита программного обеспечения – независимое определение соответствия программного обеспечения требованиям, планам и соглашениям.
Задачами процесса аудита программного обеспечения являются:
- определение соответствия программного обеспечения требованиям, планам и соглашениям;
- выявление проблем и передача их для решения ответственным сторонам.
Проверки проводятся в предварительно установленные сроки.
По каждому аудиту устанавливается:
- план проведения аудита;
- состав проверяемого программного обеспечения и результатов деятельности;
- область распространения и процедуры аудита;
- исходные и итоговые критерии проведения аудита.
Проблемы, выявленные при проведении аудитов, передаются процессу решения проблем в программном обеспечении.
Результаты аудита документально оформляются и представляются проверяемой стороне. Проверяемая сторона согласовывает представленный отчет и сообщает о планируемых решениях соответствующих проблем.
4.2.8 Процесс решения проблем в программном обеспеченииЦель процесса решения проблем в программном обеспечении - гарантированные идентификация, анализ, контроль и управление решением выявленных проблем.
Задачами процесса решения проблем в программном обеспечении являются:
- регистрация, идентификация и классификация проблем;
- анализ и оценка проблем для определения приемлемого решения (решений);
- выполнение решений проблем;
- отслеживание проблем вплоть до их закрытия.
Процесс решения проблем в программном обеспечении является циклическим. Обнаруженные в других процессах проблемы вводятся в процесс решения проблем. Каждая проблема классифицируется по категории и приоритету для облегчения анализа тенденций и решения проблем. По этим проблемам инициируются необходимые действия. При необходимости заинтересованные стороны информируются о существовании проблем. Проводится анализ тенденций в известных проблемах. Устанавливаются и анализируются причины проблем, которые далее, если возможно, устраняются. Состояние проблемы отслеживается и отражается в отчетах.