Связанные понятия
Функциональная спецификация в системной инженерии и разработке программного обеспечения — это документ, описывающий требуемые характеристики системы (функциональность). Документация описывает необходимые для пользователя системы входные и выходные параметры (например, программная система).
Обеспечение качества программного обеспечения (англ. Software quality assurance, SQA) — набор процедур мониторинга разработки программного обеспечения и методов, используемых для обеспечения его качества. В настоящее время в программной инженерии имеется большое количество методов обеспечения качества программного обеспечения, которые соответствуют одному или нескольким стандартам, в частности стандартам ISO 9000 или наборам моделей (методологий) CMMI.
Системные требования — это описание примерных характеристик, которым должен соответствовать компьютер для того, чтобы на нём могло использоваться какое-либо определённое программное обеспечение. Эти характеристики могут описывать требования как к аппаратному обеспечению (тип и частота процессора, объём оперативной памяти, объём жёсткого диска), так и к программному окружению (операционная система, наличие установленных системных компонентов и сервисов и т. п.). Обычно такие требования составляются...
В информатике формальная спецификация — это математическое описание программной или аппаратной системы, которая может быть реализована в соответствии с этим описанием. Специфицируется, что должна делать система, но не то, как она должна это делать. Если существует спецификация системы, возможно применить методы формальной верификации, чтобы продемонстрировать, что система удовлетворяет (или будет удовлетворять) спецификации. Таким образом, можно проверить, будет ли конкретная спроектированная модель...
Дистрибути́в (англ. distribute - распространять) — это форма распространения программного обеспечения.
Компью́терная програ́мма — 1) комбинация компьютерных инструкций и данных, позволяющая аппаратному обеспечению вычислительной системы выполнять вычисления или функции управления (стандарт ISO/IEC/IEEE 24765:2010); 2) синтаксическая единица, которая соответствует правилам определённого языка программирования, состоящая из определений и операторов или инструкций, необходимых для определённой функции, задачи или решения проблемы (стандарт ISO/IEC 2382-1:1993).
Цифровое определение продукта (англ. Model-based definition (MBD), синоним Digital product definition (DPD)) — практика использования 3D-цифровых данных (например, твердотельных моделей и связанных с ними метаданных) в рамках программного обеспечения 3D CAD что обеспечивает предоставление спецификации для отдельных компонентов и собранных продуктов. Виды информации, содержащиеся в MBD, включают в себя геометрические размеры и допуски, инженерные спецификации на уровне сборок, описание материалов...
Проприета́рное програ́ммное обеспе́чение , несвобо́дное программное обеспечение (англ. proprietary software; от proprietary «частное, патентованное, в составе собственности» + software «программное обеспечение») — программное обеспечение, являющееся частной собственностью авторов или правообладателей и не удовлетворяющее критериям свободного ПО (наличия открытого программного кода недостаточно). Правообладатель проприетарного ПО сохраняет за собой монополию на его использование, копирование и модификацию...
Се́рвис-ориенти́рованная архитекту́ра (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по стандартизированным протоколам.
Анализ требований — часть процесса разработки программного обеспечения, включающая в себя сбор требований к программному обеспечению (ПО), их систематизацию, выявление взаимосвязей, а также документирование. Является частью общеинженерной дисциплины «инженерия требований» (англ. Requirements Engineering).
Требования к программному обеспечению — совокупность утверждений относительно атрибутов, свойств или качеств программной системы, подлежащей реализации. Создаются в процессе разработки требований к программному обеспечению, в результате анализа требований.
Контрактное программирование (design by contract (DbC), programming by contract, contract-based programming) — это метод проектирования программного обеспечения. Он предполагает, что проектировщик должен определить формальные, точные и верифицируемые спецификации интерфейсов для компонентов системы. При этом, кроме обычного определения абстрактных типов данных, также используются предусловия, постусловия и инварианты. Данные спецификации называются «контрактами» в соответствии с концептуальной метафорой...
Эталонная реализация (от англ. reference implementation) (реже используется образец реализации (sample implementation) или модель реализации (model implementation)) — реализация программного обеспечения, точно соответствующая спецификации некоторого стандарта (например, сетевого протокола, алгоритма кодирования или языка программирования), либо созданная для демонстрации этой спецификации в действии.
Расширяемость (англ. extensibility) в электронике и информатике означает возможность добавления отдельных элементов в какую-либо систему. Этот термин является одним из принципов разработки и проектирования программного обеспечения и других систем, в которых требуется учитывать их будущий рост и развитие. Расширяемость можно рассматривать как системную меру способности расширять систему и меру количества усилий, необходимых для реализации расширения. Главный аспект применения расширяемости — это предусмотреть...
Фре́ймворк , иногда фреймво́рк (англицизм, неологизм от framework «остов, каркас, структура») — заготовки, шаблоны для программной платформы, определяющие архитектуру программной системы; программное обеспечение, облегчающее разработку и объединение разных модулей программного проекта.
Сервлет является интерфейсом Java, реализация которого расширяет функциональные возможности сервера. Сервлет взаимодействует с клиентами посредством принципа запрос-ответ.
Стандарт (в технике) — общедоступная и не секретная техническая спецификация, у которой либо отсутствует правообладатель (общественное достояние), либо же правообладателем является общественная организация, не совпадающая тождественно с производителем, использующим спецификацию в своих продуктах.
Общие критерии оценки защищённости информационных технологий, Общие критерии, ОК (англ. Common Criteria for Information Technology Security Evaluation, Common Criteria, CC) — принятый в России международный стандарт по компьютерной безопасности. В отличие от стандарта FIPS 140, Common Criteria не приводит списка требований по безопасности или списка особенностей, которые должен содержать продукт. Вместо этого он описывает инфраструктуру (framework), в которой потребители компьютерной системы могут...
Недокументи́рованные возмо́жности (англ. undocumented features), НДВ — возможности технических устройств и/или программного обеспечения, не отраженные в документации. Чаще всего недокументированные возможности сознательно закладываются разработчиками в целях тестирования, дальнейшего расширения функциональности, обеспечения совместимости или же в целях скрытого контроля за пользователем. Кроме того недокументированные возможности могут стать следствием побочных эффектов (чаще всего в переходных режимах...
Совмести́мость лице́нзий (англ. License compatibility) — проблема совместимости лицензий на программное обеспечение, текст которых может содержать противоречивые требования, что делает невозможным объединить исходный код из таких пакетов в целях создания новых пакетов программного обеспечения.
Спецификация (стандарт, определение) языка программирования — это предмет документации, который определяет язык программирования, чтобы пользователи и разработчики языка могли согласовывать, что означают программы на данном языке. Спецификации обычно являются подробными и формальными и в основном используются разработчиками языка, в то время как пользователи обращаются к ним в случае двусмысленности: например, спецификация языка C++ часто цитируется пользователями из-за сложности. Сопутствующая документация...
Спецификация Java-портлетов (англ. Java Portlet Specification) описывает модель взаимодействия между портлетом и портлетным контейнером. Эта спецификация очень похожа на спецификацию Java-сервлетов (англ. Java Servlet Specification) и, фактически, разработана на основе Java Servlet Specification версии 2.3 и Java Server Pages версии 1.2.
Специфика́ция — (от позднелат. specificatio, от лат. species — вид, разновидность и лат. facio — делаю)...
Журналирование (англ. logging) — форма автоматической записи в хронологическом порядке операций в информационных технологиях, процесс записи информации о происходящих в рамках какого-либо процесса с некоторым объектом событиях, например, в файл регистрации или в базу данных. В некоторых программный комплексах используется термин "аудит", что является не верным, поскольку аудит подразумевает сравнение чего-то с чем-то, чего-то на предмет соответствия, например, требованиям, иными словами это корреляционный...
Сопровождение программного обеспечения стандартизовано, имеются национальные стандарты Российской Федерации, идентичные международным (ISO/IEC 12207:2008 System and software engineering — Software life cycle processes, ГОСТ Р ИСО/МЭК 12207-2010 «Национальный стандарт Российской Федерации. Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств»; ISO/IEC 14764:99 Information tehnology — Software maintenance, ГОСТ Р ИСО/МЭК 14764-2002 «Государственный...
Подпись исполняемого кода — это процесс, при котором в непосредственно исполняемые файлы или скрипты встраиваются дополнительно электронные подписи, позволяющие произвести проверку их авторства или целостность, часто с использованием хеш-сумм.
Мо́дульное программи́рование — это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определённым правилам. Использование модульного программирования позволяет упростить тестирование программы и обнаружение ошибок. Аппаратно-зависимые подзадачи могут быть строго отделены от других подзадач, что улучшает мобильность создаваемых программ.
Единая система программной документации (ЕСПД) — комплекс государственных стандартов Российской Федерации, устанавливающих взаимосвязанные правила разработки, оформления и обращения программ и программной документации.
Аналитик программного обеспечения (также программный аналитик) — специалист-аналитик, планирующий и организующий работу программистов с целью упрощения и оптимизации. Его должностные обязанности могут включать в себя выбор методологии и среды разработки; создание или выбор фреймворков; принятие решений о том, когда следует воспользоваться готовым программным кодом вместо самостоятельной разработки; написание спецификаций и прочей документации для будущего программного продукта и планирование сроков...
SaaS (англ. software as a service —
программное обеспечение как услуга; также англ. software on demand — программное обеспечение по требованию) — одна из форм облачных вычислений, модель обслуживания, при которой подписчикам предоставляется готовое прикладное программное обеспечение, полностью обслуживаемое провайдером. Поставщик в этой модели самостоятельно управляет приложением, предоставляя заказчикам доступ к функциям с клиентских устройств, как правило через мобильное приложение или веб-браузер...
Удалённые вычисления (англ. remote evaluation) — техника межкомпьютерной коммуникации, при которой один компьютер посылает другому запрос на выполнение некоторых действий в форме исполняемой программы с последующим запросом результата.
Конструирование программного обеспечения - дисциплина программной инженерии. Это детальное создание работающего программного обеспечения посредством комбинации кодирования, верификации, модульного тестирования, интеграционного тестирования и отладки. Оно связано со всеми другими дисциплинами программной инженерии, наиболее сильно с проектированием и тестированием.
Операцио́нная систе́ма , сокр. ОС (англ. operating system, OS) — комплекс взаимосвязанных программ, предназначенных для управления ресурсами компьютера и организации взаимодействия с пользователем.
Открытая информационная система - по определению, принятому Комитетом IEEE POSIX 1003.0, открытой информационной системой называется система, которая реализует открытые спецификации на интерфейсы, сервисы (услуги среды) и поддерживаемые форматы данных, достаточные для того, чтобы дать возможность должным образом разработанному прикладному программному обеспечению быть переносимым в широком диапазоне систем с минимальными изменениями, взаимодействовать с другими приложениями на локальных и удалённых...
Управление требованиями к программному обеспечению (англ. software requirements management) — процесс, включающий идентификацию, выявление, документирование, анализ, отслеживание, приоритизацию требований, достижение соглашения по требованиям и затем управление изменениями и уведомление соответствующих заинтересованных лиц. Управление требованиями — непрерывный процесс на протяжении всего проекта разработки программного обеспечения.
Виртуальная файловая система (англ. virtual file system — VFS) или виртуальный коммутатор файловой системы (англ. virtual filesystem switch) — уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентских приложений к различным типам файловых систем. VFS может быть использована для доступа к локальным устройствам и файлам (fat32, ext4, ntfs), сетевым устройствам и файлам на них (nfs), а также к устройствам, не предназначенным для...
Безопасность приложения ( англ. Application Security ) включает в себя меры, принимаемые для повышения безопасности приложения, часто путем обнаружения, исправления и предотвращения уязвимостей в безопасности. Для выявления уязвимостей на разных этапах жизненного цикла приложений, таких как проектирование, разработка, развертывание, обновление, обслуживание, используются различные методы.
Интегри́рованная среда́ разрабо́тки , ИСP (англ. Integrated development environment — IDE), также единая среда разработки, ЕСР — комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).
Программное обеспечение для управления проектами — комплексное программное обеспечение, включающее в себя приложения для планирования задач, составления расписания, контроля цены и управления бюджетом, распределения ресурсов, совместной работы, общения, быстрого управления, документирования и администрирования системы, которое используются совместно для управления крупными проектами.
Аспектно-ориентированная разработка программного обеспечения — развивающаяся технология разработки программного обеспечения, которая ищет новые способы разбиения на модули программного обеспечения, чтобы изолировать вторичные или вспомогательные функции от бизнес-логики основной программы. АОРПО позволяет реализовать отдельно различные проблемы и автоматически объединять их в работоспособные системы.
Гибкая методология разработки (англ. Agile software development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. Существует несколько методик, относящихся к классу гибких методологий разработки, в частности экстремальное программирование...
Эмуля́ция (англ. emulation) в вычислительной технике — комплекс программных, аппаратных средств или их сочетание, предназначенное для копирования (или эмулирования) функций одной вычислительной системы (гостя) на другой, отличной от первой, вычислительной системе (хосте) таким образом, чтобы эмулированное поведение как можно ближе соответствовало поведению оригинальной системы (гостя). Целью является максимально точное воспроизведение поведения в отличие от разных форм компьютерного моделирования...
Повторное использование кода (англ. code reuse) — методология проектирования компьютерных и других систем, заключающаяся в том, что система (компьютерная программа, программный модуль) частично либо полностью должна составляться из частей, написанных ранее компонентов и/или частей другой системы, и эти компоненты должны применяться более одного раза (если не в рамках одного проекта, то хотя бы разных). Повторное использование — основная методология, которая применяется для сокращения трудозатрат...
Станда́рт оформле́ния ко́да (станда́рт коди́рования, стиль программи́рования) (англ. coding standards, coding convention или programming style) — набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования. Наличие общего стиля программирования облегчает понимание и поддержание исходного кода, написанного более чем одним программистом, а также упрощает взаимодействие нескольких человек при разработке программного обеспечения.
Систе́мное програ́ммное обеспе́чение — комплекс программ, которые обеспечивают управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой — приложения пользователя.
Слой абстракции базы данных (Database abstraction layer — DBAL) — это интерфейс прикладного программирования, который унифицирует связь между компьютерным приложением и системами управления базами данных(СУБД), такими как SQL Server, DB2, MySQL, PostgreSQL, Oracle или SQLite. Традиционно все поставщики СУБД предоставляют свой собственный интерфейс, адаптированный к их продуктам, что позволяет программисту реализовать код для всех интерфейсов баз данных, которые он или она хотел бы поддерживать. Уровни...
Язык спецификаций — формальный язык, предназначенный для декларативного описания структуры, связей, свойств данных и способов их преобразований, (в отличие от активных языков) без явного упоминания порядка выполняемых действий и использования конкретных значений данных.