Словарь терминов ТП и SE

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

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

Агрегация (Agregation) — объединение ряда понятий в новое понятие, существенные признаки нового понятия при этом могут быть или суммой признаков компонентов, или существенно новыми (или отношение «часть — целое»).

Адаптивность (Adaptive) — атрибут, который характеризует усилия, необходимые для настройки программ к разным средам без выполнения особенных действий или средств.

Анализ требований (Analysis of requirements) — отображение функций системы и ее ограничений в модели требований домена.

Артефакт (Artifacts) — любой продукт деятельности специалистов при разработке ПО.

Архитектура системы (Systems arhitecture) — определение системы в терминах вычисляемых составляющих (подсистем) и интерфейсов между ними, которое отображает правила декомпозиции проблемы на составляющие.

Аспект (Aspect) — точка зрения, с которой можно рассмотреть какое- либо понятие, процесс, перспективу.

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

Ассоциация (Association) — общее отношение, которое утверждает наличие связи между понятиями, не уточняя зависимости их содержания и объемов.

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

Валидация (Validation) — обеспечение соответствия разработки продукта требованиям ее заказчиков.

Вариабельность (Variability) — способность продукта (системы) к расширению, изменению, приспособлению или конфигурированию с целью использования в определенном контексте и обеспечения его эволюции.

Верификация (Verification) — проверка правильности проекта в ходе разработки.

Взаимодействие (Co-operation) — обмен сообщениями между объектами разных сред.

Водопадная (или каскадная) модель (Cascade model) — схема работ, в которой каждая из работ выполняется один раз и в том порядке, в котором работы перечислены в модели ЖД.

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

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

Дефект (Fault) — результат ошибок разработчика во входных или проектных спецификациях, текстах кодов программ, эксплатационной документации и т.п.

Диаграмма UML (Diagram) — графическое представление элементов моделирования системы (классов, сценариев, поведения, последовательности, сотрудничества, активности, состояний, реализации, компонента и т.п.).

Домен (Domain) — спектр задач ПрО, которые допускают похожие способы их решения.

Динамический метод тестирования (Dynamic method of testing) — выполнение программ с целью установления причин ошибок с ожидаемыми реакциями на эти ошибки.

Защищенность (Protected) — атрибут функциональности, который указывает на возможность предотвращать несанкционированный доступ (случайный или преднамеренный) к программам и данным.

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

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

Индустрия (Industry) — производство разных видов продуктов массового применения и средств их изготовления для получения прибыли.

Инженерия (Engineering) — применение научных результатов, которые позволяют извлекать пользу от свойств материалов и источников энергии.

Инженерия качества (Engineering quality) — процесс предоставления ПП заданных характеристик качества.

Инженерия требований (Engineering requirements) — сбор, анализ требований заказчика и представления их в нотации, которая является понятной и согласованной как заказчиком, так и исполнителем.

Инструмент (Instrument) — программное, языковое или методическое средство, применяемое для получения состояния объекта в некотором законченном виде. В зависимости от этапа жизненного цикла и состояния объекта, его могут обрабатывать языки, трансляторы, генераторы и т.п.

Интероперабельность (Variabilities) — атрибут функциональности, который обеспечивает возможность взаимозамены совместно действующих компонентов в ПС с необходимой инсталляцией или адаптацией.

Информационная система (Infofmation systems) — система, которая проводит сбор, обработку, сохранение и выработку информации людьми с использованием автоматических процессоров.

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

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

Компонентная программа (Component program) — совокупность компонентов, которые необходимы для обеспечения функциональных и нефункциональных требований, и которая построена и функционирует в соответствии с правилами создания компонентных конфигураций и взаимодействия КПИ.

Компонентная разработка (Component development) — конструирование ПО из готовых конструкций путем композиции готовых КПИ из репозиториев.

Компонентное программирование (Component programming) — это подход к созданию компонентных программ из готовых КПИ путем сборки КПИ на всех этапах ЖЦ.

Компонентное сборочное программирование (Component assembling programming) — компонентное программирование, основанное на распространении классов в бинарном виде и предоставлении доступа к методам класса через строго определенные интерфейсы. Это программирование поддерживают технологические подходы COM, CORBA, .Net.

Компьютерная инженерия (Computer engineering) — теория и принципы построения компьютеров, фреймворков, суперкомпьютеров, вычислительных кластеров и их системного ПО.

Конкретизация (Coneretization) — добавление существенных признаков, благодаря которых содержание понятия расширяется, а объем понятия сужается.

Контейнер (Container) — оболочка, внутри которой реализованы функции в виде экземпляров компонентов и которая обеспечивает взаимодействие с сервером через стандартные интерфейсы (функция Ноте интерфейс). Экземпляры обращаются друг к другу через системные сервисы данного или другого контейнера.

Конфигурация (Configuration) — структура ПС из компонентов и набора вариантов модулей.

Концептуальное моделирование (Conceptual design) — процесс построения модели проблемы, ориентированной на понимание ее человеком.

Логическое программирование (Logical programming) — программирование в терминах фактов и правил вывода, с использованием языков формальных исчислений.

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

Метод сборки (Method of assembling) — способ соединения разноязычных объектов в языках программирования (ЯП), основанный на теории спецификации и отображения типов и структур данных ЯП, представленной алгебраическими системами.

Модель жизненного цикла (Life cycle model) — типичная схема последовательности работ на этапах разработки ПП.

Модель качества (Quality model) — четырехуровневая модель, которая отображает характеристики, атрибуты (показатели), метрики и оценочные элементы ПО.

Модель процессов (Process model) — действия, которые сопровождают изменения состояний объектов.

Модуль (Module) — независимая функциональная часть программы, к которой можно обращаться как к самостоятельной единице через внешний интерфейс.

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

Надежность (Reliability) — набор атрибутов, которые указывают на возможность ПО превращать входные данные в исходные результаты при условиях, которые зависят от периода времени (износ и старение не учитываются) и наличия отказов в результате внутренних дефектов или нарушения условий его применения.

Нефункциональные требования (Unfunctional requirements) — требования, которые характеризуют организационные, исполнительные, операционные и безопасные аспекты работы ПС.

Нисходящее (top down) программирование (программирование «сверху вниз») — методика разработки программ, при которой разработка начинается с определения целей проблемы, после чего идет их детализация и описание в языках программирования.

Объект (Object) — базовое понятие в объектно ориентированном программировании, которое имеет свойства наследования, инкапсуляции и полиморфизма. Объекты с общими свойствами и методами образуют класс экземпляров. Они взаимодействуют между собой через сообщения и используют библиотеки классов общего применения C++.

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

Объектно ориентированное программирование (Object-oriented programming) — подход, при котором ПрО рассматривается как набор самостоятельных объектов, заданных в виде ориентированного графа, в вершинах которого находятся объекты, а дуги задают связи между ними. Является разновидностью сборочного программирования.

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

Оценка качества (Quality estimation) — действия, направленные на определение степени удовлетворения ПО потребностей соответственно их назначению.

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

Парадигма АОП фиксирует модель встраивания аспекта в систему (JPM, от Join Point Model), которая включает такие важные элементы парадигмы как срезы, фрагменты, точки присоединения, аспекты и др.

Переносимость (Bearable) — группа свойств, которая обеспечивает приспособляемость к переносу из одной среды функционирования в другие, а также усилие для перенесения ПО в новую среду или сеть.

План тестирования (Plan of testing) — описание стратегии, ресурсов и графика тестирования отдельных компонентов и системы в целом.

Повторно используемый компонент (Reuses) — КП И — фрагмент знаний о прошедшем опыте разработки систем программирования, который можно адаптировать при создании новых систем.

Правильность (Rightness), точность (Exactness) — атрибут функциональности, который показывает, как обеспечивается достижение теоретически правильных и согласованных результатов.

Программа (Program) — это объект разработки, который не является осязаемым (нельзя пощупать, взвесить и т.п.) человеком, а доступен пониманию ЭВМ, для которой написан. Готовая программа — это программный продукт, реализующий определенные функции (задачи) ПрО, процесс проектирования и разработки которого осуществлялся соответствующими программными методами, средствами и инструментами технологии программирования.

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

Программирование[1] (Programming) — см. Реализация программной системы.

Программная инженерия (Software engineering) — система методов, средств и дисциплин планирования, разработки, эксплуатации и сопровождения ПО, готового к внедрению. Основные принципы — продуктивность, индустрия и качество (определено в ядре знаний SWEBOK (Software Engineering Body of Knowledge, URL: www.swebok.com, 2001 r.).

Продуктовая линия (Product line / Product family) — группа продуктов или услуг, которые имеют общее управляемое множество свойств, удовлетворяющие потребностям определенного сегмента рынка или вида деятельности.

Проектирование (Planning) — превращение требований в последовательность проектных решений относительно системы.

Проектирование архитектуры (Planning architecture) — определение главных структурных элементов системы, которую строят.

Проектирование концептуальное (Planning conceptual) — уточнение понимания функций системы и согласование требований.

Производство продуктов (Production of products) — процессы ТЛ, посредством которых реализуется ПП определенного назначения для массового применения.

Пространство проблемы (Space of problem) — понятия ПрО ПС, характеристики объектов, новых компонентов-функций или готовых КПП. Они связываются MX с изменяемыми параметрами разных членов семейства и операциями взаимодействия членов между собой.

Пространство решений (Space of task) — знание о действующих компонентах и их конфигурациях, средствах их конструирования, соединения или встраивания в соответствующий член семейства с оценкой их избыточности. Элементы этого пространства фактически решают функциональные задачи определенной ПрО.

Процесс поставки (Delivery process) — действия по передаче разработанного продукта покупателю.

Процесс приобретения (Acquisition process) — действия, которые инициируют ЖЦ системы и определяют организацию-покунателя автоматизированной системы, ПС или сервиса.

Процесс разработки (Development process) — действия организации — разработчика программного продукта, которые включают инженерию требований к системе, проектированию, кодировке и тестированию.

Процесс сопровождения (Accompaniment process) — действия по управлению модификациями, поддержкой актуального состояния и функциональной пригодности, инсталляции или изъятия версии системы у пользователя.

Процесс эксплуатации (Exploitation process) — действия по обслуживанию системы во время ее использования — консультации пользователей, изучение их пожеланий и др.

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

Риск (Risk) — совокупность угроз, которые могут привести к неблагоприятным последствиям и убыткам, а также к изменениям состояния системы или среды.

Сборочное программирование (Assmbling programming) — метод сборки разнородных готовых программных ресурсов (модулей, объектов, компонентов, reuses, asets, services и др.) многократного применения через их интерфейсные данные, которыми обмениваются модули между собой.

Семейства систем (Families systems) — множество прикладных систем с общими функциональными свойствами.

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

Сервисно ориентированное программирование (Service oriented programming) — совокупность взаимодействующих сервисов, веб-сервиса и их интерфейсов — это сервисно ориентированная архитектура (Service Oriented Architecture), доступ к которой происходит через веб-языки и протоколы.

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

Синтезирующее программирование (Synthesizing programming) — постановка задачи в виде спецификации модели вычислений, по которой производится синтез программы.

Системная инженерия (System engineering) — теория, методы и принципы построения информационных, компьютерных, АС и систем управления ими.

Событие (Event) — явление, которое провоцирует изменение определенного состояния и переход к другому состоянию в домене или системе.

Совместимость (Compatibility) — показатель переносности, который определяет возможность использования новых программ в среде действующего ПО.

Сопровождение (Accompaniment) — любые работы по внесению изменений в ПС после того, как она была передана пользователю для эксплуатации.

Спецификация (Specification) — представление правил, стандартов, критериев качества, ограничений пользования объектами.

Структурное программирование (Structured programming) — методология и технология разработки по методу «сверху вниз» отдельных блоков системы, структура которых задается графическими элементами: последовательность, ветвление и цикл.

Схема сборки (Chart of assembling) — граф, в вершинах которого находятся объекты сборки, а на дугах — их интерфейсы для взаимодействия друг с другом и обмена данными.

Сценарий (Scenario) — один из возможных путей использования системы.

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

Тест данные (Data of testing) — данные, которые готовятся определенными генераторами на основе документов программ или пользователем для спецификации требований и которые используются для проверки работы ПС.

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

Техника функционального .моделирования SADT (Structured analysis and design technique) основана на спецификации функций системы в виде диаграмм, задающих фрагменты описания программ и их интерфейсов (входные и выходные данные) с другими функциональными программами.

Технология (Technology) — совокупность методов, способов, приемов, средств автоматизации и порядка их использования при производстве некоторого продукта.

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

Функциональные требования (Functional requirements) — требования, которые определяют цели и функции системы.

Функциональность (Functionality) — совокупность свойств, которые определяют возможность ПО выполнять перечень функций в заданной среде и отвечают требованиям.

Характеристики качества (Quality descriptions) — функциональность (functionality), надежность (reliability), удобство (usability), эффективность {efficiency), сопровожденность {maintainability), переносимость (portability) и т.п.

Целостность (Integrity) — возможность системы сохранять стабильность в работе и не иметь риска.

«Черный ящик» метод (Black body) — тестирование реализованных функций путем проверки несоответствия между реальным поведением функций и ожидаемым поведением согласно с входными спецификациями требований.

Экземпляризация (instantiation) — зависимость между параметризуемым абстрактным классом —шаблоном {template) и реальным классом, который инициирован путем определения параметров шаблона.

Экстремальное программирование (Extreme programming, ХР) - технология программирования, которая многократно проходит цикл создания системы от анализа потребностей заказчика до комплексного тестирования и изготовления готовой системы. В функционирующую систему последовательно добавляются различные протестированные «возможности» (facilities), согласованные с заказчиком, и цикл повторяется.

UML (Unified Modeling Language) — язык для спецификации, визуализации, конструирования и документирования артефактов программных систем, а также для моделирования бизнеса.

  • [1] Лаврищева Е. М. Методы программирования. Теория, инженерия, практика. Киев. :Наукова думка, 2006. С. 451.
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >