Что значит жизненный цикл системы

Содержание
  1. Жизненный цикл
  2. Пространства имён
  3. Действия на странице
  4. Содержание
  5. Рабочие продукты
  6. Стадии жизненного цикла
  7. Управление жизненным циклом
  8. Модели жизненного цикла
  9. Практики (processes) жизненного цикла в версии ISO 15288
  10. Паттерны жизненного цикла
  11. Жизненный цикл системы
  12. История концепции жизненного цикла
  13. Типовые модели жизненного цикла системы
  14. Типовая модель жизненного цикла по стандарту ISO/IEC 15288
  15. Типовая модель жизненного цикла по версии Министерства обороны США
  16. Типовая модель жизненного цикла системы Национального общества профессиональных инженеров (NSPE)
  17. Типовая модель жизненного цикла продукции по Р 50-605-80-93
  18. Типовая модель жизненного цикла программного обеспечения
  19. Основные стадии жизненного цикла системы (Kossiakoff, Sweet, Seymour, Biemer)
  20. Стадия разработки концепции
  21. Стадия технической разработки
  22. Стадия пост-разработки
  23. Что такое SDLC? Этапы, методология и процессы жизненного цикла программного обеспечения
  24. Принципы работы SDLC и почему им пользуются
  25. Этапы SDLC и лучшие практики и методологии
  26. Этап #1: Анализ требований
  27. Этап #2: Планирование
  28. Этап #3: Проектирование и дизайн
  29. Этап #4: Разработка ПО
  30. Этап #5: Тестирование
  31. Этап #6: Развертывание
  32. Объединяя все вместе: подход SDLC

Жизненный цикл

Пространства имён

Действия на странице

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

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

Читайте также:  Что значит successfully registered

Содержание

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

Альфа определения (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).

Источник

Жизненный цикл системы

Жизненный цикл системы — это стадии процесса, охватывающие различные состояния системы, начиная с момента возникновения необходимости в такой системе и заканчивая её полным выводом из эксплуатации; конечный набор общих фаз и этапов, через которые система может проходить в течение своей истории жизни.

Под термином «жизненный цикл системы» обычно понимают эволюцию новой системы в виде нескольких ступеней, включающих такие важные стадии, как концепция, разработка, производство, эксплуатация и окончательное выведение из эксплуатации.

В стандартах системной инженерии описаны четыре основных принципа моделирования жизненного цикла, а именно:

  • В течение своей жизни система развивается, проходя через определенные стадии.
  • На каждой стадии жизненного цикла должны быть доступны подходящие обеспечивающие системы (англ. enabling systems), только в этом случае могут быть достигнуты результаты, запланированные для этой стадии.
  • На определенных стадиях жизненного цикла такие атрибуты, как технологичность, удобство использования, пригодность к обслуживанию и возможность удаления отходов, должны быть специфицированы и практически реализованы.
  • Переход к следующей стадии возможен только при условии полного достижения результатов, запланированных для текущей стадии.

В полном жизненном цикле любой системы всегда присутствуют типовые стадии, каждая из которых имеет характерные только для неё цели и вносит свой вклад в полный жизненный цикл.

История концепции жизненного цикла

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

Типовые модели жизненного цикла системы

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

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

Некоторые специалисты по системной инженерии предлагают рассматривать модель жизненного цикла системы, на основе следующих трех источников: модель управления материально-техническим обеспечением Министерства Обороны США (МО США) (DoD 5000.2), модель стандарта ISO/IEC 15288 и модель Национального общества профессиональных инженеров (NSPE).

Типовая модель жизненного цикла по стандарту ISO/IEC 15288

В 2002 году Международная организация по стандартизации и Международная электротехническая комиссия выпустили результат многолетней работы — стандарт ISO/IEC 15288:2002 (см. русскоязычный аналог ГОСТ Р ИСО МЭК 15288-2005).

Согласно стандарту, процессы и действия жизненного цикла определяются, соответствующим образом настраиваются и используются в течение стадии жизненного цикла, для полного удовлетворения целей и результатов на этой стадии. В различных стадиях жизненного цикла могут принимать участие разные организации. Не существует единой универсальной модели жизненных циклов систем. Те или иные стадии жизненного цикла могут отсутствовать или присутствовать в зависимости от каждого конкретного случая разработки системы.

В стандарте в качестве примера были приведены следующие стадии жизненного цикла:

  • Замысел.
  • Разработка.
  • Производство.
  • Применение.
  • Поддержка применения.
  • Прекращение применения и списание.

    В версии стандарта от 2008 года (ISO/IEC 15288:2008) примеры стадий жизненного цикла отсутствуют.

    Типовая модель жизненного цикла по версии Министерства обороны США

    Для управления рисками в области применения передовых технологий, и сведения к минимуму дорогостоящих технических или управленческих ошибок, МО США разработало руководство, содержащее все необходимые принципы разработки систем. Эти принципы вошли в специальный перечень директив — DoD 5000.

    Модель жизненного цикла системы управления материально-техническим обеспечением по версии МО США состоит из пяти стадий:

  • Анализ.
  • Разработка технологии.
  • Инженерная и производственная разработка.
  • Производство и развертывание.
  • Функционирование и поддержка.

    Типовая модель жизненного цикла системы Национального общества профессиональных инженеров (NSPE)

    Данная модель адаптирована для развития коммерческих систем. Данная модель в основном направлена на развитие новых продуктов, обычно являющихся результатом технического прогресса. Модель NSPE представляет собой альтернативный взгляд на модель версии МО США. Жизненный цикл по модели NSPE разбивается на шесть стадий:

  • Концепция.
  • Техническая реализация.
  • Разработка.
  • Коммерческая валидация и подготовка производства.
  • Полномасштабное производство.
  • Поддержка конечного продукта.

    Типовая модель жизненного цикла продукции по Р 50-605-80-93

    В руководящем документе Р 50-605-80-93 тщательно проработан жизненный цикл промышленного изделия, в том числе — военной техники.

    Для промышленной продукции гражданского назначения предложены следующие стадии:

  • Исследование и проектирование.
  • Изготовление.
  • Обращение и реализация.
  • Эксплуатация или потребление.

    В рамках жизненного цикла промышленной продукции гражданского назначения предложено рассматривать 73 вида работ и 23 типа стейкхолдеров («участников работ» по терминологии документа).

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

  • Исследование и обоснование разработки.
  • Разработка.
  • Производство.
  • Эксплуатация.
  • Капитальный ремонт.

    В рамках жизненного цикла промышленной продукции военного назначения предложено рассматривать 25 видов работ и 7 типов стейкхолдеров (участников работ).

    Типовая модель жизненного цикла программного обеспечения

    Стадии жизненного цикла системы и их составные фазы, представленных на рисунке «Модель жизненного цикла системы», относятся к большинству сложных систем, в том числе к тем, которые содержат программное обеспечение со значительным объемом функциональных возможностей на уровне компонентов. В программно-интенсивных системах, в которых программное обеспечение выполняет практически все функции (как например в современных финансовых системах, в системах бронирования авиабилетов, в глобальной сети интернет, и в др.), как правило жизненные циклы схожи по содержанию, но часто усложняются итерационными процессами и прототипированием.

    Основные стадии жизненного цикла системы (Kossiakoff, Sweet, Seymour, Biemer)

    Как показано на рисунке «Модель жизненного цикла системы», модель жизненного цикла системы содержит 3 стадии. Первые 2 стадии приходятся на разработку, а третья стадия охватывает пост-разработку. Эти стадии показывают более общие переходы из состояния в состояние, в жизненном цикле системы, а также показывают изменения в типе и объеме действий, вовлеченных в системную инженерию. Стадии представляют собой:

    • стадию разработки концепции;
    • стадию технической разработки;
    • стадию пост-разработки.

    Стадия разработки концепции

    Целью стадии разработки концепции являются оценки новых возможностей в сфере применения системы, разработка предварительных системных требований и возможных проектных решений. Стадия разработки концептуального проекта начинаются с момента осознания необходимости создания новой системы или модификации уже имеющейся. Стадия включает в себя начало исследований фактов, периода планирования, оцениваются экономические, технические, стратегические и рыночные основы будущих действий. Осуществляется диалог между стейкхолдерами и разработчиками.

    Основные цели стадии разработки концепции:

  • Провести исследования, установив, что является необходимым для новой системы, а также установив техническую и экономическую целесообразность данной системы.
  • Изучить потенциально возможные концепции системы, а также сформулировать и подвергнуть валидации набор требований к производительности системы.
  • Выбрать наиболее привлекательную концепцию системы, определить её функциональные характеристики, а также разработать детальный план последующих стадий проектирования, производства и оперативного развертывания системы.
  • Разработать любую новую технологию, подходящую для выбранной концепции системы и подвергнуть валидации её способности удовлетворять потребности.

    Стадия технической разработки

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

    Основными целями стадии технической разработки являются:

  • Выполнение технической разработки прототипа системы, отвечающего требованиям производительности, надежности, ремонтопригодности и безопасности.
  • Спроектировать систему пригодную для использования, и продемонстрировать свою оперативную пригодность.

    Стадия пост-разработки

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

    Стадия пост-разработки новой системы начинается после успешно проведенной операции тестирования и оценивания данной системы (тестирование приёмки), выпуска в производство и последующим оперативным использованием. Пока основная разработка не будет завершена, системная инженерия будет продолжать играть главную поддерживающую роль.

    Источник

    Что такое SDLC? Этапы, методология и процессы жизненного цикла программного обеспечения

    Цитируя автора книги Managing Information Technology Projects Джеймса Тейлора, «жизненный цикл проекта охватывает всю деятельность проекта». Задачей же разработки ПО является выполнение требований продукта. Если вы хотите научиться создавать и выпускать высококачественное ПО, вам придется следовать плану. Со слов Тейлора, вашей целью должен стать всесторонний анализ деятельности проекта и контроля каждого этапа его разработки. Вот только с чего именно начать?

    Ответить можно так: направить ваш рабочий процесс в верном направлении поможет подходящий фреймворк. В наши дни довольно сильным и популярным фреймворком является SDLC – жизненный цикл программного обеспечения.

    Принципы работы SDLC и почему им пользуются

    На диаграмме ниже можно ознакомиться с шестью основными этапами SDLC.

    В целом, SDLC это такой замкнутый цикл, в котором каждый этап влияет на действия в последующих и дает перспективные указания на будущее. Для получения ответов на конкретные вопросы и обеспечения согласованности вашего процесса разработки все шесть этапов стараются эффективно и последовательно друг на друга влиять.

    Я постараюсь абстрагироваться от тонкостей и предоставить общие примеры, подходящие для студентов и разработчиков ПО. Например, если вы по аналогии с Zoomshift пробуете создать приложение, рассчитанное на работников с почасовой оплатой, или приложение для учета времени, начать вам нужно будет с этапа анализа требований.

    На этом самом основном уровне вы сможете понять каковы должны быть требования к работникам в вопросах учета времени и труда, для чего полезно будет опросить как самих работников, так и их руководящих менеджеров. Так же для большего понимания проблем текущих приложений в области вы можете протестировать ваши решения на рынке, а создание диаграмм, графиков и в целом ведение записей поможет вам более глубоко понимать количественную и качественную обратную связь. Только после осознания этих критических особенностей вы будете готовы перейти к следующему этапу SDLC – планированию.

    Фаза анализа требований может оказаться очень утомительной, но проходя через эти шаги, вы добиваетесь множества результатов: снижаете время выхода продукта на рынок, обеспечиваете большую его производительность, экономите бюджет и повышаете вероятность вхождения продукта на рынок.

    Мыслите за пределами обычного приложения по отслеживанию времени — думайте о том, что вы хотите создать, чем вы хотите заниматься, а затем определите требования для решения связанных с этим проблем. Это и будет вашим началом.

    Этапы SDLC и лучшие практики и методологии

    В ходе разработки перед переходом от текущего этапа к следующему необходимо выполнить каждый его шаг, для чего их следует лучше понимать. В этом отношении первые три этапа стараются дать ответы на проверочные вопросы, а последние три оптимизированы для достижения фактических результатов.

    • Анализ требований отвечает на вопрос «Какие проблемы требуют решений?»
    • Планирование отвечает на вопрос «Что мы хотим сделать?»
    • Проектирование и дизайн отвечает на вопрос «Как мы добьемся наших целей?»
    • Разработка ПО регулирует процесс создания продукта.
    • Тестирование регулирует обеспечение качественной работы продукта.
    • Развертывание регулирует использование финального продукта.

    Эти шесть этапов описывают уже наверняка применяемые вами при оценке, создании, тестировании и развертывании вашего ПО шаги. Тем не менее, SDLC стандартизирует и формализует рабочий процесс, что только в ваших же интересах: следуя конкретным шагам фреймворка, вы сможете легко понять в какой его части вы находитесь, и сообщить команде куда вы двигаетесь.

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

    Этап #1: Анализ требований

    На этом этапе SDLC вам необходимо получить обратную связь и поддержку от соответствующих внутренних и внешних заинтересованных сторон. Вспомните мой недавний пример с разработкой приложения по учету времени: вам нужно будет широко задуматься о том, кто станут вашими потенциальными пользователями. Некоторые идеи будут включать ваших клиентов, дизайнеров, вашего начальника или других технических специалистов команды. В целом вы хотите ответить на следующий вопрос: «Какие проблемы требуют решений?» Быть внимательным и делать заметки будет очень полезно на этом этапе.

    Когда полученные ответы вас удовлетворят, вы сможете перейти к следующей фазе.

    Этап #2: Планирование

    На этом этапе вы ищете ответ на следующий вопрос: «Что вы хотите сделать?» Этот вопрос может вдохновить вас на понимание юнит-экономики вашего плана (затраты и выгоды), факторов снижения рисков и ожидаемых стоимостей. По аналогии с планированием отпуска, вам нужно будет разложить ваши вещи и подумать о том, что следует взять с собой.

    Я много читал об истории Инстаграма, чей этап планирования занял невероятно много времени. Это совпало с бурным ростом социальных сетей, поэтому взаимодействие пользователей с продуктом во многом все еще было неизвестно. Разработчики знали, что сильный первичный опыт (съемка, редактирование и обмен фотографиями) обеспечит рост, успех и высокую конверсию, а корректное планирование упростит проектирование, поэтому планировали соответствующе и тратили на дизайн много времени. Они всегда смотрели на шаг вперед и думали о будущем социальных сетей и электронной коммерции.

    Планируйте то, что вы можете контролировать, и помните о вещах, планировать которые вы не сможете. Это поможет вам получить прочную основу для перехода к третьему этапу.

    Этап #3: Проектирование и дизайн

    К этому этапу вы уже должны знать требования вашего продукта и в целом понимать чего вы вообще хотите, и прежде чем приступить к написанию кода, этого понимания должно быть достаточно для ответа на следующий вопрос: «Как мы добьемся наших целей?» Иначе говоря, вам необходимо понять, что именно вы оптимизируете и проектировать соответствующе.

    Допустим, вы хотите создать безопасное, высокопроизводительное, эффективное и выдерживающее нагрузки приложение. Какой из этих четырех принципов наиболее для вас наиболее важен? Почему? Согласны ли с этим заинтересованные стороны из первого этапа? Важно обеспечить одобрение всех участников.

    После фазы дизайна вы наконец-то сможете засесть за клавиатуры, и внесение изменений в отношении времени и потраченных ресурсов будет неуклонно расти, а также буду постепенно накапливаться всевозможные малые факторы. В этой фазе для принятия окончательных решений по вопросам дизайна я рекомендую учитывать несколько основных его элементов: операционное превосходство, безопасность, надежность, эффективность производительности, и оптимизация затрат.

    Этап #4: Разработка ПО

    На этапе разработки вы стремитесь не столько отвечать на вопросы, сколько произвести результаты, или, говоря точнее, вам необходимо склоняться к действиям и создать прототип или систему, испытать которую смогут другие. На этом этапе ваша задача – заручиться доверием заинтересованных сторон через воплощение образа мышления разработчика. Для соответствия результата ожиданиям критично при начале разработки следовать первым трем этапам.

    Доставайте ваш компьютер, убедитесь, что окружение способствует рабочей атмосфере, хватайте ваш горячий кофе – и приступайте к делу.

    Этап #5: Тестирование

    Сотрудники в футболках с надписями вида «Разрабатывать круто, тестировать не очень» были для меня привычным зрелищем, но вы должны понимать, что не получится создать финальную версию продукта, пока вы на нем собаку не съедите. По завершению этого этапа вы должны будете в состоянии обеспечить рабочее состояние продукта. Отслеживайте ошибки и неточности, выслушивайте чужие точки зрения, и глубоко погружайтесь в вопрос с целью поиска тормозящих выход финального продукта ошибок. Вам просто необходимо обеспечить прочную основу.

    Этап #6: Развертывание

    Возьмите ваш продукт и пользуйтесь им. Предложите заинтересованным сторонам из первого этапа пользоваться вашим продуктом в естественных условиях, начните отслеживать вовлеченность в продажи. Снова и снова прислушивайтесь к пользователям, ведь благодаря обратной связи через опросы и рекомендации вы сможете вернуться к первой фазе и начать собирать новые требования. И не забудьте отпраздновать релиз.

    Объединяя все вместе: подход SDLC

    Фреймворк SDLC существует для помощи в сокращении времени вывода продукта на рынок, обеспечении более качественной производительности, экономии бюджета и повышения потенциальной пользы вашего продукта для заинтересованных сторон, о которых вы заботитесь. Особенно хорошо SDLC помогает при разработке ПО, поскольку он заставляет вас трудиться в строгих рамках. Другими словами, для обеспечения корректных действий в корректное время и по корректным причинам SDLC заставит вас следовать каждому необходимому шагу. Думайте о SDLC как о плане по достижению успеха: слепое ему следование ничего вам не гарантирует, но повышает вероятность что вы останетесь довольны результатами.

    Разработка ПО, как все мы с вами знаем, это тема обширная, и она может затрагивать вопросы от инструментов веб-дизайна и онлайн форм до более надежного машинного обучения или систем бэкенда. Пишете ли вы код в браузере или занимаетесь более надежной разработкой, план действий вам необходим.

    Разработка ПО может быть трудным, и в то же время полезным занятием.

    SDLC это план по ведению технических работ, но если смотреть шире, то можно воспринимать его как руководство по жизни. Применять SDLC можно к множеству тем, например, создание контента в SaaS модели ведется по циклу SDLC. Перед написанием контента автор сначала определяет требования, планирует, что именно он будет писать, и лишь затем фактически прикладывает перо к бумаге. Также SDLC отлично подходит для технологических предпринимателей.

    Мой друг хотел основать лучшее рекламное агентство для Facebook и обратился ко мне и другим специалистам за помощью. Несмотря на его большие амбиции, я посоветовал ему воспользоваться фреймворком SDLC чтобы сначала провести анализ требований. Я спросил его: «Какие проблемы ты хочешь решать? Чего хотят твои пользователи? И самое главное, как эта платформа поможет тебе достичь твоих целей?»

    Сформулировав эти вопросы вокруг SDLC, он смог лучше отточить свой финальный продукт и предоставить нужные инструменты правильным пользователям. Он сузил свой кругозор до более строгого определения его проблемной области и смог выделить ресурсы на планирование еще до того как он начал делать что-либо еще.

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

    Принятие пользователями его технологий доказывает, что при правильном применении SDLC можно достичь основательных технологических и финансовых результатов. Однако, как и при развитии бизнеса, разработка ПО никогда не заканчивается.

    Следовательно, цикл продолжается.

    Вне зависимости от того что вы создаете, компанию ли, инструмент, сложную программу либо полностью новый продукт, чтобы обеспечить качество и сосредоточиться на пользователях, хорошим решением будет взять на вооружение SDLC.

    Фраза «Создавать круто» должна стать вашей путеводной звездой, а SDLC – инструментом и помощником.

    Источник

  • Оцените статью