Возможные организационные структуры сопровождения




Лекция 72

Сопровождение ПО - совокупность действий по обеспечению работы ПО, а также по внесению изменений в случае обнаружения ошибок в процессе эксплуатации, по адаптации ПО к новой среде функционирования, а также по повышению производительности или улучшению других характеристик ПО. В связи с решением проблемы 2000 года сопровождение стало рассматриваться как более важный процесс, который должны осуществлять разработчики. Новая версия системы должна решать те же самые задачи, иметь план переноса информации в другие обновленные БД и учета стоимости сопровождения. Сопровождение (в соответствии со стандартами ISO/IEC 12207 и ISO/IEC 14764) считается модификацией программного продукта в процессе эксплуатации при условии сохранения целостности продукта.

Область знаний "Сопровождение ПО (Software maintenance)" состоит из следующих разделов:

- основные концепции (Basic Concepts),

- процесс сопровождения (Process Maintenance),

- ключевые вопросы сопровождения ПО (key Issue in Software Maintenance),

- техники сопровождения (Techniques for Maintenance)

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

Основные концепции описывают базовые определения и терминологию, подходы к эволюции и сопровождению ПО, а также к оценке стоимости сопровождения и др.

К основным концепциям можно отнести ЖЦ ПО (стандарт ISO/IEC 12207) и составление документации. Главное назначение этой области знаний состоит в выполнении готовой программной системы, фиксации возникающих ошибок при выполнении, исследовании причин ошибок, анализа необходимости модификации системы в целях устранения ошибок, оценки стоимости работ по проведению изменений функций и системы в целом. Рассматриваются проблемы, связанные с увеличением сложности продукта при большом количестве изменений и методы ее преодоления.

Процесс сопровождения включает: модели процесса сопровождения и планирование деятельности людей, которые проводят запуск ПО, проверку правильности его выполнения и внесения в него изменений. Процесс сопровождения согласно стандарту ISO/IEC 14764 проводится путем:

- корректировки, т.е. изменения продукта для устранения обнаруженных ошибок или нереализованных задач;

- адаптации, т.е. настройки продукта в изменившихся условиях эксплуатации или в новой среде выполнения данного ПО;

- улучшения, т.е. эволюционного изменения продукта для повышения производительности или уровня сопровождения;

- проверки ПО с целью поиска и исправления ошибок, обнаруженных при эксплуатации системы.

 

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

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

 

Рисунок 1 - Привязка организационной структуры к ролевым функциям процесса.

 

В СТАНДАРТЕ ролевые функции в явном виде не вводятся, хотя в тексте использованы термины «заказчик», «разработчик», «сопроводитель», «поставщик», к которым относятся требования по сопровождению ПС. Поэтому при адаптации СТАНДАРТА рекомендуется использовать за основу ролевую структуру, существующую в RUP, дополнив ее функциональными требованиями к ролям из СТАНДАРТА. Например, требования к «сопроводителю» обычно распределяются между такими ролями как «менеджер по сопровождению», «менеджер по управлению требованиями» и «менеджер по конфигурационному управлению». Ключевые вопросы сопровождения ПО. Основными из этих вопросов являются управленческие, измерительные и стоимостные. Сущность управленческих вопросов состоит в контроле ПО в процессе модификации, совершенствовании функций и недопущении снижения производительности системы. Вопросы измерения связаны с оценкой характеристик системы после ее модификации, а также повторного тестирования и оценки показателей качества. Стоимостные вопросы связаны с оценкой затрат на сопровождение ПО в зависимости от его типа, квалификации персонала, платформы и др. Знание этих факторов часто позволяет уменьшить затраты.

Эволюция ПО. Известный специалист в области ПО Дж. Леман (1970г.) предложил рассматривать сопровождение как эволюционную разработку программных систем, поскольку сданная в эксплуатацию система не всегда является полностью завершенной, ее надо изменять в течение срока эксплуатации. В результате программная система становится более сложной и плохо управляемой, возникает проблема уменьшения ее сложности. К технологиям эволюции ПО относятся реинженерия, реверсная инженерия и рефакторинг.

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

Реверсная инженерия состоит в восстановлении спецификации (графов вызовов, потоков данных и др.) по полученному коду системы для наблюдения за ней на более высоком уровне. Восстанавливается идентификация программных компонентов и связей между ними для обеспечения перепрограммирования системы к новой форме.

Чаще всего реверсная инженерия применяется после того, как в код ПО было внесено много изменений и оно стало неуправляемым.

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-12-05 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: