- •Процесс разработки программного обеспечения
- •Модель совершенствования процессов разработки 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 основано на понимании общих принципов построения моделей сложных систем и особенностей процесса ОАП в частности. Принципы построение моделей сложных систем: