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

Содержание

Слайд 2

План лекции 1. Понятие жизненного цикла промышленного изделия 2. Участники процессов

План лекции

1. Понятие жизненного цикла промышленного изделия
2. Участники процессов жизненного цикла

ПО
3. Терминология программной инженерии
4. Стандарт ISO/IEC 12207. Процессы жизненного цикла ПО
5.1. Основные процессы
5.2. Вспомогательные процессы
5.3. Организационные процессы
5. Стандарт ISO/IEC 15504. Процессы жизненного цикла ПО
6.1. Категория "Потребитель-поставщик" (CUS)
6.2. Инженерная категория (ENG)
6.3. Поддерживающая категория (SUP)
6.4. Управленческая категория (MAN)
6.5. Организационная категория (ORG)
6. Контрольные вопросы и задания
Слайд 3

1. Понятие жизненного цикла промышленного изделия Жизненный цикл любого промышленного изделия

1. Понятие жизненного цикла промышленного изделия

Жизненный цикл любого промышленного изделия определяется

как последовательность этапов (фаз, стадий), каждый из которых имеет иерархическую структуру и состоит из определенного набора технологических процессов, каждый из которых, в свою очередь, состоит из операций, операции - из более "мелких" работ и т.д.
Обычно к основным этапам ЖЦ промышленного изделия относят:
проектирование
изготовление образца и его технические испытания
организацию производства
серийное производство
эксплуатацию
ремонт и техническое обслуживание
вывод из эксплуатации.
Специфические особенности ЖЦ ПО:
фактическое отсутствие этапов изготовления образца и серийного производства (по существу эти этапы сводятся к процедурам компиляции и копирования);
испытания и контроль качества ПО проводятся в форме тестирования на этапе проектирования;
этап проектирования ПО – наиболее трудоемкий и «несет на себе» основную долю стоимости производства ПО;
традиционный ремонт и обслуживание, по существу, заменяется процессом сопровождения ПО, основное содержание которого – устранение замеченных при эксплуатации недостатков (ошибок разработчиков) и модификация ПО в соответствии с изменениями требований заказчика.
Слайд 4

2. Участники процессов жизненного цикла ПО заказчик (acquirer) Организация, которая приобретает

2. Участники процессов жизненного цикла ПО

заказчик (acquirer)
Организация, которая приобретает

или получает систему, программный продукт или программную услугу от поставщика.
поставщик (supplier)
Организация, которая заключает договор с заказчиком на поставку системы, программного продукта или программной услуги на условиях, оговоренных в договоре.
разработчик (developer)
Организация, выполняющая работы по разработке (включая анализ требований, проектирование, приемочные испытания) в процессе жизненного цикла программных средств.
оператор (operator)
Организация, эксплуатирующая систему.
пользователь (user)
Лицо или организация, которое использует действующую систему для выполнения конкретной функции.
персонал сопровождения (maintainer)
Организация, которая выполняет работы по сопровождению ПО в процессе его эксплуатации заказчиком.
Слайд 5

3. Жизненный цикл ПО. Терминология программный продукт (software product) Набор машинных

3. Жизненный цикл ПО. Терминология

программный продукт (software product)
Набор машинных

программ, процедур и связанных с ними документации и данных.
программная услуга (software servise)
Выполнение работ, заданий или обязанностей, связанных с программным продуктом, таких как разработка, сопровождение или эксплуатация.
программный модуль (software unit)
Отдельно компилируемая часть программного кода (программы).
выпуск (release):
Конкретная версия элемента конфигурации, которая доступна для реализации конкретной цели (например, тестируемый выпуск).
элемент конфигурации (configuration item)
Объект внутри конфигурации, который удовлетворяет функции конечного использования и может быть однозначно определен в данной эталонной точке.
версия (version)
Определенный экземпляр объекта. В результате модификации версии программного продукта появляется новая версия, подвергающаяся управлению конфигурацией.

система (system)
Комплекс, состоящий из процессов, технических и программных средств, устройств и персонала, обладающий возможностью удовлетворять установленным потребностям или целям.
программно-аппаратное средство (firmware):
Сочетание технических устройств и машинных команд или данных, постоянно хранящихся на техническом устройстве в виде постоянного программного средства. Данное программное средство не может изменяться только средствами программирования.
непоставляемое изделие
(non-deliverable item):
Техническое или программное средство, которое не поставляется по условиям договора, но может быть применено при создании программного продукта.
готовый продукт (off-the-shelf product):
Ранее разработанный и доступный для приобретения продукт, пригодный для использования в поставляемом или модифицированном виде.

Слайд 6

3. Жизненный цикл ПО. Терминология модель жизненного цикла (life cycle model)

3. Жизненный цикл ПО. Терминология

модель жизненного цикла (life cycle model)
Структура,

состоящая из процессов, работ и задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования.
процесс (process)
Набор взаимосвязанных работ, которые преобразуют исходные данные в выходные результаты.
заказ (acquisition):
Процесс приобретения системы, программного продукта или программной услуги.
аудит (audit)
Проверка, выполняемая компетентным органом (лицом) с целью обеспечения независимой оценки степени соответствия программных продуктов или процессов установленным требованиям.
оценка (evaluation)
Систематическое определение степени соответствия объекта установленным критериям.
надзор (monitoring)
Проверка заказчиком или третьей стороной состояния работ, выполняемых поставщиком, и их результатов.

квалификация (qualification)
Процесс демонстрации возможности объекта выполнять установленные требования.
квалификационное требование
(qualification requirement)
Набор критериев, которые должны быть удовлетворены для того, чтобы квалифицировать программный продукт на соответствие установленным требованиям.
квалификационное испытание (qualification testing):
Испытание (тестирование), проводимое для демонстрации того, что программный продукт удовлетворяет установленным требованиям.
аттестация (validation)
Подтверждение экспертизой и представлением объективных доказательств того, что конкретные требования к конкретным объектам полностью реализованы
снятие с эксплуатации (retirement)
Прекращение активной поддержки действующей системы со стороны эксплуатирующей или сопровождающей организации, частичная или полная замена ее новой системой или ввод в действие модернизированной системы.

Слайд 7

4. Классификация процессов жизненного цикла ПО по стандарту ISO/IEC 12207

4. Классификация процессов жизненного цикла ПО по стандарту ISO/IEC 12207

Слайд 8

Основные процессы жизненного цикла ПО Пять процессов, которые реализуются под управлением

Основные процессы жизненного цикла ПО

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

сторон, вовлеченных в жизненный цикл ПО:
заказчика, поставщика, разработчика, оператора и персонала сопровождения
1) Процесс заказа. Определяет работы заказчика, то есть организации, которая приобретает систему, программный продукт или программную услугу.
2) Процесс поставки. Определяет работы поставщика программного продукта или программной услуги заказчику.
3) Процесс разработки. Определяет работы разработчика, то есть организации, которая проектирует и разрабатывает программный продукт.
4) Процесс эксплуатации. Определяет работы оператора, то есть организации, которая обеспечивает эксплуатационное обслуживание системы в заданных условиях в интересах пользователей.
5) Процесс сопровождения. Определяет работы персонала сопровождения, то есть организации, которая предоставляет услуги по сопровождению программного продукта, состоящие в контролируемом изменении ПО с целью сохранения его исходного состояния и функциональных возможностей. Данный процесс охватывает также перенос и снятие с эксплуатации ПО.
Слайд 9

Вспомогательные процессы жизненного цикла ПО Восемь вспомогательных процессов, каждый из которых

Вспомогательные процессы жизненного цикла ПО

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

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

Организационные процессы жизненного цикла ПО Четыре типовых организационных процесса, применяемых для

Организационные процессы жизненного цикла ПО

Четыре типовых организационных процесса,
применяемых для создания

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

Основные достижения стандарта ISO/IEC 12207 Введение единой терминологии по разработке и

Основные достижения стандарта ISO/IEC 12207

Введение единой терминологии по разработке и

применению ПО - стандарт предназначен не только для разработчиков, но и для всех прочих заинтересованных лиц: поставщиков, заказчиков, пользователей, персонала сопровождения.
Описание организации ЖЦ и структуры его процессов.
Разделение понятий жизненного цикла и модели жизненного цикла. ЖЦ ПО в стандарте определяется как полная совокупность всех процессов и действий по созданию и применению ПО, а модель ЖЦ – как конкретный вариант организации ЖЦ, обоснованно выбранный для каждого конкретного случая.
Выделение процесса адаптации стандарта для построения конкретных моделей ЖЦ, содержащего основные работы, которые должны быть выполнены при адаптации настоящего стандарта к условиям конкретного программного проекта (см. след. слайд).
Слайд 12

Пример адаптации стандарта ISO/IEC 12207

Пример адаптации стандарта ISO/IEC 12207

Слайд 13

5. Процессы жизненного цикла ПО по стандарту ISO/IEC TR 15504 В

5. Процессы жизненного цикла ПО по стандарту ISO/IEC TR 15504

В

1998 г. на смену стандартe 12207 выходит новый стандарт ISO/IEC TR 15504. Information Technology - Software Process Assessment (Оценка процессов разработки ПО).
Этот стандарт регламентирует процедуры аттестации, определения зрелости и усовершенствования процессов ЖЦ ПО.
Один из разделов стандарта 15504 является развитием стандарта 12207 и содержит новую классификацию процессов ЖЦ ПО, согласно которой вместо трёх групп процессов стандарта 12207 (основные, вспомогательные и организационные) вводятся пять категорий процессов стандарта 15504:
категория CUS: Потребитель-поставщик
категория ENG: Инженерная (иногда переводят, как "Проектная")
категория SUP: Поддерживающая
категория MAN: Управленческая
категория ORG: Организационная.
Слайд 14

5.1. Процессы категории CUS: "Потребитель-поставщик" Категория Потребитель-Поставщик состоит из процессов, непосредственно

5.1. Процессы категории CUS: "Потребитель-поставщик"

Категория Потребитель-Поставщик состоит из процессов, непосредственно влияющих

на потребителя, поддерживающих процесс разработки программного средства и его передачи потребителю и обеспечивающих возможность корректного использования программного средства или услуги.
Включает следующие (под)процессы:
CUS.1 Процесс приобретения (Acquisition process)
CUS.1.1 Процесс подготовки приобретения (Acquisition preparation process)
CUS.1.2 Процесс выбора поставщика (Supplier selection process)
CUS.1.3 Процесс мониторинга поставщика (Supplier Monitoring process)
CUS.1.4 Процесс приемки (Customer Acceptance process)
CUS.2 Поставки (Supply process)
CUS.3 Процесс выявления требований (Requirements process)
CUS.4 Эксплуатации (Operation process)
CUS.4.1 Процесс эксплуатационного использования (Operational use process)
CUS.4.2 Процесс поддержки потребителя (Customer support process)
Слайд 15

5.2. Процессы категории ENG - инженерные Процессы Инженерной категории непосредственно определяют,

5.2. Процессы категории ENG - инженерные

Процессы Инженерной категории непосредственно определяют, реализуют

или поддерживают программный продукт, его взаимодействие с системой и документацию на него.
Категория ENG включает следующие процессы:
ENG.1 Процесс разработки (Development process)
ENG.1.1 Процесс анализа требований и разработки системы (Systemrequirements analysis and design process)
ENG.1.2 Процесс анализа требований к ПО (Software requirements analysis process)
ENG.1.3 Процесс проектирования ПО (Software design process)
ENG.1.4 Процесс конструирования ПО (Software construction process)
ENG.1.5 Процесс интеграции ПО (Software integration process)
ENG.1.6 Процесс тестирования ПО (Software testing process)
ENG.1.7 Процесс интеграции и тестирования системы (System integration and testing process)
ENG.2 Процесс сопровождения системы и программных средств (System and software maintenance process)
Слайд 16

5.3. Процессы категории SUP: поддерживающие Процессами этой категории могут пользоваться любые

5.3. Процессы категории SUP: поддерживающие

Процессами этой категории могут пользоваться любые другие

процессы (включая другие поддерживающие процессы) в различные моменты жизненного цикла ПО.
Категория включает следующие процессы:
SUP.1 Процесс документирования (Documentation process)
SUP.2 Процесс управления конфигурацией (Configuration management process)
SUP.3 Процесс обеспечения качества (Quality assurance process)
SUP.4 Процесс верификации (Verification process)
SUP.5 Процесс проверки соответствия (Validation process)
SUP.6 Процесс совместных проверок (Joint review process)
SUP.7 Процесс аудита (Audit process)
SUP.8 Процесс разрешения проблем (Problem resolution process)
Слайд 17

5.4. Процессы категории MAN: управленческие Процессы Управленческой категории содержат практики общего

5.4. Процессы категории MAN: управленческие

Процессы Управленческой категории содержат практики общего

характера, которые могут быть использованы каждым, кто управляет любым проектом или процессом в ходе жизненного цикла ПО.
Категория MAN включает следующие процессы:
MAN.1 Процесс административного управления (Management process)
MAN.2 Процесс управления проектами (Project management process)
MAN.3 Процесс управления качеством (Quality Management process)
MAN.4 Процесс управления рисками (Risk Management process)
Слайд 18

5.5. Процессы категории ORG: организационные Процессы категории ORG устанавливают цели функционирования

5.5. Процессы категории ORG: организационные

Процессы категории ORG устанавливают цели функционирования организации

и создают lдругие процессы, продукты и ресурсы, которые способствуют выполнению ее целей.
Организационные процессы:
создают инфраструктуру организации;
обобщают и используют передовой опыт, накопленный во всех подразделениях организации (эффективные процессы, лучшие навыки, качественный программный код, хорошие средства поддержки);
делают все это общедоступным в рамках всей организации;
создают базу для постоянного совершенствования организации.
К организационной категории принадлежат процессы:
ORG.1 Процесс организационных установок (Organizational alignment process)
ORG.2 Процесс усовершенствования (Improvement process)
ORG.2.1 Процесс создания процессов (Process establishment process)
ORG.2.2 Процесс аттестации процессов (Process assessment process)
ORG.2.3 Процесс усовершенствования процессов (Process improvement process)
ORG.3 Процесс управления кадрами (Human resource management process)
ORG.4 Процесс создания инфраструктуры (Infrastructure process)
ORG.5 Процесс измерения (Measurement process)
ORG.6 Процесс повторного использования (Reuse process)
Слайд 19

Подробнее: В. Липаев. Стандарты, регламентирующие жизненный цикл сложных программных комплексов. http://www.pcweek.ru/year1998/N24/CP1251/Reviews/chapt1.htm

Подробнее:


В. Липаев. Стандарты, регламентирующие жизненный цикл сложных программных комплексов. http://www.pcweek.ru/year1998/N24/CP1251/Reviews/chapt1.htm