Методы и средства инженерии программного обеспечения



         

Сопровождение ПО (Software maintenance) - часть 2


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

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

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

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

 

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

 

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

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

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

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

 

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

 




Содержание  Назад  Вперед