Тема 2. Жизненный цикл программного продукта — презентация
logo
Тема 2. Жизненный цикл программного продукта
  • Тема 2. Жизненный цикл программного продукта
  • О чем будем говорить?
  • Немного истории
  • История. Стандарты и проблемы ЖЦ ПО
  • О чем будем говорить?
  • Стандарт ISO/IEC 12207
  • ISO 12207. Основные определения
  • ISO 12207. Структура ЖЦ ПО
  • ISO 1 5504. Процессы ЖЦ ПО
  • ISO 1 5504. Классификация процессов
  • ISO 1 5504. CUS: Потребитель-поставщик
  • ISO 1 5504. ENG : Инженерные процессы
  • ISO 1 5504. SUP : Вспомогательные
  • ISO 1 5504. MAN : Управленческие
  • ISO 1 5504. ORG : Организационные
  • О чем будем говорить?
  • Модель ЖЦ программного продукта
  • Модель ЖЦ ПО
  • Схема модели ЖЦ ПО
  • Каскадная модель. Принципы
  • Каскадная модель. Преимущества и недостатки
  • Каскадная модель. Применимость
  • Спиральная модель. Принципы
  • Спиральная модель. Схема
  • Спиральная модель. Преимущества и недостатки
  • Спиральная модель. Применимость
  • Итерационная модель
  • V -образная модель
  • Инкрементная модель
  • Модель быстрого прототипирования
  • Другие типы моделей ЖЦ
  • О чем будем говорить?
  • Microsoft Solution Framework. Схема модели
  • Rational Unified Process
  • Extreme Programming. Схема модели
  • Extreme Programming. Принципы
  • Вопросы для контроля
1/37

Изображение слайда

Слайд 2: О чем будем говорить?

Немного истории ISO 12207 (15504) Жизненный цикл ПП: структура и организация Модель ЖЦ программного продукта Модели ЖЦ MSF, RUP, XP

Изображение слайда

Слайд 3: Немного истории

Кризис программирования Жизненный цикл промышленного изделия последовательность этапов (фаз, стадий), состоящих из технологических процессов, действий, операций Жизненный цикл ПП (ПО) 1968 г. (Лондон) – жизненный цикл ПО 1970 г. (Ройс) – идентификация нескольких процессов

Изображение слайда

Стандарты ЖЦ ПО 1985 (1988)г. DOD-STD-2167 А – Разработка программных средств для систем военного назначения – 8 фаз и 250 требований 1994г. MIL-STD-498. Разработка и документирование программного обеспечения – 75 дополнительных подразделов. 1995г. IEEE 1074. Процессы жизненного цикла для развития программного обеспечения – 6 базовых процессов, 16 частных, 65 работ. Проблемы стандартизации ЖЦ ПО требовало значительных средств, что не всегда окупалось. все ли процессы надо выполнять и в какой мере различные типы ПО, различные требования высокая динамика отрасли и устаревание стандартов терминологическая путаница

Изображение слайда

Слайд 5: О чем будем говорить?

Немного истории ISO 12207 (15504) Жизненный цикл ПП: структура и организация Модель ЖЦ ПП. Основные типы моделей Модели ЖЦ MSF, RUP, XP

Изображение слайда

Слайд 6: Стандарт ISO/IEC 12207

1995 г. ISO/IEC 1207 - Information Technology - Software Life Cycle Processes 2000 г. ГОСТ 12207. Процессы жизненного цикла программных средств Основные результаты ISO 12207 : Единая терминология по разработке и применению ПО Разделение понятий ЖЦ ПО и модели ЖЦ ПО Описание организации ЖЦ и его структуры (процессов) Выделение процесса адаптации стандарта для построения конкретных моделей ЖЦ

Изображение слайда

Определяет: Программный продукт (software product): Набор машинных программ, процедур и, возможно, связанных с ними документации и данных. Жизненный цикл программного продукта (software life cycle): непрерывный процесс, который начинается с момента принятия решения о необходимости его создания и заканчивается в момент его полного изъятия из эксплуатации Процесс (process): набор взаимосвязанных работ, которые преобразуют исходные данные в выходные результаты. Определяет организацию ЖЦ программного продукта: процессы – действия – задачи Устанавливает структуру (архитектуру) ЖЦ

Изображение слайда

Группы процессов Основные Вспомогательные Организационные Заказа Поставки Разработки Эксплуатации Сопровождения Документирования Управления конфигурацией Обеспечения качества Верификации Аттестации Совместного анализа Аудита Решения проблем Управления Создания инфраструктуры Усовершенствования Обучения Процесс адаптации

Изображение слайда

Слайд 9: ISO 1 5504. Процессы ЖЦ ПО

1998г. ISO/IEC TR 15504: Software Process Assessment (Оценка процессов разработки ПО) Глава2, раздел 5 – новая структура ЖЦ ПО: 24 процесса и 15 подпроцессов процессов вместо 17 в ISO 12207 ) Типы процессов ЖЦ: базовый — процесс из 12207; расширенный — расширение процесса из 12207; новый — процесс, не описанный в 12207; составляющий — часть процесса из 12207; расширенный составляющий

Изображение слайда

Слайд 10: ISO 1 5504. Классификация процессов

Три группы и пять категорий процессов: Основные процессы: CUS: Потребитель-поставщик ENG: Инженерная Вспомогательные процессы: SUP: Вспомогательная Организационные процессы: MAN Управленческая ORG: Организационная

Изображение слайда

Слайд 11: ISO 1 5504. 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)

Изображение слайда

Слайд 12: ISO 1 5504. 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 andtesting process) Б ENG.2 Сопровождения системы и программных средств (System and software maintenance process)

Изображение слайда

Слайд 13: ISO 1 5504. 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)

Изображение слайда

Слайд 14: ISO 1 5504. MAN : Управленческие

Т. Процесс, подпроцесс Б MAN.1  Административного управления (Management process) Н MAN.2  Управления проектами (Project management process) Н MAN.3  Управления качеством (Quality Management process) Н MAN.4  Управления рисками (Risk Management process)

Изображение слайда

Слайд 15: ISO 1 5504. ORG : Организационные

Т. Процесс, подпроцесс Н 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 i mprovement process) Р ORG.3 Административного управления кадрами (Human resource management process) Б ORG.4 Создания инфраструктуры (Infrastructure process) Н ORG.5  Измерения (Measurement process) Н ORG.6 Повторного использования (Reuse process)

Изображение слайда

Слайд 16: О чем будем говорить?

Немного истории ISO 12207 (15504) Жизненный цикл ПП: структура и организация Модель ЖЦ программного продукта Модели ЖЦ MSF, RUP, XP

Изображение слайда

Слайд 17: Модель ЖЦ программного продукта

Модель ЖЦ ПО Основные типы моделей ЖЦ ПО: Каскадная модель Спиральная модель Другие типы моделей ЖЦ ПО: Итерационная модель V- образная модель Инкрементная модель Модель быстрого прототипирования

Изображение слайда

Слайд 18: Модель ЖЦ ПО

Жизненный цикл проекта Набор обычно последовательных фаз проекта, количество и состав которых определяется потребностями управления проектом организацией или организациями, участвующими в проекте. Фаза проекта Объединение логически связанных операций проекта, обычно завершающихся достижением одного из основных результатов. Процесс Набор взаимосвязанных ресурсов и работ, благодаря которым входные воздействия преобразуются в выходные результаты. Операция, работа Элемент работ проекта. У операций обычно имеется ожидаемая длительность, потребность в ресурсах, стоимость. Операции могут далее подразделяться на задачи. Источник: PMI. Глоссарий http://www.pmi.ru/glossary/

Изображение слайда

Слайд 19: Схема модели ЖЦ ПО

Особенности схемы ЖЦ ПО: Результат фазы - модель ПО Результат фазы – вход следующей фазы Процессы могут выполняться на нескольких фазах Требования Анализ Проектиров. Управление. Документиров. Фазы: Процессы: Р Анализ Р Проектир. Р Модель ЖЦ (life cycle model): структура, …включающих в себя разработку, эксплуатацию и сопровождение программного продукта, …

Изображение слайда

Слайд 20: Каскадная модель. Принципы

Строго последовательное выполнение фаз: Каждая фаза начинается только после завершения предыдущей У каждой фазы - критерии входа и выхода: входные и выходные данные Каждая фаза полностью документируется Переход от одной фазы к другой - формальный обзор с участием заказчика Основа модели – сформулированные требования (ТЗ) Критерий качества – соответствие ТЗ. Исследование концепции Выработка требований Сопровождение Эксплуатация Интеграция компонент Реализация компонент Проектирование

Изображение слайда

Слайд 21: Каскадная модель. Преимущества и недостатки

Преимущества: Проста и понятна заказчикам Удобна в применении: процесс разработки выполняется поэтапно невысокие требования к исполнителям способствует контролю управления проектом Независимость стадий (могут выполнять разные команды) Точное планирование сроков и затрат Недостатки: Сбои и рост затрат при возврате на одну или две фазы назад Высокая стоимость ошибок на фазе интеграции Запаздывание с получением результатов Разработка ПО циклична, когда нет требований или они могут меняться

Изображение слайда

Слайд 22: Каскадная модель. Применимость

Четкие и не меняющиеся требования. Это задачи типа: научно-вычислительного характера операционные системы и компиляторы системы реального времени управления конкретными объектами Повторная разработка типового продукта Выпуск новой версии существующего продукта (перенос на новую платформу) Как элемент моделей других типов

Изображение слайда

Слайд 23: Спиральная модель. Принципы

Циклический характер разработки ПО: Ошибки разработчиков Изменения требований («ошибки» заказчиков) Спиральная модель (Боэм, 1988г): Разработка вариантов продукта с возвратом к ранним вариантам Создание прототипов ПО для уточнения и выявления требований Планирование вариантов с оценкой альтернатив и анализом рисков Переход к следующему варианту до завершения предыдущего Использование каскадной модели как схемы разработки очередного варианта Активное привлечение заказчика к работе над проектом: оценка очередного прототипа ПО уточнении требований при переходе к следующему оценка альтернатив очередного варианта и рисков

Изображение слайда

Слайд 24: Спиральная модель. Схема

Определен. целей, альтернатив, огранич. Планирование следующих фаз Разработка след. уровня Оценка альтернат. выявить и решить риски Треб, ЖЦ Концеп. Сборка и тестирование АР АР Анализ рисков Анализ рисков П1 П2 Прототип 3 Рабочий прототип Суммарная стоимость Треб. к ПО Проверка треб. Проект ПО Проверка проекта Коди- ров. Мод. тестир. Сборка Внедр. проект Детальн. План разработ.

Изображение слайда

Слайд 25: Спиральная модель. Преимущества и недостатки

Преимущества: Более тщательное проектирование Поэтапное уточнение требований Участие заказчика в выполнении проекта с использованием прототипов программы. Планирование и управление рисками Возможность разработки ПО «по частям» Недостатки – сложность: Анализа и оценки рисков при выборе вариантов. Поддержания версий продукта Оценки точки перехода на следующий цикл Бесконечность модели

Изображение слайда

Слайд 26: Спиральная модель. Применимость

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

Изображение слайда

Слайд 27: Итерационная модель

Определение требований Спецификация требований Проектирование Реализация Тестирование Эксплуатация и сопровождение

Изображение слайда

Слайд 28: V -образная модель

Требования и планирование Анализ требов. и спецификаций Высокоуровнев. проектирование Детальное проектирование Кодирование Модульное тестирование Сборка и тестирование Системное тестирование Производство, эксплуатация

Изображение слайда

Слайд 29: Инкрементная модель

Инкремент 3 Анализ требований Выходное тестиров. Инкремент 2 Анализ требований Выходное тестиров. Инкрементная модель Требования и планирование Производство, эксплуатация Инкремент 1 Анализ требований Выходное тестиров. Интеграц. тестир. Разработка тестов Проектирование Кодирование Сборка

Изображение слайда

Слайд 30: Модель быстрого прототипирования

План проекта Быстрый анализ Создание базы данных Функции Пользовательский интерфейс Итеративное Производная разработка проекта Подгонка Эксплуатация и сопровождение Утверждение пользователем прототипорование

Изображение слайда

Слайд 31: Другие типы моделей ЖЦ

Рассел Арчибальд. Модели жизненного цикла высокотехнологичных проектов. http://www.pmprofy.ru/content/rus/107/1073-article.asp. (Дата публикации: 17.01.2005)

Изображение слайда

Слайд 32: О чем будем говорить?

Немного истории ISO 12207 (15504) Жизненный цикл ПП: структура и организация Модель ЖЦ программного продукта Модели жизненного цикла MSF, RUP, XP

Изображение слайда

Слайд 33: Microsoft Solution Framework. Схема модели

Создание общей картины (Envisioning ) Планирование (Panning) Разработка (Developing) Стабилизация (Stabilizing) Развертывание (Deploying) Утверждение документа общей картины Утверждение проектных планов Окончательное утверждение области действия проекта Подтверждение готовности проекта к выпуску Решение развернуто

Изображение слайда

Слайд 34: Rational Unified Process

Ф а з ы Начало Inception Проработка Elaboration Построение Construction Передача Transition И т е р а ц и и Начальн. Про 1 Про 2 Пст.1 Пст.2 Пст.3 Пе.1 Пе.2 Бизнес-моделирование Определение требований Анализ и проектирование Реализация Тестирование Развертывание Управл. конфигурац. и изменениями Управление проектом Управление средой проекта Дисциплины (процессы)

Изображение слайда

Слайд 35: Extreme Programming. Схема модели

Приемочные тесты Истории использования «Вброс» решения Разработка версии Релиз версии Метафора системы Требования Тестовые сценарии Ненадежные оценки Уверенные оценки План версии Новая итерация Версия Ошибки кода Одобрение пользователей Планирование версии «Вброс» архитектуры Ошибки проекта

Изображение слайда

Слайд 36: Extreme Programming. Принципы

Принципы «живой» разработки ПО: Люди их общение более важны, чем процессы и инструменты Работающая программа более важна, чем исчерпывающая документация Сотрудничество с заказчиком более важно, чем обсуждение деталей контракта Отработка изменений более важна, чем следование планам Правила (техники) XP : Живое планирование ( planning game ) Частая смена версий ( small releases ) Простые проектные решения ( simple design ) Разработка на основе тестирования ( test - driven development ) Постоянная переработка ( refactoring ) Программирование парами ( pair programming ) Постоянная интеграция ( continuous integration ) 40-часовая рабочая неделя

Изображение слайда

Последний слайд презентации: Тема 2. Жизненный цикл программного продукта: Вопросы для контроля

Что такое жизненный цикл программного продукта? Что такое процесс, действие, задача? Какие типы процессов и конкретные процессы вы запомнили? Что такое модель жизненного цикла ПО? Какие типы моделей вы знаете? В чем их преимущества, недостатки, область применимости? Что вы можете сказать об особенностях моделей жизненного цикла MSF, RUP, XP ?

Изображение слайда

Похожие презентации