![Page 1: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/1.jpg)
Проектирование ИС
Циклы в процессеразработки ИС
1 Из 27 Лекция 2
![Page 2: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/2.jpg)
Жизненный цикл
2 Из 27 Лекция 2
Это последовательность определенных событий или шаблонов поведения , повторяющихся регулярно в заданный период времени
![Page 3: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/3.jpg)
Идеализированные модели процесса разработки ИС
3 Из 27 Лекция 2
● Code-and-fix● Waterfall● Evolutionary● Spiral
● пользователь = разработчик● простейшая модель ЖЦ● прототипы ИС ● мета-модель
![Page 4: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/4.jpg)
Фазы ЖЦ в модели Royce (1970)
4 Из 27 Лекция 2
![Page 5: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/5.jpg)
Devis and Olson 1985, Sage 1995
5 Из 27 Лекция 2
● Определение (анализ)● Разработка (дизайн и программирование)● Развертывание (установка, обеспечение
функционирования)
![Page 6: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/6.jpg)
Обратные связи в модели Boehm (1981)
6 Из 27 Лекция 2
![Page 7: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/7.jpg)
7 Из 27 Лекция 2
![Page 8: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/8.jpg)
Основные проблемы водопадной модели
8 Из 27 Лекция 2
● Растянутое интегрирование и преувеличенный дизайн
● Запоздалая оценка рисков● Управляемая требованиями
функциональная декомпозиция● Контрактные отношения между
заинтересованными сторонами
![Page 9: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/9.jpg)
10 правил Boehm (1987)
9 Из 27 Лекция 2
(1) позднее исправление ошибок стоит в 100 раз дороже, чем исправление на ранних фазах дизайна
(2) можно сжать сроки разработки ИС на 25%, но не больше
(3) на каждый 1$, потраченный на разработку, приходится 2$ - для поддержки системы
(4) стоимость разработки и поддержки ИС является функцией от SLOC (Source Lines of Code)
![Page 10: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/10.jpg)
10 правил (прод.)
10 Из 27 Лекция 2
(5) производительность сильно различается для разных людей
(6) отношение стоимости софта к аппаратной части все еще растет
(7) около 15% разработки ИС посвящено программированию
(8) программная система и программный продукт стоят в 3 раза дороже индивидуальной программы, а продукт программной системы еще 3 раза дороже
![Page 11: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/11.jpg)
10 правил (прод.)
11 Из 27 Лекция 2
(9) проверка от начала до конца позволяет обнаружить до 60% ошибок
(10) 80% отдачи обусловлено 20% затрат
![Page 12: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/12.jpg)
Роль модели
12 Из 27 Лекция 2
● Все фазы и соответствующие цели необходимы● любая перестановка фаз приведет к менее
успешному проекту● модель указывает — что делать● заставляет планировать взаимодействие
компонент● систематизирует управление проектом● документы проектирования необходимы для этапов
тестирования и поддержки● снижает стоимость
![Page 13: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/13.jpg)
Критика водопадной модели
13 Из 27 Лекция 2
● Модель жесткая: вывод одной фазы фиксируется перед передачей на вход следующей фазе
● Модель монолитная: при планировании определяется срок завершения разработки
● Модель диктует разрабатываемые документы (ТЗ, отчеты и т.п.) - бюрократическая.
![Page 14: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/14.jpg)
Эволюционная модель процесса разработки ИС
14 Из 27 Лекция 2
Две формы:
● нарастающая (incremental)● пртотипная (prototyping)
![Page 15: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/15.jpg)
15 Из 27 Лекция 2
пример нарастающей модели
![Page 16: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/16.jpg)
плюсы и минусы
16 Из 27 Лекция 2
● заказчик может вносить предложения даже на поздних стадиях
● разработчики сначала реализуют наиболее существенную функциональность
● результаты разработки демонстрируются заказчику раньше
● тестирование и исправление ошибок ведется постоянно
● архитектура должна быть определена заранее, и все добавления должны отвечать архитектуре
● контрактная разработка почти невозможна
![Page 17: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/17.jpg)
Прототипы
17 Из 27 Лекция 2
● Прототип (prototype) это экспериментальный вариант ИС предоставляемый заказчику для обратной связи
● Два типа прототипов:– быстрый прототип для выбрасывания– эволюционный прототип
![Page 18: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/18.jpg)
18 Из 27 Лекция 2
![Page 19: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/19.jpg)
19 Из 27 Лекция 2
![Page 20: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/20.jpg)
Достоинства прототипов
20 Из 27 Лекция 2
● разрешение проблем взаимопонимания● раннее обнаружение упущений● подгонка интерфейса пользователя● обнаружение противоречивых требований● порождает уверенность у заказчика● помогает создать спецификации ИС● снижает стоимость разработки● ускоряет обучение пользователей● упрощает тестирование
![Page 21: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/21.jpg)
Руководство по созданию прототипа
21 Из 27 Лекция 2
● Цель прототипа должна быть ясна заказчику (пользовательский интерфейс, функциональность и т.п.)
● игнорируются нефункциональные требования (обработка ошибок, стандарты качества и надежности и т.д)
● используйте спец.язык для быстрого построения прототипа
![Page 22: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/22.jpg)
Языки для быстрого построения прототипа ИС
22 Из 27 Лекция 2
● Языки очень высокого уровня: Smalltalk, Prolog, APL, Lisp
● 4GL языки: SQL, генераторы отчетов, табличные процессоры, экранные генераторы (CASE средства)
● Компоненты для повторного использования из библиотек, допускающие быструю сборку прототипа
● Формальные языки: напр. Z.● Языки функционального программирования: Miranda,
ML
![Page 23: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/23.jpg)
Спиральная модель Boehm (1988)
23 Из 27 Лекция 2
![Page 24: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/24.jpg)
Спиральная модель
24 Из 27 Лекция 2
● разработка по спирали по часовой стрелке● один цикл спирали = фаза разработки
(ограничений на кол-во фаз нет)● каждая четверть плоскости спирали =
определенный вид деятельности для всех фаз:
– определить цели, альтернативы, ограничения– оценить альтернативы и риски с помощью прототипов– разработать и проверить продукт нового уровня– запланировать новую фазу
![Page 25: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/25.jpg)
Спиральная модель (прод.)
25 Из 27 Лекция 2
● радиус спирали представляет общую стоимость проекта, а угловая размерность — прогресс проекта
● явная оценка рисков — особенность спиральной модели
● кол-во циклов спирали зависит от рассматриваемых рисков
![Page 26: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/26.jpg)
Другие модели процесса
26 Из 27 Лекция 2
● Компонентная модель● RUP — Rational Unified Process● Win-win Spiral Model● RAD — Rapid Application Development● Agile Development Process
![Page 27: Циклы в процессе разработки ИСsvv/swe/l2se.pdf · Жизненный цикл 2 Из 27 Лекция 2 ... 12 Из 27 Лекция 2 Все фазы и соответствующие](https://reader030.vdocuments.pub/reader030/viewer/2022040612/5eddbea3ad6a402d6668ece1/html5/thumbnails/27.jpg)
Литература
27 Из 27 Лекция 2
● Pratar K.J. Mohaparta Software Engineering (A Lifecycle Approach) New Age International, 2010
● S.Donaldson, S.J.Siegel Successful Software Development 2 ed. Prentice Hall 2000
● Steve McConnell Professional Software Development Addison Wesley 2003