Характеристика областей знаний SWEBOK - Лекция, раздел Философия, Конспект лекций по дисциплине Надежность систем В данной лекции систематически изложены следующие взаимосвязанные аспекты инженерии ПО В Ядре Знаний Swebok Определено 10 Областей Знаний. Среди Них Выделим Базовые...
В ядре знаний SWEBOK определено 10 областей знаний. Среди них выделим базовые области, методы и средства которых соответствуют процессам разработки ПС:
1. Разработка требований;
2. Проектирование;
3. Конструирование;
4. Тестирование;
5. Сопровождение.
Эти области знаний по своим базовым концепциям и методам, определенным в SWEBOK, соответствуют задачам и выполняемым действиям следующих процессов разработки ЖЦ стандарта ISO/IEC - 12207:
1. Разработка требований;
2. Проектирование;
3. Кодирование;
4. Тестирование;
5. Интеграция;
6. Интеграционное тестирование;
7. Эксплуатация;
8. Сопровождение.
Эти процессы задают последовательность задач и действий при разработке разных типов ПС с применением методов и средств, которые представлены в ядре знаний для перечисленных пяти областей SWEBOK. Фактически процессы и области совпадают по смыслу и названию, но содержание действий на процессах определяются методами и средствами пяти областей, которые приведены выше.
В табл. 2.3. приведен сопоставительный перечень основных областей SWEBOK, их задач и соответственно задач ЖЦ стандарта. При этом процессы приобретения и поставки из состава основных процессов исключены, поскольку они не относятся к процессам разработки ПО.
Остальные пять областей ядра SWEBOK относятся к числу процессов обеспечения и управления разработкой проекта, при которых проводится верификация, сбор данных для проведения оценки качества и др. И хотя области ядра знаний явно не содержат названий процессов ЖЦ, функционально и содержательно они соответствуют процессам, относящимся к категории основных, вспомогательных и организационных.
Перечень процессов ЖЦ категории вспомогательных и организационных приведены на рис. 2.2, а соответствующие им области знаний SWEBOK таковы:
· управление конфигурацией,
· управление инженерией ПО (или управление проектом),
· процесс инженерии ПО (инфраструктура процесса разработки),
· методы и средства инженерии;
· инженерия качества (управление качеством).
Данные области знаний включают методы и средства разработки ПС, а также управление проектом, рисками, конфигурацией, качеством создаваемого продукта. Они соответствуют отдельным задачам вспомогательных и организационных процессов ЖЦ стандарта и предназначены для управления проектом, конфигурацией и качеством.
Таблица 2.3. Задачи основных областей SWEBOK и процессов ЖЦ
|
Область SWEBOK
| Задачи области SWEBOK
| Задачи процессов ЖЦ стандарта ISO/IEC 12207
|
Разработка требований
| Инженерия требований
Выявление требований
Анализ требований
Спецификация требований
Проверка требований
Управление требованиями
| Подготовка заказа
Выявление требований
Анализ требований к системе
Анализ требований к ПО
Описание документа
|
Проектирование ПО
| Разработка архитектуры ПО
Нотация
Анализ качества проектирования
Использование стратегии и
методов проектирования
| Проектирование:
· архитектуры системы
· архитектуры ПО
· ПО
Кодирование ПО
Тестирование ПО
|
Конструирование ПО
| Снижение сложности
Предупреждение отклонений от стиля
Структуризация системы для проверок
Использование внешних стандартов
| Конструирование структуры системы
Кодирование элементов структуры и ПО
Интеграция элементов
Применение стандартов программной инженерии
|
Тестирование ПО
| Тестирование элементов и системы
Тестирование спецификаций, структуры и системы на наборах данных
Метрическое измерение тестирования
Планирование и оценка качества
| Тестирование ПО
Интеграционное тестирование
Квалификационное тестирование
Интеграция системы
Системное тестирование
Установка и приемка ПО
|
Сопровождение ПО
| Запуск ПО
Нахождение ошибок, планирование исправлений
Внесение изменений
| Инсталляция ПО
Анализ проблем и модификация
Реализация модификаций
Анализ сопровождения
Миграция, удаление ПО
|
Эксплуатация системы
| Методы обеспечения эксплуатации системы
| Внедрение процесса
Функциональное тестирование
Эксплуатация системы
Поддержка пользователя
|
В табл. 2.4 приведен перечень областей ядра SWEBOK и соответствующие задачи вспомогательных (организационных и дополнительных) процессов ЖЦ стандарта ISO/IEC 12207.
Таблица 2.4. Задачи областей SWEBOK и вспомогательных процессов ЖЦ
|
Области SWEBOK
| Задачи областей SWEBOK
| Задачи процессов стандарта 12207
|
Управление конфигурацией
| Процесс управления конфигурацией.
Идентификация элементов.
Учет статуса, аудит.
Контроль конфигурации.
Управление версиями.
| Определение и контроль конфигурации.
Учет состояния и оценка конфигурации.
Управление реализацией и поставкой версии.
|
Управление проектом
| Организационное управление.
Планирование проектом.
Управления процессами и проектом.
Инженерия измерения ПО.
Управление риском.
| Инициация и определение области применения.
Планирование.
Выполнение и контроль.
Анализ управления проектом:
· технический анализ;
· аудит (ревизия).
|
Управление качеством
| Концепция качества ПО.
Определение и планирование качеством.
Верификация и валидация.
Измерение в анализе качества ПО.
| Внедрение процесса.
Обеспечение производства и качества.
Процесс верификации и валидации.
Анализ и оценивание качества.
|
Методы и средства инженерии
| Методы инженерии.
Инструменты инженерии.
| Процесс усовершенствования:
· определение процесса;
· оценка процесса; - улучшение процесса.
|
Процесс инженерии ПО
| Инфраструктура процесса.
Определение процесса.
Измерение процесса.
Анализ проекта.
Выполнение изменений.
Оценки стоимости и затрат.
| Создание инфраструктуры.
Сопровождение инфраструктуры.
Внедрение процесса.
Завершение.
|
Сопоставление концепций, методов и средств областей SWEBOK с задачами процессов ЖЦ позволяет регламентировать поиск, обнаружение ошибок и внесение изменений в требования к системе.
Все темы данного раздела:
Анализ и характеристика областей знаний SWEBOK
Ядро знаний SWEBOK является основополагающим научно-техническим документом, который отображает мнение многих зарубежных и отечественных специалистов в области программной инженерии [1.3-1.12
Требования к ПО (Software Requirements)
Требования - это свойства, которыми должно обладать ПО для адекватного определения функций, условий и ограничений выполнения ПО, а также объемов данных, технического обеспечения и среды функциониро
Проектирование ПО (Software design)
Проектирование ПО - это процесс определения архитектуры, компонентов, интерфейсов, других характеристик системы и конечного состава программного продукта. Область знаний "Прое
Конструирование ПО (Software Construction)
Конструирование ПО - создание работающего ПО с привлечением методов верификации, кодирования и тестирования компонентов. К инструментам конструирования ПО отнесены языки программирования и конструи
Тестирование ПО (Software Testing)
Тестирование ПО - это процесс проверки готовой программы в статике (просмотры, инспекции, отладки исходного кода) и в динамике путем прогона конечного набора тестовых данных, проверяющих разные пут
Сопровождение ПО (Software maintenance)
Сопровождение ПО - совокупность действий по обеспечению работы ПО, а также по внесению изменений в случае обнаружения ошибок в процессе эксплуатации, по адаптации ПО к новой среде функционирования,
Управление конфигурацией ПО
Управление конфигурацией (Software Configuration Management - SCM) состоит в идентификации компонентов системы, определении функциональных и физических характеристик аппаратного и программно
Управление инженерией ПО
Управление инженерией ПО (Software Engineering Management) - руководство работами команды разработчиков ПО в процессе выполнения плана проекта, определение критериев эффективности работы ком
Процесс инженерии ПО (Software Engineering Process)
В некотором смысле это метауровень, который связан с определением, реализацией, оценкой, измерением, управлением изменениями и совершенствованием самого процесса. Однако такой процесс не явл
Методы и инструменты инженерии ПО
Методы обеспечивают проектирование, реализацию и выполнение ПО. Они накладывают некоторые ограничения на инженерию ПО в связи с особенностями применения их нотаций и процедур, а также обеспечивают
Качество ПО (Software Quality)
Качество ПО - набор свойств продукта (сервис или службы), которые характеризуют его способность удовлетворить установленные или предполагаемые потребности заказчика. Понятие качества имеет разные и
Жизненный цикл ПС, связь с ядром знаний SWEBOK
Программная инженерия, как инженерная дисциплина, охватывает все аспекты создания ПС от начальной стадии разработки системных требований до реализации программного продукта и его использован
Каскадная модель ЖЦ
Одной из первых стала применяться каскадная модель, в которой каждая работа выполняется один раз и в том порядке, как это представлено в модели (рис. 2.4).
Инкрементная модель ЖЦ
Первая создаваемая промежуточная версия системы (выпуск 1) реализует часть требований, в последующую версию (выпуск 2) добавляют дополнительные требования и так до тех пор, пока не будут окончатель
Спиральная модель
увеличить изображение Рис. 2.6.Спиральная модель ЖЦ р
Эволюционная модель ЖЦ
В случае эволюционной модели система разрабатывается в виде последовательности блоков структур (конструкций). В отличие от инкрементной модели ЖЦ подразумевается, что требования устанавливаются час
Стандартизация модели ЖЦ
Типичный ЖЦ системы начинается с формулировки идеи или потребности, проходит все процессы разработки, производства, эксплуатации и сопровождения системы. Стандартный ЖЦ состоит из процессов, каждый
Процессы ЖЦ верификация и валидация программ
Верификация и валидация, как методы, обеспечивают соответственно проверку и анализ правильности выполнения заданных функций и соответствия ПО требованиям заказчика, а та
Тестирование программ
Тестированиеможно рассматривать, как процесс семантической отладки (проверки) программы, заключающийся в исполнении последовательности различных наборов контрольных тестов, для кот
Статические методы тестирования
Статические методы используются при проведении инспекций и рассмотрении спецификаций компонентов без их выполнения.Техника статического анализа заключается в методическом просмотре (или обзоре) и а
Динамические методы тестирования
Динамические методы тестирования используются в процессе выполнения программ. Они базируются на графе, связывающем причины ошибок с ожидаемыми реакциями на эти ошибки. В процессе тестирования накап
Функциональное тестирование
Цель функционального тестирования - обнаружение несоответствий между реальным поведением реализованных функций и ожидаемым поведением в соответствии со спецификацией и исходными требованиями
Инфраструктура процесса тестирования ПС
Под инфраструктурой процесса тестирования понимается:
· выделение объектов тестирования;
· проведение классификации ошибок для рассматриваемого класса тестируемых программ;
Методы поиска ошибок в программах
Международный стандарт ANSI/IEEE-729-83 разделяет все ошибки в разработке программ на следующие типы.
Ошибка (error) - состояние программы, при котором выдаются неправильные результаты, пр
Служба тестирования ПС
За функциональные и исполнительные тесты несут ответственность разработчики заказчик, он больше влияет на составление тестов испытаний и инсталляции системы [7.6].
Для этих целей, как прав
Управление процессом тестирования
Все способы тестирования ПС объединяются базой данных, где помещаются результаты тестирования системы. В ней содержатся все компоненты, тестовые контрольные данные, результаты тестирования и информ
Анализ языков формальной спецификации программ
Языки спецификаций, используемые для формального описания свойств программ, более высокого уровня, чем ЯП. Их можно классифицировать по таким категориям: универсальные языки с общемат
VDM-спецификация программ
Язык VDM (Vienna Development Method) разработан в венской лаборатории компании IBM для описания языков типа ПЛ/1, трансляторов и систем со сложными структурами данных [6.7, 6.8]. Главная его
Спецификация программ средствами RAISE
RAISE-метод и RSL-спецификация (RAISE Specification Language) [6.9, 6.10] были разработаны в 80-х годах как результат предварительного исследования формальных методов и их пополнения новыми
Спецификации задач концепторным языком
Для постановки сложных математических задач (суммирование бесконечных рядов, теоретикомножественных операций с бесконечными множествами, гильбертов оператор и др.) и задач искусственного интеллекта
Методы доказательства правильности программ
Формальные методы тесно связаны с математическими техниками спецификаций, верификацией и доказательством правильности программ. Эти методы содержат математическую символику, формальную нотацию и ап
Характеристика формальных методов доказательства
Наиболее известными формальными методами доказательства программ являются метод рекурсивной индукции или утверждений Флойда, Наура, метод структурной индукции Хоара и др. [6.4, 6.5, 6.18, 6.19].
Валидация сценариев требований
Рассматривается подход к проверке требований, которые заданы в модели требований, построенной с использованием сценариев и акторов, как внешней сущности по отношению к разрабатываемой систем
Методы анализа структур программ
Методы анализа структуры программ относятся к доказательству правильности программ [6.20] и состоят в их инспекции независимыми экспертами с участием самих разработчиков. Они проверяют полноту, цел
Верификация и валидация программ
Верификация и валидация - это методы анализа, проверки спецификаций и правильности выполнения программ в соответствии с заданными требованиями и формальным описанием программы [6.19,
Подходы к верификации моделей
Объектная модель и модель распределенного приложения отражают специфику предметной области и принципы взаимодействияобъектов со средой функционирования. Их верификации посвящен ряд работ, в том чис
Метод верификации композиции правильных компонентов
Метод верификации композиции компонентов базируется на спецификации функций и временных (temporal) свойствах готовых проверенных компонентов (типа reuse) [6.23]. Свойства составного компонен
Перспективные направления верификации программ
По данным, опубликованным в [6.15], ежегодно ошибки в ПО США обходятся в 60 млрд. долларов. Для преодоления этих проблем американские специалисты и специалисты из европейских стран по формальным ме
Новости и инфо для студентов