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

"Мы против многократного использования", - говорит Керк Несс, системный инженер из компании Т. Rowe Price Associates. В его фирме с успехом многократно используются лишь стандартные библиотеки подпрограмм. Но на уровне предприятия, где разработчики намерены многократно использовать целые бизнес-модели, "нужно предусмотреть такое количество вещей, что успех вторичного использования просто становится невозможным", - сказал Несс.

"Мы начали работать с объектной технологией, потому что одним из главных ее рекламных лозунгов было многократное использование, - говорит Билл Бедор, директор отдела информационных технологий компании Medtronic. - В теории все выглядело хорошо, но на практике не оправдались даже самые скромные наши ожидания".

Как показал опрос 50 компаний, проведенный в прошлом году фирмой Forrester Research, руководители 74% отделов информационных систем относят многократное использование к главным преимуществам объектной технологии. Почему же на вторичное использование объектов возлагаются такие большие надежды? "Объектная технология через пять лет полностью изменит стиль нашей работы", - сказал Чарльз Нетлз, один из руководителей отдела информационных технологий компании McKenson. - До того как появились объекты, разработчикам приходилось переписывать ПО всякий раз, когда менялась стратегия деятельности фирмы".

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

"Объектная технология появилась пять лет назад. За это время мы научились использовать компоненты вторично", - говорит Андрэ Кассуло, главный системный интегратор компании Florida Power. - Но наибольшего успеха мы добились, повторно используя самые общие для всех приложений вещи, как-то: системы управления печатью, системы генерации отчетов, среды для построения пользовательских интерфейсов. Многократное использование бизнес-обьектов - вещь менее надежная".

"Многократное использование - это когда какой-нибудь Джо рассказывает Брайану о новом классе объектов, только что им, т.е. Джо, разработанном. - говорит Несс. - Все это происходит вовсе не на уровне предприятия".

А почему бы нет? Одна из проблем, по утверждению разработчиков, состоит в следующем. Экранный диалог или отчет для многократного употребления сделать относительно легко. Гораздо труднее создать модель заказчика для использования на всем предприятии, поскольку само понятие "заказчик" может видоизменяться от приложения к приложению. Объекты многократного использования требуют длительной разработки. "Вторичное пользование не может происходить в вакууме. Необходимо провести большую подготовительную работу с тем, чтобы учесть все детали", - говорит Кассуло.

"В процессе анализа разработчику придется четко определить те области, в которых будет использоваться объект", - утверждает Сьюзан Ольшевски, менеджер информационной системы одного из филиалов компании AT&T. - К тому же для того, чтобы люди ощутили реальную пользу от вторичного использования созданных вами объектов, требуется дисциплинированность".

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

Компоненты для многократного использования не нуждаются в тестировании, что позволяет экономить время. "Вы можете считать, что некоторые компоненты вашей системы уже прошли предварительное тестирование, поскольку используете качественные, проверенные модули", - сказала Ольшевски.


Секреты мастерства

Советы по многократному использованию объектных программных модулей

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