Группе по информационным технологиям под  руководством Билла Кука есть чем гордиться.  Разработанная ею автоматизированная система  ведения документации  -  самое изысканное из се- тевых приложений, используемых в страховой компании Unum Life Insurance; она может служить образцом для разработки сетевых систем в других областях. Так почему же "усталые кони не грызут в нетерпении удила", спеша использовать выигрыш от повторной используемости кодов, предоставляемых замечательной архитектурой.

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

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

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

Например, одна из групп фирмы Mobil выбрала язык Smalltalk как средство разработки программы анализа рисков, создала правила и коды, так же успешно используемые другими отделами фирмы. "Существуют километры кодов, разработанных с помощью PowerBuilder [корпорации Powersoft], но мне нет от них никакого прока, поскольку в моей организации используется Smalltalk",  -  отметил Дейв Линтикум, руководитель проекта в финансовом отделе этого нефтяного гиганта (Фэрфакс, шт. Вирджиния).

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

"Еще не было случая, чтобы я дал программисту А модуль, написанный программистом Б, и чтобы А не сказал: "Его надо полностью переписать"",  -  заявил Майк Бергман, начальник отдела административной информации и снабжения фирмы Grossman, поставщика строительного оборудования в Брейнтри (шт. Массачусетс). Предприятия не смогут изменить подобные умонастроения, если они не разработают планы премирования и измерения производительности с упором на повторное использование кодов.

ДИСЦИПЛИНА МЫШЛЕНИЯ

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

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

Специалисты по программированию должны регулярно совещаться с теми, кто видит деловую перспективу и в состоянии определить те направления деятельности компании, для которых существенно повторное использование кодов,  -  скажем, торговля или производство. Как только такие "объекты бизнеса" будут определены, их описания необходимо сделать доступными для всех участников проекта.Чтобы помочь в управлении этим процессом, кафедра информационных технологий Флоридского университета (Гейнсвилл) применила созданную фирмой Intersolv среду коллективной разработки Exelerator II. Ее реляционная база данных позволяет хранить записанные на английском языке описания коммерческих процессов совместно с машинными кодами, выполняющими соответствующие действия.

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

ДОСТИЖЕНИЕ ИДЕАЛА

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

"Действительно, повторное использование кодов  -  в будущем",  -  заявил Кук, работающий в фирме Unum (Портленд, шт. Мэн), объясняя, что компании не смогут использовать программы друг друга просто по принципу "включи и работай" до тех пор, пока они не будут существовать в среде ООП.

БЕТ СТЭКПОУЛ