Возможные организационные структуры сопровождения
Сопровождение ПО - совокупность действий по обеспечению работы ПО, а также по внесению изменений в случае обнаружения ошибок в процессе эксплуатации, по адаптации ПО к новой среде функционирования, а также по повышению производительности или улучшению других характеристик ПО. В связи с решением проблемы 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г.) предложил рассматривать сопровождение как эволюционную разработку программных систем, поскольку сданная в эксплуатацию система не всегда является полностью завершенной, ее надо изменять в течение срока эксплуатации. В результате программная система становится более сложной и плохо управляемой, возникает проблема уменьшения ее сложности. К технологиям эволюции ПО относятся реинженерия, реверсная инженерия и рефакторинг.
Реинженерия - это усовершенствование устаревшего ПО путем его реорганизации или реструктуризации, а также перепрограммированием отдельных элементов или настройки параметров на другую платформу или среду выполнения с сохранением удобства его сопровождения.
Реверсная инженерия состоит в восстановлении спецификации (графов вызовов, потоков данных и др.) по полученному коду системы для наблюдения за ней на более высоком уровне. Восстанавливается идентификация программных компонентов и связей между ними для обеспечения перепрограммирования системы к новой форме.
Чаще всего реверсная инженерия применяется после того, как в код ПО было внесено много изменений и оно стало неуправляемым.
Рефакторинг - это реорганизация кода для улучшения характеристик и показателей качества объектно-ориентированных и компонентных программ без изменения их поведения. Этот процесс реализуется путем постепенного изменения отдельных операций над текстами, интерфейсами, средой программирования и выполнения ПО, а также настройки или внесения изменений в инструментальные средства поддержки ПО. Если сохраняется форма существующей системы при изменении, то рефакторинг - один из вариантов реверсной инженерии.
<== предыдущая лекция | | | следующая лекция ==> |
Вопрос 4. Герметичные системы, находящиеся под давлением | | | Требования к содержанию документов |
Дата добавления: 2017-10-09; просмотров: 1047;