Доклад «Общая терминология программирования»



бет3/5
Дата17.07.2016
өлшемі357 Kb.
#204128
түріДоклад
1   2   3   4   5

2. ОБЩИЕ ТЕРМИНЫ


АЛГОРИТМ [algorithm]

  1. Последовательность действий (операций) и правил их выполнения или команд, предназначенных для решения определенной задачи или группы задач.

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

Некоторые виды алгоритмов

Адаптивный алгоритм [adaptive algorithm] — алгоритм, обладающий свойством настраиваться на условия применения.

Линейный алгоритм [serial algorithm] — алгоритм, не содержащий ветвей и циклов, все элементы которого выполняются последовательно.

Логический алгоритм [logical algorithm] — алгоритм решения логической задачи.

Алгоритм маршрутизации [routing algorithm] — алгоритм решения задачи определения оптимального пути, по которому будут передаваться данные в коммуникационной сети.

Параллельный алгоритм [parallel algorithm] — алгоритм, в котором часть или все операции независимы и могут выполняться одновременно (параллельно).

Последовательный алгоритм [sequential algorithm]

1. Алгоритм, все действия которого выполняются последовательно.

2. Алгоритм обслуживания, реализующий принцип очереди — "первый на входе — первый на выходе" [FIFOFirst InputFirst Output].

Циклический алгоритм [round-robin algorithm] — алгоритм обслуживания в системах с разделением времени, при котором задача, использовавшая выделенный ей ресурс времени центрального процессора, прерывается и помещается в конец очереди.

ПРОГРАММА [program, routine]

  1. Последовательность операций, в том числе нескольких параллельных, выполняемых ЭВМ для достижения поставленной цели или задачи.

  2. Описание на языке программирования или в машинном коде действий,
    которые должна выполнить ЭВМ в соответствии с алгоритмом решения конкретной задачи или группы задач (синоним — машинная программа).

  3. Упорядоченная последовательность команд, подлежащих обработке.

Некоторые понятия, связанные с термином "программа"

Машинная программа [computer (machine) program] — программа, написанная на машинном языке (в машинном коде).

Структура программы [program structure] — общая схема построения программы, рассматривающая ее составные компоненты (программные блоки) и взаимосвязи между ними.

Спецификация программы, программная спецификация [program specification] — точная и полная формулировка определенной задачи или группы задач, содержащая сведения, необходимые для построения ее алгоритма (программы) или решения. Содержит описание результата, который должен быть достигнут с помощью конкретной программы, а также того, что для достижения этого результата программа должна делать без упоминания, как достигнут указанный результат.

Верификация программы [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]

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





Достарыңызбен бөлісу:
1   2   3   4   5




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет