Модель зрелости процессов разработки программного обеспечения
Шрифт:
Инженерия разработки программного продукта включает в себя выполнение инженерных задач по созданию и сопровождению ПО с использованием производственного процесса проекта (описанного в группе ключевых процессов «Интегрированное управление разработкой ПО»), а также соответствующих методов и инструментов.
Задачи инженерии разработки ПО включают в себя анализ системных требований, отнесенных к ПО (эти требования описываются в группе ключевых процессов «Управление требованиями»), разработку требований к ПО, разработку
Разрабатывается и проверяется документация, необходимая для выполнения задач разработки (например, документ требований к ПО, документ архитектуры ПО, план и процедуры тестирования). Проверка документации должна подтвердить, что каждая задача использует результаты предшествующих задач, а их последовательное выполнение дает соответствующие результаты (включая задачи эксплуатации и сопровождения ПО). При внесении в проект утвержденных изменений, должны быть пересмотрены промежуточные программные продукты, планы, обязательства и процессы, на которые влияют эти изменения.
Цели
Цель 1. Определение, интеграция и последовательное выполнение задач разработки ПО.
Цель 2. Поддержка взаимной согласованности промежуточных программных продуктов.
Обязательства по выполнению
Обязательство 1. Проект следует документированной организационной политике выполнения операций по разработке ПО.
Эта политика обычно состоит из следующих положений:
1. Операции разработки ПО выполняются в соответствии с производственным процессом проекта.
Практики, связанные с производственными процессами проектов, содержатся в описании Операций № 1 и 2 группы ключевых процессов «Интегрированное управление разработкой ПО».
2. Для создания и сопровождения программных продуктов используются соответствующие методы и инструменты.
3. Планы, задачи и продукты разработки должны отслеживаться до системных требований, отнесенных к ПО. В рамках этих практик системные требования, отнесенные к ПО, называются «установленными требованиями».
Практики, связанные с системными требованиями, отнесенными к ПО, содержатся в группе ключевых процессов «Управление требованиями».
Необходимые предпосылки
Предпосылка 1. Выполнение задач разработки ПО должно быть обеспечено соответствующими ресурсами и финансированием.
1. Задачи разработки должны выполняться квалифицированными сотрудниками.
В число задач входят:
анализ требований
проектирование архитектуры ПО,
составление кода,
тестирование,
поддержка ПО.
2. Задачи разработки обеспечиваются вспомогательными инструментальными средствами.
Примеры общих вспомогательных инструментальных средств:
рабочие станции,
системы управления базами данных,
справочные системы,
графические инструменты,
средства создания интерактивной документации,
текстовые процессоры.
Примеры вспомогательных инструментальных средств для анализа требований к ПО:
инструменты для отслеживания требований,
инструменты для создания спецификаций,
инструменты для создания прототипов,
средства моделирования,
средства эмулирования.
Примеры вспомогательных инструментальных средств для проектирования архитектуры ПО:
инструменты для создания спецификаций,
инструменты для создания прототипов,
средства моделирования,
языки описания архитектуры.
Примеры вспомогательных инструментальных средств для кодирования:
редакторы,
компиляторы,
генераторы перекрестных ссылок,
средства печати.
Примеры вспомогательных инструментальных средств для тестирования ПО:
инструменты управления тестированием,
генераторы тестов,
тестовые драйверы,
тестовые профайлеры,
символьные отладчики,
анализаторы тестового покрытия.
Предпосылка 2. Технический персонал группы разработки ПО должен пройти необходимое обучение для выполнения своих задач.
Технический персонал группы разработки ПО должен пройти обучение в предметной области проекта.
Примеры обучения для выполнения анализа требований к ПО:
принципы анализа требований к ПО;
существующие требования к имеющемуся и поддерживаемому ПО;
навыки, необходимые для сбора информации от конечных пользователей и экспертов в предметной области в целях установления требований к ПО (т. е. выявление требований);
использование инструментов, методов, соглашений и стандартов, применяемых в проекте, для анализа требований к ПО.
Примеры обучения для выполнения проектирования архитектуры ПО:
концепции разработки архитектуры;
существующая архитектура имеющегося и поддерживаемого ПО;
использование инструментов, методов, соглашений и стандартов, применяемых в проекте, для проектирования архитектуры ПО.
Примеры обучения для выполнения кодирования:
применяемые языки программирования;
обзор исходного кода существующих и поддерживаемых продуктов;
использование применяемых в проекте инструментов, методов, соглашений и стандартов для разработки программ; методы тестирования модулей.