Смекни!
smekni.com

Общая терминология программирования (стр. 4 из 8)

Верификация программы [program verification]

1. Установление любым корректным методом факта соответствия программы заданным целям ее создания или приобретения — установление правильности программы.

2. Формализованный контроль или проверка работоспособности программы.

Отладка программы [debugging] — обнаружение, локализация и устранение

ошибок в компьютерной программе.

Отладчик [debugger] — программа, предназначенная для анализа поведения другой программы, обеспечивающая ее трассировку (отслеживание и распечатку выполняемых программой команд, изменений переменных или данных о других событиях, связанных с выполнением программы), останов в указанных точках или, при выполнении указанных условий, просмотр и изменение ячеек памяти, регистров процессора и команд программы.

Трассировка [trace] — метод проверки правильности функционирования программ при их выполнении путем отображения изменений всех значений переменных. Этим достигается сокращение поиска ошибочных команд, из-за которых переменные принимают неверные значения. Трассировка выполняется при помощи ввода в проверяемую программу специальных команд или с использованием специальных сервисных программ.

Тестирование программы [program testing] — проверка программы в рабочих условиях с некоторым специально созданным (тестовым) массивом данных в целях определения ее работоспособности в соответствии с заданными критериями оценки.

Испытания программы [program verification and validation] — всесторонняя (по формализованным признакам — "Verification" и общей субъективной оценке — "Validation") проверка и тестирование программы при сдаче ее в эксплуатацию или аттестации.

ПОДПРОГРАММА [subroutine]

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

Б зависимости от того, являются ли подпрограммы частью разработки использующей их программы или заимствуются из других программ, они подразделяются на внутренние подпрограммы [internal subroutines] и внешние подпрограммы [external subroutines]. В качестве последних могут использоваться и так называемые стандартные подпрограммы или программы [standard subroutines, standard programs] — программы, помещенные в библиотеку программ1.

ПРОГРАММИРОВАНИЕ [programming]

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

В зависимости от назначения и/или способа написания программ различают:

Прикладное программирование [application programming] — разработка и отладка программ для конечных пользователей, например бухгалтерских, обработки текстов и т. п.

Системное программирование [system programming] — разработка средств общего программного обеспечения, в том числе операционных систем, вспомогательных программ, пакетов программ общесистемного назначения, например: автоматизированных систем управления, систем управления базами данных и т. д.

Декларативное (логическое, продукционное) программирование [declarative programming, logical programming] — метод программирования, предназначенный для решения задач искусственного интеллекта. В указанном контексте программа описывает логическую структуру решения задачи, указывая преимущественно, что нужно сделать, не вдаваясь в детали, как это делается. Используются языки программирования типа Пролог.

Объектно-ориентированное программирование, объектное программирование, ООП [OOPObject-Oriented Programming] — метод программирования, основанный на использовании концепции объекта, абстрагирующего конкретные его реализации в предметной области. При этом данные тесно связываются с выполняемыми над объектами процедурами. Например, круг на экране монитора может рассматриваться как объект, данные о котором характеризуют положение (координаты) центра, величину радиуса, толщину и цвет линии. Процедуры, связанные с этим объектом, — перемещение, изменение размера, стирание и т. д. Объектно-ориентированное программирование разрабатывалось и усовершенствовалось в 1960—1970-х гг. В настоящее время используется в ряде языков программирования высокого уровня (Си++, Java, Смолток, ObjectLisp и др). В начале 90-х гг. была выявлена потребность в выработке единых спецификаций, которые должны позволить программным продуктам различных фирм взаимодействовать друг с другом в общей информационной среде. Решение указанной задачи взяла на себя фирма OMG (США). Выработанная ею идеология "Бизнес-объекта" к 1997 г. получила достаточно широкое распространение при выработке промышленных программных приложений. Основу этой идеологии составляет "Общая архитектура брокера объектных запросов" — COBRA (Common Object Request Broker Architecture), центральной частью которой является спецификация на программный продукт (ORBObject Request Broker), представляющий собой набор доменов или динамических библиотек, обеспечивающих взаимодействие различных программ в распределенной компьютерной среде. Кроме того, фирма OMG разработала спецификации обмена данными между брокерами различных фирм-производителей — GIOP (General Inter ORB Protocol), а с той же целью для Internet — HOP (Internet Inter ORB Protocol). Поддержкой и развитием бизнес-объектной технологии занимается организованный в рамках OMG специальный комитет — BODTF (Business Object Domain Task Force). В 1998 г. этим комитетом была выпущена спецификация (BOCABusiness Object Component Architecture), регламентирующая построение программных систем из компонент-объектов, созданных на основе технологии CORBA/IIOP. Подробнее см. [407, 423, 434].

Параллельное программирование [concurrent programming] — разработка программ, обеспечивающих одновременное (параллельное) выполнение операций, связанных с обработкой данных.

Процедурное (процедурно-ориентированное) программирование [procedure-oriented programming] — метод программирования, в соответствии с которым программы пишутся как перечни последовательно выполняемых команд. При этом используются процедурно-ориентированные языки программирования.

Структурное программирование, модульное программирование [structured programming, modular programming] — метод написания программ небольшими независимыми частями — модулями, каждый из которых связан с какой-либо процедурой или функцией. При этом результирующая программа организуется в виде совокупности взаимосвязанных по определенным правилам модулей. Это упрощает разработку сложных программных продуктов и их тестирование.

Функциональное программирование [functional programming] — метод программирования, основанный на разбиении алгоритма решения задачи на отдельные функциональные модули, а также описании их связей и характера взаимодействия. Для функционального программирования наиболее широко используются языки НОРЕ и ML. Элементы функционального программирования реализуются также другими языками, например Си.

Эвристическое программирование [hueristic programming] — метод программирования, основанный на моделировании мыслительной деятельности человека. Используется для решения задач, не имеющих строго формализованного алгоритма или связанных с неполнотой исходных данных.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, ПО [software]

Совокупность программных средств, управляющих работой ЭВМ и/или автоматизированной системы, а также документация, необходимая для эксплуатации этих средств. Различают общее и прикладное (специальное) программное обеспечение.

ПРОГРАММНАЯ ДОКУМЕНТАЦИЯ [program documentation]

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

3 ЯЗЫКИ ПРОГРАММИРОВАНИЯ

ЯЗЫК ПРОГРАММИРОВАНИЯ [programming language]

Формализованный язык, предназначенный для описания программ и алгоритмов решения задач на ЭВМ. Языки программирования являются искусственными. В них синтаксис и семантика строго определены. Поэтому они не допускают свободного толкования выражения, что характерно для естественного языка. Языки программирования разделяются на две основные категории — языки высокого уровня и языки низкого уровня.

Язык высокого уровня [high-level language] — язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на нем, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран, ПЛ/1, Бейсик, Паскаль, Си, Ада и др.

Язык низкого уровня, [low-level language] — язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код.