Материал: Лекция_2_СС

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

1

Лекция 2. Стандарты и модели жизненного цикла программного обеспечения

Понятие жизненного цикла программного обеспечения

Жизненный цикл (ЖЦ) программного обеспечения (ПО) – это непрерывный процесс, который определяется как период времени, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.

Существует ряд стандартов, регламентирующих ЖЦ ПО, а в некоторых случаях и процессы разработки.

Международный стандарт ISO/IEC 12207: 1995 “Information Technology - Software Life Cycle Processes” (ISO - International Organization for Standardization - Международная организация по стандартизации, IEC - International Electrotechnical Commission - Международная комиссия по электротехнике) - основной нормативный документ, регламентирующий состав процессов ЖЦ ПО.

ISO/IEC 12207:1995 - стандарт на процессы и организацию жизненного цикла. Распространяется на все виды заказного ПО. Стандарт не содержит описания фаз, стадий и этапов. Он определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО.

Среди других известных стандартов можно выделить следующие:

ГОСТ 34601 - 90. «Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания» - распространяется на автоматизированные системы и устанавливает стадии и этапы их создания. Также в стандарте содержится описание содержания работ на каждом этапе. Стадии и этапы работы, закрепленные в стандарте, в большей степени соответствуют каскадной модели жизненного цикла.

Custom Development Method (CDM) по разработке прикладных ИС - технологический материал,

детализированный до уровня заготовок проектных документов, рассчитанных на использование в проектах с применением Oracle. Применяется CDM для классической модели ЖЦ (предусмотрены все работы/задачи и этапы), а также для технологий "быстрой разработки" или "облегченного подхода",

рекомендуемых в случае малых проектов.

Rational Unified Process (RUP) предлагает итеративную модель разработки, включающую четыре фазы: начало, исследование, построение и внедрение. Каждая фаза может быть разбита на этапы, в

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

Microsoft Solution Framework (MSF) сходна с RUP, также включает четыре фазы: анализ,

проектирование, разработка, стабилизация. MSF является итерационной, предполагает использование объектно-ориентированного моделирования, ориентирована на разработку бизнес-приложений.

Extreme Programming (XP) - экстремальное программирование. В основе методологии командная работа, коммуникация между заказчиком и исполнителем в течение всего проекта по разработке ИС, а

разработка ведется с использованием последовательно дорабатываемых прототипов.

2

Процессы жизненного цикла ПО ISO/IEC 12207

Международный стандарт ISO/IEC 12207: ПО (или программный продукт) определяется как набор компьютерных программ, процедур и, возможно, связанной с ними документации и данных.

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

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

причем не существует заранее определенных последовательностей.

В соответствии с ISO/IEC 12207: 1995 все процессы ЖЦ ПО разделены на три группы (рис. 1):

1.Основные процессы: приобретение; поставка; разработка; эксплуатация; сопровождение.

2.Вспомогательные процессы: документирование; управление конфигурацией; обеспечение качества; верификация; аттестация; совместная оценка; аудит; разрешение проблем.

3.Организационные процессы: управление; усовершенствование; создание инфраструктуры;

обучение.

 

Основные процессы

 

 

 

Вспомогательные процессы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приобретение

 

 

 

 

 

 

ДокументиПриоброваетение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поставка

 

 

 

 

 

 

Управление

 

 

 

 

 

 

 

 

 

 

 

 

конфигурацией

 

 

 

 

 

 

 

 

 

 

Разработка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Обеспечение качества

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Верификация

 

 

 

 

 

Организационные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

процессы

 

 

 

 

Аттестация

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Управление

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Совместная оценка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Усовершенствование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аудит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Создание

 

 

 

 

 

 

 

 

 

 

 

 

 

инфраструктуры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разрешение проблем

 

 

 

Обучение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.1. Структура процессов ЖЦ ПО

3

Основные процессы

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

надзор за деятельностью поставщика; приемка.

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

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

-Подготовка: выбор модели ЖЦ, стандартов, методов, средств разработки, составление плана работ.

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

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

- Проектирование архитектуры ПО: определение компонентов оборудования, ПО и операций,

выполняемых персоналом.

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

-Проектирование архитектуры ПО: определение структуры ПО, документирование интерфейсов компонентов, разработка предварительной версии пользовательской документации,

требований к тестам и плана интеграции.

-Детальное проектирование ПО: подробное описание компонентов ПО и интерфейсов между ними, обновление пользовательской документации, разработка и документирование требований к тестам и плана тестирования компонентов ПО; обновление плана интеграции ПО.

-Кодирование и тестирование ПО: разработка и документирование каждого компонента ПО и БД, совокупности тестовых процедур и данных для их тестирования; тестирование компонентов,

обновление пользовательской документации и плана интеграции ПО.

-Интеграция ПО: сборка компонентов ПО в соответствии с планом интеграции и тестирование ПО на соответствие квалификационным требованиям.

-Квалификационное тестирование: тестирование ПО в присутствии заказчика для демонстрации его соответствия и готовности к эксплуатации, проверка полноты документации.

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

-Установка ПО на оборудовании заказчика и проверка его работоспособности.

-Приемка ПО: оценка результатов квалификационного тестирования ПО и системы в целом и документирование результатов оценки совместно с заказчиком.

Процесс эксплуатации - действия и задачи оператора – организации, эксплуатирующей

систему: подготовительная работа (планирование действий и работ); эксплуатационное тестирование;

4

эксплуатация системы (в предназначенной среде в соответствии с пользовательской документацией);

поддержка пользователей (оказание помощи и консультаций при обнаружении ошибок).

Процесс сопровождения - выполняется службой сопровождения. В соответствии со стандартом

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

Действия: подготовительная работа; анализ запросов на модификацию ПО; модификация ПО

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

Вспомогательные процессы ЖЦ ПО

Процесс документирования - формализованное описание информации, созданной в течение ЖЦ ПО. Действия: подготовка; проектирование и разработка; выпуск документации; сопровождение.

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

Согласно стандарту IEEE – 90: конфигурация ПО - совокупность ее функциональных и физических характеристик, установленных в технической документации и реализованных в ПО.

Действия: подготовительная работа; идентификация конфигурации (каждому компоненту и его версиям соответствует однозначно обозначаемый комплект документации); контроль конфигурации;

учет состояния и оценка конфигурации; управление выпуском и поставку.

Процесс обеспечения качества - обеспечивает гарантии того, что ПО и процессы его ЖЦ соответствуют заданным требованиям и утвержденным планам. Качество ПО - совокупность свойств,

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

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

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

обеспечение качества процесса (гарантирование соответствия процессов ЖЦ ПО, методов разработки,

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

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

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

Процесс верификации включает действия: подготовительную работу; верификацию;

5

В процесс верификации проверяются условия:

непротиворечивость требований к системе и степень учета потребностей пользователей;

возможности поставщика выполнять заданные требования;

соответствие выбранных процессов ЖЦ ПО условиям договора;

адекватность стандартов, процедур и среды разработки процесса ЖЦ ПО;

соответствие проектных спецификаций ПО заданным требованиям;

корректность описания в спецификациях входных/выходных данных, интерфейсов, логики;

соответствие кода проектным спецификациям и требованиям;

тестируемость и корректность кода, его соответствие принятым стандартам кодирования;

корректность интеграции компонентов ПО в систему;

адекватность, полнота и непротиворечивость документации.

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

Если процесс аттестации выполняется организацией, не зависящей от поставщика, разработчика и др.,

то он называется процессом независимой аттестации.

Процесс совместной оценки - для оценки состояния работ по проекту и ПО: контроль планирования, управления ресурсами, персоналом, аппаратурой и инструментальными средствами.

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

Процесс аудита - определение соответствия требованиям, планам и условиям договора. Аудит выполняется двумя любыми сторонами, участвующими в договоре, одна сторона проверяет другую.

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

Процесс разрешения проблем - анализ и решение обнаруженных проблем независимо от их происхождения. Проблема должна быть идентифицирована, описана, проанализирована и разрешена.

Организационные процессы ЖЦ ПО

Процесс управления - менеджер отвечает за управление выпуском продукта, управление проектом и задачами процессов. Действия: определение области управления, планирование

(составление графиков выполнения работ; оценка затрат; выделение ресурсов; распределение ответственности; оценка рисков, создание инфраструктуры управления).

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