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

Наследуемые системы (legasy system)

Для приобретения программного обеспечения компании обычно должны выложить немалую сумму. Естественно, чтобы

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

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

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

1.Редко можно найти такую наследуемую систему, которая имеет полное и

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

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

2.Функционирование наследуемой системы тесно связано с деловой

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

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

3.Некоторые встроенные в систему правила, регулирующие область деятельности (например, торгов промышленных отношений) компании, могут

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

бизнеса.

4.Создание новых систем связано с риском, так как новизна системы подразумевает появление непредусмотренных проблем.

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

31

Наследуемые системы

Проблемы модернизации

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

1.Отдельные части системы разрабатывались (модернизировались) в разные моменты времени разными командами программистов - отсутствует единство стиля программирования.

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

3.Документация системы часто бывает устаревшей и не отвечает современ-ным

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

4.Большой объем модернизаций мог оказать разрушительное воздействие на систему и

исказить ее настолько, что она станет практически недоступной для понимания.

5.Устаревшие нефункциональные требования. Система может быть оптимизирована для

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

6.Данные могут содержаться в разных файлах с несовместимыми структурами. Отсюда

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

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

32

Наследуемые системы

Реинжениринг или эволюция системной архитектуры

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

Эволюция системной архитектуры. В процессе сопровождения большинство изменений проводится локализовано и не влияет на архитектуру системы. В частности, начиная с 1980-х годов экономические показатели компьютерных систем изменилась настолько, что стало более выгодно применять распределенные (типа клиент/сервер), а не централизованные (реализованные на мэйнфреймах), системы. А сейчас еще и - трехзвенная архитектура, WEB-ориентированные системы, с реализацией на web только презентационного уровня или построенные на web-сервисах.

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

33

Эволюция системной архитектуры

Переход от централизованной к распределенной

Эволюция системной архитектуры. Основные причины перехода от централизованных к распределенным системам:

1.Стоимость аппаратных средств. Закупка и сопровождение распределенных систем

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

2.Усовершенствование пользовательских интерфейсов. Многие из наследуемых

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

3.Распределенный доступ к системам. Сейчас все больше компаний стараются

децентрализовать рабочие места, что требует децентрализации компьютерных систем. При том необходимо, чтобы компьютерные системы были доступны из разных мест и с

заказного оборудования.

Что то подобное можно придумать для:

переход от двухзвенной к трехзвенной

переход от win-интерфейса к web-интерфейсу

переход к сервис ориентированной архитектуре, базирующийся на web-сервисах

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

34

Реинжениринг программного обеспечения

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

По сравнению с более радикальными подходами к совершенствованию систем реинжениринг имеет два преимущества:

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

2.Снижение затрат. Себестоимость реинжениринга значительно ниже, чем разработка нового программного обеспечения. Приведенные цифры типичны: считается, что реинжениринг в четыре раза дешевле, чем повторная разработка системы.

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

35

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