Инструментарий технологии программирования

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

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

  • ? средства для создания приложений;
  • ? CASE-технологию (Computer-Aided System Engineering) — методы анализа, проектирования и создания программных систем, предназначенные для автоматизации процессов разработки и реализации информационных систем.

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

  • ? языки и системы программирования;
  • ? инструментальная среда пользователя.

Языки программирования делятся:

  • ? на машинные, воспринимаемые аппаратной частью компьютера (машинные коды);
  • ? машинно-ориентированные (МОЯ), которые отражают структуру конкретного типа компьютера (ассемблеры);
  • ? алгоритмические, которые не зависят от архитектуры компьютера и используются для представления структуры алгоритма: Паскаль, Фортран и др.;
  • ? процедурно-ориентированные, предназначенные для возможности описания программы как совокупности процедур (подпрограмм): C++, Паскаль и др.;
  • ? проблемно-ориентированные, предназначенные для решения задач определенного класса: Лисп, Симула, Fox Base, Fox Pro и др.

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

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

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

Помимо языка ассемблера, который дает возможность использовать все особенности машины и потому может быть применен для решения задач любого типа, существуют языки программирования высокого уровня (ЯВУ), ориентированные на различные классы задач. К ним относятся Фортран, Паскаль, Си и др. Один из самых первых языков высокого уровня — язык Фортран активно используется на персональных компьютерах и применяется главным образом при разработке прикладных систем, ориентированных на научные исследования, автоматизацию проектирования, где уже накоплены обширные стандартные библиотеки программ. Его наиболее популярной версией является Фортран-90, отдельные элементы которого реализованы в Microsoft Fortran, а в полном объеме — в Fortran PowerStation.

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

Язык Си применяется главным образом для создания системных и прикладных программ, в которых скорость работы и объем памяти являются критическими параметрами. Язык Си более точно, чем Паскаль, позволяет программисту учитывать аппаратные особенности ЭВМ. Основными достоинствами языков Паскаль и Си, необходимыми при построении больших программных систем, являются:

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

Программа, написанная на одном из алгоритмических языков высокого уровня, называется исходной программой. Исходная программа не может быть непосредственно выполнена на ЭВМ, так как машина понимает только язык машинных команд, т.е. команд, записанных в виде двоичных кодов. Программа, составленная из таких команд, называется объектной программой. Поскольку каждый процессор имеет свою систему команд, т.е. тот набор машинных команд, которые он может выполнить, исходная программа должна быть переведена (транслирована) на язык команд конкретной ЭВМ. Перевод текста программы с какого-либо языка программирования на язык команд конкретной ЭВМ называется трансляцией. Такой перевод осуществляется автоматически специальными программами — трансляторами, создаваемыми для каждого алгоритмического языка и для каждого типа компьютера (рис. 4.59).

Перевод текста программы

Рис. 4.59. Перевод текста программы

Выделяют три типа трансляторов:

  • ? ассемблеры;
  • ? интерпретаторы;
  • ? компиляторы.

Ассемблер — самый простой вид транслятора, выполняющего перевод с машинно-ориентированного языка в машинные коды.

Трансляторы для программ, написанных на языках высокого уровня (ЯВУ), делятся на компиляторы и интерпретаторы.

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

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

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

  • ? средства написания программ (редакторы);
  • ? преобразования программ к виду, удобному для выполнения на ПК (ассемблеры, компиляторы, загрузчики и редакторы связей);
  • ? средства отладки: консоль и отладка программ.

Полученный после трансляции объектный модуль выполняться

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

Общая схема преобразования исходной программы

Рис. 4.60. Общая схема преобразования исходной программы

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >