Способ реализации программных средств

Способы реализации прикладных программных сред

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

Во многих версиях ОС UNIX транслятор прикладных сред реализуется в виде обычного приложения. В операционных системах, построенных с использовани­ем микроядерной концепции, таких, как, например, Windows NT, прикладные среды выполняются в виде серверов пользовательского режима. А в OS/2 с ее более простой архитектурой средства организации прикладных сред встроены глубоко в операционную систему.

Один из наиболее очевидных вариантов реализации множественных приклад­ных сред основывается на стандартной многоуровневой структуре ОС. На рис. 2. 7 операционная система OS1 поддерживает кроме своих «родных» приложений приложения операционной системы OS2. Для этого в ее составе имеется специальное приложение – прикладная программная среда, которая транс­лирует интерфейс «чужой» операционной системы –API OS2 в ин­терфейс своей «родной» операционной системы –
API OS1.

Приложение OS2
API OS2
Транслятор системных вызовов

API OS1
Менеджеры ресурсов
Базовые механизмы
Машинно-независимые модули

Рис. 2. 7. Прикладная программная среда, транслирующая
системные вызовы

В другом варианте реализации множественных прикладных сред операционная система имеет несколько равноправных прикладных програм-мных интерфейсов. В приведенном на рис. 2. 8 примере операционная си-стема поддерживает прило­жения, написанные для OS1, OS2 и OS3. Для этого непосредственно в простран­стве ядра системы размещены прикладные программные интерфейсы всех этих ОС: API OS1, API OS2 и API OS3.

API OS1 API OS2 API OS3
Менеджеры ресурсов
Базовые механизмы
Машинно-независимые модули

Рис. 2. 8. Реализация совместимости на основе нескольких
равноправных API

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

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

В соответствии с микроядерной архитектурой все функции ОС реализуются мик­роядром и серверами пользовательского режима. Важно, что каждая прикладная среда оформляется в виде отдельного сервера пользовательского режима и не включает базовых механизмов (рис. 2. 9). Приложения, используя API, обра­щаются с системными вызовами к соответствующей прикладной среде через микроядро. Прикладная среда обрабатывает запрос, выполняет его (возможно, обращаясь для этого за помощью к базовым функциям микроядра) и отсылает приложению результат. В ходе выполнения запроса прикладной среде приходит­ся, в свою очередь, обращаться к базовым механизмам ОС, реализуемым микро­ядром и другими серверами ОС.

Приложения Серверы ОС

Пользовательский

Привилегированный

режим

Рис. 2. 9. Микроядерный подход к реализации множественных
прикладных сред

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

очень просто можно добавлять и исключать прикладные среды, что является следствием хорошей расширяемости микроядерных ОС;

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

низкая производительность микроядерных ОС сказывается на скорости рабо­ты прикладных сред, а значит, и на скорости выполнения приложений.

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

Вопросы для самопроверки

49. В чем отличие микроядерной архитектуры от традиционной архитектуры ОС?

50. Почему микроядро хорошо подходит для поддержки распределенных вычислений?

51. Что подразумевается под концепцией множественных прикладных сред?

52. В чем суть метода трансляции библиотек?

Контрольные вопросы

53. Каким термином в микроядерной архитектуре принято называть менеджеры ресурсов, вынесенные в пользовательский режим?

54. Можно ли считать микроядерную архитектуру в высокой степени переносимой?

55. Почему микроядерная архитектура ОС в большей степени расширяемая, чем классическая ОС?

56. Является ли микроядерная архитектура более надежной, чем традиционная?

57. Укажите причину, из-за которой производительность микроядерной архитектуры хуже традиционной схемы ОС.

58. Можно ли считать ОС Windows NT 4.0 системой с микроядерной архитектурой?

59. Какие виды совместимости Вам известны?

60. За счет каких действий достигается двоичная совместимость для процессоров различных архитектур?

61. Укажите способ, который позволяет повысить производительность ПК при выполнении «чужого» исполняемого файла.

62. Достаточно ли одного метода трансляции библиотек для полной совместимости приложений?

Источник

Процессы реализации программных средств

Процессы реализации программных средств используются для создания конкретного элемента системы (составной части), выполненного в виде программного средства. Эти процессы преобразуют заданные характеристики поведения, интерфейсы и ограничения на реализацию в действия, результатом которых становится системный элемент, удовлетворяющий требованиям, вытекающим из системных требований. [ГОСТ Р ИСО/МЭК 12207-2010].

Примечание. В курсе «Технология разработки программного обеспечения» программное средство рассматривается ни как составная часть системы, а как независимое автономное программное обеспечение, состоящее из программных модулей [17].

Процесс реализации

При реализации проекта необходимо осуществлять следующие виды деятельности в соответствии с принятыми в организации политиками и процедурами в отношении процесса реализации программных средств:

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

2) Исполнитель должен:

— документировать результаты в соответствии с процессом менеджмента программной документации;

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

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

— выполнять поддержку процессов в соответствии с контрактом;

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

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

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

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

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

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

В результате успешного осуществления процесса реализации программных средств:

1) определяется стратегия реализации;

2) определяются ограничения по технологии реализации проекта;

3) изготавливается программная составная часть;

4) программная составная часть упаковывается и хранится в соответствии с соглашением о ее поставке.

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

1) процесс анализа требований к программным средствам;

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

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

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

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

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

Источник

«ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. СИСТЕМНАЯ И ПРОГРАММНАЯ ИНЖЕНЕРИЯ. ПРОЦЕССЫ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНЫХ СРЕДСТВ. ГОСТ Р ИСО/МЭК 12207-2010» (утв. Приказом Ростехрегулирования от 30.11.2010 N 631-ст)

7.1 Процессы реализации программных средств

7.1.1 Процесс реализации

Примечание — Процесс реализации программных средств является частным случаем процесса реализации из [18], приспособленного к специфическим потребностям реализации программного продукта или услуги.

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

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

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

В результате успешного осуществления процесса реализации программных средств:

a) определяется стратегия реализации;

b) определяются ограничения по технологии реализации проекта;

c) изготавливается программная составная часть;

d) программная составная часть упаковывается и хранится в соответствии с соглашением о ее поставке.

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

— процесс анализа требований к программным средствам*;

— процесс проектирования архитектуры программных средств*;

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

— процесс конструирования программных средств;

— процесс комплексирования программных средств*;

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

Примечание — Пользователи [18] могут решить, что процессы, отмеченные звездочкой (*) в приведенном выше списке, обеспечиваются рекурсивным применением [18] даже для программных элементов системы.

7.1.1.3 Виды деятельности и задачи

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

7.1.1.3.1 Стратегия реализации программных средств

Данный вид деятельности состоит из решения следующих задач:

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

Примечание — В идеальном случае рассматриваемые виды деятельности и задачи выполняются и решаются с использованием определенной организационной модели жизненного цикла.

7.1.1.3.1.2 Исполнитель должен:

a) документировать результаты в соответствии с процессом менеджмента программной документации (см. 7.2.1);

b) передавать результаты в процесс менеджмента конфигурации программных средств (см. 7.2.2) и выполнять управление изменениями в соответствии с ним;

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

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

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

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

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

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

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

7.1.2 Процесс анализа требований к программным средствам

Примечание — Процесс анализа требований к программным средствам в настоящем стандарте является процессом более низкого уровня, чем процесс реализации программных средств. Пользователи [18] могут решить, что этот процесс предусматривается процессом анализа требований [18] при рекурсивном применении [18].

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

В результате успешного осуществления процесса анализа требований к программным средствам:

a) определяются требования к программным элементам системы и их интерфейсам;

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

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

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

e) определяются приоритеты реализации требований к программным средствам;

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

g) оцениваются изменения в требованиях к программным средствам по стоимости, графикам работ и техническим воздействиям;

h) требования к программным средствам воплощаются в виде базовых линий и доводятся до сведения заинтересованных сторон.

7.1.2.3 Виды деятельности и задачи

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

7.1.2.3.1 Анализ требований к программным средствам

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

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

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

b) внешние интерфейсы к программной составной части;

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

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

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

Читайте также:  Waso ночная восстанавливающая маска способ применения

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

g) описание данных и требования к базам данных;

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

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

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

k) пользовательские требования к сопровождению.

Примечание 1 — [8] может быть руководством по спецификации характеристик качества.

Примечание 2 — Следует определить приоритет выполнения требований к программным средствам.

Примечание 3 — Рекомендации для получения желаемого уровня удобства применения можно найти в [25], если приспособленность к применению является важным требованием. Вид процесса, который сосредоточивается на вопросах приспособленности к применению, приведен в приложении Е.

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

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

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

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

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

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

7.1.2.3.1.3 Исполнитель должен проводить ревизии в соответствии с 7.2.6.

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

7.1.3 Процесс проектирования архитектуры программных средств

Примечание — Процесс проектирования архитектуры программных средств в настоящем стандарте является процессом более низкого уровня, чем процесс реализации программных средств. Пользователи [18] могут решить, что данный процесс предусматривается процессом проектирования архитектуры в [18] при его рекурсивном применении.

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

В результате успешной реализации процесса проектирования архитектуры программных средств:

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

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

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

7.1.3.3 Виды деятельности и задачи

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

Примечание — Данный вид деятельности выполняется для каждой программной составной части согласно проектированию архитектуры системы.

7.1.3.3.1 Проектирование архитектуры программных средств

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

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

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

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

7.1.3.3.1.3 Исполнитель должен разработать и документально оформить проект верхнего уровня для базы данных.

7.1.3.3.1.4 Исполнитель должен разработать и документально оформить предварительные версии пользовательской документации.

7.1.3.3.1.5 Исполнитель должен определить и документировать требования к предварительному тестированию и график работ по комплексированию программных средств.

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

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

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

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

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

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

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

Результаты оценок следует оформлять документально.

7.1.3.3.1.7 Исполнитель должен проводить ревизии в соответствии с 7.2.6.

7.1.4 Процесс детального проектирования программных средств

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

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

В результате успешного осуществления процесса детального проектирования программных средств:

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

b) определяются внешние интерфейсы каждого программного модуля и

c) устанавливается совместимость и прослеживаемость между детальным проектированием, требованиями и проектированием архитектуры.

7.1.4.3 Виды деятельности и задачи

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

7.1.4.3.1 Детальное проектирование программных средств

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

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

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

7.1.4.3.1.3 Исполнитель должен разработать и документально оформить детальный проект базы данных.

7.1.4.3.1.4 Исполнитель должен совершенствовать пользовательскую документацию по мере необходимости.

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

7.1.4.3.1.6 Исполнитель должен обновлять требования к тестированию и графики работ по комплексированию программных средств.

7.1.4.3.1.7 Исполнитель должен оценивать детальный проект для программных средств и требования к тестированию по следующим критериям:

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

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

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

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

e) осуществимость тестирования;

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

Результаты оценки должны быть документально оформлены.

7.1.4.3.1.8 Исполнитель должен проводить ревизии в соответствии с 7.2.6.

7.1.5 Процесс конструирования программных средств

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

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

В результате успешного осуществления процесса конструирования программных средств:

a) определяются критерии верификации для всех программных блоков относительно требований;

b) изготавливаются программные блоки, определенные проектом;

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

d) завершается верификация программных блоков относительно требований и проекта.

Читайте также:  Способы деконтаминации медицинских изделий многократного применения

7.1.5.3 Виды деятельности и задачи

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

7.1.5.3.1 Конструирование программных средств

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

7.1.5.3.1.1 Исполнитель должен разработать и документально оформить:

a) каждый программный блок и базу данных;

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

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

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

7.1.5.3.1.4 Исполнитель должен совершенствовать требования к тестированию и графики работ по комплексированию программных средств.

7.1.5.3.1.5 Исполнитель должен оценивать программный код и результаты испытаний, учитывая следующие критерии:

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

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

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

d) тестовое покрытие блоков;

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

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

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

Результаты оценки должны быть документально оформлены.

7.1.6 Процесс комплексирования программных средств

Примечание — Процесс комплексирования программных средств в настоящем стандарте является процессом более низкого уровня, чем процесс реализации программных средств. Пользователи [18] могут решить, что данный процесс предусматривается процессом комплексирования в [18] при рекурсивном применении этого стандарта.

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

В результате успешного осуществления процесса комплексирования программных средств:

a) разрабатывается стратегия комплексирования для программных блоков, согласованная с программным проектом и расположенными по приоритетам требованиями к программным средствам;

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

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

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

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

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

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

7.1.6.3 Виды деятельности и задачи

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

7.1.6.3.1 Комплексирование программных средств

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

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

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

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

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

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

7.1.6.3.1.5 Исполнитель должен оценить план комплексирования, проект, код, тесты, результаты тестирования и пользовательскую документацию, учитывая:

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

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

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

d) тестовое покрытие требований к программной составной части;

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

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

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

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

Примечание — В критерии оценки следует включать согласованность и прослеживаемость между программным проектом и программными составными частями.

Результаты оценки должны быть оформлены документально.

7.1.6.3.1.6 Исполнитель должен проводить ревизии в соответствии с 7.2.6.

7.1.7 Процесс квалификационного тестирования программных средств

Примечание — Процесс квалификационного тестирования программных средств, представленный в настоящем стандарте, является процессом более низкого уровня, чем процесс реализации программных средств. Пользователи [18] могут решить, что данный процесс предусматривается процессом верификации, приведенным в [18], при рекурсивном его применении.

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

В результате успешного осуществления процесса квалификационного тестирования программных средств:

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

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

c) записываются результаты тестирования;

d) разрабатывается и применяется стратегия регрессии для повторного тестирования комплектованного программного средства при проведении изменений в программных составных частях.

Примечание — Должна быть разработана стратегия регрессии для повторного применения тестирования комплексированного программного средства при проведении изменений в программных составных частях.

7.1.7.3 Виды деятельности и задачи

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

7.1.7.3.1 Квалификационное тестирование программных средств

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

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

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

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

a) тестовое покрытие требований к программной составной части;

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

c) осуществимость системного комплексирования и тестирования, если они проводятся;

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

Результаты оценки должны быть документально оформлены.

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

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

Примечание — Процесс квалификационного тестирования программных средств может использоваться в процессе верификации программных средств (см. 7.2.4) или процессе валидации программных средств (см. 7.2.5).

Источник

Оцените статью
Разные способы