Процессы Разработки программного обеспечения Определение процесса (Часть 1)

Содержание

Слайд 2

Цели

Цель:
Ознакомится с некоторыми моделями процессов разработки программного обеспечения
Узнать функции использования этих моделей
Сравнение

Цели Цель: Ознакомится с некоторыми моделями процессов разработки программного обеспечения Узнать функции
этих моделей между собой
Определить, когда уместно применить эти модели

Слайд 3

Акронимы

SW – программное обеспечение
SS – Система (ы) программного обеспечения
UC – Вариант (ы)

Акронимы SW – программное обеспечение SS – Система (ы) программного обеспечения UC – Вариант (ы) использования
использования

Слайд 4

2. Определение процесса

2. Определение процесса

Слайд 5

Процесс = технология + инструменты + люди + модель (1)

Технология – в

Процесс = технология + инструменты + люди + модель (1) Технология –
разработке SS используется доступные среды, знание, правила... (языки программирования, ОС, компьютерные системы, сети, CASE инструменты...)
Инструменты –предварительно разработанные инструменты для разработки SS, которые сохраняются и улучшаются во время процесса вместе с основной разработкой продукта (чем лучше ведущее устройство (мастер), тем более специальные инструменты он имеет, например. NoMagic)

Слайд 6

Процесс = технология + инструменты + люди + модель (2)

Люди – участники

Процесс = технология + инструменты + люди + модель (2) Люди –
процесса и пользователи SS (необходимо определить требования разработчиков SS, квалификацию команды, управлять ими и пользовательскими навыками; зависимости требований SS, квалификации разработчиков и полной компьютерной грамотности людей; наиболее ограниченный параметр)
Организационная модель – определение, кто, что, когда и как делает + организационные инструменты, стандарты и стратегии (Разработчик SS – не импровизирующий музыкант, он “играет примечания” – организационная модель проекта, который определяет, кто, что, когда и как должен сделать),

Слайд 7

Каков процесс (кратко)?

Ограничения:
размер, разновидность и художественное оформление

Подготовить инструменты

Купить продукты

Задача:
испечь пирог

Смешаться компоненты

Испечь пирог

Пирог

Каков процесс (кратко)? Ограничения: размер, разновидность и художественное оформление Подготовить инструменты Купить

Слайд 8

Характеристики процесса (1)

Процесс
Описывает основные виды деятельности согласно модели
Имеет ряд принципов, которые объясняют

Характеристики процесса (1) Процесс Описывает основные виды деятельности согласно модели Имеет ряд
цели действий
Предлагает ограничения, выделяет промежуточные результаты и окончательный результат
Может быть составлен из взаимозависимых подпроцессов (иерархия процессов, у каждого подпроцесса может быть своя собственная модель процесса),
У действий есть критерии оценки для входа и выхода
Знать последовательность когда начинаются и заканчиваются действия

Слайд 9

Характеристики процесса (2)

Когда процесс включает разработку SW, текущее его возобновление, обслуживание конкурентоспособности и

Характеристики процесса (2) Когда процесс включает разработку SW, текущее его возобновление, обслуживание
живучести во время всей его жизни, это называется процессом жизненных циклов
Процесс разработки SW во время одного цикла вызывают как процесс жизненного цикла, потому что это описывает жизнь SW от идеи до его установки, поставки, использования и обслуживания (первый процесс), или это описывает обновление SW, поддерживающего конкурентоспособность и живучесть (другие процессы)

Слайд 10

Модели (1)

Каждый сотрудник и этап из работ требуют индивидуальную модель
Модель системы – это сумма отдельных моделей

Аналитики

Разработчики

Тестеры

Модели (1) Каждый сотрудник и этап из работ требуют индивидуальную модель Модель

Пользователи

Архитекторы

Проект
менеджеры

Слайд 11

Модели (2)

Процесс разработки SS – процесс развития моделей. Объединенный процесс имеет ряд

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

Слайд 12

Модели (3)

Каждая модель является семантически завершенной абстракцией системы, достаточной, чтобы гарантировать, что

Модели (3) Каждая модель является семантически завершенной абстракцией системы, достаточной, чтобы гарантировать,
ее клиентам не не надо искать дополнительную информацию для соответствующей интерпретации. Модели объединяют элементов среды – агентов.
Каждая модель состоит из моделей подсистем. Уровень разработки неограничен
В развитии моделей их части сохраняют отношение с частями для более ранних моделей
Модели имеют разные уровни и разрабатываются в различных уровнях.

Слайд 13

Модели (4) (Запомнить)

Модель варианта использования системы состоит из вариантов и агентов
Модель проекта

Модели (4) (Запомнить) Модель варианта использования системы состоит из вариантов и агентов
описывает подсистемы, классы и их взаимодействия. В ней рассмотрены варианты использования. Каждый вариант использования модели проекта сохраняет отношения с вариантами использования предыдущей модели.
Модель варианта использования – внешний подход (пользователя), модель проекта – внутренний подход (разработчика). Обе модели описывают, как система реагирует на внешние влияния, но в различных аспектах.

Слайд 14

Определения

Жизненный цикл – этап жизни определенного SW определенного проекта, от его идеи,

Определения Жизненный цикл – этап жизни определенного SW определенного проекта, от его
разработки..., до изменения (удаление)
Первый цикл – разработка первой версии (рождение), другие циклы (разработка, расширение), последний цикл – удаление (смерть)
Модель жизненного цикла – система действий, предназначенных для жизненного цикла SW, выбранного из стандарта “1074 IEEEСтанд.”
Процесс жизненного цикла – спецификация проекта процесса

Слайд 15

2.1. Модели жизненного цикла
разработки SS

2.1. Модели жизненного цикла разработки SS

Слайд 16

Модель технического жизненного цикла SS (1)

Цель
Представить процесс разработки SW и выделить

Модель технического жизненного цикла SS (1) Цель Представить процесс разработки SW и
области основного вида деятельности и их взаимозависимости
Модели жизненного цикла могут быть применены:
Как инструмент для помощи людям, чтобы понять и вообразить процесс (особенно в графических моделях)
Как основание процесса разработки (разработка, оценка, улучшение)
Для формализации процесса, сосредотачиваясь на среде разработки SW или рабочем ходу

Слайд 17

Модель технического жизненного цикла SS (2)

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

Модель технического жизненного цикла SS (2) Обычно в практике модели процесса используются:
процессы, оценить их с соответствующими характеристиками и возможностями улучшения
Разработка и анализ новых процессов
Количественное моделирование и анализ процессов для обслуживания, планирования управления и управления, и улучшения процесса

Слайд 18

Общее определение модели технического жизненного цикла SS

Группа руководства
проектом формулирует
требования, миссию,

Общее определение модели технического жизненного цикла SS Группа руководства проектом формулирует требования,

и создает
основную группу

Авторизация проекта

Команда
определяет
требования

Пакет требований, работ

Группа
руководства
проектом завершает проект

Команда определяет требования для анализа и для документов (модели, схема
размещений, и т.д.)

План проекта

Инициирование проекта

Заявка на проект

Конкурен
тоспособ
ность

План проекта

Реализация и контроль проекта

Завершение проекта

Идея SW продукт

(Задачи, оценки, спецификации)

Понятие продукта

Слайд 19

Основные этапы процессов жизненного цикла SS

Основные этапы:
Формулировка требований
Анализ
Разработка
Реализация
Тестирование
Эксплуатация
Эти процессы циклически повторяются, разрабатывая,

Основные этапы процессов жизненного цикла SS Основные этапы: Формулировка требований Анализ Разработка
поддерживая и улучшая продукт

Слайд 20

Модели разработки SS жизненный цикл

Модели процессов:
Водопадная
Прототипирование
Эволюционная разработка
Формальный подход
Автоматизированный синтез программного обеспечения
Компонентная (допускающее повторное

Модели разработки SS жизненный цикл Модели процессов: Водопадная Прототипирование Эволюционная разработка Формальный
использование программного обеспечения)
Модели организации в виде итераций:
Инкрементная
Итеративная

Слайд 21

Водопадная (каскадная) модель

Анализ
Требований

Проектирование SW

Реализация и
компонентное
тестирование

Интеграция и
системное
тестирование

Использование и
обслуживание

Процесс переходит от фазы

Водопадная (каскадная) модель Анализ Требований Проектирование SW Реализация и компонентное тестирование Интеграция
в фазу последовательно как вода в каскадном водопаде

Реализуются все UC параллельно

Слайд 22

Преимущества водопадной модели

Низкие трудовые затраты при небольшом количестве возвратов
Процесс является четким и

Преимущества водопадной модели Низкие трудовые затраты при небольшом количестве возвратов Процесс является
легко скоординированным
Уместно применить модель когда:
Требования пользователя являются четкими
Задача является традиционной
Алгоритм решения является четким
Задача не является трудной

Слайд 23

Недостатки водопадной модели

Негибкое распределение проекта по этапам.
Есть трудности, когда необходимо исправить ошибки

Недостатки водопадной модели Негибкое распределение проекта по этапам. Есть трудности, когда необходимо
или ответить на изменение требований пользователя.
Трудно произвести изменения во время процесса. Они обычно производятся после выполнения последней фазы.
Невозможно выдать пользователю какую-либо промежуточную версию SS
Начало эксплуатации возможно только тогда, когда все UC реализованы. Это соответствует самому длинному пути в временного графика.

Слайд 24

Прототипирование (1)

Это - системная модель разработки, когда система разрабатывается на основе эволюционных

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

Слайд 25

Прототипирование (2)

Требования
к прототипу

Разработка
прототипа

Прототип
системы

Тестирование

Системные требования
(иногда неофициальные или не законченные)

Система

Список
Представ-
лений

Просмотреть

Прототипирование (2) Требования к прототипу Разработка прототипа Прототип системы Тестирование Системные требования
прототип

Просмотр пользователя /клиента

Список
Представ-
лений

Список
Представ-
лений

Слайд 26

Прототипирование (3)

Важно показать формы ввода данных, операторы, отчеты и интерактивные диалоги с

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

Слайд 27

Эволюционная модель (1)

В эволюционной модели проект реализуется последовательно, запускаясь с реализации подмножества

Эволюционная модель (1) В эволюционной модели проект реализуется последовательно, запускаясь с реализации
UC и последовательно добавляя новый UC или их группы.
Цель модели – работа с клиентом от начальной спецификации до заключительного SS
Понимание требований SS увеличивается во время процесса. Начать с четкого и важного UC будет целеустремленно

Слайд 28

Эволюционная модель (2)

Описание

Спецификация

Реализация

Валидация

Начальная
версия

Промежуточ-
ная
версия

Финальная
версия

Эволюционная модель (2) Описание Спецификация Реализация Валидация Начальная версия Промежуточ- ная версия Финальная версия

Слайд 29

Преимущества эволюционной модели

Удовлетворяет нашей "взъерошенной" жизни.
Она не требует высококвалифицированных системных аналитиков, работа

Преимущества эволюционной модели Удовлетворяет нашей "взъерошенной" жизни. Она не требует высококвалифицированных системных
которых оценивается очень дорого.
Она эффективна для больших SS, которые слишком сложны, чтобы охватывать.
Этот метод легко внедряется, проходит через жизненные этапы SS.

Слайд 30

Недостатки эволюционной модели

"Взъерошенный" процесс.
Заключительный SS плохо структурирован.
Не всегда возможно убедить пользователя работать

Недостатки эволюционной модели "Взъерошенный" процесс. Заключительный SS плохо структурирован. Не всегда возможно
с не полностью разработанным SS.
Очень важна коммуникация разработчика с пользователем,нужна хороша психологическая среда.

Слайд 31

Формальная модель (автоматизированный синтез SW)

SS описывается математически и с поддержкой формальных методов, используя

Формальная модель (автоматизированный синтез SW) SS описывается математически и с поддержкой формальных
автоматические инструменты генерации кода. Окончательная версия SS сгенерирована итеративным способом (программа выполняется),
Возможно генерировать только исполняемую программу, но документация, справочные файлы, т.е. все то, что нужно подготовить, часто является еще более трудным,
Зависит от автоматического инструмента генерации кода (очень умный компилятор)

Слайд 32

Разработка формальных систем

Определение
требований

Формальные
спецификации

Формальные
преобразования

Интеграция
и тестирование

Исполняемая
программа

Формальное преобразование часто имеет вид итераций

Если требования были

Разработка формальных систем Определение требований Формальные спецификации Формальные преобразования Интеграция и тестирование
установлены неточно, или формальные спецификации были разработаны неправильно, процесс становится итеративным

Слайд 33

Преимущества формальной модели

Прежде всего необходимо понять очень хорошо требования SS и характеристики

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

Слайд 34

Недостатки формальной модели

Процесс очень формален и сложен
Трудно описать системы формальном виде
Нужны специалисти

Недостатки формальной модели Процесс очень формален и сложен Трудно описать системы формальном
высокой квалификации
Невозможно получить полноценную систему в способе формальных преобразований. Ручная работа также требуется, особенно разрабатывая интерфейс "человеческая система"

Слайд 35

Программная модель многократного использования (1) компонентная модель

В мире есть много продуктов. Трудно обнаружить

Программная модель многократного использования (1) компонентная модель В мире есть много продуктов.
что-то новое. Остается находить то, что подходит Вам лучше всего и использовать это...
Цель модели – использование существующих систем, подсистем или программ для того, чтобы решить возникшие задачи
Новая задача – чтобы интегрировать части, разработанные различными разработчиками, в одну систему
Как это скучно...

Слайд 36

Программная модель многократного использования (2)

спецификация
требований

анализ
компонентов

Модификация
требований

Коллекция
частей

Подготовка и
интеграция

Оценка системы

Программная модель многократного использования (2) спецификация требований анализ компонентов Модификация требований Коллекция

Слайд 37

Преимущества программной модели многократного использования

Используется лучший продукт, разработанный другими. Возможно, что они

Преимущества программной модели многократного использования Используется лучший продукт, разработанный другими. Возможно, что
знают лучше более узкий контекст приложения
Трудовые расходы ниже, это разрабатывается быстрее и более дешевое
Проще выдержать в тип продвижения
Это - модель будущего

Слайд 38

Недостатки программной модели многократного использования

Необходимо знать рынок продуктов очень хорошо
Нуждается в специалистах,

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

Слайд 39

Итерации процесса

Ресурсы итераций процесса:
Некоторые модели процесса
Жизненные циклы SS
Изменение требований
Ошибки
...
Есть две модели итеративной

Итерации процесса Ресурсы итераций процесса: Некоторые модели процесса Жизненные циклы SS Изменение
организации: инкрементное и спиральная разработка SS

Слайд 40

Поэтапная разработка (1)

Разработка системы разделена на несколько шагов, каждый раз, реализуя часть

Поэтапная разработка (1) Разработка системы разделена на несколько шагов, каждый раз, реализуя
функциональных возможностей SS
Приоритеты к требованиям пользователя присваиваются, прежде всего анализируются UC самого высокого приоритета
Когда процесс запускается, разработчики пытаются не изменить требования, хотя это не всегда успешно

Слайд 41

Спецификации
Требований

Присваивание
требований
к шагам

Архитектура
проекта

Разработка одной части

Часть оценки

Часть Интеграции

Оценка системы

Поэтапная разработка (2)

Спецификации Требований Присваивание требований к шагам Архитектура проекта Разработка одной части Часть

Слайд 42

Преимущества поэтапной разработки

Система может быть запущена, хотя полная функциональность еще не реализуется
В

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

Слайд 43

Недостатки поэтапной разработки

Проблема – интеграция отдельных частей
Возможно, что будет необходимо изменить архитектуру,

Недостатки поэтапной разработки Проблема – интеграция отдельных частей Возможно, что будет необходимо
когда много UC будут реализованы
Возможно, что SS не будет оптимален
Однако, много разработчиков делают так

Слайд 44

Спиральная модель

Процесс реализуется как спираль, а не как последовательность шагов с возвратами.

Спиральная модель Процесс реализуется как спираль, а не как последовательность шагов с
Все, что уже разрабатывается, не перестраивается, но только улучшается
Нет никаких фиксированных фаз. Цели выбираются согласно потребностям
Риск высок. Здесь особенно оценивается и пробуется уменьшать риск.

Слайд 45

Спиральная разработка

Определение цели
(спецификация)

Выявление и
Сокращение риска

Разработка и проверка допустимости

Планирование
(подготовка к следующей фазе)

Спиральная разработка Определение цели (спецификация) Выявление и Сокращение риска Разработка и проверка
Имя файла: Процессы-Разработки-программного-обеспечения-Определение-процесса-(Часть-1).pptx
Количество просмотров: 52
Количество скачиваний: 0