Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Safonov / AMPN_course_11.pptx
Скачиваний:
98
Добавлен:
16.04.2015
Размер:
380.69 Кб
Скачать

Архитектуры и модели программ и знаний

Лекция 11

Сопровождение программ и выпуск программного продукта

Сафонов Владимир Олегович

Профессор кафедры информатики Заведующий лабораторией Java-технологии

(http://polyhimnie.math.spbu.ru/jtl)

Санкт-Петербургский государственный университет

Email: vosafonov@gmail.com

WWW: http://www.vladimirsafonov.org

Сопровождение (maintenance, sustaining)

Наиболее ресурсоемкий этап жизненного цикла

Включает: инсталляцию новых версий продукта,

обучение пользователей и ответы на их вопросы, исправление ошибок, улучшение и развитие продукта

по запросам пользователей (RFE = Request for

Enhancement – Запрос на расширение)

Как правило, ресурсы, отводимые на

сопровождение, слишком малы (“0.25 инженера”)Не следует забывать о том, что продукт умирает,

если он не сопровождается

Сопровождение часто выполняется инженерами,

которые не являются авторами кода первоначальной версии продукта

Плохой стиль и смешение различных стилей

кодирование продукта ухудшает продуктивность работы по его сопровождениюТипичная технологическая проблема при

сопровождении: найти аспект, реализующий

сквозную функциональность, требующую

исправления. Это лишь одна из причин, почему методология АОП столь важна, так как она позволяет решать такие задачи

Сопровождение

программ

Модификация программы после того, как она передана для использования

Сопровождение обычно не включает крупных изменений архитектуры

Изменения реализуются путем добавления новых компонент или модификации существующих

Сопровождение

неизбежно

Требования к системе часто меняются в процессе ее разработки, так как меняется окружение. Именно поэтому готовая система часто оказывается не удовлетворяющей требованиям к ней.

Системы тесно связаны со своим окружением. Когда система инсталлируется в некотором окружении, она изменяет это окружение

Поэтому системы должны сопровождаться, так как они должны сохранять свою полезность

Типы сопровождения

Сопровождение для исправления дефектов

Изменение системы для исправления ее недостатков и несоответствий требованиям

Сопровождения с целью адаптации продукта к новому рабочему окружению

Изменение системы с целью добиться ее работоспособности в другом окружении (в другой ОС, на других типах компьютеров и т.д.), отличном от первоначально предполагавшегося

Сопровождение с целью добавления и модификации функциональности системы

Модификация системы с целью соответствия новым требованиям.

Распределение трудоемкости при сопровождении

Fault repair (17%)

Software

Functionality

addition or

adaptation

modification

(18%)

(65%)

 

Затраты на

сопровождение

Обычно превышают затраты на разработку (в 2 – 100 раз, в зависимости от

программы)

На них влияют как технические, так и организационные факторы

Увеличиваются по мере сопровождения программы.

Сопровождение нарушает структуру программы.

Стоимость сопровождения может увеличиваться при старении программы (использование старых языков, инструментов и др.)

Затраты на разработку и сопровождение

(И. Соммервилл)

 

 

 

 

 

 

 

 

System 1

 

 

 

 

 

 

 

 

 

 

 

System 2

 

 

 

 

 

 

 

 

 

 

 

0

50

100

150

200

250

300

350

400

450

500

$

Development costs

 

Maintenance costs

 

 

 

 

Факторы, влияющие на затраты при сопровождении

Стабильность команды

Затраты на сопровождение уменьшаются, если одни и те же сотрудники занимаются сопровождением данного продукта некоторое

время

Контрактная ответственность

Разработчики системы могут не иметь контрактных обязательств по сопровождению и

поэтому не имеют стимула к проектированию последующих изменений

Квалификация сотрудников

Сотрудники, занимающиеся вопровождением,

часто недостаточно опытны и недостаточно

знают предметную область

Возраст и структура программы

По мере увеличения возраста программ, их структура деградирует, и они становятся все

более сложны для изучения и модификации

Оценка (предсказание) сопровождения

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

иметь наибольшую стоимость сопровождения

Утверждение изменений зависит от

сопровождаемости компоненты, подвергающейся изменениям

Реализация изменений может ухудшить структуру

системы и ее сопровождаемость

Затраты на сопровождение зависят от количества изменений, а количество изменений зависит от

сопровождаемости

Рекомендации: модульная архитектура системы,

повторная используемость ее компонент

Соседние файлы в папке Safonov