Общая терминология программирования
)
или решения. Содержит описание результата, который должен быть достигнут с
помощью конкретной программы, а также того, что для достижения этого
результата программа должна делать без упоминания, как достигнут указанный
результат.
Верификация программы [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] — метод программирования, предназначенный
для решения задач искусственного интеллекта. В указанном контексте
программа описывает логическую структуру решения задачи, указывая
преимущественно, что нужно сделать, не вдаваясь в детали, как это делается.
Используются языки программирования типа Пролог.
Объектно-ориентированное программирование, объектное программирование,
ООП [OOP — Object-Oriented Programming] — метод программирования,
основанный на использовании концепции объекта, абстрагирующего конкретные
его реализации в предметной области. При этом данные тесно связываются с
выполняемыми над объектами процедурами. Например, круг на экране монитора
может рассматриваться как объект, данные о котором характеризуют положение
(координаты) центра, величину радиуса, толщину и цвет линии. Процедуры,
связанные с этим объектом, — перемещение, изменение размера, стирание и т.
д. Объектно-ориентированное программирование разрабатывалось и
усовершенствовалось в 1960—1970-х гг. В настоящее время используется в ряде
языков программирования высокого уровня (Си++, Java, Смолток, ObjectLisp и
др). В начале 90-х гг. была выявлена потребность в выработке единых
спецификаций, которые должны позволить программным продуктам различных фирм
взаимодействовать друг с другом в общей информационной среде. Решение
указанной задачи взяла на себя фирма OMG (США). Выработанная ею идеология
"Бизнес-объекта" к 1997 г. получила достаточно широкое распространение при
выработке промышленных программных приложений. Основу этой идеологии
составляет "Общая архитектура брокера объектных запросов" — COBRA (Common
Object Request Broker Architecture), центральной частью которой является
спецификация на программный продукт (ORB — Object Request Broker),
представляющий собой набор доменов или динамических библиотек,
обеспечивающих взаимодействие различных программ в распределенной
компьютерной среде. Кроме того, фирма OMG разработала спецификации обмена
данными между брокерами различных фирм-производителей — GIOP (General Inter
ORB Protocol), а с той же целью для Internet — HOP (Internet Inter ORB
Protocol). Поддержкой и развитием бизнес-объектной технологии занимается
организованный в рамках OMG специальный комитет — BODTF (Business Object
Domain Task Force). В 1998 г. этим комитетом была выпущена спецификация
(BOCA — Business 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] — язык программирования,
средства которого обеспечивают описание задачи в наглядном, легко
воспринимаемом виде, удобном для программиста. Он не зависит от внутренних
машинных кодов ЭВМ любого типа, поэтому программы, написанные на нем,
требуют перевода в машинные коды программами транслятора либо
интерпретатора. К
| | скачать работу |
Общая терминология программирования |