На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Декабря 2024

Технологии и инструментальные средства создания программного обеспечения: состояние и перспективы

Статья опубликована в выпуске журнала № 2 за 1991 год.
Аннотация:
Abstract:
Автор: Штрик А.А. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 24226
Версия для печати

Размер шрифта:       Шрифт:

Одним из ключевых моментов, определивших развитие индустрии программного обеспечения, можно считать появление в 1984 году "Положения о порядке разработки, производства, поставки и использования программных средств вычислительной техники, а также автоматизированных систем и систем обработки информации", которое позволило создать основы организационно-экономического механизма индустрии программирования [1]. Одновременно осуществлялись формирование, координация и организация выполнения работ по технологии программирования, которые были так определены в научно-технической программе ГКНТ СССР: "Разработать и внедрить комплексы типовых прикладных программных средств общесистемного и функционального назначения, прогрессивную технологию создания программных средств и автоматизированных систем проектирования АСУ". Проводимые в рамках созданной при ГКНТ рабочей группы по технологии программирования анализы и обзоры состояния проблематики создания программного обеспечения подтвердили, что существующие технологии в той или иной мере осуществляют автоматизированную и методическую поддержку методов проектирования и разработки программных средств. Среди них упоминались структурный анализ, структурное проектирование и программирование, структурное и функциональное тестирование, методы нисходящего проектирования и реализации программ, методы диалога и электронной почты, кооперация и разделение труда программистов и т.д.

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

В ноябре 1986 г. ГКНТ СССР провел Вторую Всесоюзную конференцию по технологии программирования [3], на которой были представлены материалы рабочей группы по анализу и обобщению отечественных инструментальных средств по материалам анкетирования разработчиков технологий. Представленные по 75 инструментальным средствам данные привели к следующим выводам [2]:

-    высокая интеллектуальная емкость проводи мых работ;

-    разработанные инструментальные системы во многом функционально дублируют друг друга;

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

-    большинство средств не зарегистрировано в каком-либо фонде алгоритмов и программ;

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

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

Мы пытаемся дать оценку состоянию отечественной индустрии создания ПО спустя почти 7 лет (1983 год) после проведения предыдущего анализа, рассмотрев результаты решения сформулированных тогда проблем и выяснив причины возникновения новых. В качестве преамбулы следует отметить распространение идеи о целесообразности концентрации всех работ по технологии создания программного обеспечения в рамках единого направления, которое в США носит название CASE-техноАогии [4]. Наличие такой тенденции подтверждает успешное проведение в Москве в октябре 1990 года Международной выставки-конференции "Софтул СССР".

Обзор информационных материалов в области индустрии ПО

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

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

добавляются трудности, связанные с проведением модернизаций, адаптации или доработок.

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

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

-    каталоги, выпускаемые при проведении раз личных тематических выставок, ярмарок, пре зентаций;

-    информационные материалы различных науч но-технических мероприятий: семинаров, кон ференций, симпозиумов и т.д.;

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

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

-    функциональное назначение;

-    широта области применения средства: уни версальное назначение, проблемно ориентиро ванное, узко ориентированное;

-    степень интегрированности: автономная про грамма, пакет программ, система (комплекс);

-    тип инструментальной и функциональной ЭВМ: универсальная, мини-ЭВМ, микроЭВМ;

-    основные технические характеристики.

Используя эти показатели, был проведен анализ целого ряда материалов, на основании которого был сформирован Перечень отечественных инструментальных средств. В этом Перечне все инструментальные средства расположены в соответствии с типами инструментальных ЭВМ, на которых они функционируют. Таким образом, весь Перечень разделен на три части по типам ЭВМ: большие или универсальные, мини-ЭВМ и ПЭВМ. Общее количество инструментов, представленных в Перечне, составляет 183 (к концу 1990 года). Инструментальные средства, имеющие одинаковую аббревиатуру, но реализованные на разных классах ЭВМ (большие, средние, малые), рассматривались соответственно как разные средства; реализация на различных типах ЭВМ в пределах одного класса принималась как одно средство.

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

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

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

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

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

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

-    системные программы ОС как средства, имеющие универсальный характер и обширную область применения;

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

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

Последний принцип связан со стремлением представить достаточно объективную картину современного состояния области создания ПО в нашей стране. Поэтому в большинстве случаев в Перечень включались средства, созданные в течение последних нескольких лет, в основном в течение 1985-90 гг. Разработки более ранних лет включались только при их наличии в каталогах ФАП за последние два года. ментальное средство. Эта зависимость дает представление о характере тенденции к унификации процесса разработки ПО. При этом 65%

Анализ отечественных инструментальных средств

Типы ЭВМ, на которых функционируют инструментальные средства. Распределение инструментальных средств по классам ЭВМ выглядит следующим образом: на больших ЭВМ - 69; на средних и мини-ЭВМ - 29; на ПЭВМ - 85. Близость этих цифр по первой и третьей группам косвенно свидетельствует о примерно одинаковом количестве типов ЭВМ каждого из этих классов. Но это может свидетельствовать о нехватке персональных ЭВМ.

На рис. 1 приведена гистограмма распространенности ЭВМ, на которых функционируют инструментальные средства. Общее количество типов ЭВМ, отмеченных при исследовании, -около 25. В этот список в число наиболее распространенных входят средние модели ЕС ЭВМ,' СМ-З и СМ-4, а также ПЭВМ типа "Электроника", ДВК, ЕС 184Х и IBM PC.

На рис. 2 приведена гистограмма, показывающая количество типов ЭВМ, на которых может функционировать одно и то же инструинструмектов ориентировано на один тип ЭВМ, соответственно 35% на два и более. Заметим, что для зарубежных CASE-средств это соотношение 58% и 42%, т.е. за рубежом степень унификации несколько выше, чем у нас. Максимальное отмеченное число ЭВМ, на котором может работать одно и то же средство, составляет 4. Так, в системе "Прометей" работают ЭВМ БЭСМ-6, ЕС ЭВМ, ЕС 1S4X, ДВК; в АСПП СИГМА-2 - ЕС ЭВМ, СМ-4, СМ 1420, ЕС 1841. Однако здесь следует иметь в виду, что далеко не всегда одинаковая аббревиатура инструментальных средств, работающих на разных типах ЭВМ, предполагает совпадение .принципов организации разработки до такой степени, что этот процесс можно считать универсальным.

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

-    общее количество отмеченных организаций - около 50;

-    число профессиональных организаций в стра не явно недостаточно и не превышает пятн-де- сяти;

-    организации, занимающиеся разработкой при кладного ПО, представлены широко: вузы, Ака демия наук, промышленность и т.д.;

Этими организациями из общего числа инструментальных средств в различные ФАП передано 105, что составляет 58%; 35 средств не переданы в Фонд, а по 43 нет данных. К сожалению, отсутствуют данные о тиражности на- ' холящихся в фондах инструментальных средств. или 27%, что свидетельствует о низком уровне культуры программирования. Обращает внимание широкое распространение традиционных языков программирования, тогда как современные языки типа Ада находятся пока в конце этого списка.

На рис. 5 приведены гистограммы, показывающие количество языков программирования, которые поддерживаются одним инструментальным средством. Как и в случае охвата нескольких типов ЭВМ, эта характеристика косвенно свидетельствует о тенденции к унификации процесса разработки ПО для разных прикладных областей, поддерживаемых соответствующими языками. Следует отметить, что имеется группа инструментальных средств, которая не поддерживает ни одного языка: она составляет около 13%. Сюда относятся средства с целевым назначением поддержки вполне определенных этапов жизненного цикла ПО, таких, например, как начальные этапы или управление проектом. Среди остальных систем один язык программирования поддерживает 55 % средств, два и больше - около 20% (по 12% средств нет данных). Для зарубежных CASE-средств соотношение систем, поддерживающих один язык и более одного языка, составляет соответственно 41 и 30%; это означает меньшую степень унифицированности наших технологий и средств. При этом, если поддерживаются два языка, это, как правило, язык высокого уровня и ассемблер.

Языки программирования. На рис. 4 приведена гистограмма распространения языков программирования, поддерживаемых отечественными инструментальными средствами. Общее число языков с учетом их диалектов составило 67 на 144 инструментальных средства. В число трех наиболее часто применяемых входят автокоды специализированных и встроенных ЭВМ, языки группы ФОРТРАН и ПЛ/1. Близко к ним идут Си, Паскаль, ассемблер ЕС; их уверенно догоняет Ада. В отличие от зарубежных CASE-средств, где ассемблеры и автокоды практически отсутствуют, в отечественных средствах они составляют наибольший процент: 39 средств,

Уровень интегрированности. Эта характеристика определяет интеграцию инструментов с позиции объема выполняемых ими функций. В Перечне достаточно четко выделяются три уровня интегрированностн:

-    инструментальный комплекс (система), ориентированный на поддержку, как правило, нескольких стадий жизненного цикла ПО;

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

На рис. 6 приведены гистограммы распределения общего числа инструментов по этим трем уровням и это же распределение для каждого из трех классов ЭВМ. Преобладает количество систем программирования, особенно для П

Первоочередные тематические направления технологии создания программного обеспечения включают:

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

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

Функциональная ориентация инструментальных средств. Это одна из важнейших для пользователей характеристик, которая может иметь широкий диапазон по номенклатуре функций и по степени их детализации. В настоящем анализе принят укрупненный перечень функциональной ориентации, включающий следующие направления:

-    поддержка полного жизненного цикла ПО или значительной его части;

-    поддержка начальных стадий создания про граммного проекта;

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

-    обеспечение работ по управлению проекти рованием;

-    выполнение автономных задач и частных опе раций;

-    поддержка создания проблемно-ориентиро ванного прикладного ПО.

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

Тенденции развития технологий и инструментальных средств

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

-     системный анализ и стратегическое плани рование программных проектов, включая моде лирование предметной области;

-     технико-экономическое прогнозирование и анализ программных проектов, а также плани рование и управление проектированием;

-     структурное проектирование и автомати ческая генерация программ с использованием языков Ада, Си и т.д.

-     прототипирование, повторная и обратная раз работка, повторное использование компонент проекта различных уровней иерархии;

-     применение экспертных систем и баз знаний для автоматизации проектирования программ ного обеспечения;

-     стандартизация в области технологии про граммирования;

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

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

-     создание реально действующего мощного Об щесоюзного центра для определения стратегии и проведения фундаментальных исследований в области индустрии создания ПО (по типу аме риканского SEI);

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

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

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

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

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

-    активное развитие маркетинга и анализа рын ка, поиск острейших потребностей пользовате лей, развитие обратных связей с потребите лями;

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

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

-    поиск и реализация путей оптимального взаимодействия в новых экономических усло виях мощных исследовательских и производст венных Центров и "малых форм деятельности";

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

Внимательный анализ проблем показывает, что основная причина их возникновения связана с отсутствием реально действующих экономических механизмов и стимулов, обеспечивающих эффективное развитие этого направления информатики. При этом следует отметить, что в последние полтора-два года (1989-90 гг.) не происходит сколько-нибудь активной и заметной организационной и финансовой деятельности в этой области информатики. Созданная на съезде народных депутатов комиссия Верховного Совета СССР по транспорту, связи н информатике пока не имеет каких-либо заметных результатов своей деятельности в области программирования, поэтому основная линия проводимых работ по-прежнему определяется принятыми ранее постановлениями и ГЦНТП. Создается впечатление, что на фоне глобальных политических и экономических преобразований в стране проблемы информатики оказались на

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

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

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

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

Список литературы

1.      Макаревич В.П. Развитие программного обеспечения в СССР // Программные продукты и системы. 1988. N1, С. 13 - 19.

2.      Стрижевский B.C., Калиниченко И.М. База моделей ин струментальных средств технологии программирование // Технология программирования: 2-ая Всесоюз. конф. Ч. 2. Киев, 1986. С. 85 - 86.

3.      Технология программирования: 2-ая Всесоюз. жонф. Киев, 1986.

4.      A.S. Fisher. CASE Using Software Development tools. 1988. - J.Wiley & Sons, loc, New York, 1988, 287 pp.


Постоянный адрес статьи:
http://swsys.ru/index.php?id=1325&page=article
Версия для печати
Статья опубликована в выпуске журнала № 2 за 1991 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: