 
        
        - •Процесс разработки программного обеспечения
- •Модель совершенствования процессов разработки cmm – Capability Maturity Model
- •Rational Unified Process (Рационально-унифицированный процесс)
- •Принцип многомодельности;
- •Концептуальная модель языка uml
- •Обобщение;
- •Реализация;
- •Описание требований в контексте модели прецедентов
- •Вводимые элементы
- •Заинтересованные лица
Процесс разработки программного обеспечения
Определение. Определяет действия и организационные процедуры, направленные на усиление совместной работы в бригаде разработчиков, с целью поставки заказчику высококачественных программных продуктов.
На модель процесса возлагаются следующие функции:
- установка порядка выполнения действий 
- определение состава и времени поставки артефактов, созданных в процессе разработки 
- закрепление действий и артефактов за разработчиками 
- введение критериев отслеживания хода проекта, измерение результатов и планирование будущих проектов 
Модель совершенствования процессов разработки cmm – Capability Maturity Model
CMM – это анкета, которую заполняет организация, работающая в области информационных технологий. После анкетирования, следует верификация и аттестация процесса, в результате которого организацию можно отнести к одному из уровней(1-5) модели CMM.
Initial (соверш. упорядоченности процесса) -> Repeatable (сов. определенности процесса) -> Defined (сов. Измерительных характеристик процесса) -> Managed (с-ние процесса управл. изменениями)-> Optimizing
- Initial. Неупорядоченный непредсказуемый процесс, зависящий от текущих исполнений. 
- Repeatable. Воспроизводимое управление проектом, составление оценки времени и средств для аналогичных проектов. 
- Defined. Управляющие и прикладные действия по работе на программным продуктом задокументированы, стандартизированы и объединены в общий для всех проектов процесс создания ПО. 
- Managed. Для управления процессом используются измерения. 
- Optimizing. Непрерывное и повсеместное улучшение процесса. 
ISO9000. Стандарты этой серии применяются для управления качеством и определения процесса производства качественной продукции.
Для получения сертификата ISO необходимо оформить и документально зафиксировать все виды своей деятельности. Для каждого вида деятельности должна быть определена письменная процедура, включая действия, которые необходимо выполнить в случае нарушения процесса и отказа клиента.
Структурный подход имеет ряд особенностей, которые не очень хорошо увязываются с современным процессом разработки ПО:
- этот подход – последовательный, а не итеративный 
- подход направлен на создание негибких решений, которые будет сложно масштабировать и расширять в будущем 
- структурный подход предполагает разработку с чистого листа и не поддерживает повторное использоание уже существующих компонентов 
Rational Unified Process (Рационально-унифицированный процесс)
В основе RUP лежит следующие принципы:
- Итеративная разработка. 
Преимущества:
- Своевременное осознание возможных технических рисков. Осмысление требований задач проекта; 
- Быстрый и заметный прогресс; 
- Ранняя обратная связь; 
- Управляемая сложность. Команда разработчиков не перегружена лишней работой на этапах анализа и проектирования, не «парализована» слишком сложными и долгосрочными задачами; 
- Полученный при реализации каждой итерации опыт можно использовать для улучшения процесса разработки; 
- Использование объектных технологий; 
- Оценка рисков и ключевых моментов проекта на ранних итерациях; 
- Построение базовой архитектуры на ранних итерациях; 
- Постоянный контроль качества. Раннее и частое тестирование в реальных условиях; 
- Применение прецедентов. В RUP рекомендуется рассматривать прецеденты как требования к системе и строить на их основе процесс планирования, проектирования, тестирования и написания документации для пользователей; 
- Визуальное моделирование системы, как правило, с использование UML; 
- Внимательное отношение к требованиям; 
- Управление изменениями. 
Имеет две идеи:
- Нужно определять необходимость изменения; 
- Необходимо осуществлять управление конфигурацией; 
Фазы и рабочие процессы Фазы:
- Inception – определение бизнес целей проекта. Определяются цели системы, устанавливаются рамки проекта. Эта не стадия формулировки требований, а этап оценивания ситуации, на котором принимается решение о целесообразности либо нецелесообразности дальнейшей разработки; 
- Elaboration – разработка плана и архитектуры проекта. На данном этапе стоит задача проанализировать предметную область, выработать прочные архитектурные основы, составить план проекта и устранить наиболее опасные риски. Развитие это не стадия проектирования, а стадия реализации базовой архитектуры; 
- Constriction – постепенное создание системы; 
- Transition – ставка системы конечному пользователю; 
Прохождение через 4 основные фазы называется циклом разработки.
Рабочие процессы:
- Моделирование бизнес процессов; 
- Разработка требований; 
- Проектирование; 
- Реализация; 
- Тестирование; 
- Развертывание – охватывает управление конфигурацией; 
- Управление конфигурацией – управление изменениями и поддержание целостности артефактов проекта; 
- Управление проектом; 
- Анализ среды; 
Модели РУП:
- Модель бизнес-процессов (формирует абстракцию организации); 
- Модель предметной области (формирует контекст системы); 
- Модель претендентов; 
- Аналитическая модель (формирует цель проекта) 
- Модель проектирования (формирует словарь предметной области); 
- Модель процессов; 
- Модель реализации; 
- Модель развертывания; 
- Модель Тестирования; 
UML – общецелевой язык визуального моделирования, который предназначен для спецификации, визуализации, проектирования и документирования компонентов ПО бизнес процессов и других систем. Конструктивное использование языка UML основано на понимании общих принципов построения моделей сложных систем и особенностей процесса ОАП в частности. Принципы построение моделей сложных систем:
