u/text/302/181130/ html Открытые системы, процессы стандартизации и профили стандартов

Вид материалаДокументы

Содержание


Открытый мир программного обеспечения
Открытые системы #08/2006
Подобный материал:
1   2   3   4   5   6   7   8   9   10   ...   22

Открытый мир программного обеспечения


Сергей Кузнецов

ссылка скрыта :: ссылка скрыта
Октябрьский номер журнала Computer (IEEE Computer Society, Vol. 39, No. 10, October 2006) посвящен 60-летнему юбилею IEEE Computer Society, а в качестве темы выбрана инженерия программного обеспечения.

В качестве приглашенных редакторов выступили Дорис Карвер, Бэтон Роудж, Рон Хоулцман, Джим Эйлор и Майк Хинчи. Их вводная заметка называется «60-летний юбилей IEEE Computer Society».

IEEE Computer Society отмечает еще две юбилейные даты: 40-летие журнала Computer и 30-летие конференции по программной инженерии Software Engineering Workshop. При поддержке Computer Society в 2006 году был проведен конкурс по истории компьютеров (IEEE Computer Society 60th Anniversary History Competition, ссылка скрыта), в котором победила российская команда из Московского государственного технологического университета (МАТИ), представившая сайт «Русские счеты» (ссылка скрыта).

Журнал Computer посвятил 60-летию сообщества свой январский номер, содержащий обзор основных достижений в области компьютерной науки и анализ ближайших перспектив, а также данный выпуск. В журнале появилась колонка In Our Time, которую ведет главный редактор журнала IEEE Annals of the History of Computing Дэвид Алан Грайер.

Краткая история сообщества такова. Возглавляемый Джоном фон Нейманом Комитет научно-исследовательского совета по высокоскоростным вычислительным устройствам основал специальное издание Mathematical Tables and Other Aids to Computation для публикации технических статей о компьютерах. Это и привело к созданию двух новых организаций, ставших в дальнейшем основой Computer Society, — Комитета по крупным вычислительным устройствам Института инженеров по электротехнике (Large-Scale Computing Devices Committee of the American Institute of Electrical Engineers, AIEE, 1946), а также Профессиональной группы по электронным компьютерам (Professional Group on Electronic Computers, PGEC), образованной Институтом инженеров по радиотехнике (Institute of Radio Engineers, IRE, 1948). В 1963 году AIEE и IRE объединились в Институт инженеров по электротехнике и электронике (Institute of Electrical and Electronics Engineers, IEEE), а PGEG была преобразована в Профессиональную техническую группу по электронным компьютерам (Professional Technical Group on Electronic Computers). Был создан административный комитет, включающий представителей обеих групп, а в 1964 году они объединились в IEEE Computer Group.

В июле 1966 года вышел первый номер журнала Computer Group News, для поддержки издания которого было образовано административное подразделение. Так Computer Group стала первой группой в IEEE, у которой появились штатные оплачиваемые работники, что способствовало дальнейшему развитию ассоциации. В 1971 году Computer Group была переименована в IEEE Computer Society, в 1972-м журнал Computer Group News переименовали в Computer, а с 1973-го он стал издаваться ежемесячно.

Конференция NASA/IEEE Software Engineering Workshop в этом году отмечает 30-летний юбилей. Первые 25 лет конференция (ссылка скрыта) проводилась исключительно NASA, но в последние пять лет ее поддерживает и IEEE.

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

Первая статья, озаглавленная «Кроссплаформенная разработка: программное обеспечение, которого хватает надолго» (Cross-Platform Development: Software that Lasts), представлена Джудит Бишоп (Judith Bishop) и Найджелом Хорспулом (Nigel Horspool). Греческому философу Гераклиту приписывают высказывание «Постоянно только изменение»; эту знаменитую фразу следовало бы высечь на стене храма программной инженерии. Основной практической задачей является создание систем, устойчивых к непредсказуемым изменениям требований. Для налаживания процесса управления требованиями надо ответить на трудные вопросы. Что происходит с программным обеспечением при смене аппаратных средств? Каким образом небольшая софтверная компания может разработать программное обеспечение для различных платформ, расширяя за счет этого свою клиентскую базу и повышая доходность? Как полагают авторы, ответ на оба этих вопроса кроется в обеспечении высокого уровня архитектурной независимости программного обеспечения.

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

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

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

Открытые системы #08/2006


ссылка скрыта