Современна Программная инженерия Системная инженерия Акоев Марк Анатольевич [email_address] Кафедра Программных средств и систем  ФУО УрФУ 02  ноября 2011 г
Software Engineering  ( SE )  1968 год Конференции НАТО
Новое – хорошо забытое старое
The Graduate Software Engineering 2009 (GSwE2009)  [Требования к подготовке магистров в области программной инженерии] http ://www.gswe2009.org   Разработаны совместно  ACM (the Association for Computing Machinery) www.acm.org  IEEE Computer Society www.computer.org  Профессиональные сообщества принявшие участие в разработке и поддерживающие GSwE2009:  International Council on Systems Engineering (INCOSE)  National Defense Industrial Association (NDIA) Systems Engineering Division
Что такое  Systems Engineering?
Главные идеи  системной инженерии Общий  междисциплинарный  язык, позволяющий договориться участникам проекта Покупка информации, уменьшающей проектные риски. Исправление ошибок на как можно более ранней стадии, когда это относительно дешево – идея жизненного цикла.
Systems Engineer Stakeholders Management Engineers Programm/Project management Quaility Management
Что дает системная инженерия ( по данным  INCOSE) Это достигается через А) введение общего языка, описывающего проект Б) сознательный сдвиг усилий на ранние стадии проекта, где цена ошибки экспоненциально меньше 8% затрат на внедрение си c темной инженерии дают выигрыш в 20% стоимости проектов, и на 50% увеличивают вероятность окончания проекта в срок x250 Функционирование x40 Проверки x12 Строительство x5 Проектирование x1  (единица отсчета) Требования Коэффициент стоимости ошибки Стадия обнаружения ошибки
Стилизованное представление функции ценности на протяжении ЖЦ Source:  (Browning & Honour, 2008), P17 Ценность системы на протяжении  жизненного цикла Система поставлена Выявлена потребность Система не устраивает Следующая система поставлена Время (Следующая  система) Ценность Желательная для заинтересованных сторон ценность Потеря ценности из-за недостатка адаптивности Потеря ценности из-за задержки поставки Потеря ценности частично компенсируется обновлениями Поставка Списание Системы Системы
Опасность недооценки требований Модель  INCOSE : усилия по выполнению проекта растут как куб от числа требований
Кто использует методы системной инженерии в России? Атомная промышленность Судостроение Энергетика
Стандарты системной инженерии Международные стандарты  ( базовый стандарт --  ISO 15288   «Системная инженерия - процессы жизненного цикла систем») Стандарты закупок Минобороны США,  NATO,  европейских военных Стандарты профессиональных организаций ( IEEE). Используются в крупных проектах: военных, строительных (туннели, мосты), атомной энергетике ( ITER)
Связь системной и программной инженерии ISO 12207 => ISO 15288
25 обязательных процессов системной инженерии Обеспечения проектов управление моделью жизненного цикла управление инфраструктурой  управление портфелем проектов (программой)  управление персоналом  управление качеством  Технические анализ требований  архитектурный дизайн  изготовление  интеграция  проверка (Verification)  переход к эксплуатации  приёмка (Validation)  эксплуатация  обслуживание  вывод из эксплуатации  Проектные управление проектами  планирование проекта управление выполнением и контроль проекта  поддержка проектов  управление решениями  управление рисками  управление конфигурацией  управление информацией  измерения Контрактации Закупка Поставка обеспечивают
Подход системной инженерии к управлению жизненным циклом Системная инженерия – это гармонизация  подходов : системного  ( назначение, границы и элементы системы) процессного (деятельность и акторы) архитектурного (методы описания и их группировка) жизненного цикла (4 D- эволюция системы) оценки зрелости процессов (стадии ЖЦ процесса) оценки специальных свойств системы (процессные выписки) Подход ( approach ) - способ сущностного описания. Практики зависят от сущностного описания.
V- диаграмма
Моделеориентированность Зачем нужна моделеориентированность: уточнение представления системы для разных целей связь разных представлений о системе по клику мышки (или составление «сводного отчета» по разным базам данных), за счет чего  Это сверхвыгодно: по оценке  NIST  для больших проектов выигрыш до 30% от стоимости системы Моделеориентированность противопоставляется документоориентированности. Дело не в электронной форме документа, а в другом отношении к их содержанию   (так, база данных – не документ, а документы для нее либо «первичка», либо «выписки») . Стандарты интеграции данных (прежде всего –  ISO 15926 ) .
Информационный обмен на этапах ЖЦ
Договориться о терминологии Из чего состоит организация? Что существенно в организации? По материалам компании  FutureModels
Структурированные данные – основа для моделеориентированного подхода Бумага Электронные  образы документов Файлы приложений Структурированные данные Подшивка и поиск Отслеживание  и мониторинг Процесс создания и использования Управление Информацией Жизненного цикла Больше сложность форм и  стоимость перехода от бумаги Больше сложность процессов и бизнес-выгоды Программы   3D Word Excel AutoCAD TIFF PDF Модель данных Контент-менеджмент ISO 15926 XML Схема предложена   компанией  INVESYS
Почему не работают методы, стандарты и практики? ИНСТРУМЕНТЫ = ПО
Моделеориентированные методы системной инженерии
DEMO  http://techinvestlab.ru/files/504456/demo_praxos_1.doc Или Jan L. G. Dietz (русск.: Дитц). Enterprise Ontology: Theory and Methodology. -- B., Heidelberg, N. Y.: Springer, 2006 (ISBN-10 3-540-29169-5)
 
Почему необходим метод Копирайт © 2010 César González-Pérez Нечеткое Функционально ориентированное Описание «чёрного ящика» Конкретное Обязательно структурированное Описание «стеклянного ящика» задача решение это  и есть метод
Что я понимаю под «методом»? Копирайт © 2010 César González-Pérez Языки Периоды Люди Продукты Практики Что мне делать ? Что является объектом  действия ? Кто должен это  делать ? Когда это происходит ? Как я это выражаю ?
ISO 15288 : «Что делать» 25 обязательных процессов системной инженерии Обеспечения проектов управление описанием жизненного цикла управление инфраструктурой  управление портфелем проектов (программой)  управление персоналом  управление качеством  Технические сбор требований анализ требований  архитектурный дизайн  изготовление  интеграция  проверка (Verification)  переход к эксплуатации  приёмка (Validation)  эксплуатация  обслуживание  вывод из эксплуатации  Проектные управление проектами  планирование проекта управление выполнением и контроль проекта  поддержка проектов  управление решениями  управление рисками  управление конфигурацией  управление информацией  измерения Контрактации Закупка Поставка обеспечивают
Реализация  ISO 24744 планируется
Инструменты для управления методами Копирайт © 2010 César González-Pérez
Альтернатива  ISO 24744 –   SPEM Есть реализация EPF_Composer
SPEM http :// ailev.livejournal.com /917251.html   Инструмент для управление созданием регламентов и инструкций из библиотеки модулей: Eclipse Process Framework Project (EPF)  http :// www.eclipse.org / epf /   Инструмент бесплатно (с открытыми кодами) распространяет IBM  Пример использования в модели  ISO  15288 ниже по ссылке  http :// community.livejournal.com / incose _ ru /10384.html
Интеграционное моделирование
Моделеориентированное выявление требований Ян Александер
 
 
 
 
 
http://www.simantics.org/ Экосистема  Simantics Демонстрации Документация Продукт открытый
Modelica https :// www.modelica.org / http :// ko.com.ua /modelica_34622 http://ko.com.ua/modelica_34904 Открытая реализация http://www.openmodelica.org/
class DE "Решение ДУ" Real x(start=1); equation der(x) = -2*x; end DE;
 
Онтология  4D   ISO 15926 Про ISO 15926 читать тут: http :// techinvestlab.ru /ISO15926 смотреть лекцию по основам ISO 15926 тут: http :// incose-ru.livejournal.com /21164.html
BORO Chris Partridge "Business Objects: Re-Engineering for Re-Use", 2000  http :// www.brunel.ac.uk /%7Ecssrcsp/ BusObj.pdf
Gellish A. S. H. P. van Renssen. Gellish, A Generic Extensible Ontological Language: Design and Application of a Universal Data Structure. -- Delft: Delft University Press, 2005 (ISBN 90-407-2597-4).
West, Matthew Developing High Quality Data Models Morgan Kaufmann 2011 http :// www.elsevierdirect.com /ISBN/9780123751065/ Developing-High-Quality-Data-Models
Содержание Что такое  ISO 15926? Мир в 4-мерном (4 D)  представлении Системы и элементы систем Классы Требования Каталоги продукции Выводы
What is ISO 15926? Серия стандартов по интеграции и обмену информацией в течение всего жизненного цикла крупных объектов – напр., АЭС, НПЗ, морских буровых платформ Включает : Модель данных с семантикой на основе  4D- онтологии Справочные данные Методы реализации Я сосредоточусь на модели данных
3D Объект протяжён во времени Наряду с настоящим, существуют и прошлое, и будущее Индивиды расположены как во времени, так и в пространстве , и имеют как темпоральные, так и пространственные части. Если два индивида занимают одинаковую пространственно-временную область, они представляют собой одно и то же  ( экстенсионализм ).  Настоящее ( все, что существует ) Объект движется во времени Физические объекты не имеют темпоральных (временнЫх ) частей . Возможно совмещение разных физических объектов (отсутствие экстенсионализма) . 4D  +  экстенсионализм время пространство время пространство
Возможные миры Прошлое Будущее Реализованный Возможный Возможный Желаемый Время Пространство
Онтологические допущения Индивиды существуют в пространстве-времени и могут  занимать область, простирающуюся как в пространстве, так и во времени . Индивиды идентифицируются занимаемой ими пространственно-временной областью, т.е., если два индивида занимают одинаковую пространственно-временную область, то это один и от же индивид . Наряду с миром, в котором мы живем, существуют и другие возможные миры, и мы можем говорить не только о том, что фактически осуществилось, но и о том, что возможно, ссылаясь при этом на тот мир, где эта возможность реализуется . Классы – это объекты, не существующие в пространстве-времени,  и состоящие из своих членов . Классы идентифицируются своими членами, т.е., если два класса состоят из одинаковых членов, то это один и тот же класс. Отношение – это совокупность объектов, играющих в этом отношении определенные роли. Отношение определяется «сигнатурой» - набором ролей .
Отношение целого и части A B C D E F Ничто не может быть (нетривиальной) частью самого себя. Если  B  является частью  A,  то  A  не является частью  B ( асимметрия) . Если  B  является частью  A  , а  C  – частью  B,  то  C  является частью  A ( транзитивность ). Если  A  имеет части  ( т.е. не является атомарным – в исходном, а не в физическом смысле), то  A  имеет как минимум две непересекающиеся части  ( напр.,  B  и  D  на рис.  11‑1) Если у  E  существует часть, не являющаяся также частью  A,  то  E  не является частью  A. При суммировании пересекающихся частей, например,  D and F  – области пересечения засчитываются только один раз . Если какая-то часть целого  F  является частью целого  D , то  D  и  F  пересекаются . Существуют варианты мереологии (науки о частях и целом), в которых пространственно–временные области являются  ( тривиальными) частями самих себя. Я буду придерживаться более повседневного представления о том, что такое часть . время пространство
Индивиды и состояния состояние период  времени индивид событие время пространство
Русское отделение  INCOSE Сайт  http://incose.ru/ Очные встречи вторую и четвертую среду месяца в Москве (для иногородних организуется видеотрансляция). Материалы заседаний:  http://community.livejournal.com/incose_ru 53 заседания (доступен архив видеозаписей) Участвуют только члены INCOSE (вступить стоит $105 вот тут:  http :// incose.org ).
Вопросы

Современна Программная инженерия. Системная инженерия

  • 1.
    Современна Программная инженерияСистемная инженерия Акоев Марк Анатольевич [email_address] Кафедра Программных средств и систем ФУО УрФУ 02 ноября 2011 г
  • 2.
    Software Engineering ( SE ) 1968 год Конференции НАТО
  • 3.
    Новое – хорошозабытое старое
  • 4.
    The Graduate Software Engineering 2009 (GSwE2009) [Требования к подготовке магистров в области программной инженерии] http ://www.gswe2009.org Разработаны совместно ACM (the Association for Computing Machinery) www.acm.org  IEEE Computer Society www.computer.org  Профессиональные сообщества принявшие участие в разработке и поддерживающие GSwE2009: International Council on Systems Engineering (INCOSE) National Defense Industrial Association (NDIA) Systems Engineering Division
  • 5.
    Что такое Systems Engineering?
  • 6.
    Главные идеи системной инженерии Общий междисциплинарный язык, позволяющий договориться участникам проекта Покупка информации, уменьшающей проектные риски. Исправление ошибок на как можно более ранней стадии, когда это относительно дешево – идея жизненного цикла.
  • 7.
    Systems Engineer StakeholdersManagement Engineers Programm/Project management Quaility Management
  • 8.
    Что дает системнаяинженерия ( по данным INCOSE) Это достигается через А) введение общего языка, описывающего проект Б) сознательный сдвиг усилий на ранние стадии проекта, где цена ошибки экспоненциально меньше 8% затрат на внедрение си c темной инженерии дают выигрыш в 20% стоимости проектов, и на 50% увеличивают вероятность окончания проекта в срок x250 Функционирование x40 Проверки x12 Строительство x5 Проектирование x1 (единица отсчета) Требования Коэффициент стоимости ошибки Стадия обнаружения ошибки
  • 9.
    Стилизованное представление функцииценности на протяжении ЖЦ Source: (Browning & Honour, 2008), P17 Ценность системы на протяжении жизненного цикла Система поставлена Выявлена потребность Система не устраивает Следующая система поставлена Время (Следующая система) Ценность Желательная для заинтересованных сторон ценность Потеря ценности из-за недостатка адаптивности Потеря ценности из-за задержки поставки Потеря ценности частично компенсируется обновлениями Поставка Списание Системы Системы
  • 10.
    Опасность недооценки требованийМодель INCOSE : усилия по выполнению проекта растут как куб от числа требований
  • 11.
    Кто использует методысистемной инженерии в России? Атомная промышленность Судостроение Энергетика
  • 12.
    Стандарты системной инженерииМеждународные стандарты ( базовый стандарт -- ISO 15288 «Системная инженерия - процессы жизненного цикла систем») Стандарты закупок Минобороны США, NATO, европейских военных Стандарты профессиональных организаций ( IEEE). Используются в крупных проектах: военных, строительных (туннели, мосты), атомной энергетике ( ITER)
  • 13.
    Связь системной ипрограммной инженерии ISO 12207 => ISO 15288
  • 14.
    25 обязательных процессовсистемной инженерии Обеспечения проектов управление моделью жизненного цикла управление инфраструктурой управление портфелем проектов (программой) управление персоналом управление качеством Технические анализ требований архитектурный дизайн изготовление интеграция проверка (Verification) переход к эксплуатации приёмка (Validation) эксплуатация обслуживание вывод из эксплуатации Проектные управление проектами планирование проекта управление выполнением и контроль проекта поддержка проектов управление решениями управление рисками управление конфигурацией управление информацией измерения Контрактации Закупка Поставка обеспечивают
  • 15.
    Подход системной инженериик управлению жизненным циклом Системная инженерия – это гармонизация подходов : системного ( назначение, границы и элементы системы) процессного (деятельность и акторы) архитектурного (методы описания и их группировка) жизненного цикла (4 D- эволюция системы) оценки зрелости процессов (стадии ЖЦ процесса) оценки специальных свойств системы (процессные выписки) Подход ( approach ) - способ сущностного описания. Практики зависят от сущностного описания.
  • 16.
  • 17.
    Моделеориентированность Зачем нужнамоделеориентированность: уточнение представления системы для разных целей связь разных представлений о системе по клику мышки (или составление «сводного отчета» по разным базам данных), за счет чего Это сверхвыгодно: по оценке NIST для больших проектов выигрыш до 30% от стоимости системы Моделеориентированность противопоставляется документоориентированности. Дело не в электронной форме документа, а в другом отношении к их содержанию (так, база данных – не документ, а документы для нее либо «первичка», либо «выписки») . Стандарты интеграции данных (прежде всего – ISO 15926 ) .
  • 18.
  • 19.
    Договориться о терминологииИз чего состоит организация? Что существенно в организации? По материалам компании FutureModels
  • 20.
    Структурированные данные –основа для моделеориентированного подхода Бумага Электронные образы документов Файлы приложений Структурированные данные Подшивка и поиск Отслеживание и мониторинг Процесс создания и использования Управление Информацией Жизненного цикла Больше сложность форм и стоимость перехода от бумаги Больше сложность процессов и бизнес-выгоды Программы 3D Word Excel AutoCAD TIFF PDF Модель данных Контент-менеджмент ISO 15926 XML Схема предложена компанией INVESYS
  • 21.
    Почему не работаютметоды, стандарты и практики? ИНСТРУМЕНТЫ = ПО
  • 22.
  • 23.
    DEMO http://techinvestlab.ru/files/504456/demo_praxos_1.docИли Jan L. G. Dietz (русск.: Дитц). Enterprise Ontology: Theory and Methodology. -- B., Heidelberg, N. Y.: Springer, 2006 (ISBN-10 3-540-29169-5)
  • 24.
  • 25.
    Почему необходим методКопирайт © 2010 César González-Pérez Нечеткое Функционально ориентированное Описание «чёрного ящика» Конкретное Обязательно структурированное Описание «стеклянного ящика» задача решение это и есть метод
  • 26.
    Что я понимаюпод «методом»? Копирайт © 2010 César González-Pérez Языки Периоды Люди Продукты Практики Что мне делать ? Что является объектом действия ? Кто должен это делать ? Когда это происходит ? Как я это выражаю ?
  • 27.
    ISO 15288 :«Что делать» 25 обязательных процессов системной инженерии Обеспечения проектов управление описанием жизненного цикла управление инфраструктурой управление портфелем проектов (программой) управление персоналом управление качеством Технические сбор требований анализ требований архитектурный дизайн изготовление интеграция проверка (Verification) переход к эксплуатации приёмка (Validation) эксплуатация обслуживание вывод из эксплуатации Проектные управление проектами планирование проекта управление выполнением и контроль проекта поддержка проектов управление решениями управление рисками управление конфигурацией управление информацией измерения Контрактации Закупка Поставка обеспечивают
  • 28.
    Реализация ISO24744 планируется
  • 29.
    Инструменты для управленияметодами Копирайт © 2010 César González-Pérez
  • 30.
    Альтернатива ISO24744 – SPEM Есть реализация EPF_Composer
  • 31.
    SPEM http ://ailev.livejournal.com /917251.html Инструмент для управление созданием регламентов и инструкций из библиотеки модулей: Eclipse Process Framework Project (EPF) http :// www.eclipse.org / epf / Инструмент бесплатно (с открытыми кодами) распространяет IBM Пример использования в модели ISO 15288 ниже по ссылке http :// community.livejournal.com / incose _ ru /10384.html
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
    http://www.simantics.org/ Экосистема Simantics Демонстрации Документация Продукт открытый
  • 40.
    Modelica https ://www.modelica.org / http :// ko.com.ua /modelica_34622 http://ko.com.ua/modelica_34904 Открытая реализация http://www.openmodelica.org/
  • 41.
    class DE "РешениеДУ" Real x(start=1); equation der(x) = -2*x; end DE;
  • 42.
  • 43.
    Онтология 4D ISO 15926 Про ISO 15926 читать тут: http :// techinvestlab.ru /ISO15926 смотреть лекцию по основам ISO 15926 тут: http :// incose-ru.livejournal.com /21164.html
  • 44.
    BORO Chris Partridge"Business Objects: Re-Engineering for Re-Use", 2000 http :// www.brunel.ac.uk /%7Ecssrcsp/ BusObj.pdf
  • 45.
    Gellish A. S.H. P. van Renssen. Gellish, A Generic Extensible Ontological Language: Design and Application of a Universal Data Structure. -- Delft: Delft University Press, 2005 (ISBN 90-407-2597-4).
  • 46.
    West, Matthew DevelopingHigh Quality Data Models Morgan Kaufmann 2011 http :// www.elsevierdirect.com /ISBN/9780123751065/ Developing-High-Quality-Data-Models
  • 47.
    Содержание Что такое ISO 15926? Мир в 4-мерном (4 D) представлении Системы и элементы систем Классы Требования Каталоги продукции Выводы
  • 48.
    What is ISO15926? Серия стандартов по интеграции и обмену информацией в течение всего жизненного цикла крупных объектов – напр., АЭС, НПЗ, морских буровых платформ Включает : Модель данных с семантикой на основе 4D- онтологии Справочные данные Методы реализации Я сосредоточусь на модели данных
  • 49.
    3D Объект протяжёнво времени Наряду с настоящим, существуют и прошлое, и будущее Индивиды расположены как во времени, так и в пространстве , и имеют как темпоральные, так и пространственные части. Если два индивида занимают одинаковую пространственно-временную область, они представляют собой одно и то же ( экстенсионализм ). Настоящее ( все, что существует ) Объект движется во времени Физические объекты не имеют темпоральных (временнЫх ) частей . Возможно совмещение разных физических объектов (отсутствие экстенсионализма) . 4D + экстенсионализм время пространство время пространство
  • 50.
    Возможные миры ПрошлоеБудущее Реализованный Возможный Возможный Желаемый Время Пространство
  • 51.
    Онтологические допущения Индивидысуществуют в пространстве-времени и могут занимать область, простирающуюся как в пространстве, так и во времени . Индивиды идентифицируются занимаемой ими пространственно-временной областью, т.е., если два индивида занимают одинаковую пространственно-временную область, то это один и от же индивид . Наряду с миром, в котором мы живем, существуют и другие возможные миры, и мы можем говорить не только о том, что фактически осуществилось, но и о том, что возможно, ссылаясь при этом на тот мир, где эта возможность реализуется . Классы – это объекты, не существующие в пространстве-времени, и состоящие из своих членов . Классы идентифицируются своими членами, т.е., если два класса состоят из одинаковых членов, то это один и тот же класс. Отношение – это совокупность объектов, играющих в этом отношении определенные роли. Отношение определяется «сигнатурой» - набором ролей .
  • 52.
    Отношение целого ичасти A B C D E F Ничто не может быть (нетривиальной) частью самого себя. Если B является частью A, то A не является частью B ( асимметрия) . Если B является частью A , а C – частью B, то C является частью A ( транзитивность ). Если A имеет части ( т.е. не является атомарным – в исходном, а не в физическом смысле), то A имеет как минимум две непересекающиеся части ( напр., B и D на рис. 11‑1) Если у E существует часть, не являющаяся также частью A, то E не является частью A. При суммировании пересекающихся частей, например, D and F – области пересечения засчитываются только один раз . Если какая-то часть целого F является частью целого D , то D и F пересекаются . Существуют варианты мереологии (науки о частях и целом), в которых пространственно–временные области являются ( тривиальными) частями самих себя. Я буду придерживаться более повседневного представления о том, что такое часть . время пространство
  • 53.
    Индивиды и состояниясостояние период времени индивид событие время пространство
  • 54.
    Русское отделение INCOSE Сайт http://incose.ru/ Очные встречи вторую и четвертую среду месяца в Москве (для иногородних организуется видеотрансляция). Материалы заседаний: http://community.livejournal.com/incose_ru 53 заседания (доступен архив видеозаписей) Участвуют только члены INCOSE (вступить стоит $105 вот тут: http :// incose.org ).
  • 55.

Editor's Notes

  • #10 Over time, it is easier to view this graphically, although our picture here is simplified. Time is on the x-axis and value is on the y-axis. The thick, red line represents the level of value desired by stakeholders. From the point of view of expected capabilities, functions, and positive experiences, this line tends to increase over time. During development, the desired value is already changing: this diagram assumes that the program is able to hit this moving target! Recognizing a value gap, an organization develops a system to fill it. Even if the system fills the gap at the time of its delivery, the value gap will gradually emerge again: The system’s capabilities depreciate, it becomes harder to maintain, parts become obsolete and sources diminish, etc. Stakeholders’ expectations change: they become aware of new possibilities, alternative products and services, discover new wants and needs, etc. The gap may be closed by a new system or by upgrades of the old one, the frequency and ease of which depend on its adaptability. Conceptually, we can quantify the LCV of a system, the added value of a given upgrade, and the value loss by integrating these functions.