banner banner banner
Секреты успешных НИОКР
Секреты успешных НИОКР
Оценить:
Рейтинг: 0

Полная версия:

Секреты успешных НИОКР

скачать книгу бесплатно


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

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

Рекомендуется ознакомиться с ГОСТ Р 57100—2016 (ISO/IEC/IEEE 42010:2011) «Системная и программная инженерия. Описание архитектуры».

Создание и развитие архитектуры является началом процесса проектирования системы. Здесь устанавливают связи между требованиями и проектом. Требования к системе являются ключевым компонентом процесса ее создания. В стандарте ISO/IEC 29148 определено, что «Требованием называют утверждение, которое идентифицирует эксплуатационные, функциональные параметры, характеристики или ограничения проектирования продукта или процесса, которое однозначно, проверяемо и измеримо. Необходимо для приемки продукта или процесса (потребителем или внутренним руководящим органом обеспечения качества)».

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

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

Формирование проектных требований начинается с уточнения внешних требований верхнего уровня, поступающих от заказчиков. Затем эти требования верхнего уровня группируют по конкретным направлениям.

1. Требования к системе, где собраны требования к продукции, и ее характеристикам.

2. Промышленные, производственные и испытательные требования.

3. Требования к обеспечивающим процессам, включая применяемые технологии, управление проектом, качество и требования к закупкам.

Требования являются ключом к успеху проекта. Для хороших требований к системе или продукту важно наличие следующих свойств.

• Специфичность, чтобы отражать только один аспект конструкции или характеристик системы. Требования также должны быть выражены в терминах потребности (что и как хорошо), а не вариантов решений (как).

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

• Достижимость, техническая реализуемость при доступных затратах, параметры элементов должны соответствовать законам физики и современным технологиям.

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

При выполнении анализа требования полезно классифицировать, разделяя на основные типы.

1. Функциональные требования, отвечающие на вопрос «что система должна делать?» Например, обеспечить связь между землей и самолетом.

2. Требования к рабочим характеристикам, отвечающие на вопрос «как хорошо система исполняет нужные функции?»

3. Экологические/нефункциональные требования (сценарии использования), отвечающие на вопрос «при каких условиях (экологии, надежности и доступности) система должна работать для удовлетворения данного требования?»

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

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

6. Требования к качеству (включая требования к безопасности).

7. Бизнес-требования (цена продукта, стоимость жизненного цикла, конкурентоспособность и др.).

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

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

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

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

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

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

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

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

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

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

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

3. Сформировать производные требования.

4. Определить методы верификации требований.

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

Одним из видов требований нижних уровней являются производные требования.

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

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

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

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

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

• хаоса, необходимо сконцентрироваться на самом важном, требование не должно быть похоже на роман;

• лазеек, выражений типа «если это необходимо», поскольку они делают требование бесполезным;

• помещать больше одного требования в один параграф, это можно определить по наличию предлогов «и»;

• неконкретных рассуждений;

• нечетких слов, таких как «обычно», «в основном», «часто», «нормально», «типично»;

• использования неопределенных терминов («удобный в использовании», «универсальный», «гибкий»);

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

При написании детальных требований к системе используют, в частности, функцию развертывания качества (quality function deployment, QFD). Она переводит потребительские качества, желаемые пользователем, в технические функции и средства для их реализации и развертывания доступных ресурсов при создании продукта или услуги [2]. Метод QFD основан на экспертном построении фигурных матриц «домов качества», в которые заносится информация о качестве продукта и принимаемых решениях. Каждая часть «дома» содержит необходимые потребительские или технические характеристики. Процесс включает четыре последовательных этапа, на каждом из которых строится свой «дом качества». Сначала потребительские характеристики преобразуют в технические. Технические характеристики преобразуют в характеристики компонентов, далее в характеристики процессов и, в завершение, в характеристики контроля продукта. Термин «развертывание» относится к распределению требований от верхнего уровня системы на подсистемы, модули, компоненты, программное обеспечение и материалы, а также на процессы их изготовления и сборки в производстве.

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

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

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

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

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

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

1. Интерфейсы возникают как между подсистемами, так и между подсистемами и системой.

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

3. Должен быть определен один владелец каждого интерфейса, даже если это очевидно.

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

5. Требования к интерфейсу включают логические и физические интерфейсы.

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

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

В результате процесса разработки формируется набор требований, который должен быть выполнен при создании продукта или системы. Этот завершающий комплект требований содержится в документах контракта, спецификациях или технических заданиях на выполнение работ (statement of work, SOW). Характеристики этого набора будут идентичны вышеописанным пунктам отдельных требований и удовлетворяют двум условиям. Набор должен быть полным, то есть не нуждается в дополнительных пунктах требований. Входящие в него требования должны быть согласованными, то есть не содержат противоречий, дублирований, и др. Далее на всех этапах разработки системы выполняется процесс управления требованиями (см. раздел 2.2).

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

1.4 Организация команды проекта и синтез системы

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

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

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

• Пользователь: функциональность, удобство использования.

• Клиент, спонсор, руководство: корпоративные цели, видение, выгода.

• Законодатели: стандарты, руководящие принципы, этические, моральные и правовые условия.

• Заказчик, покупатель: стоимость лицензии, условия контракта, цена.

• Поставщик, продавец: маржа, объем функций, условия контракта.

• Маркетинг, продажи: набор функций, цена, срок поставки, доступность.

• Противники и сторонники проекта: корректировка целей проекта.

• Ремонтный и обучающий персонал: техническое обслуживание, обучение.

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

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

Концептуальное проектирование является первым, и наиболее важным шагом в процессе проектирования системной инженерии. Чтобы объективно оценить возможность успеха реализации проекта, изучают потенциальный рынок и группы клиентов, учитывают факторы окружающей среды, доступ к необходимым ресурсам, готовность персонала, и наличие текущих или разрабатываемых технологий. На предыдущем этапе фиксируют системные потребности и эксплуатационные требования, которые собирают в один всеобъемлющий документ. На основе требований к системе изучаются концепции проектирования в сочетании с анализом осуществимости системы. На этой стадии рассматривают наиболее широкий спектр потенциально возможных решений, которые могут дать значительные преимущества для будущего продукта. Анализ осуществимости проекта дает ответы на вопросы «Выгодно ли проектировать систему?» и «Сможем ли мы это сделать?» Критериями при оценке осуществимости ОКР выбирают стоимость проекта и ценности для организации, полученные при проектировании.

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

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

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

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

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

1. Аппаратные или физические элементы для построения системы, статические или динамические, такие как объект, рама системы, детали, провода, и так далее.

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

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

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

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

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

• Реализацию каждой конкретной функции рекомендуется связывать с каким-то одним модулем системы.

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

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

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

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

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

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

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