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

Источник: IBM

Авторы публикации Грэм Бликли, Кит Колье и Джоанн Скоулер на доступном уровне рассказывают о лучших методиках для решений IBM® Rational® Solution for Systems and Software Engineering. В статье описываются методики, их назначение и поддержка регулирующих стандартов.

Эта статья представляет решения IBM® Rational® Solution for Systems and Software Engineering и рассказывает о том, как конкретные отраслевые решения поддерживают регулирующие стандарты. Кроме того, описываются методики, реализованные в этих решениях, и предлагаются рекомендации по их использованию.

Решения IBM Rational

Каждое решение Rational включает инструменты, сервисы и комплекс методик- набор методик, которые направляют процессы для поддержки решения. В данной статье описываются следующие отраслевые решения:

  • IBM Rational для аэрокосмической и оборонной отраслей (стандарт DO-178B/C)
  • IBM Rational для автомобилестроения (стандарт ISO-26262)
  • IBM Rational для медицинской техники.

Как предоставляются методики

Каждое решение включает методики, разработанные и протестированные как полное решение для управления жизненным циклом в конкретной отрасли. Эти методики описывают процесс разработки программного продукта или системы с использованием технологий Rational и инструментов других поставщиков. Опубликованные методики можно загрузить с Web-страницы IBM Rational Solution Process Assets (см. Ресурсы).

Методики создаются и управляются посредством решения IBM® Rational® Method Composer, использующего предметно-ориентированный язык на базе стандарта Unified Method Architecture (UMA). Применяемая в методиках терминология взята из UMA.

Методика или процесс

Есть важное различие между методиками и процессами. Методики - это то, что вам следует делать, а процесс - это структура того, как выполнять эти задачи. Процесс определяет порядок применения методик и выполнения работы для достижения полезных результатов разработки. Методики эффективно используют процесс IBM Systems and Software Engineering, который разъясняет задачи и порядок их выполнения для создания конкретных рабочих продуктов. Основные этапы процесса:

  • Подготовка проекта
  • Анализ требований
  • Функциональный анализ
  • Синтез проекта
  • Реализация
  • Тестирование компонентов.

На рисунке 1 показана связь между методикой и процессом. В данном случае представлена методика разработки по стандарту ISO 26262 для функциональной безопасности автотранспортных средств.

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

Из опубликованных методик можно перейти по ссылке на задачу Analyze SW safety (Анализ безопасности ПО) для получения дополнительной информации о том, как выполнять эту задачу. Задача представлена на рисунке 1.

Рисунок 1. Процесс с задачами для разработки архитектуры программного обеспечения по стандарту ISO 26262 в решении Rational для автомобилестроения

Software architectural design activity diagram

Из задачи Analyze SW safety вы попадаете на Web-страницу, которая содержит описание ролей, требуемых входных данных и результата, рабочих продуктов и описание задачи со ссылками на соответствующие методики и руководства. В этой задаче методиками (Key Considerations) являются Safety and Reliability Analysis (Анализ безопасности и надежности) и High Fidelity Modeling (моделирование высокой точности). Из задачи можно перейти к связанным методикам. На рисунке 2 приведено детальное представление этой задачи.. You can link directly to the relevant practices from the task. Figure 2 shows the task details.

Рисунок 2. Элементы задачи Analyze SW safety

Analyze task with description, purpose, etc.

Адаптация методик

Вы можете разрабатывать свои собственные активы, такие как публикуемые Web-сайты и шаблоны элементов работ. Шаблоны элементов работ - это наборы логически сгруппированных задач, основанных на методике, которые могут обрабатываться в IBM® Rational Team Concert™.

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

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

Базовые методики

Чтобы понять основы использования методик, начните с базового решения IBM Rational Solution for Systems and Software Engineering. Открыв категорию Practices(Методики), вы увидите, что методики организованы в разделы Enterprise, Systems Development и Software Development. Эти разделы позволяют ориентироваться в интересующих вас областях. Например, в категорию Enterprise входят методики оценки эффективности, и она предназначена для менеджеров проектов, а также для тех, кого интересует совершенствование процессов в целом.

Эти же или сходные методики можно рассматривать и с другой точки зрения. Например, выбирая роль, вы можете видеть все значимые задачи, связанные с этой ролью. Открыв категорию Delivery Processes (Процессы выпуска), вы увидите два раздела: SE - Use case focused (ориентация на сценарии использования) и Systems Engineering workflow (поток работ). В обоих разделах представлена структурная декомпозиция работ. Первый раздел, SE - Use case focused, следует общему процессу или потоку работ, описанному ранее в этом документе. Раздел Systems Engineering workflow также основывается на общем потоке работ, присутствующем в классической стандартной V-модели проектирования систем. На рисунке 3 представлена главная страница Rational Solution for Systems and Software Engineering.

Рисунок 3. Главная страница Rational Solution for Systems and Software Engineering

Welcome page for Systems and Software Engineering

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

Использование методик

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

На основе шаблонов элементов работ в Rational Team Concert создается набор элементов работ для задач, детализированных в методиках. Разные этапы разработки в потоке работ имеют разные шаблоны элементов работ, как показано на рисунке 4.

Рисунок 4. Панель проекта Rational Team Concert с развернутым списком шаблонов элементов работ в меню Work Items

Work item templates in ISO 26262 process template

Шаблоны предоставляют быстрый и простой способ реализации управления проектом. Каждый элемент работ также содержит ссылку на исходное описание задачи, как показано на рисунке 5.

Рисунок 5. Элемент работ по проектированию систем в Rational Team Concert

Work item with link to task description

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

Применение методик к отраслевым решениям

Для аэрокосмической отрасли подмножество базовых методик соответствует стандарту DO-178B и называется Integrated Software Development Process for DO-178B (ISDP-178). Документ DO-178B, Software Considerations in Airborne Systems and Equipment Certification определяет требования к безопасности программного обеспечения, используемого в бортовых системах. Методики и связанные рабочие продукты сопоставляются с наборами целей DO-178B, позволяя подтверждать соответствие стандарту. Решение Rational для аэрокосмической отрасли объединяет в себе лучшие методики и инструменты, чтобы упростить разработку пригодного для сертификации авиационного программного обеспечения.

Для отрасли автомобилестроения в Rational предлагаются методики, соответствующие структуре процесса, которая определена в стандарте ISO 26262 "Дорожные транспортные средства - функциональная безопасность". Стандарт ISO 26262 является адаптацией международного стандарта IEC 61508 (функциональная безопасность программируемых электронных систем). ISO 26262 определяет принципы функциональной безопасности автомобильной техники, применимые в течение всего жизненного цикла всех связанных с безопасностью автомобильных электронных и электрических систем.

Для отрасли медицинской техники методики, получившие название Design Control Practices, поддерживают различные отраслевые стандарты, включая 21 CFR Part 820.30 и IEC62304. Методики Design Control предоставляют подход к разработке систем, который поддерживает систематическую оценку проекта как неотъемлемую составляющую процесса разработки. Это фундаментальная концепция рекомендаций Управления по контролю за пищевыми продуктами и лекарственными средствами США (FDA) для производителей медицинской техники, согласующаяся с требованиями других регулирующих органов. Такой контроль может применяться к любому подходу или жизненному циклу медицинских разработок.

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

Автомобилестроение

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

Аэрокосмическая и оборонная промышленность

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

Медицинская техника

  • Стандарт в области медицинской техники IEC 62304 регламентирует создание встроенного программного обеспечения для медицинского оборудования.
  • Раздел Medical Device Design Control (FDA) не привязан к конкретной технологии, а основывается на целях и результатах работ и на взаимосвязях между этими результатами. Он проверяет, что вы создали именно то, что заявляли.

Стандарт ISO 26262 для отрасли автомобилестроения описывает процессы и результаты работы, в то время как стандарт DO-178C для аэрокосмической и оборонной промышленности и стандарт IEC 62304 с принципами Design Control для медицинской техники сконцентрированы на целях. ISO 26262 - это предписывающий стандарт, а другие стандарты являются описательными.

Развертывание методик

Методики можно загрузить в двух вариантах - как компонент библиотеки методик и как файл WAR. Исходные материалы в библиотеке методик Rational Method Composer можно изменять в Rational Method Composer для адаптации или добавления своих собственных материалов, например, действий и результатов предусмотренных в компании проверок.

Если вы хотите просмотреть методики локально, можно загрузить файл .war, переименовать его в .zip, распаковать и открыть с помощью стандартного HTML-браузера.

Если вы хотите развернуть методику в Rational Team Concert, чтобы в полной мере воспользоваться преимуществами совместного использования шаблонов процессов, шаблонов элементов работ и методик, загрузите файл .war и установите его на Web-сервер Rational Team Concert.

Заключение

В статье описывается назначение и содержание решения IBM Rational Solution for Systems and Software Engineering. Теперь вы знакомы с тем, как:

  • Следовать лучшим методикам и процессам Rational для стандартов вашей отрасли
  • Использовать Rational Method Composer для применения и модификации методик в отраслевых решениях
  • Использовать шаблоны процессов для создания элементов работ в Rational Team Concert с целью развертывания определенных процессов
  • Переходить от шаблонов процессов к методикам
  • Определять терминологию, связанную с методиками
  • Загружать материалы в исходном виде или в виде опубликованного Web-сайта.

Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=35773