Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
60
Добавлен:
01.06.2015
Размер:
1.11 Mб
Скачать

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

(Software engineering)

Учебный курс

очного обучения по специальностям 230105 «Программное обеспечение вычислительной техники и автоматизированных систем»

010503 «Математическое обеспечение и администрирование информационных систем» кафедры

Л Е К Ц И Я 6

МОП ЭВМ

8 семестр

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

программных

систем.

В.В.Хашковский, к.т.н., доц. каф. МОП ЭВМ ТРТУ

Д.П.Калачев, доц., к.т.н., доц. каф. МОП ЭВМ

ТРТУ

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

Содержание раздела. Использованные источники

Динамика развития программ. Эволюция системной архитектуры. Сопровождение программного обеспечения. Задачи сопровождения программы. Расширение возможностей, адаптация и коррекция. Средства и методы сопровождения. Организация сопровождения.

1.Иан Соммервилл. Инженерия программного обеспечения, 6-е издание. Пер. с англ. – М.: Изд. дом «Вильямс», 2002.

2.Орлов С.А. Технологии разработки программного обеспечения: Учебник. – СПб.: Питер, 2002.

3.Гласс Р., Нуазо Р. Сопровождение программного обеспечения: Пер. с англ. – М.: 1983. – 156 с.

4.ГОСТ Р ИСО/МЭК 12207-99 Информационная технология. Процессы жизненного цикла программных средств.

5.ГОСТ Р ИСО/МЭК 14764-2002 Информационная технология. Сопровождение программных средств

6.IEEE Std 1219-1998, IEEE Standard for Software Maintenance (ANSI)

© 2005, В.В.Хашковский, Д.П.Калачев.

2

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

Цели изучения и рассматриваемые вопросы

Лекция посвящена вопросам изменения программного обеспечения и описывает различные способы модификации программных систем, в первую очередь - сопровождение:

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

ориентироваться в принципах сопровождения ПО и понимать причины увеличения расходов на сопровождение систем;

иметь представление о документах и стандартах, регламентирующих процесс сопровождения.

© 2005, В.В.Хашковский, Д.П.Калачев.

3

Модернизация программных систем

Неизбежность модификации

Невозможно создать систему, которая не потребует изменений в будущем. Как только программное обеспечение вводится в

эксплуатацию:

возникают новые требования к системе, обусловленные непрерывным развитием бизнес-процессов и все возрастающими общими требованиями к программным системам;

иногда в системе следует изменить некоторые составляющие в целях повышения производительности или улучшения других

характеристик,

а также для исправления обнаруженных ошибок.

Все это требует дальнейшего развития системы после ее ввода

вэксплуатацию.

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

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

© 2005, В.В.Хашковский, Д.П.Калачев.

4

Модернизация программных систем

Неизбежность модификации

 

Specification

Implemention

Start

 

Release 1

 

Operation

Validation

Release 2

 

Release 3

 

Изменения в ПО служат причиной появления многочисленных

версий системы и ее компонентов. Управление изменениями

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

© 2005, В.В.Хашковский, Д.П.Калачев.

5

Модернизация программных систем

Динамика развития программ. Законы Лемана

Под динамикой развития программ подразумевается исследование изменений в программной системе. Известны "законы" (в сущности, не

законы, а гипотезы) Лемана (Lehman), относящихся к модернизации систем.

Закон

Описание

1.Непрерывнос

Для программ, эксплуатируемых в реальных условиях,

ть

модернизация — это необходимость, иначе их

модерниза

полезность снижается

ции

 

2.Возрастающа

По мере развития программы становятся все более

я

сложными. Для упрощения или сохранения их

сложность

структуры необходимы дополнительные затраты

3.Эволюция

Процесс развития систем саморегулируемый. Такие

больших

характеристики системы, как размер, время между

систем

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

 

регистрируемых ошибок, для каждой версии

 

программы остаются практически неизменными

4.Организацио

Жизненный цикл системы относительно

нная

независимо от средств, выделяемых

стабильнос выделяемых) на ее развитие

© 2005, В.В.Хашковский, Д.П.Калачев.

ть

стабилен, (или не

6

Динамика развития программ

Законы Лемана

1.Из «Непрерывность модернизации» вытекает необходимость постоянного

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

2.«Возрастающая сложность» констатирует нарушение структуры системы после

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

3.«Эволюция больших систем» Все большие системы имеют собственную динамику изменений, которая устанавливается на начальном этапе разработки

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

© 2005, В.В.Хашковский, Д.П.Калачев.

7

Динамика развития программ

Законы Лемана

4.«Организационная стабильность» Крупные проекты по разработке программного обеспечения действуют в режиме "насыщения". Это означает, что изменения ресурсов или персонала оказывает незначительное

влияние на долгосрочное развитие системы. Это, правда, уже указано в третьем законе, который утверждает, что развитие программы не зависит от решений менеджмента. Этим законом также утверждается, что крупные команды программистов неэффективны, так как время, потраченное на общение и внутрикомандные связи, превышает время непосредственной работы над системой.

5.«Стабильность количества» Затрагивает проблему увеличения количества изменений с каждой новой версией программы. Расширение функциональных возможностей системы каждый раз сопровождается новыми

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

© 2005, В.В.Хашковский, Д.П.Калачев.

8

Модернизация программных систем

Стратегии подходов к процессу модернизации

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

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

3.Реинжениринг программного обеспечения. Кардинально отличается от других подходов, так как модернизация предусматривает не внесение каких-то новых компонентов, а наоборот, упрощение системы и удаление из нее всего лишнего. При этом возможны изменения в архитектуре, но без серьезных

переделок.

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

функционирование. Разные стратегии могут также применяться к отдельным частям системы или к отдельным программам наследуемой системы.

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

© 2005, В.В.Хашковский, Д.П.Калачев.

9

Модернизация программных систем

Сопровождение. Определения.

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

возможностей. /ГОСТ 19.004-80 ЕСПД. Термины и определения/

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

охватывает перенос и снятие с эксплуатации программного

продукта. /ГОСТ Р ИСО/МЭК 12207-99 Информационная технология. Процессы жизненного цикла программных средств/

Персонал сопровождения (maintainer): Организация, которая выполняет работы по сопровождению. /ГОСТ Р ИСО/МЭК 12207-99

Информационная технология. Процессы жизненного цикла программных средств/

© 2005, В.В.Хашковский, Д.П.Калачев.

10

Соседние файлы в папке Материал Курса