Жизненный цикл — различия между версиями

(Практики (processes) жизненного цикла в версии ISO 15288)
м
 
(не показана 31 промежуточная версия 2 участников)
Строка 1: Строка 1:
'''Жизненный цикл системы''' (system life cycle) — это деятельность всех обеспечивающих систем, ведущих целевую систему от её замысла до вывода из эксплуатации, обычно эта деятельность разбита на стадии, которые вполне могут быть не только последовательными, но и перекрываться во времени друг с другом. Когда говорят “управление жизненным циклом” как раз говорят об управлении деятельностью (управлении обеспечивающей системой), обеспечивающей переход от одной стадии жизненного цикла к другой.
+
'''Жизненный цикл системы''' (system life cycle) — это деятельность всех обеспечивающих [[система|систем]], ведущих целевую систему от её замысла до [[Утилизация|вывода из эксплуатации]], обычно эта деятельность разбита на [[:Категория:Стадии ЖЦ|стадии]], которые вполне могут быть не только последовательными, но и перекрываться во времени друг с другом. Когда говорят “[[управление жизненным циклом]]” как раз говорят об управлении деятельностью (управлении обеспечивающей системой), обеспечивающей переход от одной стадии жизненного цикла к другой.
 
+
  
 
'''Жизненный цикл проекта''' (project life cycle) — это часть жизненного цикла системы, которая укладывается в рамки проекта. Иногда жизненный цикл проекта совпадает во времени с какой-то стадией жизненного цикла, иногда не совпадает. Более того, совершенно необязательно, что в рамки жизненного цикла проекта (деятельности проекта) попадает вся деятельность какой-то стадии жизненного цикла системы. Проект обычно бьётся на этапы (чтобы хоть как-то отделять этапы проекта от стадий жизненного цикла).
 
'''Жизненный цикл проекта''' (project life cycle) — это часть жизненного цикла системы, которая укладывается в рамки проекта. Иногда жизненный цикл проекта совпадает во времени с какой-то стадией жизненного цикла, иногда не совпадает. Более того, совершенно необязательно, что в рамки жизненного цикла проекта (деятельности проекта) попадает вся деятельность какой-то стадии жизненного цикла системы. Проект обычно бьётся на этапы (чтобы хоть как-то отделять этапы проекта от стадий жизненного цикла).
 
  
 
== Рабочие продукты ==
 
== Рабочие продукты ==
Альфа определения (definition) жизненного цикла выражается в рабочих продуктах — описаниях (description) жизненного цикла, чаще всего это разного сорта диаграммы (простейшими из которых являются одномерные “стрелочки времени с зарубками на границах стадий” и “колбаски с именами стадий”, более сложные представляются двумерными диаграммами, а самые сложные подразумевают использование графических языков ситуационной инженерии методов).
+
[[:Категория:Альфы|Альфа]] определения (definition) жизненного цикла выражается в [[Рабочий продукт|рабочих продуктах]] — описаниях (description) жизненного цикла, чаще всего это разного сорта диаграммы (простейшими из которых являются одномерные “стрелочки времени с зарубками на границах стадий” и “колбаски с именами стадий”, более сложные представляются двумерными диаграммами, а самые сложные подразумевают использование графических [[:Категория:Языки моделирования|языков]] [[Ситуационная инженерия методов|ситуационной инженерии методов]].
 
+
  
 
== Стадии жизненного цикла ==
 
== Стадии жизненного цикла ==
 
+
''Основная статья:'' [[:Категория:Стадии ЖЦ|Стадии ЖЦ]]
Стадии жизненного цикла выделяют по изменению в ходе жизненного цикла преимущественного образа мышления (согласно [[ISO 24744]] — change of mental framework). Это не слишком формальное определение, но оно как минимум не предлагает сосредотачиваться на “состоянии целевой системы”, а даётся именно в терминах обеспечивающих систем. На разных стадиях жизненного цикла системы люди думают про разное: на стадии проектирования люди думают о проектировании, на стадии строительства о стройке, на стадии эксплуатации — об эксплуатации.
+
 
+
  
 
== Управление жизненным циклом ==
 
== Управление жизненным циклом ==
 +
''Основная статья:'' [[Управление жизненным циклом]]
  
см. [[Управление жизненным циклом]]
+
== Модели жизненного цикла ==
 +
* [[Водопад|Водопадная (каскадная)]]
 +
* [[Спираль|Спиральная]]
 +
* [[V-диаграмма]]
 +
* [[Горбатая диаграмма]]
 +
* [[Agile]]
  
 
+
== Практики (processes) жизненного цикла в версии [[ISO 15288]] ==
== Практики жизненного цикла ==
+
С целевой системой в плане продвижения альф [[Определение системы|определения]] и [[Воплощение системы|воплощения системы]] непосредственно работают главным образом технические практики из [[ISO 15288]]. Остальные практики жизненного цикла системной инженерии работают с обеспечивающей системой, продвигая альфы [[Работа|работы]], [[Технологии|технологии]], [[Команда|команды]], [[Возможности|возможностей]] и [[Стейкхолдер|стейкхолдеров]]. Само определение вида жизненного цикла входит как отдельная практика (2.1).
 
+
=== V-диаграмма ===
+
Используется чаще всего, чтобы пояснять самые общие черты системноинженерного процесса/метода/жизненного цикла:
+
* Фундаментальную разницу между практиками определения системы (работы с информацией), реализации системы (работы с веществами и полями), а также использованием системы. В том числе на V-диаграмме показывается основная идея системной инженерии “восемь раз отмерь, один раз отрежь”: рекомендуется максимизировать трату ресурсов на более ранних стадиях, чтобы потом экономить трату много больших ресурсов на более поздних стадиях.
+
* Соответствие определений и воплощений системы, поддерживаемое через проверки (верификация) и приёмки (валидация).
+
* Ведущие практики жизненного цикла (дисциплины-рабочие продукты- инструменты).
+
* Разницу между системноинженерными практиками (выше пунктирной линии), имеющими дело с системой в целом и “обычными” инженерными практиками, имеющие дело с частями системы.
+
* Взаимодействие между практиками: работа идёт отнюдь не по той практике-стадии, которой соответствует точка времени на диаграмме! Нет, одновременно задействована вся “вертикаль” практик — архитектор общается и с инженерами по требованиям, и с занимающимися рабочим проектированием, а инженер-интегратор общается и с эксплуатационщиками, и с производителями оборудования.
+
 
+
Эта простейшая диаграмма имеет огромное число вариаций и модификаций (например [http://en.wikipedia.org/wiki/Dual_Vee_Model Dual V-model]).
+
 
+
 
+
=== Горбатая диаграмма ===
+
 
+
На этой диаграмме phases (фазы) это стадии жизненного цикла, которые в свою очередь разбиты на итерации. Практики названы “дисциплинами”. Чётко видно, что работы по требованиям продолжаются вплоть до стадии передачи в эксплуатацию (transition), а тестирование начинается на начальных стадиях, а не только при подготовке к передаче в эксплуатацию.
+
 
+
+
 
+
=== Практики (processes) жизненного цикла в версии [[ISO 15288]] ===
+
# Практики заключения соглашения (контрактация)
+
## 6.1.1 Закупка
+
## 6.1.2 Поставка
+
# Организационные практики обеспечения проектов
+
## 6.2.1 Определение вида (описывание, моделирование) жизненного цикла
+
## 6.2.2 Управление инфраструктурой
+
## 6.2.3 Управление портфелем проектов
+
## 6.2.4 Управление персоналом
+
## 6.2.5 Управление качеством
+
# Проектные практики
+
## Практики управления проектами
+
### 6.3.1 Планирование проекта
+
### 6.3.2 Оценка проекта и контроль за выполнением проекта
+
## Практики поддержки проектов
+
### 6.3.3 Управление принятием решений
+
### 6.3.4 Управление рисками
+
### 6.3.5 Управление конфигурацией
+
### 6.3.6 Управление информацией
+
### 6.3.7 Измерения
+
# Технические практики
+
## 6.4.1 Определение требований заинтересованных сторон
+
## 6.4.2 Анализ требований
+
## 6.4.3 Архитектурное проектирование (дизайн)
+
## 6.4.4 Реализация (изготовление)
+
## 6.4.5 Интеграция
+
## 6.4.6 Верификация (проверка)
+
## 6.4.7 Ввод в эксплуатацию
+
## 6.4.8 Валидация (приёмка)
+
## 6.4.9 Эксплуатация
+
## 6.4.10 Техническое обслуживание
+
## 6.4.11 Вывод из эксплуатации (утилизация)
+
 
+
 
+
С целевой системой в плане продвижения альф [[Определение системы|определения]] и [[Воплощение системы|воплощения системы]] непосредственно работают главным образом технические практики из [[ISO 15288]]. Остальные практики жизненного цикла системной инженерии работают с обеспечивающей системой, продвигая альфы [[Работы|работы]], [[Технологии|технологии]], [[Команда|команды]], [[Возможности|возможностей]] и [[Стейкхолдеры|стейкхолдеров]]. Само определение вида жизненного цикла входит как отдельная практика (2.1).
+
  
 
Для некрупных проектов этот стандарт избыточен.
 
Для некрупных проектов этот стандарт избыточен.
 
== [http://mydotnetcoolfaqs.blogspot.ru/2011/04/ Виды жизненного цикла] (стили, методы разработки) ==
 
 
=== Водопад ===
 
 
(cascade, но переводят “каскад” редко, хотя такой перевод и более правилен) - такие стили, при которых отдельные практики выполняются последовательно, как вода проходит каскад — сначала разрабатываются требования, потом архитектура, потом проект, потом проходит изготовление, потом сборка и т.д. Все рабочие продукты стадий проходят hand over (передачу) на следующую стадию, и дальше не меняются, а используются для получения продуктов этой стадии. Ключевая предпосылка “водопада” — это то, что '''практики совпадают со стадиями жизненного цикла'''. То есть “проектирование” — это и практика, и стадия жизненного цикла. “Тестирование” — это и практика, и название жизненного цикла.  В реальной жизни выполнение работ каждой практики-стадии вызывает необходимость обращения к уже прошедшим практикам (но их стадии-то прошли, и ресурсов на них уже нет, и рабочие продукты уже считаются сданными!). Ужас в том, что возвращаться назад приходится часто не на одну стадию-практику-ступеньку, а сразу на несколько, в том числе бывает, что и с последней на первую!
 
 
- '''"спиральная" модель жизненного цикла''', придуманная Barry Boehm — разработка происходит “по спирали”, в которой одновременно выполняется цикл из нескольких практик, поэтому практики и стадии жизненного цикла оказались разъединены. Проблема остается: практики последовательно выполняются на каждом витке спирали, т.е. сохраняется “микроводопад”.
 
 
 
=== Agile ===
 
 
(на русский обычно не переводится, хотя иногда говорят о “гибких методах”). Для программной инженерии наиболее распространён SCRUM. В системной инженерии “железных” систем методы agile пока используются мало, но в последние годы ситуация быстро меняется: разработка определения системы в существенной мере оказывается похожей на разработку программного обеспечения, и в ней для разработки моделей могут быть использованы практики, зарекомендовавшие себя при разработке ПО.
 
 
Примеры внедрения agile и других гибких методов в системной инженерии:
 
* [https://www.aiaa.org/uploadedFiles/Events/Conferences/2012_Conferences/2012-%20Complex-Aerospace-Systems-Exchange-Event/Detailed_Program/CASE2012_2-%204_Muratore_presentation.pdf организация хода разработок в компании SpaceX]. Главная там фраза — focus on tools not rules. А потом test rigorously and often.
 
* производство автомобиля: [http://www.youtube.com/watch?v=x8jdx-lf2Dw видеорассказ], [http://wikispeed.org/the-car/ описание автомобиля], [http://scrumlab.scruminc.com/articles.html/_/open/extreme-manufacturing-r93 eXtreme manufacturing], [http://wikispeed.org/2013/07/tdd-for-hardware/ TDD for hardware]. Главное там было — обеспечить высокую скорость изменений, и указывались примерно те же механизмы, что и в SpaceX (обмен информацией через сеть вместо традиционных control boards, даже была оговорка, что ещё лет пять назад это было бы невозможно по причине недоразвитости сетевых сервисов, а лет десять назад всех этих сервисов вообще не существовало).
 
* [http://www.lean-systemsengineering.org/downloads-products/lean-enablers-for-systems-engineering/downloads-lean-enabler-for-systems-engineering/ lean systems engineering]. Это всё бесполезно читать, если вы не прочли про «непереводимое» на русский [http://en.wikipedia.org/wiki/Lean_manufacturing lean manufacturing] (наиболее точно тут будет «не делать ничего лишнего»). Но и с прочтённым тоже может быть не просто.
 
* Пример связи подходов lean и agile может быть найден в книге [http://www.infoq.com/resource/news/2010/01/kanban-scrumminibook/en/resources/KanbanAndScrum-Russian.pdf «Kanban and Scrum. Making the most of both»] (это для софта, но там довольно популярно изложено несколько идей общего вида. Русский перевод!).
 
* [http://incose-ru.livejournal.com/45719.html concurrent engineering] по духу близко к agile. [http://www.myvi.ru/watch/WxsZCtYxMEyyp5QLEIp_Aw2 Впечатляющий пример] – как стадион разбили на 12 секторов, и пока один сектор проектировали, предыдущий строили, а пред-предыдущий отделывали (6й сезон 14й фильм из замечательной [http://en.wikipedia.org/wiki/Extreme_Engineering серии телевизионных документальных фильмов про мастерство инженеров]).
 
 
  
 
== Паттерны жизненного цикла ==
 
== Паттерны жизненного цикла ==
 
+
[[Паттерны]] жизненного цикла выделяют в зависимости от распределения различных рисков по стадиям жизненного цикла ([http://csse.usc.edu/TECHRPTS/2009/usc-csse-2009-502/usc-csse-2009-502.pdf см.]):
Паттерны жизненного цикла выделяют в зависимости от распределения различных рисков по стадиям жизненного цикла ([http://csse.usc.edu/csse/TECHRPTS/2009/usccsse-2009-502/usc-csse-2009-502.pdf см.]):
+
 
* Купи готовое (Use Single NDI),
 
* Купи готовое (Use Single NDI),
 
* Гибкий (Agile),
 
* Гибкий (Agile),
Строка 112: Строка 38:
 
* Brownfield (модернизация),
 
* Brownfield (модернизация),
 
* Акцент на сервисах (Services-Intensive).
 
* Акцент на сервисах (Services-Intensive).
 
  
 
[[Категория:Концепции]]
 
[[Категория:Концепции]]

Текущая версия на 19:27, 9 декабря 2017

Жизненный цикл системы (system life cycle) — это деятельность всех обеспечивающих систем, ведущих целевую систему от её замысла до вывода из эксплуатации, обычно эта деятельность разбита на стадии, которые вполне могут быть не только последовательными, но и перекрываться во времени друг с другом. Когда говорят “управление жизненным циклом” как раз говорят об управлении деятельностью (управлении обеспечивающей системой), обеспечивающей переход от одной стадии жизненного цикла к другой.

Жизненный цикл проекта (project life cycle) — это часть жизненного цикла системы, которая укладывается в рамки проекта. Иногда жизненный цикл проекта совпадает во времени с какой-то стадией жизненного цикла, иногда не совпадает. Более того, совершенно необязательно, что в рамки жизненного цикла проекта (деятельности проекта) попадает вся деятельность какой-то стадии жизненного цикла системы. Проект обычно бьётся на этапы (чтобы хоть как-то отделять этапы проекта от стадий жизненного цикла).

Рабочие продукты

Альфа определения (definition) жизненного цикла выражается в рабочих продуктах — описаниях (description) жизненного цикла, чаще всего это разного сорта диаграммы (простейшими из которых являются одномерные “стрелочки времени с зарубками на границах стадий” и “колбаски с именами стадий”, более сложные представляются двумерными диаграммами, а самые сложные подразумевают использование графических языков ситуационной инженерии методов.

Стадии жизненного цикла

Основная статья: Стадии ЖЦ

Управление жизненным циклом

Основная статья: Управление жизненным циклом

Модели жизненного цикла

Практики (processes) жизненного цикла в версии ISO 15288

С целевой системой в плане продвижения альф определения и воплощения системы непосредственно работают главным образом технические практики из ISO 15288. Остальные практики жизненного цикла системной инженерии работают с обеспечивающей системой, продвигая альфы работы, технологии, команды, возможностей и стейкхолдеров. Само определение вида жизненного цикла входит как отдельная практика (2.1).

Для некрупных проектов этот стандарт избыточен.

Паттерны жизненного цикла

Паттерны жизненного цикла выделяют в зависимости от распределения различных рисков по стадиям жизненного цикла (см.):

  • Купи готовое (Use Single NDI),
  • Гибкий (Agile),
  • Гибкий с архитектурой (Architected Agile),
  • Формальные методы (Formal Methods),
  • Оборудование с программными компонентами (Hardware with embedded Software component),
  • Неделимость для начала эксплуатации (Indivisible Initial Operational Capability),
  • Много закупок (NDI-intensive) — проектирование (в отличие от конструирования),
  • Гибрид гибкости и плана (Hybrid agile/plan-driven system),
  • Много собственников в системе систем (Multi-owner system of systems),
  • Семейство систем (Family of systems),
  • Brownfield (модернизация),
  • Акцент на сервисах (Services-Intensive).