Словарь разработчика программного обеспечения

Понять программиста – дело нелегкое.. Но возможное! Мы совершили маленький подвиг и собрали основные термины программистов и тестировщиков в одном словаре! 

В данном словаре представлены понятия не только из логики и теории программирования, но и описание фаз создания программного обеспечения.  

А Б В Д Е Ж З И К Л М Н О П Р С Т У Ф Э Я A-Z

Абстрагирование от проблемы – игнорирование ряда подробностей, чтобы свести задачу к более простой задаче.

Абстрактная машина Дейкстры – применяется в проектировании архитектуры системы, самый нижний уровень абстракции - это уровень аппаратуры. Каждый уровень реализует абстрактную машину с все большими возможностями.

Абстракция – мысленное отвлечение, обособление от тех или иных сторон, свойств или связей предметов и явлений для выявления существенных их признаков.

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

Автономное тестирование (тестирование модуля, module testing) – контроль отдельного модуля в изолированной среде (например, с помощью ведущей программы).

Агрегированный объект — объект, составленный из подобъектов.

Алгоритм – строго однозначно определенная для исполнителя последовательность действий, приводящих к решению задачи.

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

Анализ (от греч. analysis разложение, расчленение) – прием умственной деятельности, связанный с мысленным (или реальным) расчленением на части предмета, явления или процесса.

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

Архитектура системы - структура объединения нескольких программных средств в одно целое.

Аттестация (certification) – авторитетное подтверждение правильности программы.

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

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

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

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

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

Деструктор — особый метод самого объекта, обеспечивающий уничтожение данного объекта.

Диаграмма классов – диаграмма, которая отражает взаимодействие между классами системы.

Диаграмма компонентов – диаграмма, которая показывает, как выглядит модель на физическом уровне.

Диаграмма кооперативная – диаграмма, которая отражают ту же самую информацию, что и диаграммы последовательности, но связь со временем отсутствует.

Диаграмма последовательности – диаграмма, которая отражает поток событий, происходящих в рамках варианта использования.

Диаграмма потоков данных (ДПД) – диаграмма, которая описывает порядок изменения данных от их источников через преобразующие их процессы к их потребителям.

Диаграмма размещения – диаграмма, которая показывает физическое расположение различных компонентов программной системы в сети.

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

Динамическое связывание — ассоциация запроса с объектом и одной из его операций во время выполнения.

Доказательство (proof) - попытки найти в программе ошибки путем доказательств на основе математических теорем о правильности программы, безотносительно к внешней программной среде.

Документ проектный - документ, выполненный по заданной форме, в котором представлено какое-либо проектное решение.

Единая система программной документации (ЕСПД) - комплекс государственных стандартов, устанавливающий взаимоувязанные правила разработки, оформления и обращения программ и программной документации.

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

Заглушка – макет еще не реализованного модуля, необходимый при нисходящей реализации, представляет собой простейшую подпрограмму либо без действий, либо с действиями вывода входных данных, либо возвращающую в вышестоящие модули тестовые данные (которые обычно присваиваются внутри заглушки), либо содержащий комбинацию этих действий.

Иерархия – подчиненность.

Изменчивость структуры данных – изменение числа элементов и (или) связей между элементами структуры.

Инженер (от лат. ingenium – природный ум , изобретательность ) – специалист по созданию искусственных систем.

Инженерия программирования (англ. software engineering , в терминах автоматизированных систем – разработка программного обеспечения ) – инженерное дело, творческая техническая деятельность. Инженерия опирается на специфические методы и методики, в том числе эвристические. Инженерия изучает различные методы и инструментальные средства с точки зрения определенных целей, то есть имеет очевидную практическую направленность.

Инженер-программист – специалист по созданию и эксплуатации программ.

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

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

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

Интерфейс – это набор форматов допустимых сообщений.

Испытание (validation, валидация) - попытка найти ошибки, выполняя программу в заданной программной среде.

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

Кодировщик программ – программист, пишущий и автономно тестирующий код компонент программ.

Комплексное тестирование ( system testing ) - контроль и/или испытание системы по отношению к исходным целям.

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

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

Конструктор — особый метод класса, предназначенный для создания экземпляра объекта.

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

Контроль (verification) – попытка найти ошибки, выполняя программу в тестовой или моделируемой среде.

Корректность программного обеспечения – свойство безошибочной реализации требуемого алгоритма, при отсутствии таких мешающих факторов, как: ошибки входных данных, ошибки операторов ЭВМ (людей), сбоев и отказов ЭВМ.

Логическая структура данных – рассмотрение структуры данных без учета ее представления в машинной памяти.

ЛПР - лицо, принимающее решение.

Метод - способ практического осуществления чего-нибудь.

Методика - совокупность методов практического выполнения чего-нибудь.

Метод мозгового штурма - метод синтеза вариантов систем, использующий взаимную стимуляцию мышления в группе.

Метод морфологических таблиц – согласно методу, для интересующего нас объекта формируется набор отличительных признаков: наиболее характерных подсистем, свойств или функций. Затем для каждого из них определяются альтернативные варианты реализации. Комбинируя альтернативные варианты, можно получить множество различных решений.

Метод проб и ошибок - метод синтеза вариантов систем, основанный на последовательном выдвижении и рассмотрении идей.

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

Методология (от греч. methodos и logos – слово, учение о методах) – система принципов и способов организации и построения теоретической и практической деятельности, а также учение об этой системе.

Методы объекта ( methods, member functions ) – подпрограммы, реализующие действия (выполнение алгоритмов) в ответ на их вызов в виде преданного сообщения;

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

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

Модуль – в технологии объектно-ориентированного программирования это файл ( unit ) с описаниями родственных классов.

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

Наследование — это определение класса и затем использование его для построения иерархии классов-потомков.

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

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

Организованность данных – продуманное устройство с целью рационального использования по назначению.

Отладка (debugging) - не является разновидностью тестирования, а является средством установления точной природы ошибок.

Параметрический анализ - установление качественных пределов развития объекта - физических, экономических, экологических и др.

Паспорт модуля – внутренний документ проекта, который обычно представляет собой конверт с именем модуля. Внутри конверта содержатся описания: прототипа вызова самого модуля и модулей; вызываемых модулем данных; расшифровка входных и выходных переменных модуля; описание функции, выполняемой модулем; принципы реализации алгоритма модуля с описанием основных структур данных.

Паттерн проектирования - это образец, типовое решение какого-либо механизма объектно-ориентированной программы.

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

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

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

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

Поле объекта (data members) – порция данных объекта, значения которых определяют текущее состояние объекта;

Полиморфизм – это средство для придания различных значений одному и тому же событию в зависимости от типа обрабатываемых данных.

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

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

Предок – это класс, предоставляющий свои возможности и характеристики другим классам.

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

Программный продукт – программа, которую можно запускать, тестировать, исправлять и развивать.

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

Программное обеспечение автоматизированных систем (ПОАС) – совокупность программ на носителях данных и программных документов, предназначенная для отладки, функционирования и проверки работоспособности автоматизированных систем.

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

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

Проектная задача (англ. Engineering Task ) - конечный результат, который требуется получить в процессе выполнения проекта.

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

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

Проектная ситуация - реальность (ситуация), в которой ведется проектирование.

Проектное решение - описание в заданной форме объекта проектирования или его части, необходимое и достаточное для определения дальнейшего направления проектирования.

Проектный документ – документ, выполненный по заданной форме, в котором представлено какое-либо проектное решение.

Простое наследование классов – наследование, при котором, определенный пользователем класс имеет только одного родителя.

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

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

Раннее связывание — связи между объектами определяются статически во время компиляции.

Резидентная программа – не удаляемая ОС программа, постоянно находящаяся в оперативной памяти вычислительной машины.

Родитель – непосредственный класс предок, стоящий у корня схемы иерархии, и от которого порождаются первые потомки, а от потомков еще потомки.

Родительский класс – начальный класс, от которого наследуются классы-потомки.

Свойства (property) – это особым образом оформленные методы, предназначенные как для чтения и контролируемого изменения внутренних данных объекта (полей), так и выполнения действий, связанных с поведением объекта.

Сессия программистов – встреча кодировщиков для проведения взаимной инспекции текстов программ и набора использованных тестов.

Синтез (от греч. synthesis соединение, сочетание, составление) – метод научного исследования явлений действительности в их единстве и целостности, во взаимодействии их частей, обобщение, сведение в единое целое.

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

Системный аналитик – программист, разрабатывающий проект от требований до внутренней структуры программы и участвующий в тестировании как при интеграции компонентов в ядро, так и в комплексном тестировании ПО.

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

Сквозной структурный контроль – использование на многих этапах проекта контроля корректности спецификации связей частей программы.

Слияние – объединение нескольких небольших, но тесно взаимодействующих классов в один.

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

Спецификация – в сфере проектной деятельности это какое-либо описание в точных терминах.

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

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

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

Структура данных программы – множество элементов данных, множество связей между ними, а также характер их организованности.

Структурное кодирование модулей программ – основной принцип технологии структурного программирования, воспринятый технологией объектно-ориентированного программирования, который заключается в особом оформлении текстов модулей (методов). У модуля должен быть легко различимый заголовок с комментарием, поясняющим функционального назначения модуля. Имена переменных должны быть мнемоническими. Суть переменных и порядок размещения в них информации должен быть пояснен комментариями. Код должен быть закодирован с использованием типовых алгоритмических структур.

Структурный анализ – выявление элементов объекта и связей между ними.

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

СУБД – система управления базами данных.

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

Сценарий – последовательность событий, которая может иметь место при конкретном выполнении системы.

Сценарий диалога программы – последовательность ввода и вывода информации в диалоговом режиме работы программы.

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

Тестирование (testing) – процесс выполнения программы с намерением найти ошибки.

Тестирование приемлемости (acceptance testing) – проверка соответствия программы требованиям пользователя.

Тестирование сопряжений (integration testing) – контроль сопряжений между частями системы, как между компонентами в комплексе, так и между модулями отдельного компонента.

Тестировщик – программист, готовящий наборы тестов для отладки разрабатываемого программного изделия.

Технический проект (ТП) – комплект проектных документов на программу, разрабатываемый на стадии «Технический проект», утвержденный в установленном порядке, содержащий основные проектные решения по программе в целом, ее функциям и достаточный для разработки рабочего проекта.

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

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

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

Технология объектно-ориентированного программирования - технология, ориентированная на получение программ, состоящих из объектов.

Технология структурного программирования - технология основанная на структурном подходе.

Типизация – это способ защититься от использования объектов одного класса вместо другого, или, по крайней мере, управлять таким использованием.

Управление разработкой программных систем (software management) – деятельность, направленная на обеспечение необходимых условий для работы коллектива разработчиков программного обеспечения, на планирование и контроль деятельности этого коллектива с целью обеспечения требуемого качества ПО, выполнения сроков и бюджета разработки ПО.

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

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

Форма – визуальный компонент, обладающий свойством окна Windows.

Функция системы – совокупность действий системы, направленная на достижение определенной цели.

Функциональный анализ – рассмотрение объекта как комплекса выполняемых им функций.

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

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

Экземпляр класса – объект.

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

Экстремальное программирование (extreme programming, XP ) – адаптивный инженерный подход, рациональное объединение известных методов и их совокупное использование дает существенные результаты и успешно выполненные проекты при разработке небольших систем, требования к которым четко не определены и вполне могут измениться.

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

ЭТ – электронная таблица.

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

Ядро – все увеличивающаяся уже реализованная часть программы.

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

CASE-технология ( Computer Aided Software Engineering ) – технология, представляющая собой методологию проектирования АС, а также набор инструментальных средств, позволяющих в наглядной форме моделировать предметную область, анализировать эту модель на всех этапах разработки и сопровождения программных систем и разрабатывать приложения в соответствии с информационными потребностями пользователей.

Component Object Model (модель компонентных объектов) – спецификация метода создания компонентов и построения из них программ.

CRC-карточка ( Component , Responsibility, Collaborator – объект, обязанности, сотрудники) – промежуточный документ проекта, необходимый для специфицирования объектов.

RDD-проектирование ( Responsibility-Driven-Design ) - технология проектирования на основе обязанностей, предложенная Т. Бадтом. Данная технология по способу мышления аналогична разработке структуры служб какой-то организации: директора, замов директора, служб и подразделений

Компьютерный портал "Компаньон" © 2016.
В случае перепечатки материалов обязательна прямая ссылка на сайт cs-companion.ru.