Информирования всех заинтересованных лиц.

На уровне индивидуального запроса, работы по планированию проводятся вместе с проведением анализа влияния.

Конфигурационное управление

Конфигурационное управление является важным элементом процесса сопровождения. В программных проектах необходима специальная деятельность по поддержанию файловых активов проекта в порядке. Она и называется конфигурационным управлением.

Выделяются две основные задачи в конфигурационном управлении – управление версиями и управление сборками [2].

Первое отвечает за управление версиями файлов и выполняется в проекте на основе специальных программных пакетов – средств версионного контроля (Microsoft Visual SourceSafe, IBM ClearCase и др.).

Управление сборками – это автоматизированный процесс трансформации исходных текстов ПО в пакет исполняемых модулей, учитывающий многочисленные настройки проекта, настройки компиляции, и интегрируемый с процессом автоматического тестирования. Эта процедура является средством интеграции проекта, основой его итеративной разработки.

Конфигурационное управление имеет дело с меняющимися в процессе продуктами, состоящими из наборов файлов. Такие продукты принято называть единицами конфигурационного управления: пользовательская документация; проектная документация; исходные тексты ПО; пакеты тестов; инсталляционные пакеты ПО; тестовые отчеты.

У каждой единицы конфигурационного управления должна обладать: структурой – набор файлов; ответственным лицом, кто ее разрабатывает; практикой конфигурационного управления; автоматической процедурой контроля целостности элемента. Элементы конфигурационного управления могут образовывать иерархию.

Качество программного обеспечения

Недостаточно надеяться, что в процессе сопровождения качество программного средства будет повышаться. Для поддержки процесса сопровождения должны планироваться и реализовываться соответствующие процедуры и процессы, направленные на повышение качества. Работы и техники по обеспечению качества, проверке и аттестации, обзору, анализу и оценке, а также аудиту, должны отбираться в контексте взаимодействия и согласования со всеми другими процессами, направленными на достижение желаемого уровня качества. Основываясь на стандарте ISO/IEC 14764, рекомендуется адаптировать соответствующие процессы, техники и активы, относящиеся к разработке программного обеспечения. К ним, например, относятся документация по тестированию и результаты тестов.


Эволюция ПС

Сопровождение можно рассматривать как эволюционную разработку ПС. Поскольку сданная в эксплуатацию система не всегда является полностью завершенной, ее надо изменять в течение срока эксплуатации. В результате ПС становится более сложным и плохо управляемым, возникает проблема уменьшения его сложности. К технологиям эволюции ПС относятся реинженеринг, реверсная инженерия и рефакторинг [8, 10].

Реинженеринг - усовершенствование устаревшего ПС путем его реорганизации, а также перепрограммированием отдельных элементов или настройки параметров на другую платформу или среду выполнения.

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

Реверсная инженерия

Состоит в изучение ПС, восстановлении спецификации (графов вызовов, потоков данных, управления), анализе модульной структуры. Такое действие называется возвратное проектирование - восстановление утраченных знаний о программе только на основе ее текста. Чаще всего реверсная инженерия применяется после того, как в код ПС было внесено много изменений и оно стало неуправляемым. Полезно удалить недостижимые участки кода (в старых программах их объем может достигать 30%), провести реструктуризацию программы (легче понимать стройную иерархическую структуру).

Вопросы:

1. Что такое процесс сопровождения ПС?

2. Какие нормативные документы регламентируют процесс сопровождения?

3. В чем сопровождение ПС похоже на разработку ПС?

4. В чем заключается уникальность работы сопровождения?

5. Перечислите дополнительные работы процесса сопровождения.

6. Какие существуют уровни планирования сопровождения?

7. Как осуществляется планирование версий?

8. Что такое конфигурационное управление?

9. Что такое эволюция ПС?

10. Какие существуют технологии эволюции ПС?

11. Что такое реинжиниринг и рефакторинг?

12. Что такое реверсная инженерия?


ПРИЛОЖЕНИЕ 1

УДК 002:651.7/.78:006.354 Группа Т55