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