Последнее
- Короткая, но яркая жизнь Amiga CD32
- 3DO - первая консоль пятого поколения
- 1C. И швец, и жнец, и на дуде игрец
- Nero AG. История успеха
- Mozilla. Огнелис и все, все, все...
- Autodesk. История лидера разработки CAD-систем
- VMWare. История лидера в сегменте виртуализации
- ABBYY. Путь от словаря до международной корпорации
Словарь разработчика программного обеспечения
- Подробности
- Опубликовано 27.05.2012 01:11
Понять программиста – дело нелегкое.. Но возможное! Мы совершили маленький подвиг и собрали основные термины программистов и тестировщиков в одном словаре!
В данном словаре представлены понятия не только из логики и теории программирования, но и описание фаз создания программного обеспечения.
А Б В Д Е Ж З И К Л М Н О П Р С Т У Ф Э Я 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 ) - технология проектирования на основе обязанностей, предложенная Т. Бадтом. Данная технология по способу мышления аналогична разработке структуры служб какой-то организации: директора, замов директора, служб и подразделений