Материал: УПП. Конспект лекций

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Конспект лекций по дисциплине: «Управление проектами…»

Институт проектного управления (Project Management Institute – PMI)

Тема 1. Жизненный цикл ИС. Место процесса проектирования в жизненном цикле.

Схема этапов жизненного цикла. Факторы, влияющие на концепции эволюции жизненных циклов. Место «проектирования» в жизненном цикле ИС. Систематизация задач поддержки процесса разработки ИС. Системная инженерия - процессы жизненного цикла систем (ISO/IEC 15288).

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

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

экономические – оценка рынка (спроса и предложения), учет производственных затрат и т.д.;

эргономические – учет эстетичного вида и медицинской безопасности интерфейса не только самой программной системы, но и учет товарной привлекательности готового продукта;

психологические – учет психологии заказчика или покупателя, а также человеческого фактора в лице специалиста(-ов) по предметной области в процессе постановки задачи.

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

иразный формальный аппарат анализа и синтеза (текстовое описание, графические нотации, математические модели и др.).

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

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

1

Появление

Техническое

Программное

Программное

Прекращение

потребности

задание

средство

обеспечение

эксплуатации

Постановка

Проектирование

Формирование

Эксплуатация

задачи

ПС

 

товарного продукта

 

ПС

Расширение

Устранение

 

Изменения

 

Тиражиро-

Результаты

функций

ошибок

 

товарного вида

 

вание ПС

эксплуатации

 

 

 

 

 

Сопровождение

 

 

 

 

 

 

ПС

Рис. 2.1. Обобщенная схема этапов жизненного цикла.

Системная инженерия - процессы жизненного цикла систем

(ISO/IEC 15288:2008).

Стандарт ISO/IEC 15288 «Системная инженерия - процессы жизненного цикла систем».

В мире наблюдается постоянный рост сложности систем, создаваемых человеком. Такое усложнение приводит к ряду новых проблем, возникающих на всех стадиях жизненного цикла системы и на различных уровнях ее архитектурной детализации. Источниками проблем служат разнородность составных элементов системы (оборудование, люди, ПО), комплексное использование компьютерных технологий, недостаточная интеграция применяемых дисциплин. Для преодоления возникающих проблем требуется общий подход, обеспечивающий эффективное взаимодействие лиц, которые создают, используют и управляют современными системами. Основными группами задействованных лиц являются менеджеры, управляющие созданием систем, и инженеры, создающие системы. Стандарт ISO/IES 15288 в качестве подхода, объединяющего эти группы, предлагает общий набор практик, охватывающий весь жизненный цикл рукотворных систем, и предписывает при работе со сложной системой иметь описание ее жизненного цикла.

Определение стандарта гласит: жизненный цикл (ЖЦ) – это эволюция системы, продукции,

услуги, проекта или иного рукотворного объекта от замысла до прекращения использования.

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

Жизненный цикл неотделим от конкретной системы, поэтому особенности разных систем порождают большое разнообразие экземпляров жизненных циклов. Управленцы, в зависимости от выбранной стратегии и профиля существующих рисков, применяют различные последовательности стадий, что приводит к формам жизненного цикла с различающимися характеристиками. К ним можно отнести последовательную, инкрементальную, эволюционную формы. Инженеры, в свою очередь, используют различные формы разработки системы – восходящую, нисходящую, изнутри-наружу (middle-out). Были созданы методы управления жизненным циклом, представляющие собой типовые описания форм жизненного цикла в их связи с формами разработки, нацеленные на использование в определенных условиях. Наиболее распространенными методами являются RUP, Agile, DSDM, V- model, ICM.

Базовые характеристики системной инженерии в разрезе стандарта:

2

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

Фокусируется (при постоянном внимании к охвату проблемы во всей полноте):

на определении нужд пользователей и требуемой функциональности на ранних стадиях цикла разработки,

на документирования требований,

на синтезе дизайна системы,

на подтверждении соблюдения пользовательских требований

Описывает процесс разработки систем и как бизнес-процесс, и как технический процесс

Охватывает стадии жизни систем от появления замысла до вывода из эксплуатации

Основное назначение и задачи стандарта:

Гармонизировать многочисленные стандарты, принятые различными военными ведомствами, государствами, отраслевыми организациями стандартизации.

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

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

системного подхода

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

инжиниринга требований

архитектурного дизайна

процессного подхода

проектного подхода

культуры контрактации

Общие свойства стандарта:

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

Охватывает полный цикл жизни (например: замысел, разработка, производство, использование, поддержка и вывод из эксплуатации)

Учитывает необходимость контрактации (приобретения и поставки продуктов и услуг)

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

Включает в процессы людей, оборудование, компьютеры, софт (ссылается на связанный стандарт ISO 12207 – жизненный цикл программного обеспечения)

Применяется параллельно, итеративно и рекурсивно для различных частей системы

Учитывает особенности композиции любых систем – встроенных, автономных, интегрированных и любых других, сложных и простых

Обладает технологической нейтральностью - не указано, какие именно технологии необходимо использовать в предписанных процессах, внедрение стандарта состоит во внедрении конкретных технологий/методологий получения результатов, требуемых стандартом (в управлении моделью жизненного цикла – выбор из IDEF, UML, DEMO, BusinessStudio, ОргМастер и т.д.)

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

Стадии жизненного цикла (жёстко стандартом не предписываются)

Стадии могут сосуществовать или возобновляться после завершения

Стадии определяют основные точки принятия решений, вехи проекта (decision gates)

Понятие зафиксированного состояния (baseline): после формального закрепления принятых по проекту решений, изменение которых можно провести только через формальную процедуру

Практикуется методология V – модели (рис. 1).

3

Декомпозиция и верификация (спецификация)

Интеграция и валидация (тестирование)

 

 

 

 

 

 

 

 

 

 

Функционирова-

 

Идея

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ние и развитие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Требования и

 

 

 

 

 

Проверка и

 

 

архитектура

 

 

 

 

 

приемка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рабочий

 

 

 

 

и тес-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Реализация

t (время)

Рис. 1. V-модель жизненного цикла.

Разнообразие жизненных циклов

1.Программное обеспечение: Концепция-Разработка-Поддержка-Списание.

2.Оборудование: Идея-Проектирование-Изготовление-Эксплуатация и поддержка-Списание.

3.Процесс: Определение выхода-Графическое представление-Описание-Пилотное внедрениеИспользование и совершенствование-Ликвидация.

4.Система: Идея-Разработка-Изготовление-Использование-Поддержка-Списание.

5.И др.

Инжиниринг требований. На всех стадиях жизненного цикла:

Определять заинтересованных лиц и собирать их требования (требования стейкхолдеров)

Анализировать требования стейкхолдеров и формировать требования разработчиков

Проводить проверку соответствия требованиям разработчиков (верификацию)

Проводить пользовательскую приёмку (валидацию)

Архитектурный дизайн:

Архитектура – фундаментальная организация системы, воплощённая в её компонентах, их отношениях друг с другом и с внешним окружением, а также принципы, управляющие её созданием и развитием (ISO/IEC 42010:2007, IEEE 1471)

Архитектура задаёт решение проблемы (необходимость соответствия противоречивым требованиям) в виде описания взаимодействующих подсистем

Архитектурный синтез после анализа требований

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

Создание архитектуры – стадия жизненного цикла системы, имеющая свой жизненный цикл (например, замысел архитектуры, определение требований к архитектуре, разработка архитектуры, создание архитектуры, использование архитектуры), и содержащая все процессы

ISO 15288

4

Процессный подход:

Процессный подход – рассмотрение всех действий в организации как реализаций типовых шаблонов, отражающих те или иные организационные практики (PraxOS)

Процесс – набор взаимосвязанных или взаимодействующих действий, преобразующих входы в выходы (из ISO 9000:2005). Процессы состоят из действий (activities), а действия – из задач

(tasks)

Процессы – форма привнесения, фиксации и развития организационных практик

Процессы документированы, могут быть предметом коммуникации (обсуждения)

Выполнение процессов проверяемо (ISO 15504):

Наличие продуктов (результатов процессов)

Выполнение всех предписанных действий и задач

Выполнение требований и ограничений

Выполнение измерений хода процесса

25 обязательных процессов системной инженерии

Обеспечения проектов

1.управление моделью жизненного цикла

2.управление инфраструктурой

3.управление портфелем проектов (программой)

4.управление персоналом

5.управление качеством

Проектные

управление проектами

6.планирование проекта

7.управление выполнением

8.контроль проекта поддержка проектов

9.управление решениями

10.управление рисками

11.управление конфигурацией

12.управление информацией

13.измерения

Технические

14.анализ требований

15.архитектурный дизайн

16.изготовление

17.интеграция

18.проверка (Verification)

19.переход к эксплуатации

20.приёмка (Validation)

21.эксплуатация

22.обслуживание

23.вывод из эксплуатации

Контрактации

24.Закупка

25.Поставка

5