Методология разработки программного обеспечения
Процесс разработки программного обеспечения для чистых помещений — это процесс разработки программного обеспечения , направленный на создание программного обеспечения с сертифицированным уровнем надежности . Центральными принципами являются разработка программного обеспечения на основе формальных методов, постепенная реализация под статистическим контролем качества и статистически обоснованное тестирование.
История
Первоначально процесс создания чистых помещений был разработан Харланом Миллсом и несколькими его коллегами, включая Алана Хевнера из IBM . [1]
Процесс чистого помещения впервые был использован в середине-конце 1980-х годов. Демонстрационные проекты в военных целях начались в начале 1990-х годов. [2] Недавние работы по процессу чистого помещения изучили объединение чистого помещения с автоматизированными возможностями проверки, предоставляемыми спецификациями, выраженными в CSP . [3]
Философия
В центре внимания процесса чистого помещения находится предотвращение дефектов, а не их устранение. Название «чистое помещение» было выбрано, чтобы вызвать ассоциации с чистыми помещениями, используемыми в электронной промышленности для предотвращения появления дефектов при изготовлении полупроводников .
Основные принципы
Основные принципы процесса чистого помещения:
- Разработка программного обеспечения на основе формальных методов
- Поддержка программного обеспечения на основе некоторого математического формализма включает проверку моделей , алгебры процессов и сети Петри . Метод структурных коробок может быть одним из таких средств спецификации и проектирования программного продукта. [4] Проверка того, что проект правильно реализует спецификацию, выполняется посредством обзора команды, часто с поддержкой программного обеспечения.
- Поэтапное внедрение под статистическим контролем качества
- Разработка чистых помещений использует итеративный подход, при котором продукт разрабатывается по шагам, которые постепенно увеличивают реализованную функциональность. Качество каждого шага измеряется по заранее установленным стандартам, чтобы убедиться, что процесс разработки проходит приемлемо. Несоответствие стандартам качества приводит к прекращению тестирования текущего шага и возврату к фазе проектирования.
- Статистически обоснованное тестирование
- Тестирование программного обеспечения в процессе чистого помещения проводится как статистический эксперимент. На основе формальной спецификации выбирается и тестируется репрезентативное подмножество траекторий ввода/вывода программного обеспечения. Затем этот образец статистически анализируется для получения оценки надежности программного обеспечения и уровня уверенности в этой оценке.
Ссылки
- ^ Миллс, Х.; М. Дайер; Р. Лингер (сентябрь 1987 г.). «Программная инженерия чистых помещений» (PDF) . IEEE Software . 4 (5): 19–25. doi :10.1109/MS.1987.231413. S2CID 383170.
- ^ Форман, Джон (2005). "Справочник по программной инженерии для чистых помещений". Дорожная карта программных технологий . Институт программной инженерии (SEI) . Получено 27.04.2006 .
- ^ Гай Х. Бродфут и П. Дж. Хопкрофт (2005). «Внедрение формальных методов в промышленность с использованием чистых помещений и CSP». Электронный журнал Dedicated Systems. S2CID 14066854.
- ^ Linger, R. (апрель 1994 г.). «Модель процесса в чистом помещении». IEEE Software . 11 (2): 50–58. CiteSeerX 10.1.1.130.8642 . doi :10.1109/52.268956. S2CID 206447346.
Дальнейшее чтение
- Стэйвли, Аллан (1999). На пути к программированию с нулевым дефектом . Эддисон-Уэсли.
- Стейси Дж. Проуэлл, Кармен Дж. Траммелл, Ричард К. Лингер и Джесси Х. Пур (1999). Программная инженерия для чистых помещений: технология и процесс . Эддисон-Уэсли.
- Джесси Х. Пур и Кармен Дж. Траммелл (1996). Программная инженерия для чистых помещений: хрестоматия . NCC Blackwell.
Внешние ссылки