Липаев В.В. Программная инженерия
.pdfЛекция 17. Документирование программных средств
работ и для использования на следующем этапе или при завершении проек та ПС.
Менедлсер программного проекта должен отвечать за проведение оценок программных продуктов, документов и планов: на соответствие принципам, методологии и технологии управления проектом и докумен тированием; в части удовлетворения их установленным требованиям до говора с заказчиком. Необходимыми компонентами успешной реализации программных проектов являются периодические анализы и оценки хода выполнения и завершения этапов и заданий на документирование.
Планирование качества документов в ряде стандартов принято от делять от планов непосредственного управления процессом создания ком плекса программ. Для реализации планов качественного документирова ния должны быть созданы регламентирующие документы, охватывающие:
—процессы создания документов, отражающих качество программ ного продукта;
—обязанности и ответственность специалистов за качество конкрет ных документов;
—используемые ресурсы, обеспечивающие создание документов вы сокого качества;
—требования к качеству конкретных документов и способы его кон
троля.
Реальные ограничения ресурсов, используемых в процессе разработ ки, квалификация специалистов, изменения внешней среды и требований заказчика объективно приводят к отклонениям реализации плана доку ментирования от предполагавшегося. Величина таких отклонений в зна чительной степени зависит от принятой технологии разработки, от уровня
ихарактеристик средств разработки, а также от средств автоматизации создания программ. Для своевременного обнаружения отклонений от пла на документирования необходимо регулярно регистрировать результаты выполненных работ и их характеристики качества. Для реализации таких измерений целесообразно предусмотреть и согласовать с заказчиком спе циальный документ, регламентирующий правила корректировки плана обеспечения качества ПС, а также состава и содержания поддерживающей его документации.
Адаптация номенклатуры и содержания документов ПС к осо бенностям системы и пользователей может базироваться на выборе
570
17.3. Планирование документирования проектов сложных программных средств
ПОДХОДЯЩИХ шаблонов из набора документов. В процессе адаптации со става и содержания документов должны быть учтены особенности пользо вателей, поддерживающего персонала, руководителей контракта, потен циальных покупателей. Процессы, работы, шаблоны и задачи ЖЦ должны селектироваться и включать в себя перечень документов, которые обяза
тельно нужно разработать, и информацию о персональной ответственности за них. Выбранные процессы, работы и задачи, не обеспечи ваемые конкретными документами, следует оговаривать в самом контрак те и утвержденном ЖЦ ПС. При адаптации документирования ПС необходимо также учитывать особенности проекта: стоимость, планиро вание, производительность специалистов, размеры проекта и интерфейс с человеком-пользователем. Все исходные данные и решения по адаптации номенклатуры, структуры и содержания документов должны быть доку ментированы и утверждены руководством проекта вместе с обоснованием их целесообразности.
Для реализации на практике требований и планов документирования в жизненном цикле программных средств необходимы организационные мероприятия, гарантирующие участникам проектов определенную куль туру, дисциплину разработки и применения документов. Такая органи зационная система должна обеспечивать специалистам разной квалифика ции и специализации возможность взаимодействия при решении требуе мых комплексных задач для накопления, хранения и обмена упорядоченной информацией о состоянии и изменениях компонентов проекта. Формали зованная в документах информация должна повышать ответственность специалистов за корректность ее содержания, оперативность формирова ния и изменения, качество процессов, трансформации и реализации в жиз ненном цикле ПС.
Для этого в каждом проекте комплекса программ должен быть орга низован регламентированный процесс документооборота, обеспечива ющий для коллектива специалистов единую среду разработки, изменения и утверждения документов, адекватных реальному содержанию объектно го кода программ и текстовых данных файлов ПС. Процесс организации и технологического обеспечения документооборота должен быть ориенти рован на слаженную, коллективную работу различных профессионалов, объединенных единой целью создания требуемого заказчиком комплекса
571
Лекция 17. Документирование программных средств
программ с заданными функциями и высоким качеством документации. Каждый участник проекта в соответствии со своими функциональными обязанностями должен иметь доступ к необходимой для него корректной информации и ограничен возможностями обращения к несанкциониро ванным для него данным (см. табл. 16.1). Должны быть упорядочены деловые коммуникации между специалистами разных категорий, управле ние динамическими процессами изменений и транспортировки докумен тов между подсистемами документооборота.
Первоначально должен быть разработан проект архитектуры сис темы документооборота и руководство по ее применению, настроена выбранная СУБД на управление взаимодействующими подсистемами до кументооборота, с соответствующими комплектами выбранных шаблонов документов, с учетом класса и масштаба предполагаемого ЖЦ ПС (см. лекцию 16, п. 16.3). Шаблоны подсистем документооборота должны по этапно заполняться реальными данными проекта от заказчика и разра ботчиков соответствующих квалификаций и контролироваться менедже рами проекта. При этом следует управлять динамикой процессов реализа ции процедур документооборота, регистрировать реальное использование ресурсов специалистов, текущее время выполнения процедур процессов ЖЦ ПС и оформления документов в подсистемах. В реальных проектах ПС возможны отклонения от такой линейной схемы двух типов:
—прерывание процессов документооборота и прекращения всей раз работки после промежуточных этапов системного, предварительного или детального проектирования вследствие недостаточности ресурсов для его полной реализации или вследствие отказа заказчика продолжать данный проект при появлении альтернативного варианта программного продукта;
—итерационный возврат на предшествующие подсистемы докумен тооборота, а также на их компоненты и шаблоны для корректировки и уточнения, обусловленные изменениями компонентов ПС.
При наличии адекватных прототипов и ряда детальных специфика ций требований, для создания новой базовой версии программного про дукта может отсутствовать необходимость ее системного, предваритель ного или детального проектирования, а разработка и тестирование новых программных компонентов выполняться в процессе расширения функций предшествовавшей базовой версии. Тем самым процессы и руководства
572
17.3. Планирование документирования проектов сложных программных средств
документооборота при развитии и совершенствовании версий ПС могут формализоваться, начиная с некоторых промежуточных этапов жизненно го цикла комплекса программ.
В состав базовых версий программного продукта входит седьмая
подсистема документооборота и комплект документов пользовате лей (см. таблицу 17.7). Этот комплект и содержание документов также следует адаптировать в соответствии с требованиями и характеристиками проекта. В системах реального времени в ряде случаев могут отсутство вать документы административного управления, а также сокращены в шаб лонах требования и функции оперативных пользователей. В комплексах программ административных систем может доминировать документообо рот администраторов, действующих совместно с оперативными пользова телями при реализации основных функций программного продукта. В не которых автоматизированных системах реального времени программный продукт является органическим компонентом системы управления и внеш ней среды, и эксплуатационная документация должна отражать в основ ном контрольные функции, инсталляцию и оценки целостности функцио нирования программного продукта в системе.
На базе стандартов, представленных в Приложении 1, с учетом ряда публикаций и нормативных документов, созданы и представлены ниже семь таблиц, отражающих состав комплекта технологических и эксплу
атационных документов жизненного цикла базовой версии слолсного программного средства реального времени, создаваемого «с нуля». По ряду работ (например, программирование компонентов) в ЖЦ ПС реко мендуется использовать специфические документы, детально регламенти рующие содержание и применение определенных технологических проце дур в соответствии с инструкциями использования инструментальных средств. Детальную структуру каждого документа целесообразно уточ нять менеджерам предприятия или проекта, в соответствии с их традиция ми, используемой технологией и особенностями проектируемого программ ного продукта. Формализованная структура и типовое содержание каждо го документа должны позволять контролировать результаты и качество выполненных работ.
Представленный в таблицах 17.1—17.7 перечень документов в ре альных проектах может варьироваться в зависимости от класса, масштаба
573
Лекция 17. Документирование программных средств
и характеристик ЖЦ программного средства. Наиболее сложному случаю разработки крупномасштабных критических ПС реального времени высо кого качества соответствует номенклатура и детализация всего комплекта представленных документов. Для каждого этапа жизненного цикла выде лены три уровня сложности проектов ПС: особо сложные (свыше 200 тысяч строк — крупные), средние по масштабу (свыше 50 тысяч строк — средние) и небольшие проекты программных средств (малые). Рекомендуй емые для таких проектов документы в таблицах отмечены знаком +. Некоторые документы целесообразно применять факультативно, или с со кращением и упрощением содержания, что отмечено знаками + -. Выде ленные три перечня документов целесообразно использовать как типовые, базовые, при адаптации и формировании состава и содержания докумен тов в конкретных проектах, с учетом их особенностей, масштаба и харак теристик.
Таблица 17.1
Документы предварительных требований, спецификаций и ресурсов для разработки программного средства
№ |
Документы |
1.1Интервью заказчиков и пользователей о проблемах и целях создания программного продукта
1.2Результаты обследования и описание системы
ицелей разработки комплекса программ
1.3Технико-экономическое обоснование проекта программного средства
1.4Концепция и основные предложения по созданию программного средства
1.5Предварительный укрупненный план проектирования и разработки версии программного средства
1.6Системный проект, общее описание программного средства и среды разработки для согласования между заказчиком и разработчиком
1.7Техническое задание на предварительное (детальное) проектирование программного средства
Масштаб проекта Крупный Средний Малый
++
-ь |
+ |
+ |
- |
+ |
+ |
+ |
- |
++
++ -
++
++ +
574
17.3. Планирование документирования проектов сложных программных средств
Таблица 17.2
Документы проектирования и выбора характеристик качества программного средства
№ |
Документы |
Масштаб проекта |
||
Крупный |
Средний Малый |
|||
|
|
2.1Стандарты и ограничения на процессы проек тирования программного средства
2.2Спецификация требований к системе и к ком плексу программ
2.3Предварительное описание и контроль согла сованности требований компонентов про граммного средства
2.4Описание функционирования программного средства, взаимодействия с объектами внеш ней среды и человеко-машинного диалога
2.5Описания алгоритмов компонентов (модулей) программного средства
2.6Описание информационного обеспечения про граммного средства и системы управления базами данных
2.7Требования к характеристикам качества про граммного средства
2.8Пояснительная записка к предварительному или детальному проекту программного сред ства
2.9Описание концепции технологии автоматизи рованного проектирования программного средства
2.10План и поддерживающее его Руководство по документированию жизненного цикла программного средства
2.11Ведомость предварительного или детального проекта программного средства
++
++
+ |
+ |
- |
+ |
- |
+ |
+ |
- |
+ |
- |
++ -
+ |
+ |
+ - |
+ |
+ - |
4 - - |
+ |
+ |
+ |
++ -
+ |
+ |
- |
+ - |
+ |
+ |
- |
|
575
Лекция 17. Документирование программных средств
Таблица 17.3
Документы процессов разработки и программирования компонентов программных средств
№ |
Документы |
3.1План разработки компонентов про граммного средства
3.2План обеспечения качества компонен тов программного средства
3.3Стандарты кодирования компонентов программного средства
3.4Руководство по программированию компонентов комплекса программ
3.5Документация на разработанный функциональный программный ком понент или модуль программного средства
Масштаб проекта Крупный Средний Малый
+ |
+ |
+ |
+-н-
+ |
+ |
- ь - |
+ |
+ |
+ |
++ +
Таблица 17.4
|
Документы верификации и тестирования компонентов |
||
|
программных средств |
||
№ |
Документы |
Масштаб проекта |
|
Крупный Средний Малый |
|||
|
|
4.1Состав базовых документов, регламен
тирующих верификацию и тестирова |
+ |
+ - |
ние программных компонентов |
|
|
4.2Исходные данные для верификации
программных компонентов |
+ |
+ - |
4.3 |
Результаты верификации корректности |
+ |
+ - |
|
|
взаимодействия компонентов в составе |
+ - |
||
|
программного средства |
|
|
|
4.4Исходные данные для тестирования
|
компонентов |
|
+ |
+ |
+ |
4.5 |
Организация, подготовка тестирования |
+ |
|
|
|
|
и обеспечение качества |
компонентов |
+ - |
+ - |
|
4.6 |
Сценарии тестирования и специфика |
+ |
+ |
+ |
|
|
ции тестов для каждого |
компонента |
|||
4.7 |
План тестирования программного ком |
+ |
+ |
+ |
|
|
понента |
|
|||
4.8 |
Отчет 0 результатах верификации и |
|
|
+ |
|
|
тестирования компонентов |
-f |
-f |
576
17.3. Планирование документирования проектов сложных программных средств
Окончание табл. 17.4
№ |
Документы |
Масштаб проекта |
|
||
Крупный |
Средний |
Малый |
|||
|
|
4.9Методика комплексирования фунцио-
нальных компонентов |
+ |
+ - |
4.10Оценка реализации комплексирования
функциональных компонентов ком |
+ |
+ - |
плексов программ |
|
|
Таблица 17.5
Документы квалификационного тестирования, испытаний
и оценивания качества программных продуктов
Документы
5.1Методика генерации тестов, имитирующих внешнюю среду и обработку результатов квалификационного тестирования
5.2Методика применения проблемно-ориенти рованной системы квалификационного тес тирования и испытаний комплексов про грамм
5.3Методика, содержание и сценарии квалифи кационного тестирования и испытаний про граммных средств
5.4Программа испытаний комплекса программ
5.5Методики проведения испытаний комплек са программ по отдельным характеристикам качества
5.6Протоколы по результатам испытаний функциональных компонентов и/или ком плекса программ
5.7Итоговый отчет результатов разработки программного продукта
5.8Акт завершения работ по проекту про граммного продукта
5.9Акт приемки программного продукта в про мышленную эксплуатацию
Масштаб проекта Крупный Средний Малый
+ |
+ |
- |
+ - |
i |
|
+ - |
+ |
- |
|
|
|
+ |
+ |
|
+ |
- |
|
+ |
+ |
|
+ |
|
|
+ |
+ |
|
+ |
|
|
+ |
+ |
|
+ |
- |
|
+ |
+ |
|
+ |
|
1 |
+ |
+ |
|
+ - |
1 |
|
+ |
+ |
- |
+ - |
1 |
577
Лекция 17. Документирование программных средств
Таблица 17.6
|
Документы сопровождения и конфигурационного управления |
||
|
версиями программного продукта |
||
№ |
Документы |
Масштаб проекта |
|
Крупный Средний Малый |
|||
|
|
6.1Описание среды жизненного цикла и конфи
гурации программного средства |
+ |
+ |
+ - |
6.2План сопровождения версий
программного п])одукта |
+ |
+ |
+ - |
6.3План управления конфигурацией программно
го продукта |
+ |
+ |
+ - |
6.4Программа управления конфигурацией про
граммного продукта |
+ |
+ |
+ - |
6.5Отчеты пользователей о выявленных дефектах и предложениях по корректировке комплекса
|
программ |
+ |
+ |
+ |
6.6 |
Описание выявленных дефектов и предложе |
|
|
|
|
ний по совершенствованию функций версии |
ч- |
+ |
+ |
|
программного продукта |
|||
6.7 |
Описание подготовленных и утвержденных |
|
|
|
|
корректировок и обобщенных характеристик |
+ |
+ |
+ |
|
новой базовой версии программного продукта |
6.8Извещение пользователям о выпуске новой версии программного продукта и/или о пре
|
кращении сопровождения предшествующей |
+ |
|
|
|
|
версии |
+ |
- |
+ - |
|
6.9 |
Описание новой базовой версии программного |
+ |
+ |
|
+ |
|
продукта |
|
|||
6.10 |
План передачи и внедрения новой базовой |
+ |
+ - |
|
|
|
версии программного продукта пользователям |
|
|||
6.11 |
Отчет 0 результатах эксплуатации снятой с |
|
|
|
|
|
сопровождения версии программного продук |
+ |
|
|
|
|
та и ее архивации |
+ |
- |
|
|
6.12 |
Отчет 0 результатах тиражирования базовых |
|
|
|
|
|
версий, конфигурациях и параметрах пользо |
+ |
|
|
|
|
вательских версий программного продукта |
+ |
- |
|
578
17.3. Планирование документирования проектов сложных программных средств
Таблица 17.7
Документы процессов эксплуатации программных продуктов
№ |
Документы |
7.1Общее описание системы, в которой ис пользуется программный продукт
7.2Общие требования к формированию поль зовательской документации программных продуктов
7.3Описание административного управления программными продуктами системы
7.4Руководство системного администратора программного продукта
7.5Общее описание руководства пользовате лей программного продукта
7.6Руководство оперативного пользователя программного продукта
7.7Инструкция по формированию и ведению информации базы данных
7.8Паспорт на программный продукт
7.9Пользовательская документация на ком мерческие пакеты — закрытые коробки программных средств
7.10Руководство по подготовке документов и обучению специалистов применению про граммного продукта
Масштаб проекта Крупный Средний Малый
+ |
+ |
+ - |
+ |
+ |
+ - |
+ |
+ - |
+ - |
+ |
4 - - |
+ - |
+ |
+ - |
+ - |
+ |
+ |
+ |
+ |
+ - |
+ - |
+ |
+ |
+ |
-f |
+ - |
+ - |