Компонентный подход в программировании

Группа стандартов ISO


  • ISO/IEC 12207 Standard for Information Technology — Software Life Cycle Processes [1] (процессы жизненного цикла ПО, есть его российский аналог ГОСТ Р-1999 [3]).

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

    Самыми крупными элементами являются процессы жизненного цикла ПО (lifecycle processes). Всего выделено 18 процессов, которые объединены в 4 группы.

    Таблица 2.1. Процессы жизненного цикла ПО по ISO 12207

    Основные процессыПоддерживающие процессыОрганизационные процессыАдаптация

    Приобретение ПО;

    Передача ПО (в использование);

    Разработка ПО;

    Эксплуатация ПО;

    Поддержка ПО Документирование;

    Управление конфигурациями;

    Обеспечение качества;

    Верификация;

    Валидация;



    Совместные экспертизы;

    Аудит;

    Разрешение проблем

    Управление проектом;

    Управление инфраструктурой;

    Усовершенствование процессов;

    Управление персоналом

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

    Процессы строятся из отдельных видов деятельности (activities).

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

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


    Каждый вид деятельности нацелен на решение одной или нескольких задач (tasks). Всего определено 224 различные задачи. Например:

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

  • ISO/IEC 15288 Standard for Systems Engineering — System Life Cycle Processes [5] (процессы жизненного цикла систем).

    Отличается от предыдущего нацеленностью на рассмотрение программно-аппаратных систем в целом.

    В данный момент продолжается работа по приведению этого стандарта в соответствие с предыдущим.

    ISO/IEC 15288 предлагает похожую схему рассмотрения жизненного цикла системы в виде набора процессов. Каждый процесс описывается набором его результатов (outcomes), которые достигаются при помощи различных видов деятельности.

    Всего выделено 26 процессов, объединяемых в 5 групп.

    Таблица 2.2. Процессы жизненного цикла систем по ISO 15288Процессы выработки соглашенийПроцессы уровня организацииПроцессы уровня проектаТехнические процессыСпециальные процессы


    Приобретение системы;

    Поставка системы


    Управление окружением;

    Управление инвестициями;

    Управление процессами;

    Управление ресурсами;

    Управление качеством


    Планирование;

    Оценивание;

    Мониторинг;

    Управление рисками;

    Управление конфигурацией;

    Управление информацией;

    Выработка решений


    Определение требований;

    Анализ требований;

    Проектирование архитектуры;

    Реализация;

    Интеграция;

    Верификация;

    Валидация;

    Передача в использование;

    Эксплуатация;

    Поддержка;

    Изъятие из эксплуатации


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

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




    Деятельности в рамках этого процесса следующие.

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


  • ISO/IEC 15504 (SPICE) Standard for Information Technology — Software Process Assessment [7] (оценка процессов разработки и поддержки ПО).

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

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

    Определяются 5 категорий, включающих 35 процессов и 201 вид деятельности:

    Таблица 2.3. Процессы жизненного цикла ПО и систем по ISO 15504Отношения "заказчик-поставщик"Процессы уровня организацииПроцессы уровня проектаИнженерные процессыПроцессы поддержки


    Приобретение ПО;

    Составление контракта;

    Определение нужд заказчика;

    Проведение совместных экспертиз и аудитов;

    Подготовка к передаче;

    Поставка и развертывание;

    Поддержка эксплуатации;

    Предоставление услуг;

    Оценка удовлетворенности заказчиков


    Развитие бизнеса;

    Определение процессов;

    Усовершенствование процессов;

    Обучение;

    Обеспечение переиспользования;

    Обеспечение инструментами;

    Обеспечение среды для работы


    Планирование жизненного цикла;

    Планирование проекта;

    Построение команды;

    Управление требованиями;

    Управление качеством;

    Управление рисками;

    Управление ресурсами и графиком работ;

    Управление подрядчиками


    Выделение системных требований и проектирование системы в целом;

    Выделение требований к ПО;

    Проектирование ПО;

    Реализация, интеграция и тестирование ПО;

    Интеграция и тестирование системы;

    Сопровождение системы и ПО


    Разработка документации;

    Управление конфигурацией;

    Обеспечение качества;

    Разрешение проблем;

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




Содержание раздела