23
дисциплины дисциплины Программная Программная инженерия инженерия (SWEBOK +) (SWEBOK +) Сергей Орлик [email protected] http://SOrlik.ru http://SWEBOK.sorlik.ru http://www.linkedin.com/ in/SOrlik член ISACA, IASA, IIBA, PMI

Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Embed Size (px)

Citation preview

Page 1: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Содержание дисциплиныСодержание дисциплины““Программная инженерияПрограммная инженерия”” (SWEBOK +)(SWEBOK +)

Сергей Орлик

[email protected]

http://SOrlik.ru

http://SWEBOK.sorlik.ru

http://www.linkedin.com/in/SOrlik

член ISACA, IASA, IIBA, PMI

Page 2: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

2

Как “практика” зачастую смотрит на “теорию”

Page 3: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Что такое Что такое программная инженерияпрограммная инженерия??

IEEE 610.12-90“Standard Glossary for Software Engineering Terminology ”:

◦ “(1) Приложение систематического, упорядоченного и поддающегося количественной оценке подхода к разработке, эксплуатации и сопровождению программного обеспечения – приложение инженерного подхода к программному обеспечению.

◦ (2) Изучение подхода, описанного в (1).”

Page 4: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

IEEE Guide to SWEBOKIEEE Guide to SWEBOKSoftware Engineering Body of KnowledgeSoftware Engineering Body of KnowledgeРуководство к своду знаний по программной инженерииРуководство к своду знаний по программной инженерии

Цель:определение тех аспектов деятельности, которые составляют суть профессии инженера-программиста

http://swebok.org

Page 5: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Чем Чем нене является является SWEBOKSWEBOK

Это не глоссарий терминов

Это не описание процессов или

практик

Это не методология или прикладной

фреймворк

Page 6: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Чем является Чем является SWEBOKSWEBOK

Это карта дисциплины

- предметной области

и структура базовых понятий,

идентифицирующих её содержание

и связи между ними

в контексте жизненного цикла ПО

Page 7: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

IEEE Guide to SWEBOKIEEE Guide to SWEBOKSoftware Engineering Body of KnowledgeSoftware Engineering Body of KnowledgeРуководство к своду знаний по программной инженерииРуководство к своду знаний по программной инженерии

Цель:определение тех аспектов деятельности, которые составляют суть профессии инженера-программиста

Концепция:базовое определение и описание областей знаний, касающихся вопросов создания программного обеспечения, построенное по иерархическому принципу, как результат структурной декомпозиции--структура декомпозиции областей знаний детализирована только до того уровня, который необходим для понимания природы соответствующих тем и возможности нахождения источников компетенции и других справочных данных и материалов

Выбор областей знаний:на основе концепции “общепринятости” - generally accepted – IEEE Std 1490-1998, Adoption of PMI Standard — A Guide to the Project Management Body of Knowledge

Page 8: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Области знаний Области знаний SWEBOKSWEBOK

1. Software requirements – программные требования

2. Software design – проектирование

3. Software construction – конструирование программного обеспечения

4. Software testing - тестирование

5. Software maintenance – сопровождение программного обеспечения

6. Software configuration management – конфигурационное управление

7. Software engineering management – управление в программной инженерии

8. Software engineering process – процессы программной инженерии

9. Software engineering tools and methods – инструменты и методы

10. Software quality – качество программного обеспечения

Page 9: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

ОБЛАСТИ ЗНАНИЙ 1-5ОБЛАСТИ ЗНАНИЙ 1-5

SWEBOK

Требования Проектирование Конструирование Тестирование

Основы требований

Процесс работыс требованиями

Извлечение требований

Анализ требований

Спецификация требований

Утверждение требований

Практическиесоображения

Основы проектирования

Ключевые вопросы проектирования

Структура и архитектура

Анализ качества и оценка дизайна

Нотации дизайна

Стратегии и методы проектирования

Основы конструирования

Управление конструированием

Практическиесоображения

Основы тестирования

Уровни тестирования

Техники тестирования

Метрики, связанные с тетсированием

Процесс тестирования

Поддержка и Эксплуатация

Основы поддержки и эксплуатации

Ключевые вопросы поддержки

и эксплуатации

Процесс

Техники

Page 10: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

SWEBOK

Конфигурационноеуправление

Управлениеинженерной

деятельностью

Процессыинженерной

деятельности

Инженерныеинструменты

и методы

Управлениепроцессами

конфигурационногоуправления

Идентификацияконфигураций

Контрольконфигураций

Отчетность по статусуконфигураций

Конфигурационныйаудит

Управление выпускомПО и развертывание

Инициированиеи определение

содержания

Планированиепроектов

Проектные работы(реализация плана)

Обзор и оценка

Закрытие (работ)

Количественная оценкаинженерной

деятельности

Реализацияи изменениепроцессов

Определениепроцессов

Оценка процессов

Программныеинструменты

Методы программнойинженерии

Качество

Основы качества

Процессыуправлениякачеством

Практическиесоображения

Измерениепроцессов

и продуктов

ОБЛАСТИ ЗНАНИЙ 6-10ОБЛАСТИ ЗНАНИЙ 6-10

Page 11: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Смежные (связанные) дисциплиныСмежные (связанные) дисциплиныComputer engineeringComputer scienceManagementMathematicsProject managementQuality managementSystems engineering

Page 12: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Области знаний Области знаний SWEBOKSWEBOK

1. Software requirements – программные требования

2. Software design – проектирование

3. Software construction – конструирование программного обеспечения

4. Software testing - тестирование

5. Software maintenance – сопровождение программного обеспечения

6. Software configuration management – конфигурационное управление

7. Software engineering management – управление в программной инженерии

8. Software engineering process – процессы программной инженерии

9. Software engineering tools and methods – инструменты и методы

10. Software quality – качество программного обеспечения

Page 13: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

SWEBOK SWEBOK структурирован структурирован в терминах жизненного циклав терминах жизненного цикла фактически отображен на фактически отображен на ISO/IEEE 12207ISO/IEEE 12207

Software Quality

Software Engineering Tools and Methods

Software Engineering Process

Software Engineering Management

Software Configuration Management

MaintenanceTestingConstructionDesignRequirements

Primary Processes Supporting Processes

Page 14: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

CMMI: CMMI: ИнтегрированнаяИнтегрированная модель модель зрелости способностей зрелости способностей <<ИТИТ>>

Page 15: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

CCводы знаний воды знаний CMMI CMMI ((Bodies of KnowledgeBodies of Knowledge)) Системная инженерия

- System Engineering (SE)

Программная инженерия- Software Engineering (SW)

Совместная разработка продуктов и процессов- Integrated Product and Process Development (IPPD)

Привлечение поставщиков- Supplier Sourcing (SS)

Page 16: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

CCводы знанийводы знаний System Engineering (SE)◦охватывает разработку cистемы в целом,

которая может включать или не включать программное обеспечение

◦ системные инженеры фокусируются на: трансформации потребностей пользователей,

их ожиданий и связанных с этим ограничений в конкретное техническое решение (продукт)

поддержке (сопровождении) продукта на протяжении всего жизненного цикла

Software Engineering (SW) Integrated Product and Process Development

(IPPD) Supplier Sourcing (SS)

Page 17: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

CCводы знанийводы знаний System Engineering (SE) Software Engineering (SW)◦ охватывает разработку программных cистем◦ инженеры по программному обеспечению

фокусируются наприменении систематического упорядоченного и количественно оцениваемого подхода к разработке, эксплуатации и сопровождению программного обеспечения

Integrated Product and Process Development (IPPD)

Supplier Sourcing (SS)

Page 18: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

CCводы знанийводы знаний System Engineering (SE) Software Engineering (SW) Integrated Product and Process Development

(IPPD)◦ систематический подход, касающийся

своевременной совместной работы с заинтересованными лицами на протяжении жизненного цикла продукта для лучшего удовлетворения потребностей, ожиданий и требований заказчиков

Supplier Sourcing (SS)

Page 19: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

CCводы знанийводы знаний System Engineering (SE) Software Engineering (SW) Integrated Product and Process Development

(IPPD) Supplier Sourcing (SS)◦ охватывает вопросы приобретения продуктов/услуг

у внешних поставщиков, обеспечивающих выполнение части работ по разработке, модификации, сопровождению продуктов или их составных частей

Page 20: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Категории процессных областейКатегории процессных областей

Управление процессамиProcess Management

Управление проектамиProject Management

Инженерные областиEngineering

Служебные областиSupport

Page 21: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Полнота описания Полнота описания программной инженериипрограммной инженерии

SWEBOK (структурный взгляд)

+CMMI

(процессный взгляд)

Page 22: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

22

Главное не забывать ради чего всё это!

Page 23: Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной

Блог Сергея Орлика “ИТ с высоты птичьего полёта”http://sorlik.ru

Перевод определения и эталонной архитектуры облачных вычислений NISThttp://cloud.sorlik.ru

Перевод SWEBOKhttp://swebok.sorlik.ru