Программная инженерия
.pdfЛекция 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