Содержание дисциплины “ Программная инженерия ”   (SWEBOK +) Сергей Орлик [email_address] http://SOrlik.ru  http://SWEBOK.sorlik.ru  http://www.linkedin.com/in/SOrlik член  ISACA, IASA, IIBA, PMI
Как  “ практика ”  зачастую смотрит на  “ теорию ”
Что такое  программная инженерия ? IEEE 610.12-90 “Standard Glossary    for Software Engineering Terminology   ”: “ (1)  Приложение систематического, упорядоченного и поддающегося количественной оценке подхода к разработке, эксплуатации и сопровождению программного обеспечения  –  приложение инженерного подхода к программному обеспечению . (2)  Изучение подхода, описанного в  (1).”
IEEE Guide to SWEBOK Software Engineering Body of Knowledge Руководство к своду знаний по программной инженерии Цель : определение тех аспектов  деятельности, которые  составляют суть профессии  инженера-программиста  http:// swebok.org
Чем  не  является  SWEBOK Это  не  глоссарий терминов Это  не  описание процессов   или практик Это  не  методология или прикладной фреймворк
Чем является  SWEBOK Это карта дисциплины  - предметной области и структура базовых понятий, идентифицирующих её содержание  и связи между ними  в контексте жизненного цикла ПО
IEEE Guide to SWEBOK Software Engineering Body of Knowledge Руководство к своду знаний по программной инженерии Цель : определение тех аспектов деятельности, которые составляют суть профессии инженера-программиста  Концепция : базовое определение и описание областей знаний, касающихся вопросов создания программного обеспечения, построенное по иерархическому принципу, как результат структурной декомпозиции -- структура декомпозиции областей знаний детализирована только до того уровня, который необходим для понимания природы соответствующих тем и возможности нахождения источников компетенции и других справочных данных и материалов    Выбор областей знаний : на основе концепции  “ общепринятости ” - generally accepted – IEEE Std 1490-1998, Adoption of PMI Standard — A Guide to the Project Management Body of Knowledge
Области знаний  SWEBOK Software requirements  –  программные требования Software design   – проектирование  Software construction  – конструирование программного обеспечения Software testing  - тестирование Software maintenance   – сопровождение программного обеспечения Software configuration management  –  конфигурационное   управление Software engineering management  – управление в программной инженерии Software engineering process  – процессы программной инженерии Software engineering tools and methods  –  инструменты   и   методы Software quality  – качество программного обеспечения
ОБЛАСТИ ЗНАНИЙ 1-5 SWEBOK Требования Проектирование Конструирование Тестирование Основы  требований Процесс работы с требованиями Извлечение  требований Анализ  требований Спецификация  требований Утверждение  требований Практические соображения Основы  проектирования Ключевые вопросы  проектирования Структура  и архитектура Анализ качества  и оценка дизайна Нотации дизайна Стратегии и методы  проектирования Основы  конструирования Управление  конструированием Практические соображения Основы  тестирования Уровни тестирования Техники тестирования Метрики, связанные  с тетсированием Процесс тестирования Поддержка и  Эксплуатация Основы поддержки  и эксплуатации Ключевые вопросы  поддержки  и эксплуатации Процесс Техники
ОБЛАСТИ ЗНАНИЙ 6-10 SWEBOK Конфигурационное управление Управление инженерной деятельностью Процессы инженерной деятельности Инженерные инструменты и методы Управление процессами конфигурационного управления Идентификация конфигураций Контроль конфигураций Отчетность по статусу конфигураций Конфигурационный аудит Управление выпуском ПО и развертывание Инициирование и определение содержания Планирование проектов Проектные работы (реализация плана) Обзор и оценка Закрытие (работ) Количественная оценка инженерной деятельности Реализация и изменение процессов Определение процессов Оценка процессов Программные инструменты Методы программной инженерии Качество Основы качества Процессы управления качеством Практические соображения Измерение процессов и продуктов
Смежные (связанные) дисциплины Computer engineering Computer science Management Mathematics Project management Quality management Systems engineering
Области знаний  SWEBOK Software requirements  –  программные требования Software design   – проектирование  Software construction  – конструирование программного обеспечения Software testing  - тестирование Software maintenance   – сопровождение программного обеспечения Software configuration management  –  конфигурационное   управление Software engineering management  – управление в программной инженерии Software engineering process  – процессы программной инженерии Software engineering tools and methods  –  инструменты   и   методы Software quality  – качество программного обеспечения
SWEBOK  структурирован  в терминах жизненного цикла   фактически отображен на  ISO/IEEE 12207 Software Quality Software Engineering Tools and Methods Software Engineering Process Software Engineering Management Software Configuration Management Maintenance Testing Construction Design Requirements Primary Processes Supporting Processes
CMMI:  Интегрированная   модель  зрелости способностей  < ИТ >
C воды знаний  CMMI  ( Bodies of Knowledge ) Системная инженерия -  System Engineering (SE) Программная инженерия -  Software Engineering (SW) Совместная разработка продуктов и процессов -  Integrated Product and Process Development (IPPD) Привлечение поставщиков -  Supplier Sourcing (SS)
C воды знаний System Engineering (SE) охватывает разработку  c истемы в целом, которая может включать или не включать программное обеспечение системные инженеры фокусируются на : трансформации потребностей пользователей,  их ожиданий и связанных с этим ограничений в конкретное техническое решение (продукт) поддержке (сопровождении) продукта на протяжении всего жизненного цикла Software Engineering (SW) Integrated Product and Process Development (IPPD) Supplier Sourcing (SS)
C воды знаний System Engineering (SE)   Software Engineering (SW) охватывает разработку программных  c истем инженеры по программному обеспечению фокусируются наприменении систематического упорядоченного и количественно оцениваемого подхода к разработке, эксплуатации и сопровождению программного обеспечения Integrated Product and Process Development (IPPD) Supplier Sourcing (SS)
C воды знаний System Engineering (SE)   Software Engineering (SW) Integrated Product and Process Development (IPPD) систематический подход, касающийся своевременной совместной работы с заинтересованными лицами на протяжении жизненного цикла продукта для лучшего удовлетворения потребностей, ожиданий и требований заказчиков Supplier Sourcing (SS)
C воды знаний System Engineering (SE)   Software Engineering (SW) Integrated Product and Process Development (IPPD) Supplier Sourcing (SS) охватывает вопросы приобретения продуктов / услуг у внешних поставщиков, обеспечивающих выполнение части работ по разработке, модификации, сопровождению продуктов или их составных частей
Категории процессных областей Управление процессами Process Management Управление проектами Project Management Инженерные области Engineering Служебные области Support
Полнота описания  программной инженерии SWEBOK   ( структурный взгляд ) + CMMI   ( процессный взгляд )
Главное не забывать ради чего всё это!  
Блог Сергея Орлика  “ ИТ с высоты  птичьего полёта ” http:// sorlik.ru   Перевод определения и эталонной архитектуры облачных вычислений  NIST http:// cloud.sorlik.ru   Перевод  SWEBOK http:// swebok.sorlik.ru

Мой доклад с пленарного заседания II Научно-практической конференции "Актуальные проблемы системной и программной инженерии" (АПСПИ-2011) в М

  • 1.
    Содержание дисциплины “Программная инженерия ” (SWEBOK +) Сергей Орлик [email_address] http://SOrlik.ru http://SWEBOK.sorlik.ru http://www.linkedin.com/in/SOrlik член ISACA, IASA, IIBA, PMI
  • 2.
    Как “практика ” зачастую смотрит на “ теорию ”
  • 3.
    Что такое программная инженерия ? IEEE 610.12-90 “Standard Glossary for Software Engineering Terminology ”: “ (1) Приложение систематического, упорядоченного и поддающегося количественной оценке подхода к разработке, эксплуатации и сопровождению программного обеспечения – приложение инженерного подхода к программному обеспечению . (2) Изучение подхода, описанного в (1).”
  • 4.
    IEEE Guide toSWEBOK Software Engineering Body of Knowledge Руководство к своду знаний по программной инженерии Цель : определение тех аспектов деятельности, которые составляют суть профессии инженера-программиста http:// swebok.org
  • 5.
    Чем не является SWEBOK Это не глоссарий терминов Это не описание процессов или практик Это не методология или прикладной фреймворк
  • 6.
    Чем является SWEBOK Это карта дисциплины - предметной области и структура базовых понятий, идентифицирующих её содержание и связи между ними в контексте жизненного цикла ПО
  • 7.
    IEEE Guide toSWEBOK Software Engineering Body of Knowledge Руководство к своду знаний по программной инженерии Цель : определение тех аспектов деятельности, которые составляют суть профессии инженера-программиста Концепция : базовое определение и описание областей знаний, касающихся вопросов создания программного обеспечения, построенное по иерархическому принципу, как результат структурной декомпозиции -- структура декомпозиции областей знаний детализирована только до того уровня, который необходим для понимания природы соответствующих тем и возможности нахождения источников компетенции и других справочных данных и материалов Выбор областей знаний : на основе концепции “ общепринятости ” - generally accepted – IEEE Std 1490-1998, Adoption of PMI Standard — A Guide to the Project Management Body of Knowledge
  • 8.
    Области знаний SWEBOK Software requirements – программные требования Software design – проектирование Software construction – конструирование программного обеспечения Software testing - тестирование Software maintenance – сопровождение программного обеспечения Software configuration management – конфигурационное управление Software engineering management – управление в программной инженерии Software engineering process – процессы программной инженерии Software engineering tools and methods – инструменты и методы Software quality – качество программного обеспечения
  • 9.
    ОБЛАСТИ ЗНАНИЙ 1-5SWEBOK Требования Проектирование Конструирование Тестирование Основы требований Процесс работы с требованиями Извлечение требований Анализ требований Спецификация требований Утверждение требований Практические соображения Основы проектирования Ключевые вопросы проектирования Структура и архитектура Анализ качества и оценка дизайна Нотации дизайна Стратегии и методы проектирования Основы конструирования Управление конструированием Практические соображения Основы тестирования Уровни тестирования Техники тестирования Метрики, связанные с тетсированием Процесс тестирования Поддержка и Эксплуатация Основы поддержки и эксплуатации Ключевые вопросы поддержки и эксплуатации Процесс Техники
  • 10.
    ОБЛАСТИ ЗНАНИЙ 6-10SWEBOK Конфигурационное управление Управление инженерной деятельностью Процессы инженерной деятельности Инженерные инструменты и методы Управление процессами конфигурационного управления Идентификация конфигураций Контроль конфигураций Отчетность по статусу конфигураций Конфигурационный аудит Управление выпуском ПО и развертывание Инициирование и определение содержания Планирование проектов Проектные работы (реализация плана) Обзор и оценка Закрытие (работ) Количественная оценка инженерной деятельности Реализация и изменение процессов Определение процессов Оценка процессов Программные инструменты Методы программной инженерии Качество Основы качества Процессы управления качеством Практические соображения Измерение процессов и продуктов
  • 11.
    Смежные (связанные) дисциплиныComputer engineering Computer science Management Mathematics Project management Quality management Systems engineering
  • 12.
    Области знаний SWEBOK Software requirements – программные требования Software design – проектирование Software construction – конструирование программного обеспечения Software testing - тестирование Software maintenance – сопровождение программного обеспечения Software configuration management – конфигурационное управление Software engineering management – управление в программной инженерии Software engineering process – процессы программной инженерии Software engineering tools and methods – инструменты и методы Software quality – качество программного обеспечения
  • 13.
    SWEBOK структурирован в терминах жизненного цикла фактически отображен на ISO/IEEE 12207 Software Quality Software Engineering Tools and Methods Software Engineering Process Software Engineering Management Software Configuration Management Maintenance Testing Construction Design Requirements Primary Processes Supporting Processes
  • 14.
    CMMI: Интегрированная модель зрелости способностей < ИТ >
  • 15.
    C воды знаний CMMI ( Bodies of Knowledge ) Системная инженерия - System Engineering (SE) Программная инженерия - Software Engineering (SW) Совместная разработка продуктов и процессов - Integrated Product and Process Development (IPPD) Привлечение поставщиков - Supplier Sourcing (SS)
  • 16.
    C воды знанийSystem Engineering (SE) охватывает разработку c истемы в целом, которая может включать или не включать программное обеспечение системные инженеры фокусируются на : трансформации потребностей пользователей, их ожиданий и связанных с этим ограничений в конкретное техническое решение (продукт) поддержке (сопровождении) продукта на протяжении всего жизненного цикла Software Engineering (SW) Integrated Product and Process Development (IPPD) Supplier Sourcing (SS)
  • 17.
    C воды знанийSystem Engineering (SE) Software Engineering (SW) охватывает разработку программных c истем инженеры по программному обеспечению фокусируются наприменении систематического упорядоченного и количественно оцениваемого подхода к разработке, эксплуатации и сопровождению программного обеспечения Integrated Product and Process Development (IPPD) Supplier Sourcing (SS)
  • 18.
    C воды знанийSystem Engineering (SE) Software Engineering (SW) Integrated Product and Process Development (IPPD) систематический подход, касающийся своевременной совместной работы с заинтересованными лицами на протяжении жизненного цикла продукта для лучшего удовлетворения потребностей, ожиданий и требований заказчиков Supplier Sourcing (SS)
  • 19.
    C воды знанийSystem Engineering (SE) Software Engineering (SW) Integrated Product and Process Development (IPPD) Supplier Sourcing (SS) охватывает вопросы приобретения продуктов / услуг у внешних поставщиков, обеспечивающих выполнение части работ по разработке, модификации, сопровождению продуктов или их составных частей
  • 20.
    Категории процессных областейУправление процессами Process Management Управление проектами Project Management Инженерные области Engineering Служебные области Support
  • 21.
    Полнота описания программной инженерии SWEBOK ( структурный взгляд ) + CMMI ( процессный взгляд )
  • 22.
    Главное не забыватьради чего всё это! 
  • 23.
    Блог Сергея Орлика “ ИТ с высоты птичьего полёта ” http:// sorlik.ru Перевод определения и эталонной архитектуры облачных вычислений NIST http:// cloud.sorlik.ru Перевод SWEBOK http:// swebok.sorlik.ru