Генетический анализ — исследование объекта на его соответствие законам развития программных систем. В процессе анализа изучается история развития (генезис) исследуемого объекта: конструкции аналогов и возможных частей, технологии изготовления, объемы тиражирования, языки программирования и т. д.
ГОСТ— государственный стандарт.
Деструктор — особый метод самого объекта, обеспечивающий уничтожение данного объекта.
Диаграмма вариантов использования — диаграмма, которая отображает взаимодействие между вариантами использования, представляющими функции системы, и действующими лицами, представляющими людей или системы, получающие или передающие информацию в данную систему.
Диаграмма классов — диаграмма, отражающая взаимодействие между классами системы.
Диаграмма компонент — диаграмма, показывающая, как выглядит модель на физическом уровне. На ней изображаются компоненты (файлы) программы и связи между ними.
Диаграмма кооперативная — диаграмма, отражающая ту же самую информацию, что и диаграммы последовательности, но связь со временем отсутствует.
Диаграмма последовательности — диаграмма, отражающая поток событий, происходящих в рамках варианта использования.
Диаграмма потоков данных (ДПД) — диаграмма, описывающая порядок изменения данных от их источников через преобразующие их процессы к их потребителям.
Диаграмма размещения — диаграмма, показывающая физическое расположение различных компонентов программной системы в сети.
Диаграмма состояний — диаграмма, предназначенная для моделирования различных состояний, в которых может находиться объект. В то время как диаграмма классов показывает статическую картину классов и их связей, диаграмма состояний применяется при описании динамики поведения системы.
Динамическая переменная — это как бы статическая переменная, но размещаемая в особой области памяти вне кода программы. В любой момент времени память для размещения динамических переменных может как выделяться, так и освобождаться.
Динамические структуры данных являются связными. Связность — особое продуманное логическое устройство сохранения целостности структуры данных, элементы которой могут находиться в произвольных, несмежных, неконтролируемых по адресации участках динамически распределяемой памяти вне кода программы.
Динамическое связывание — ассоциация запроса с объектом и одной из его операций во время выполнения.
Доказательство (proof) — попытки найти в программе ошибки путем доказательств на основе математических теорем о правильности программы, безотносительно к внешней программной среде.
Документ — документ, выполненный по заданной форме, в котором представлено какое-либо проектное решение.
ДПД — Диаграмма потоков данных.
Единая система программной документации (ЕСПД) — комплекс государственных стандартов, устанавливающий взаимоувязанные правила разработки, оформления и обращения программ и программной документации.
ЕСПД — Единая система программной документации.
Жизненный цикл — совокупность взаимосвязанных процессов создания и последовательного изменения состояния продукции от формирования к ней исходных требований до окончания ее эксплуатации или потребления.
Заглушка — макет еще не реализованного модуля, необходимый при нисходящей реализации, представляет собой простейшую подпрограмму либо без действий, либо с действиями вывода входных данных, либо возвращающую в вышестоящие модули тестовые данные (которые обычно присваиваются внутри заглушки), либо содержащий комбинацию этих действий.
Иерархия — подчиненность.
Изменчивость структуры данных — изменение числа элементов и (или) связей между элементами структуры. В определении изменчивости структуры не отражен факт изменения значений элементов данных, поскольку в этом случае все структуры данных имели бы свойство изменчивости. По признаку изменчивости различают структуры: на статические структуры данных и динамические структуры данных.
Инженер (от лат. ingenium — природный ум, изобретательность) — специалист по созданию искусственных систем.
Инженерия программирования (англ. software engineering, в терминах автоматизированных систем — разработка программного обеспечения) — инженерное дело, творческая техническая деятельность. Инженерия опирается на специфические методы и методики, в том числе эвристические. Инженерия изучает различные методы и инструментальные средства с точки зрения определенных целей, то есть имеет очевидную практическую направленность. Основная идея инженерии программирования в том, что разработка программного обеспечения является формальным процессом, который можно изучать, выражать в методиках и совершенствовать. Главное различие между технологией программирования и программной инженерией заключается в способе рассмотрения и систематизации материала. В технологии программирования акцент делается на изучении процессов разработки программ (технологических процессов) в порядке их прохождения — методы и инструментальные средства разработки программ используются в этих процессах (их применение и образуют технологические процессы). В программной инженерии изучаются, прежде всего, методы и инструментальные средства разработки программ с точки зрения достижения определенных целей — они могут использоваться в разных технологических процессах (и в разных технологиях программирования). Как эти методы и средства образуют технологические процессы — вопрос второстепенный.
Инженерный технологический подход определяется спецификой комбинации стадий разработки, этапов и видов работ, ориентированной на разные классы программного обеспечения и на особенности коллектива разработчиков.
Инженер-программист — наименование должности согласно квалификационному справочнику должностей руководителей, специалистов и других служащих, специалист по созданию и эксплуатации программ.
Инженер-системотехник — наименование должности согласно квалификационному справочнику должностей руководителей, специалистов и других служащих, инженер инженеров, специалист по решению проектных задач создания таких особо сложных искусственных систем, как автоматизированные системы.
Инкапсуляция — это механизм совмещения в классе полей данных с методами, которые манипулируют защищенными полями данных.
Интегрирование структуры данных — структуры данных, составными частями которых являются другие структуры данных — простые или в свою очередь интегрированные. Интегрированные структуры данных конструируются программистом с использованием средств интеграции данных, предоставляемых языками программирования.
Интерфейс — это набор форматов допустимых сообщений. Для исключения возможных, но недопустимых сообщений используется механизм сокрытия информации.
Испытание (validation) — попытка найти ошибки, выполняя программу в заданной программной среде.
Каркасные инженерные подходы представляют собой каркас для видов работ и включают их огромное количество. Ярким представителем каркасного подхода является рациональный унифицированный подход к выполнению работ (rational unified process). Весомое преимущество данного подхода состоит в созданном инструментарии его автоматизированной поддержки — программного продукта Rational Rose фирмы Rational Software Corporation.
Каскадные инженерные технологические подходы задают некоторую последовательность выполнения видов работ, обычно изображаемую в виде каскада. Эти подходы также иногда называют подходами на основе модели водопада.