Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Программная инженерия

.pdf
Скачиваний:
1310
Добавлен:
01.05.2014
Размер:
10.14 Mб
Скачать

Лекция 6. Разработка требований к программным средствам

Спецификация требований к системе и к комплексу программ на этапе детального проектирования:

требования проекта системы к комплексу программ, как к целому

вобщей архитектуре системы;

требования к унификации интерфейсов и базы данных комплекса программ;

требования и обоснование выбора проектных решений уровня сис­ темы, состава компонентов системы, описание функций системы и ПС с точки зрения пользователя;

спецификация требований верхнего уровня комплекса программ, производные требования к компонентам ПС и требования к интерфейсам между системными компонентами, элементами конфигурации ПС и аппа­ ратуры;

описание распределения системных требований по компонентам ПС с учетом требований, которые обеспечивают заданные характеристики качества;

требования к архитектуре системы, содержащей идентификацию и функции компонентов системы, их назначение, статус разработки, аппа­ ратные и программные ресурсы;

требования совместного целостного функционирования компонен­ тов ПС, описание и характеристики их динамических связей;

требования анализа трассируемости функций компонентов про­ граммного средства к требованиям проекта системы;

требования для системы или/и подсистем и методы, которые долж­ ны быть использованы для гарантии того, что каждое требование к комп­ лексу программ будет выполнено и прослеживаемо к конкретным требо­ ваниям системы:

• к режимам работы;

• к производительности системы;

• к внешнему и пользовательскому интерфейсу системы;

• к внутреннему интерфейсу компонентов и к внутренним данным системы;

• по возможности адаптации ПС к внешней среде;

• по обеспечению безопасности системы, ПС и внешней среды;

• по обеспечению защиты, безопасности и секретности данных;

180

6.3.Структура основных документов, отражающих требования к программным средствам

ПО ограничениям доступных ресурсов проекта ПС;

по обучению и уровню квалификации персонала;

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

Представленный состав спецификации требований на этапе детально­ го проектирования может использоваться как компонент для уточнения технического задания и контракта с заказчиком на проект ЖЦ ПС и слу­ жить базой для формирования комплекса отчетных требований, утвержда­ емых и проверяемых заказчиком при приемке готового программного про­ дукта. Состав стандартизированных характеристик качества программных средств и процессы выбора требований к ним в конкретных проектах представлены в лекциях 11 и 12. Эти требования должны быть отдельным, обязательным разделом в общей спецификации требований, итерационно формируемыми на этапах концепции и проектирования ПС и контролиру­ емыми при испытаниях программного продукта.

Л Е К Ц И Я 7

ПЛАНИРОВАНИЕ ЖИЗНЕННОГО ЦИКЛА ПРОГРАММНЫХ СРЕДСТВ

7.1. Организация планирования жизненного цикла сложных программных средств

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

установление графиков своевременного решения частных задач и всего ПС;

оценки необходимых трудозатрат на задачи и проект в целом;

определение ресурсов, необходимых для выполнения задач и про­

екта;

распределение задач по исполнителям;

определение обязанностей исполнителей;

определение критических ситуаций, связанных с задачами или про­ цессами ЖЦ ПС;

182

7.1.Организация планирования жизненного цикла сложных программных средств

установление используемых в процессах ЖЦ ПС критериев управ­ ления качеством;

определение затрат, связанных с реализацией каждого процесса;

обеспечение условий и определение инфраструктуры выполнения процессов ЖЦ ПС.

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

стоимость реализации соответствующих процессов;

инфраструктуру обеспечения реализации процессов;

потребности в ресурсах, включая соответствующее управление и контроль;

оценку и контроль качества реализации процессов;

управление риском результатов процессов;

обеспечение среды программной инженерии проекта ПС;

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

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

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

183

Лекция 7. Планирование жизненного цикла программных средств

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

В стандарте ISO 15504 расширены, детализированы задачи и виды деятельности, которые следует отражать в плане управления проектом ПС:

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

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

иограничений;

оценить варианты достижения целей проекта и определить, на основе анализа рисков, какая стратегия целесообразна;

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

выявить и выбрать элементы человеческих и материальных ресур­ сов, необходимые для обеспечения и реализации стратегии проекта;

установить график (исполнители, сроки, ресурсы) выполнения про­ екта, основываясь на распределении работ, оценках и элементах инфра­ структуры;

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

идентифицировать интерфейсы между элементами проекта, а так­ же с другими проектами и организационными единицами системы;

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

184

7.1. Организация планирования жизненного цикла сложных программных средств

тупны лицам, вовлеченным в проект, обеспечить публикацию планов для специалистов, к которым они относятся;

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

Поставщик-разработчик ПС должен подготовить планы по калсдому виду деятельности. Следует установить и поддерживать в рабочем со­ стоянии документированные процедуры, гарантирующие разработку про­ граммного продукта в соответствии с заданными требованиями и согласно плану развития ЖЦ. Такие планы должны описывать виды деятельности или содержать ссылки на разделы стандартов и определять ответствен­ ность за их осуществление.

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

роли и обязанности соответствующих субъектов проекта;

подлежащие выполнению работы и задачи;

перечень всех проектных результатов (продуктов), подлежащих поставке и определенных в структуре классификации работ;

критерии завершения соответствующей деятельности, работ, задач;

состав окончательных отчетных документов;

отчетные документы по стоимости и графикам проведения работ;

содержание средств организации работ по управлению, выпуску продукта и/или синхронизации работ;

185

Лекция 7. Планирование жизненного цикла программных средств

периодичность и средства выдачи отчетных документов;

отчетные материалы по проблемам-дефектам или выполнению де­ ятельности;

требования к ресурсам и их наличие.

Стандартами ISO 16326 и ISO 90003 рекомендуется в процессе пла­ нирования ЖЦ ПС подготовить и утвердить содержание следующих

планов (рис. 7.1):

План обеспечения и реализации жизненного цикла программного средства

План разработки компонентов и программного средства в целом

План верификации и тестирования компонентов и программного средства в целом

План интеграции компонентов в версии программного продукта

План сопровождения и управления конфигурацией программного средства

План тиражирования, адаптации и внедрения программного продукта

План документирования процессов и результатов жизненного цикла программного средства

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

План подготовки и обучения пользователей применению программного продукта

План обслуживания пользователей при эксплуатации программного продукта

План организации переноса компонентов и версий программного продукта на иные платформы

Рис. 7.1

186

7.1.Организация планирования жизненного цикла сложных программных средств

разработки компонентов и всего ЖЦ ПС, который должен опреде­ лять используемую модель жизненного цикла комплекса программ и его компонентов, а также внешнюю технологическую среду проектирования;

верификации и тестирования, который определяет методы и сред­ ства, способные удовлетворить последовательные цели процесса устране­ ния дефектов и контроля качества ПС и его компонентов;

реализации процессов интеграции компонентов в версии комплек­ са программ;

сопровождения и управления конфигурацией ПС, который должен устанавливать методы и средства, при помощи которых будут удовлетво­ ряться цели процесса совершенствования, управления изменениями и кор­ ректировками программ;

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

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

управления и обеспечения качества ПС, определяющих методы и средства, при помощи которых будет гарантировано требуемое качество комплекса программ.

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

управления жизненным циклом программного проекта и обеспечивать его реализацию; они могут быть оформлены в виде отдельных планов или включены в общий план. Планы должны быть согласованы (утверждены) менеджером проекта программного средства и подлежат контролю при внесении изменений в проект. Менеджером-администратором планирова­ ния программного средства должна быть определена отчетность по вспо­ могательным процессам (либо непосредственная, либо через управление организацией). Должны быть представлены отчеты о проблемах-дефектах и исключительных ситуациях для анализа их влияния на стоимость проек­ та, график работ по нему, область управления проектом и его качество. Должен быть определен механизм для разрешения или преодоления конф­ ликтных ситуаций между администратором планирования ЖЦ программ­ ного средства и администраторами вспомогательных процессов на соот­ ветствующем уровне их полномочий по организационному управлению.

187

Лекция 7. Планирование жизненного цикла программных средств

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

7.2. Задачи планов для обеспечения жизненного цикла сложных программных средств

План управления жизненным циклом ПС включает регламентиро­ ванные стандартами процедуры анализа, проверки и оценки состояния проекта для реализации организационных и управляющих воздействий на компоненты и ПС в целом. При этом должны использоваться техническое задание и спецификации требований, в которых определяющую роль иг­ рают согласованные с заказчиком входные и выходные данные проекта ПС. Потребитель-заказчик может иметь определенные обязанности со­ гласно контракту при формировании ЖЦ ПС. Особого внимания потреби­ теля требует сотрудничество с разработчиком-поставщиком, своевре­ менное предоставление ему нужной информации и решение оперативных вопросов для обеспечения качества ПС. Если представитель заказчика обладает соответствующей компетентностью, то он может представлять конечного пользователя продукта, а также административное руководство проектом и иметь полномочия заниматься контрактными вопросами. К ним относятся определение и уточнение требований спецификаций потре­ бителя к поставщику и к показателям качества ПС, одобрение и утвержде­ ние предложений разработчика, а также заключение дополнительных со­ глашений с поставщиком. Целесообразно планировать либо регулярно про­ водить разработчиком и заказчиком совместные анализы состояния

188

7.2. Задачи планов для обеспечения жизненного цикла сложных программных средств

проекта либо такие анализы в случае значительных проектных событий, чтобы охватить:

состояние и развитие выполняемых поставщиком работ по разра­ ботке и модификации программного средства;

соответствие результатов разработки, согласованной специфика­ ции требований заказчика;

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

результаты проверок текущего состояния проекта и приемочных испытаний.

План разработки компонентов и ПС в целом (см. рис. 7.1) должен включать назначение, стандарты и описание фрагментов жизненного цик­ ла, которые следует использовать в процессе разработки:

предварительное описание процессов стандартизированного ЖЦ ПС и его компонентов, которые должны использоваться для формирова­ ния конкретного жизненного цикла данного проекта, включая критерии перехода между этапами разработки;

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

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

План верификации и тестирования ПС является предварительным описанием организации процедур тестирования, удовлетворяющих цели достижения заданной корректности программ. Данный план должен ЁКЛЮ- чать:

описание методов, которые будут использоваться на каждом эта­ пе, а также для обеспечения независимости верификации и тестирования;

распределение организационной ответственности внутри процессов тестирования и интерфейсы с другими процессами жизненного цикла ПС;

описания оборудования для анализа и тестирования, инструмен­ тальных средств, а также руководств по применению этих средств и аппа­ ратного тестового оборудования;

189