Ситуационная инженерия методов — различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
(не показано 14 промежуточных версий этого же участника) | |||
Строка 5: | Строка 5: | ||
* в компонентах метода нужно различать: | * в компонентах метода нужно различать: | ||
** '''акторов''' (люди и инструменты, являющиеся продолжением людей), | ** '''акторов''' (люди и инструменты, являющиеся продолжением людей), | ||
− | ** '''[[ | + | ** '''[[Работа|работы]]''' (взятые как разворачивающиеся во времени жизненные циклы, и как практики "того, что должно делаться"), |
− | ** '''[[Рабочий продукт|рабочие]]''' | + | ** '''[[Рабочий продукт|рабочие продукты]]''' или артефакты (модели, документы), языки и нотации, руководства и т.д. |
Cм. [http://www.jucs.org/jucs_16_3/situational_method_engineering_state/jucs_16_03_0424_0478_henderson.pdf Последний (март 2010г.) обзор состояния ситуационной инженерии методов]. | Cм. [http://www.jucs.org/jucs_16_3/situational_method_engineering_state/jucs_16_03_0424_0478_henderson.pdf Последний (март 2010г.) обзор состояния ситуационной инженерии методов]. | ||
Строка 14: | Строка 14: | ||
* '''Минусы:''' переструктурированные описания невозможно "читать", только "прокликивать": не задана последовательность изложения, это "энциклопедия", а не "учебник", см. [http://ailev.livejournal.com/845850.html подробнее]). | * '''Минусы:''' переструктурированные описания невозможно "читать", только "прокликивать": не задана последовательность изложения, это "энциклопедия", а не "учебник", см. [http://ailev.livejournal.com/845850.html подробнее]). | ||
+ | Ситуационная инженерия методов даёт описания, трудно совместимые с традиционно понимаемыми мелко детализуемыми "логическими процессами", описываемыми в [[IDEF0]], или еще более мелко детализуемыми (потому как для части из них подразумевается исполнение компьютером, которому всё нужно разжёвывать до мельчайших деталей и нельзя надеяться на понимание каких-то умолчаний) "физическими процессами", описываемыми в [[Event-Driven Process Chain|EPC]]/ARIS или [[OMG BPMN|BPMN]] 2.0. Описания методов конвертируются обычно не в workflow, а в projects - и соответствующий софт умеет выгружать ситуационные методы в виде проектов MS Project. Тем самым, реализации метода (endeavor) проще рассматривать как "проекты", а не как "процессы". | ||
− | + | SME конкурирует с "готовыми методологиями" (off-the-shelf-methodologies), которыми торгуют большие компании: методологии разработки, которые one-size-fit-all, и должны быть далее внедрены полностью для того, чтобы работать. | |
+ | Как и все остальные "инженерии", ситуационная инженерия методов как метод разработки имеет свою аббревиатуру для обозначения "автоматизированной ситуационной инженерии методов" - CAME (computer-aided method engineering, с потерей слова "ситуационная" - по аналогии с [[CASE]] - computer-aided software engineeering), и свои инструменты - CAME tools (ср. CASE tools). | ||
− | SME | + | == Поколения SME == |
− | + | ||
− | + | ||
Появились два поколения ситуационной инженерии методов и отражающих эти поколения стандартов: | Появились два поколения ситуационной инженерии методов и отражающих эти поколения стандартов: | ||
* I поколение, ориентированное на методологов, которым нужно было описывать методы работы и систематизировать эти методы работы. | * I поколение, ориентированное на методологов, которым нужно было описывать методы работы и систематизировать эти методы работы. | ||
− | + | *: ''Стандарты OPF, ISO 24744 и OMG SPEM 2.0. ([http://www.jucs.org/jucs_16_3/situational_method_engineering_state/jucs_16_0%203_0424_0478_henderson.pdf см. обзор])'' | |
* II поколение, ориентированное на инженеров (пользователей описаний). | * II поколение, ориентированное на инженеров (пользователей описаний). | ||
− | + | *: ''Стандарт OMG Essence ([http://www.omg.org/spec/Essence/ версия 1.0 была выпущена в ноябре 2014])'' | |
− | + | === I поколение SME === | |
− | == I поколение SME == | + | |
Был разработан ряд стандартов ситуационной инженерии методов, которые определяют '''"метамодель"''' метода - из каких компонентов состоит метод, характеристики этих компонент, и связи между компонентами. Среди этих стандартов наиболее известны (см. [http://ailev.livejournal.com/763554.html краткий обзор]): | Был разработан ряд стандартов ситуационной инженерии методов, которые определяют '''"метамодель"''' метода - из каких компонентов состоит метод, характеристики этих компонент, и связи между компонентами. Среди этих стандартов наиболее известны (см. [http://ailev.livejournal.com/763554.html краткий обзор]): | ||
− | # '''OPF''' | + | # '''[[OPF]]''' (OPEN Process Framework) – один из ранних стандартов, представляет собой свободный набор компонентов для создания процессов [[ЖЦ]] на уровне проекта. |
− | # '''OMG SPEM 2.0''' | + | # '''[[OMG SPEM 2.0]]''' - открытый стандарт [[OMG]] на базе профиля [[UML]] 2, предлагающий унифицированный способ представления ЖЦ. |
− | + | # '''[[ISO 24744]]''' - стандарт ISO на метамодель для методик разработки. Гармонизирован с ISO 15288. | |
− | + | # '''[http://www.semat.org SEMAT]''' - инициатива по стандартизации, находящаяся в русле ситуационной инженерии методов | |
− | + | ||
− | + | ||
− | + | ||
− | # '''ISO 24744''' | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | # '''[http://www.semat.org SEMAT]''' | + | |
− | + | ||
− | + | ||
− | + | ||
− | # Стандарт [[OMG Essence]] | + | === II поколение SME === |
+ | # Стандарт [[OMG Essence]] – ядро и язык для описания методов и практик [[Программная инженерия|программной инженерии]]. Основным отличием Essence от предыдущих попыток (таких как [[OPF]], [[OMG SPEM 2.0|SPEM]], [[ISO 24744]]) решить ту же задачу является то, что наряду с синтаксисом языка в Essence вводится хорошо проработанный базовый набор типизированных понятий, называемых ядром. Ядро Essence разделено на три области интересов (клиента, решения и деятельность). В каждой области интересов есть свои [[:Категория:Альфы|альфы]], пространства дел и [[:Категория:Компетенции|компетенции]]. Важными свойствами ядра являются исполнимость, расширяемость и практичность. | ||
[[Категория: Дисциплины]] | [[Категория: Дисциплины]] |
Текущая версия на 21:06, 6 марта 2019
Ситуационная инженерия методов (SME, situational method engineering) — это методология (разработка способов, "как делать") придерживающаяся следующих основных принципов:
- не бывает никакого способа работы (метода), кроме как определенного ситуационно. Метод, разработанный для одной ситуации, не может быть употреблен для другой ситуации.
- знание о методе должно быть разбито на модули: компоненты метода. Эти компоненты метода должны быть размещены в каталоге методов (cм. семантический каталог методов, промышленный каталог методов). Метод, соответствующий ситуации, должен собираться из этих компонент.
- в компонентах метода нужно различать:
- акторов (люди и инструменты, являющиеся продолжением людей),
- работы (взятые как разворачивающиеся во времени жизненные циклы, и как практики "того, что должно делаться"),
- рабочие продукты или артефакты (модели, документы), языки и нотации, руководства и т.д.
Cм. Последний (март 2010г.) обзор состояния ситуационной инженерии методов.
Менее структурированной альтернативой SME служит подход "pattern languages". В отличие от языков паттернов, описания метода в SME много более структурированы.
- Плюсы: можно как-то автоматизировать работу с этими описаниями
- Минусы: переструктурированные описания невозможно "читать", только "прокликивать": не задана последовательность изложения, это "энциклопедия", а не "учебник", см. подробнее).
Ситуационная инженерия методов даёт описания, трудно совместимые с традиционно понимаемыми мелко детализуемыми "логическими процессами", описываемыми в IDEF0, или еще более мелко детализуемыми (потому как для части из них подразумевается исполнение компьютером, которому всё нужно разжёвывать до мельчайших деталей и нельзя надеяться на понимание каких-то умолчаний) "физическими процессами", описываемыми в EPC/ARIS или BPMN 2.0. Описания методов конвертируются обычно не в workflow, а в projects - и соответствующий софт умеет выгружать ситуационные методы в виде проектов MS Project. Тем самым, реализации метода (endeavor) проще рассматривать как "проекты", а не как "процессы".
SME конкурирует с "готовыми методологиями" (off-the-shelf-methodologies), которыми торгуют большие компании: методологии разработки, которые one-size-fit-all, и должны быть далее внедрены полностью для того, чтобы работать.
Как и все остальные "инженерии", ситуационная инженерия методов как метод разработки имеет свою аббревиатуру для обозначения "автоматизированной ситуационной инженерии методов" - CAME (computer-aided method engineering, с потерей слова "ситуационная" - по аналогии с CASE - computer-aided software engineeering), и свои инструменты - CAME tools (ср. CASE tools).
Поколения SME
Появились два поколения ситуационной инженерии методов и отражающих эти поколения стандартов:
- I поколение, ориентированное на методологов, которым нужно было описывать методы работы и систематизировать эти методы работы.
- Стандарты OPF, ISO 24744 и OMG SPEM 2.0. (см. обзор)
- II поколение, ориентированное на инженеров (пользователей описаний).
- Стандарт OMG Essence (версия 1.0 была выпущена в ноябре 2014)
I поколение SME
Был разработан ряд стандартов ситуационной инженерии методов, которые определяют "метамодель" метода - из каких компонентов состоит метод, характеристики этих компонент, и связи между компонентами. Среди этих стандартов наиболее известны (см. краткий обзор):
- OPF (OPEN Process Framework) – один из ранних стандартов, представляет собой свободный набор компонентов для создания процессов ЖЦ на уровне проекта.
- OMG SPEM 2.0 - открытый стандарт OMG на базе профиля UML 2, предлагающий унифицированный способ представления ЖЦ.
- ISO 24744 - стандарт ISO на метамодель для методик разработки. Гармонизирован с ISO 15288.
- SEMAT - инициатива по стандартизации, находящаяся в русле ситуационной инженерии методов
II поколение SME
- Стандарт OMG Essence – ядро и язык для описания методов и практик программной инженерии. Основным отличием Essence от предыдущих попыток (таких как OPF, SPEM, ISO 24744) решить ту же задачу является то, что наряду с синтаксисом языка в Essence вводится хорошо проработанный базовый набор типизированных понятий, называемых ядром. Ядро Essence разделено на три области интересов (клиента, решения и деятельность). В каждой области интересов есть свои альфы, пространства дел и компетенции. Важными свойствами ядра являются исполнимость, расширяемость и практичность.