Автор: Пользователь скрыл имя, 14 Января 2012 в 22:39, курсовая работа
Одним из ключевых понятий управления проектами, в том числе в приложении к индустрии программного обеспечения, является
жизненный цикл проекта предлагается следующее определение жизненного цикла проекта
“Жизненный цикл проекта имеет определенные начальную и конечную точки, привязанные к временной шкале. Проект, в своем естественном развитии проходит ряд отдельных фаз.
Жизненный цикл проекта включает все фазы от момента инициации до момента завершения.
Переходы от одного этапа к другому редко четко определены, за исключением тех случаев, когда они формально
Введение 2
1. Основы жизненного цикла программных средств 4
1.1 Особенности и свойства жизненного цикла программ 5
1.2 Фундаментальные модели жизненного цикла операционных систем 7
1.3 Методы и процессы стандартизации жизненного цикла ПС 9
2. Стандарты как основа законодательной базы для разработки операционных систем
2.1 Модель и методология жизненного цикла ОП 11
2.2 Организация стандарта и архитектура жизненного цикла 12
2.3 Основные процессы жизненного цикла 14
2.4 Адаптация стандарта 16
2.5 Роль системотехники в программной инженерии 17
3. Цикл жизни процесса 19
3.1 Иерархическая структура связей между процессами 20
Заключение…………………………………………………………………… 21
Используемая литература………………………………………………………22
2.2 Организация стандарта и архитектура жизненного цикла
Стандарт определяет область его применения, дает ряд важных определений (таких, как заказчик,
разработчик, договор, оценка, выпуск – релиз, программный продукт, аттестация и т.п.), процессы
жизненного цикла и включает ряд примечаний по процессу и вопросам адаптации стандарта.
Стандарт описывает 17 процессов жизненного цикла, распределенных по трем категориям –
группам процессов (названия представлены с указанием номеров разделов стандарта, следуя
определениям на русском и английском языке, определяемыми [ГОСТ 12207, 1999] и
оригинальной версией ISO/IEC 12207, соответственно):
5. Основные процессы жизненного цикла - Primary Processes
5.1 Заказ - Acqusition
5.2 Поставка - Supply
5.3 Разработка - Development
5.4 Эксплуатация - Operation
5.5 Сопровождение - Maintenance
6. Вспомогательные процессы жизненного цикла – Supporting Processes
6.1 Документирование - Documentation
6.2 Управление конфигурацией – Configuration Management
6.3 Обеспечение качества – Quality Assurance
6.4 Верификация - Verification
6.5 Аттестация - Validation
6.6 Совместный анализ – Joint Review
6.7 Аудит - Audit
6.8 Решение проблем – Problem Resolution
7. Организационные процессы жизненного цикла – Organizational Processes
7.1 Управление - Management
7.2 Создание инфраструктуры - Infrastructure
7.3 Усовершенствование - Improvement
7.4 Обучение - Training
Стандарт определяет высокоуровневую архитектуру жизненного цикла. Жизненный цикл начинается с идеи или потребности, которую необходимо удовлетворить с использованием программных средств (может быть и не только их). Архитектура строится как набор процессов и взаимных связей между ними. Например, основные процессы жизненного цикла обращаются к вспомогательным процессам, в то время, как организационные процессы действуют на всем
протяжении жизненного цикла и связаны с основными процессами.
Дерево процессов жизненного цикла представляет собой структуру декомпозиции жизненного цикла на соответствующие процессы (группы процессов). Декомпозиция процессов строится на основе двух важнейших принципов , определяющих правила разбиения (partitioning) жизненного цикла на составляющие процессы.
Эти принципы:
Модульность
• задачи в процессе являются функционально связанными;
• связь между процессами – минимальна;
• если функция используется более, чем одним процессом, она сама является процессом;
• если Процесс Y используется Процессом X и только им, значит, Процесс Y принадлежит (является его частью или его задачей) Процессу X, за исключением случаев потенциального использования Процесса Y в других процессах в будущем.
Ответственность
• каждый
процесс находится под
• функция,
чьи части находятся в
Общая иерархия (декомпозиция) составных элементов жизненного цикла выглядит следующим образом:
• группа процессов
• задачи
В общем случае, разбиение процесса базируется на широко распространенном PDCA-цикле:
• “P” – Plan – Планирование
• “D” – Do – Выполнение
• “C” – Check – Проверка
• “A” – Act – Реакция (действие)
Рассмотрим, какие работы составляют процессы жизненного цикла, помня, что полное определение работ, как и определение составляющих их задач, дано непосредственно в стандарте. Ниже приведен краткий обзор основных процессов жизненного цикла, явно демонстрирующий связь вопросов, касающихся непосредственно самой программной системы, с
системными аспектами ее функционирования и обеспечения ее эксплуатации.
2.3 Основные процессы жизненного цикла
Приобретение
Процесс приобретения (как его называют в ГОСТ – “заказа”) определяет работы и задачи заказчика, приобретающего программное обеспечение или услуги, связанные с ПО, на основе контрактных отношений. Процесс приобретения состоит из следующих работ (названия ГОСТ 12207 даны в скобках, если предлагают другой перевод названий работ оригинального стандарта):
• Inititation – инициирование (подготовка)
• Request-for-proposal preparation – подготовка запроса на предложение (подготовка заявки
на подряд)
• Contract preparation and update –подготовка и корректировка договора
• Supplier monitoring – мониторинг поставщика (надзор за поставщиком)
• Acceptance and completion – приемка и завершение (приемка и закрытие договора)
Все работы проводятся в рамках проектного подхода.
Поставка
Процесс поставки, в свою очередь, определяет работы и задачи поставщика. Работы также
проводятся с использованием проектного подхода. Процесс включает следующие работы:
• Inititation – инициирование (подготовка)
• Preparation of response – подготовка предложения (подготовка ответа)
• Contract – разработка контракта (подготовка договора)
• Planning - планирование
• Execution and control – выполнение и контроль
• Review and evaluation –проверка и оценка
• Delivery and completion – поставка и завершение (поставка и закрытие договора)
Разработка
Процесс разработки определяет работы и задачи разработчика. Процесс состоит из следующих
работ:
• Process implementation – определение процесса (подготовка процесса)
• System requirements analysis – анализ системных требований (анализ требований к
системе)
• System design – проектирование системы (проектирование системной архитектуры)
• Software requirements analysis – анализ программных требований (анализ требований к
программным средствам)
• Software architectural design – проектирование программной архитектуры
• Software detailed design – детальное проектирование программной системы (техническое
проектирование программных средств)
• Software coding and testing – кодирование и тестирование (программирование и
тестирование программных средств)
• Software integration – интеграция программной системы (сборка программных средств)
• Software qualification testing – квалификационные испытания программных средств
• System integration – интеграция системы в целом (сборка системы)
• System qualification testing – квалификационные испытания системы
• Software installation – установка (ввод в действие)
• Software acceptance support – обеспечение приемки программных средств
Стандарт отмечает, что работы проводятся с использованием проектного подхода и могут пересекаться по времени, т.е. проводиться одновременно или с наложением, а также могут предполагать рекурсию и разбиение на итерации.
Эксплуатация
Процесс разработки определяет работы и задачи оператора службы поддержки. Процесс включает следующие работы:
• Process implementation – определение процесса (подготовка процесса)
• Operational testing – операционное тестирование (эксплуатационные испытания)
• System operation – эксплуатация системы
• User support – поддержка пользователя
Сопровождение
Процесс разработки определяет работы и задачи, проводимые специалистами службы сопровождения. Процесс включает следующие работы:
• Process implementation – определение процесса (подготовка процесса)
• Problem and modification analysis – анализ проблем и изменений
• Modification implementation – внесение изменений
• Maintenance review/acceptance – проверка и приемка при сопровождении
• Migration – миграция (перенос)
• Software retirement – вывод программной системы из эксплуатации (снятие с эксплуатации)
Важно понимать, что стандарт 12207 не определяет последовательность, и разбиение выполнения процессов во времени, адресуя этот вопрос также работам по адаптации стандарта к конкретным условиям и окружению и применению выбранных моделей, практик, техник и т.п.
2.4 Адаптация стандарта
Адаптация стандарта подразумевает применение требований стандарта к конкретному проекту или проектам, например, в рамках создания внутрикорпоративных регламентов ведения проектов программного обеспечения.
Адаптация включает следующие виды работ:
• Определение исходной информации для адаптации стандарта
• Определение условий выполнения проекта
• Отбор процессов, работ и задач, используемых в проекте или соответствующих регламентах
• Документирование требований, решений и процессов, связанных с адаптацией и
полученных в ее результате
Адаптация
также подразумевает выбор
также применение соответствующих методологий, детализирующих процедуры выполнения
процессов, работ и задач в рамках заданных границ (содержания) жизненного цикла программного
обеспечения и организационной структуры и ролевой ответственности в конкретной организации
(ее
подразделении) и/или в
2.5 Роль системотехники в программной инженерии
Система — это совокупность взаимодействующих компонентов, работающих совместно для достижения определенных целей. Определяющим признаком системы является то, что свойства и поведение системных компонентов влияют друг на друга сложным образом. Корректное функционирование каждого системного компонента зависит от функционирования многих других компонентов. Системы часто имеют иерархическую структуру, т.е. в качестве компонентов содержат другие системы (подсистемы). Определяющее свойство подсистем заключается в том, что они могут функционировать самостоятельно, независимо от тех систем, в состав которых входят. Вместе с тем их поведение в составе конкретной системы зависит от взаимодействия с другими подсистемами.