SlideShare a Scribd company logo
Управление проектами. Модуль 2.
Лекция 6-7
Обзор моделей, методологий и фреймворков
● Введение
● Определение модели
● Определение методологии
● Определение фреймворка
● Каскадная модель (Waterfall)
● Модель прототипирования (Prototype)
● Итеративная модель ( Iterative)
● Спиральная модель (Spiral)
● V-образная модель (V-model)
● Agile методология(Agile Methodology)
Методология, модель,фреймворк?
● Методология( англ. Methodology)– представляет собой
структурированный подход к разработке ПО, который
включает принципы,практики,обозначения,правила,
рекомендации по проектированиюи руководство
процессами
● Модель (англ. Model) - представляет собой упрощенный
вид программного процесса, представленныйс
определенной точки зрения. Определяет
последовательностьшагов для достижения цели.
● Фреймворк(англ. Framework)– некий скелет, каркас (для
методов), который может быть кастомизированпод наши
процессы.
Таблица дифференцирования
Методология Модель Фреймворк
Канбан (Kanban) Waterfall MSF – Microsofrt Solution
Framework
RUP Prototyping Scrum
Agile ( Гибкая
методология)
Iterative & Incrementive
Lean Spiral
XP V-model
PMI (PMBOK)
PRINCE2
Crystal Family
FDD (Fast Driven
Development)
Каскадная модель (Waterfall)
Водопаднаямодельразработки подразумевает
последовательноепрохождение процесса, разбитого
на стадии. Переход к новому этапу возможен только после
завершения предыдущего.
Принципы:
● Жёсткая последовательностьэтапов разработки
● Переход к следующему этапу только после успешного
выполненияпредыдущего
● Фиксированнаястоимость
● Изменения вносятсятолько после
полного окончания процесса разработки ПО
● Заказчик не привлекается к процессу
Каскадная модель (Waterfall model)
Преимущества
• Полное
документирование
каждого этапа;
• Четкое планирование
сроков и затрат;
• Прозрачность
процессов для
заказчика
• Понятная и чёткая
схема рабочего
процесса
• Не требует затрат
по налаживанию
коммуникаций между
всеми членами
команды.
Недостатки
• Нереалистичная
оценка
• Необходимость
утверждения полного
объема требований к
системе еще на
первом этапе;
• Увеличение затрат
средств и времени в
случае необходимости
изменения
требований.
• Стоимость
исправления ошибок
возрастает.
Когда?
• Большая часть или
вся работа над
проектом проводится
на аутсорсе
• У вас есть чёткая
концепция продукта,
который хотите
получить
• Вы не ограничены
во времени и ресурсах
создания продукта
• Создание продукта
или бизнеса
построено
на соблюдении
строгой
последовательности
выполнения задач.
Модель прототипирования (Prototype)
Прототипирование– это модель, в которой прототип
(раннее приближениеконечной системы или продукта)
строится,тестируется и затем перерабатываетсяпо мере
необходимости,
пока не будет достигнут
приемлемый прототип,
из которого теперь
может быть
разработана
полная система
или продукт.
Модель прототипирования (Prototype)
Характеризуетсяболее углубленныманализом
требований.
Классификация прототипов:
● Горизонтальный– набор страниц ( движущаяся
модель), визуальноеотображение
● Вертикальный - углубленная логика,реализацияуже
какой то части системы
● Одноразовый– быстрые модели, на скорую руку
● Эволюционные –первое преображениесистемы, с
возможностьюэволюции,доработки
● Бумажный– нарисованныйна бумаге, может быть
представлен в виде презентации
Модель прототипирования (Prototype)
Преимущества
• Лучшее
понимание
требований
клиента
• Не для IT
• Улучшает
понимание
качеств команды
• Помогает
бюджетировать
быстрее проект
• Уменьшает риски
провала
Недостатки
• Прототипы за
счет компании
исполнителя
• Чаще прототипы
потом не
используются
• Медленный
процесс
разработки
• Большая
вовлеченность
клиента
• Много изменений
может нарушить
привычный ритм
команды
Где используется
• Разработка
интерфейсов
человек
компьютер
Итеративная модель (Iterative)
Итеративныйподход - это выполнениеработ параллельно
с непрерывныманализомполученных результатови
корректировкой предыдущих этапов работы. Проект при
этом подходе в каждой фазе развитияпроходит
повторяющийсяцикл
PDCA: Планирование —Реализация— Проверка—
Оценка(англ.plan-do-check-actcycle).
Ключ к успешному
использованиюэтой модели –
строгая валидациятребований и
тщательнаяверификация
разрабатываемой функциональности
в каждой из итераций.
Итеративная модель (Iterative)
Преимущества
• Разработки идет
шаг за шагом
• Отслеживаем
дефекты на
ранних этапах
• Отзывы получаем
на первых
итерациях
• Меньше времени
на документацию,
больше на
разработку
Недостатки
• Непредсказуемый
бюджет
• Можно превысить
дедлайны
• Много мнения
заказчика
• Каждая фаза –
самостоятельна,
отдельные
итерации не
накладываются;
Где используется
• Для крупных
проектов
• Когда известны,
по крайней мере,
ключевые
требования;
• Когда требования
к проекту могут
меняться в
процессе
разработки.
Инкрементная модель (Increment)
Инкрементнаястратегия(англ. increment – увеличение,
приращение) подразумевает разработку информационной
системы с линейнойпоследовательностьюстадий, но в
несколько инкрементов (версий), т. е. с запланированным
улучшениемпродукта.
Достоинства инкрементной модели
● на момент создания определенного инкремента требования стабилизируются
(посредством включения в процесс пользователей), поскольку не являющиеся особо
важными изменения отодвигаются на момент создания последующих инкрементов
● не требуется заранее тратить средства, необходимые для разработки всего проекта
(поскольку сначала выполняется разработка и реализация основной функции или функции
из группы высокого риска)
● в результате выполнения каждого инкремента получается функциональный продукт
● заказчик располагает возможностью высказаться по поводу каждой разработанной версии
системы
● существует возможность поддерживать постоянный прогресс в ходе выполнения проекта
● снижаются затраты на первоначальную поставку программного продукта
● ускоряется начальный график поставки (что позволяет соответствовать возросшим
требованиям рынка)
● риск распределяется на несколько меньших по размеру инкрементов (не сосредоточен в
одном большом проекте разработки)
● в конце каждой инкрементной поставки существует возможность пересмотреть риски,
связанные с затратами и соблюдением установленного графика
● возможность начать построение следующей версии проекта на переходном этапе
предыдущей версии сглаживает изменения, вызванные сменой персонала
● в конце каждой инкрементной поставки существует возможность пересмотреть риски,
связанные с затратами и соблюдением установленного графика
● потребности клиента лучше поддаются управлению, поскольку время разработки каждого
инкремента очень незначительно
● поскольку переход из настоящего в будущее не происходит моментально, заказчик может
привыкать к новой технологии постепенно
Недостатки инкрементной модели
● в модели не предусмотрены итерации в рамках каждого
инкремента
● определение полной функциональностисистемы должно
осуществляться в начале жизненногоцикла, чтобы обеспечить
определение инкрементов
● формальныйкритический анализ и проверку намного труднее
выполнить для инкрементов, чем для системы в целом
● заказчик должен осознавать, что общие затраты на
выполнение проекта не будут снижены
● поскольку создание некоторых модулей будет завершено
значительнораньше других, возникает необходимость в четко
определенных интерфейсах
● для модели необходимо хорошее планированиеи
проектирование
● может возникнуть тенденция к оттягиваниюрешений трудных
проблем на будущее с целью продемонстрировать
руководству успех, достигнутый на ранних этапах разработки
Область применения инкрементной
модели
● большинствотребованийможносформулироватьзаранее,но их
появлениеожидаетсячерез определенныйпериод времени
● рыночноеокнослишком «узкое»и существуетпотребностьбыстро
поставитьна рынокпродукт, имеющийфункциональныебазовые
свойства
● на выполнениепроектапредусмотренбольшойпериод времени
разработки,как правило, не меньше года
● степениважностиразличных свойствсистемы распределяется
равномерно
● при разработкепрограмм, связанныхс низкойили среднейстепенью
риска
● при выполнениипроектас применениемновойтехнологии,что
позволяетпользователюадаптироватьсяк системепутемвыполнения
более мелких инкрементныхшагов, без резкого переходак
применениюосновногоновогопродукта
● когда однопроходнаяразработкасистемы связанас большой
степеньюриска
● когда результативныеданныеполучаютсячерезрегулярные
интервалы времени
Найдем разницу?
Спиральная модель (Spiral)
Спиральная модель» похожа
на инкрементную, но с
акцентом на анализ рисков
Спиральная модель
предполагает 4 этапа для
каждого витка:
● планирование;
● анализ рисков;
● конструирование;
● оценка результата и при
удовлетворительном
качестве переход к новому
витку.
Достоинства спиральной модели
● спиральная модель позволяет пользователям «увидеть» систему на ранних этапах
разработки, что обеспечивается посредством использования ускоренного
прототипирования в жизненном цикле разработки ПО
● модель обеспечивает возможность разработки сложного проекта «по частям», выделяя на
первых этапах наиболее значимые требования. Это позволяет в случае необходимости,
прекратить работу над проектом, и уменьшить непроизводительные расходы
● в модели предусмотрена возможность гибкого проектирования, поскольку в ней
воплощены преимущества каскадной модели, и в тоже время, разрешены итерации по
всем фазам этой же модели
● модель позволяет идентифицировать непреодолимые риски без особых дополнительных
затрат
● модель предусматривает активное участие пользователей в работах по планированию,
анализу рисков, разработке и оценке полученных результатов. Обратная связь по
направлению от пользователей к разработчикам выполняется с высокой частотой и на
ранних этапах жизненного цикла, что обеспечивает создание нужного продукта высокого
качества
● при использовании модели происходит усовершенствование процессов управления
проектом, включая процесс обеспечения качества, соблюдение графика выполнения работ
и использования ресурсов, что достигается путем выполнения обзора в конце каждой
итерации
● модель обеспечивает повышение эффективности разработки благодаря использованию
пригодных для повторного использования свойств
● при использовании спиральной модели повышается вероятность предсказуемого
поведения системы за счет неоднократного уточнения поставленных целей
● модель позволяет выполнять частую оценку совокупных затрат, и, как следствие,
контролировать степень риска
Недостатки спиральной модели
● модель имеет усложненную структуру, поэтому может быть
затруднено ее применение разработчиками, менеджерами и
заказчиками
● при использовании модели часто возникает сложность
анализа и оценки рисков при выборе вариантов. Более того,
если проект имеет низкую степень риска или небольшие
размеры, модель может оказаться дорогостоящей, так как
оценка рисков после прохождения каждого витка спирали
связана с существенными затратами
● сложность поддержания версий продукта (хранение версий,
возврат к ранним версиям, комбинация версий)
● сложность оценки точки перехода на следующий цикл
● спираль может продолжаться до бесконечности, поскольку
каждая ответная реакция заказчика на созданную версию
может порождать новый цикл, что отдаляет окончание
работы над проектом
Область применения спиральной
модели
● пользователи не уверены в своих потребностях или
когда требования к системе слишком сложны и могут
меняться в процессе выполнения проекта и необходимо
прототипирование для анализа и оценки требований
● достижение успеха не гарантировано и необходима
оценка рисков продолжения проекта
● проект является сложным, дорогостоящим и обосновать
объемы финансирования возможно только в процессе
его выполнения
● речь идет о применении новых технологий, что связано с
риском их освоения и достижения ожидаемого
результата;
● при выполнении очень больших проектов, которые в
силу ограниченности ресурсов можно делать только по
частям
V-модель ( V-model)
V-модель– это улучшеннаяверсия классической каскадной
модели. Здесь на каждом этапе происходит контроль
текущего процесса, для того чтобы убедится в возможности
перехода на следующийуровень. В этой модели
тестированиеначинаетсяеще со стадии написания
требований,причем для каждого последующего этапа
предусмотрен свой уровень
тестового покрытия.
В V-модели каждому этапу
проектированияи разработки
системы соответствует
отдельный уровень тестирования..
Достоинства V-образной модели
● модель проста в использовании(относительнопроекта, для
которого она является приемлемой)
● в модели особое значение придается планированию,
направленномуна верификацию и аттестацию
разрабатываемого продукта на ранних стадиях его разработки
● в модели предусмотрены аттестация и верификациявсех
внешних и внутренних полученных данных, а не только самого
программного продукта
● в V-образной модели определение требований выполняется
перед разработкой проекта системы, а проектирование ПО —
перед разработкой компонентов
● модель определяет продукты, которые должны быть получены
в результате процесса разработки, причем каждые полученные
данные должны подвергаться тестированию
● благодаря модели менеджеры проекта может отслеживать ход
процесса разработки, так как в данном случае вполне
возможно воспользоваться временнойшкалой, а завершение
каждой фазы является контрольной точкой
Недостатки V-образной модели
● не позволяет справиться с параллельными
событиями
● в ней не учтены итерации между фазами
● в модели не предусмотрено внесениединамических
измененийна разных этапахжизненногоцикла
● тестированиетребований в жизненномцикле
происходит слишком поздно, вследствиечего
невозможновнести изменения,не повлияв при этом
на график выполненияпроекта
● в модель не входят действия,направленныена
анализ рисков
Область применения V-модели
● когда вся информация о требованиях доступна
заранее
● при разработке систем высокой надежности:
● прикладные программы для наблюдения за
пациентами в клиниках
● встроенное ПО для устройств управления
аварийными подушками безопасности в
автомобилях
Гибкая методология разработки -
Agile
Гибкая методологияразработки(англ. Agilesoftware
development, agile-методы) — серия подходов
к разработке программного обеспечения,
ориентированныхна
использованиеитеративной разработки,динамическое
формированиетребованийи обеспечение их
реализациив результатепостоянного взаимодействия
внутри самоорганизующихсярабочих групп, состоящих
из специалистов различногопрофиля
Agile Manifesto - идеи
Agileне включает практик, а определяет ценностии
принципы,которыми руководствуются команды.
AgileManifesto содержит 4 основные идеи и 12 принципов
Основныеидеи:
● люди и взаимодействиеважнее процессов и
инструментов
● работающий продукт важнееисчерпывающей
документации;
● сотрудничествос заказчиком важнее согласования
условий контракта;
● готовность к изменениямважнее следования
первоначальномуплану.
Agile Manifesto - Принципы
Принципы,которые разъясняет Agile Manifesto:
● удовлетворение клиента за счёт ранней и бесперебойной
поставки ценного программного обеспечения;
● приветствие изменений требований даже в конце разработки
(это может повысить конкурентоспособностьполученного
продукта);
● частая поставка рабочего программного обеспечения (каждый
месяц или неделю или ещё чаще);
● тесное, ежедневное общение заказчика с разработчиками на
протяжении всего проекта;
● проектом занимаются мотивированные личности, которые
обеспечены нужными условиями работы, поддержкой и
доверием;
● рекомендуемый метод передачи информации — личный
разговор (лицом к лицу);
Agile Manifesto - Принципы
● работающее программное обеспечение — лучший
измеритель прогресса;
● спонсоры, разработчики и пользователи должны иметь
возможность поддерживать постоянный темп на
неопределённый срок;
● постоянное внимание улучшению технического мастерства и
удобному дизайну;
● простота — искусство не делать лишней работы;
● лучшие технические требования, дизайн и архитектура
получаются у самоорганизованной команды;
● постоянная адаптация к изменяющимся обстоятельствам.
Команда должна систематически анализировать возможные
способы улучшения эффективности и соответственно
корректировать стиль своей работы
Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков

More Related Content

What's hot

Модуль 2: Лекция 5-6. Определение стейкхолдеров и проекта
Модуль 2: Лекция 5-6. Определение стейкхолдеров и проектаМодуль 2: Лекция 5-6. Определение стейкхолдеров и проекта
Модуль 2: Лекция 5-6. Определение стейкхолдеров и проекта
Yana Brodetski
 
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продуктаМодуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Yana Brodetski
 
Модуль 13. Лекция 53-54. Управление закупками проекта
Модуль 13. Лекция 53-54. Управление закупками проектаМодуль 13. Лекция 53-54. Управление закупками проекта
Модуль 13. Лекция 53-54. Управление закупками проекта
Yana Brodetski
 
Lection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User StoriesLection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User Stories
Yana Brodetski
 
Денис Тучин - Пользовательские истории в Agile-проектах
Денис Тучин - Пользовательские истории в Agile-проектахДенис Тучин - Пользовательские истории в Agile-проектах
Денис Тучин - Пользовательские истории в Agile-проектах
Denis Tuchin
 
Agile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management PresentationAgile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management Presentation
Prateek Sharma
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
Giampiero Bonifazi
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
Arun R
 
agile with scrum methodology
agile with scrum methodology agile with scrum methodology
agile with scrum methodology
rahul reddy
 
PMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile CommunicationPMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile Communication
Thanh Nguyen
 
Agile cevik yaklasim ile scrum yontemi
Agile cevik yaklasim ile scrum yontemiAgile cevik yaklasim ile scrum yontemi
Agile cevik yaklasim ile scrum yontemi
Burak COŞKUN
 
Інструменти проектного менеджменту для малого та середнього бізнесу презентація
Інструменти проектного менеджменту для малого та середнього бізнесу презентаціяІнструменти проектного менеджменту для малого та середнього бізнесу презентація
Інструменти проектного менеджменту для малого та середнього бізнесу презентація
DmytryLozovytskiy
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
Dhruv Kumar
 
Another Scrum Cheat Sheet (great one pager)
Another Scrum Cheat Sheet (great one pager)Another Scrum Cheat Sheet (great one pager)
Another Scrum Cheat Sheet (great one pager)
CollectiveKnowledge
 
Scrum framework
Scrum frameworkScrum framework
Scrum framework
Rashmi Pathak
 
SCRUM Desarrollo ágil
SCRUM Desarrollo ágilSCRUM Desarrollo ágil
SCRUM Desarrollo ágilricardoroldan
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
Raghav Seth
 
Agile scrum fundamentals
Agile scrum fundamentalsAgile scrum fundamentals
Agile scrum fundamentals
Deniz Gungor
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Omar Al-Sabek
 

What's hot (20)

Модуль 2: Лекция 5-6. Определение стейкхолдеров и проекта
Модуль 2: Лекция 5-6. Определение стейкхолдеров и проектаМодуль 2: Лекция 5-6. Определение стейкхолдеров и проекта
Модуль 2: Лекция 5-6. Определение стейкхолдеров и проекта
 
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продуктаМодуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
Модуль 14. Лекция 55-56. Управление релизами и развертыванием продукта
 
Модуль 13. Лекция 53-54. Управление закупками проекта
Модуль 13. Лекция 53-54. Управление закупками проектаМодуль 13. Лекция 53-54. Управление закупками проекта
Модуль 13. Лекция 53-54. Управление закупками проекта
 
Lection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User StoriesLection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User Stories
 
Денис Тучин - Пользовательские истории в Agile-проектах
Денис Тучин - Пользовательские истории в Agile-проектахДенис Тучин - Пользовательские истории в Agile-проектах
Денис Тучин - Пользовательские истории в Agile-проектах
 
Agile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management PresentationAgile vs Waterfall Project Management Presentation
Agile vs Waterfall Project Management Presentation
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
 
agile with scrum methodology
agile with scrum methodology agile with scrum methodology
agile with scrum methodology
 
PMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile CommunicationPMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile Communication
 
Agile cevik yaklasim ile scrum yontemi
Agile cevik yaklasim ile scrum yontemiAgile cevik yaklasim ile scrum yontemi
Agile cevik yaklasim ile scrum yontemi
 
Інструменти проектного менеджменту для малого та середнього бізнесу презентація
Інструменти проектного менеджменту для малого та середнього бізнесу презентаціяІнструменти проектного менеджменту для малого та середнього бізнесу презентація
Інструменти проектного менеджменту для малого та середнього бізнесу презентація
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Another Scrum Cheat Sheet (great one pager)
Another Scrum Cheat Sheet (great one pager)Another Scrum Cheat Sheet (great one pager)
Another Scrum Cheat Sheet (great one pager)
 
Metodología scrum
Metodología scrumMetodología scrum
Metodología scrum
 
Scrum framework
Scrum frameworkScrum framework
Scrum framework
 
SCRUM Desarrollo ágil
SCRUM Desarrollo ágilSCRUM Desarrollo ágil
SCRUM Desarrollo ágil
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
Agile scrum fundamentals
Agile scrum fundamentalsAgile scrum fundamentals
Agile scrum fundamentals
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 

Similar to Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков

Проектирование_и_архитектура_ПС_2022_L02s.ppt
Проектирование_и_архитектура_ПС_2022_L02s.pptПроектирование_и_архитектура_ПС_2022_L02s.ppt
Проектирование_и_архитектура_ПС_2022_L02s.ppt
dinarium2016
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Danil Dintsis, Ph. D., PgMP
 
жц (2)
жц (2)жц (2)
жц (2)
romachka_pole
 
жц (2)
жц (2)жц (2)
жц (2)
romachka_pole
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки поJaneKozmina
 
Методологии процесса разработки программного обеспечения
Методологии процесса разработки программного обеспеченияМетодологии процесса разработки программного обеспечения
Методологии процесса разработки программного обеспечения
DressTester
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
Maxim Tsepkov
 
Лекция 2 тестирование и жизненный цикл ПО
Лекция 2 тестирование и жизненный цикл ПОЛекция 2 тестирование и жизненный цикл ПО
Лекция 2 тестирование и жизненный цикл ПО
Sergey Chuburov
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Dima Dzuba
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
Yury Vetrov
 
2.2 Методологии разработки ПО
2.2  Методологии разработки ПО2.2  Методологии разработки ПО
2.2 Методологии разработки ПО
Natalia Odegova
 
Разработка ПО - методология жизненного цикла
Разработка ПО - методология жизненного циклаРазработка ПО - методология жизненного цикла
Разработка ПО - методология жизненного цикла
Smart-on-line
 
определение и реализация требований к ИТ продукту
определение и реализация требований к ИТ продуктуопределение и реализация требований к ИТ продукту
определение и реализация требований к ИТ продукту
Danil Dintsis, Ph. D., PgMP
 
САПР и ГИС
САПР и ГИССАПР и ГИС
САПР и ГИС
Softline
 
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВИспользование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
SQALab
 
Без единого разрыва: горящие IT­сервисы и механизмы их тушения
Без единого разрыва: горящие IT­сервисы и механизмы их тушенияБез единого разрыва: горящие IT­сервисы и механизмы их тушения
Без единого разрыва: горящие IT­сервисы и механизмы их тушенияEDS Systems
 
лекция 2
лекция 2лекция 2
лекция 2cezium
 
лекция 2
лекция 2лекция 2
лекция 2cezium
 
Восьмая лекция курса "Введение в системную инженерию"
Восьмая лекция курса "Введение в системную инженерию"Восьмая лекция курса "Введение в системную инженерию"
Восьмая лекция курса "Введение в системную инженерию"Anatoly Levenchuk
 

Similar to Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков (20)

Проектирование_и_архитектура_ПС_2022_L02s.ppt
Проектирование_и_архитектура_ПС_2022_L02s.pptПроектирование_и_архитектура_ПС_2022_L02s.ppt
Проектирование_и_архитектура_ПС_2022_L02s.ppt
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
 
жц (2)
жц (2)жц (2)
жц (2)
 
жц (2)
жц (2)жц (2)
жц (2)
 
жц (2)
жц (2)жц (2)
жц (2)
 
Методологии разработки по
Методологии разработки поМетодологии разработки по
Методологии разработки по
 
Методологии процесса разработки программного обеспечения
Методологии процесса разработки программного обеспеченияМетодологии процесса разработки программного обеспечения
Методологии процесса разработки программного обеспечения
 
Roles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkovRoles happy dev-2013-tsepkov
Roles happy dev-2013-tsepkov
 
Лекция 2 тестирование и жизненный цикл ПО
Лекция 2 тестирование и жизненный цикл ПОЛекция 2 тестирование и жизненный цикл ПО
Лекция 2 тестирование и жизненный цикл ПО
 
Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4Проектирование программных систем. Занятие 4
Проектирование программных систем. Занятие 4
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
 
2.2 Методологии разработки ПО
2.2  Методологии разработки ПО2.2  Методологии разработки ПО
2.2 Методологии разработки ПО
 
Разработка ПО - методология жизненного цикла
Разработка ПО - методология жизненного циклаРазработка ПО - методология жизненного цикла
Разработка ПО - методология жизненного цикла
 
определение и реализация требований к ИТ продукту
определение и реализация требований к ИТ продуктуопределение и реализация требований к ИТ продукту
определение и реализация требований к ИТ продукту
 
САПР и ГИС
САПР и ГИССАПР и ГИС
САПР и ГИС
 
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВИспользование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
Использование html-прототипов для реверсивного анализа требований: ЗА и ПРОТИВ
 
Без единого разрыва: горящие IT­сервисы и механизмы их тушения
Без единого разрыва: горящие IT­сервисы и механизмы их тушенияБез единого разрыва: горящие IT­сервисы и механизмы их тушения
Без единого разрыва: горящие IT­сервисы и механизмы их тушения
 
лекция 2
лекция 2лекция 2
лекция 2
 
лекция 2
лекция 2лекция 2
лекция 2
 
Восьмая лекция курса "Введение в системную инженерию"
Восьмая лекция курса "Введение в системную инженерию"Восьмая лекция курса "Введение в системную инженерию"
Восьмая лекция курса "Введение в системную инженерию"
 

More from Yana Brodetski

Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60.
Yana Brodetski
 
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектовМодуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Yana Brodetski
 
Модуль 12. Лекция 51-52. Управление изменениями проекта
Модуль 12. Лекция 51-52. Управление изменениями проектаМодуль 12. Лекция 51-52. Управление изменениями проекта
Модуль 12. Лекция 51-52. Управление изменениями проекта
Yana Brodetski
 
Модуль 11. Лекция 49-50. Управление рисками проекта
Модуль 11. Лекция 49-50. Управление рисками проектаМодуль 11. Лекция 49-50. Управление рисками проекта
Модуль 11. Лекция 49-50. Управление рисками проекта
Yana Brodetski
 
Модуль 11. Лекция 47-48. Управление рисками проекта
Модуль 11. Лекция 47-48. Управление рисками проектаМодуль 11. Лекция 47-48. Управление рисками проекта
Модуль 11. Лекция 47-48. Управление рисками проекта
Yana Brodetski
 
Модуль 11. Лекция 45-46. Управление рисками проекта
Модуль 11. Лекция 45-46. Управление рисками проектаМодуль 11. Лекция 45-46. Управление рисками проекта
Модуль 11. Лекция 45-46. Управление рисками проекта
Yana Brodetski
 
Модуль 10. Лекция 43-44. Управление коммуникация проекта
Модуль 10. Лекция 43-44. Управление коммуникация проектаМодуль 10. Лекция 43-44. Управление коммуникация проекта
Модуль 10. Лекция 43-44. Управление коммуникация проекта
Yana Brodetski
 
Модуль 9. Лекция 41-42. Управление человеческими ресурсами проекта
Модуль 9. Лекция 41-42. Управление человеческими ресурсами проектаМодуль 9. Лекция 41-42. Управление человеческими ресурсами проекта
Модуль 9. Лекция 41-42. Управление человеческими ресурсами проекта
Yana Brodetski
 
Модуль 9. Лекция 39-40. Управление человеческими ресурсами проекта
Модуль 9. Лекция 39-40. Управление человеческими ресурсами проектаМодуль 9. Лекция 39-40. Управление человеческими ресурсами проекта
Модуль 9. Лекция 39-40. Управление человеческими ресурсами проекта
Yana Brodetski
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проекта
Yana Brodetski
 
Модуль 8. Лекция 35-36. Управление качеством проекта
Модуль 8. Лекция 35-36. Управление качеством проектаМодуль 8. Лекция 35-36. Управление качеством проекта
Модуль 8. Лекция 35-36. Управление качеством проекта
Yana Brodetski
 
Модуль 8. Лекция 33-34. Управление качеством проекта
Модуль 8. Лекция 33-34. Управление качеством проектаМодуль 8. Лекция 33-34. Управление качеством проекта
Модуль 8. Лекция 33-34. Управление качеством проекта
Yana Brodetski
 
Модуль 7. Лекция 31-32. Управление стоимостью проекта
Модуль 7. Лекция 31-32. Управление стоимостью проектаМодуль 7. Лекция 31-32. Управление стоимостью проекта
Модуль 7. Лекция 31-32. Управление стоимостью проекта
Yana Brodetski
 
Модуль 6. Лекция 29-30. Управление сроками проекта
Модуль 6. Лекция 29-30. Управление сроками проектаМодуль 6. Лекция 29-30. Управление сроками проекта
Модуль 6. Лекция 29-30. Управление сроками проекта
Yana Brodetski
 
Модуль 6. Лекция 27-28. Управление сроками проекта
Модуль 6. Лекция 27-28. Управление сроками проектаМодуль 6. Лекция 27-28. Управление сроками проекта
Модуль 6. Лекция 27-28. Управление сроками проекта
Yana Brodetski
 
Модуль 6. Лекция 25-26. Управление срока проекта
Модуль 6. Лекция 25-26. Управление срока проектаМодуль 6. Лекция 25-26. Управление срока проекта
Модуль 6. Лекция 25-26. Управление срока проекта
Yana Brodetski
 
Модуль 3. Лекция 17-18. Управление интеграцией проекта
Модуль 3. Лекция 17-18. Управление интеграцией проектаМодуль 3. Лекция 17-18. Управление интеграцией проекта
Модуль 3. Лекция 17-18. Управление интеграцией проекта
Yana Brodetski
 

More from Yana Brodetski (17)

Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60. Модуль 15. Лекция 59-60.
Модуль 15. Лекция 59-60.
 
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектовМодуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
 
Модуль 12. Лекция 51-52. Управление изменениями проекта
Модуль 12. Лекция 51-52. Управление изменениями проектаМодуль 12. Лекция 51-52. Управление изменениями проекта
Модуль 12. Лекция 51-52. Управление изменениями проекта
 
Модуль 11. Лекция 49-50. Управление рисками проекта
Модуль 11. Лекция 49-50. Управление рисками проектаМодуль 11. Лекция 49-50. Управление рисками проекта
Модуль 11. Лекция 49-50. Управление рисками проекта
 
Модуль 11. Лекция 47-48. Управление рисками проекта
Модуль 11. Лекция 47-48. Управление рисками проектаМодуль 11. Лекция 47-48. Управление рисками проекта
Модуль 11. Лекция 47-48. Управление рисками проекта
 
Модуль 11. Лекция 45-46. Управление рисками проекта
Модуль 11. Лекция 45-46. Управление рисками проектаМодуль 11. Лекция 45-46. Управление рисками проекта
Модуль 11. Лекция 45-46. Управление рисками проекта
 
Модуль 10. Лекция 43-44. Управление коммуникация проекта
Модуль 10. Лекция 43-44. Управление коммуникация проектаМодуль 10. Лекция 43-44. Управление коммуникация проекта
Модуль 10. Лекция 43-44. Управление коммуникация проекта
 
Модуль 9. Лекция 41-42. Управление человеческими ресурсами проекта
Модуль 9. Лекция 41-42. Управление человеческими ресурсами проектаМодуль 9. Лекция 41-42. Управление человеческими ресурсами проекта
Модуль 9. Лекция 41-42. Управление человеческими ресурсами проекта
 
Модуль 9. Лекция 39-40. Управление человеческими ресурсами проекта
Модуль 9. Лекция 39-40. Управление человеческими ресурсами проектаМодуль 9. Лекция 39-40. Управление человеческими ресурсами проекта
Модуль 9. Лекция 39-40. Управление человеческими ресурсами проекта
 
Модуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проектаМодуль 8. Лекция 37-38. Управление качеством проекта
Модуль 8. Лекция 37-38. Управление качеством проекта
 
Модуль 8. Лекция 35-36. Управление качеством проекта
Модуль 8. Лекция 35-36. Управление качеством проектаМодуль 8. Лекция 35-36. Управление качеством проекта
Модуль 8. Лекция 35-36. Управление качеством проекта
 
Модуль 8. Лекция 33-34. Управление качеством проекта
Модуль 8. Лекция 33-34. Управление качеством проектаМодуль 8. Лекция 33-34. Управление качеством проекта
Модуль 8. Лекция 33-34. Управление качеством проекта
 
Модуль 7. Лекция 31-32. Управление стоимостью проекта
Модуль 7. Лекция 31-32. Управление стоимостью проектаМодуль 7. Лекция 31-32. Управление стоимостью проекта
Модуль 7. Лекция 31-32. Управление стоимостью проекта
 
Модуль 6. Лекция 29-30. Управление сроками проекта
Модуль 6. Лекция 29-30. Управление сроками проектаМодуль 6. Лекция 29-30. Управление сроками проекта
Модуль 6. Лекция 29-30. Управление сроками проекта
 
Модуль 6. Лекция 27-28. Управление сроками проекта
Модуль 6. Лекция 27-28. Управление сроками проектаМодуль 6. Лекция 27-28. Управление сроками проекта
Модуль 6. Лекция 27-28. Управление сроками проекта
 
Модуль 6. Лекция 25-26. Управление срока проекта
Модуль 6. Лекция 25-26. Управление срока проектаМодуль 6. Лекция 25-26. Управление срока проекта
Модуль 6. Лекция 25-26. Управление срока проекта
 
Модуль 3. Лекция 17-18. Управление интеграцией проекта
Модуль 3. Лекция 17-18. Управление интеграцией проектаМодуль 3. Лекция 17-18. Управление интеграцией проекта
Модуль 3. Лекция 17-18. Управление интеграцией проекта
 

Модуль 2: Лекция 7-8. Обзор моделей, методологий и фреймворков

  • 2. Лекция 6-7 Обзор моделей, методологий и фреймворков ● Введение ● Определение модели ● Определение методологии ● Определение фреймворка ● Каскадная модель (Waterfall) ● Модель прототипирования (Prototype) ● Итеративная модель ( Iterative) ● Спиральная модель (Spiral) ● V-образная модель (V-model) ● Agile методология(Agile Methodology)
  • 3. Методология, модель,фреймворк? ● Методология( англ. Methodology)– представляет собой структурированный подход к разработке ПО, который включает принципы,практики,обозначения,правила, рекомендации по проектированиюи руководство процессами ● Модель (англ. Model) - представляет собой упрощенный вид программного процесса, представленныйс определенной точки зрения. Определяет последовательностьшагов для достижения цели. ● Фреймворк(англ. Framework)– некий скелет, каркас (для методов), который может быть кастомизированпод наши процессы.
  • 4. Таблица дифференцирования Методология Модель Фреймворк Канбан (Kanban) Waterfall MSF – Microsofrt Solution Framework RUP Prototyping Scrum Agile ( Гибкая методология) Iterative & Incrementive Lean Spiral XP V-model PMI (PMBOK) PRINCE2 Crystal Family FDD (Fast Driven Development)
  • 5. Каскадная модель (Waterfall) Водопаднаямодельразработки подразумевает последовательноепрохождение процесса, разбитого на стадии. Переход к новому этапу возможен только после завершения предыдущего. Принципы: ● Жёсткая последовательностьэтапов разработки ● Переход к следующему этапу только после успешного выполненияпредыдущего ● Фиксированнаястоимость ● Изменения вносятсятолько после полного окончания процесса разработки ПО ● Заказчик не привлекается к процессу
  • 6. Каскадная модель (Waterfall model) Преимущества • Полное документирование каждого этапа; • Четкое планирование сроков и затрат; • Прозрачность процессов для заказчика • Понятная и чёткая схема рабочего процесса • Не требует затрат по налаживанию коммуникаций между всеми членами команды. Недостатки • Нереалистичная оценка • Необходимость утверждения полного объема требований к системе еще на первом этапе; • Увеличение затрат средств и времени в случае необходимости изменения требований. • Стоимость исправления ошибок возрастает. Когда? • Большая часть или вся работа над проектом проводится на аутсорсе • У вас есть чёткая концепция продукта, который хотите получить • Вы не ограничены во времени и ресурсах создания продукта • Создание продукта или бизнеса построено на соблюдении строгой последовательности выполнения задач.
  • 7. Модель прототипирования (Prototype) Прототипирование– это модель, в которой прототип (раннее приближениеконечной системы или продукта) строится,тестируется и затем перерабатываетсяпо мере необходимости, пока не будет достигнут приемлемый прототип, из которого теперь может быть разработана полная система или продукт.
  • 8. Модель прототипирования (Prototype) Характеризуетсяболее углубленныманализом требований. Классификация прототипов: ● Горизонтальный– набор страниц ( движущаяся модель), визуальноеотображение ● Вертикальный - углубленная логика,реализацияуже какой то части системы ● Одноразовый– быстрые модели, на скорую руку ● Эволюционные –первое преображениесистемы, с возможностьюэволюции,доработки ● Бумажный– нарисованныйна бумаге, может быть представлен в виде презентации
  • 9. Модель прототипирования (Prototype) Преимущества • Лучшее понимание требований клиента • Не для IT • Улучшает понимание качеств команды • Помогает бюджетировать быстрее проект • Уменьшает риски провала Недостатки • Прототипы за счет компании исполнителя • Чаще прототипы потом не используются • Медленный процесс разработки • Большая вовлеченность клиента • Много изменений может нарушить привычный ритм команды Где используется • Разработка интерфейсов человек компьютер
  • 10. Итеративная модель (Iterative) Итеративныйподход - это выполнениеработ параллельно с непрерывныманализомполученных результатови корректировкой предыдущих этапов работы. Проект при этом подходе в каждой фазе развитияпроходит повторяющийсяцикл PDCA: Планирование —Реализация— Проверка— Оценка(англ.plan-do-check-actcycle). Ключ к успешному использованиюэтой модели – строгая валидациятребований и тщательнаяверификация разрабатываемой функциональности в каждой из итераций.
  • 11. Итеративная модель (Iterative) Преимущества • Разработки идет шаг за шагом • Отслеживаем дефекты на ранних этапах • Отзывы получаем на первых итерациях • Меньше времени на документацию, больше на разработку Недостатки • Непредсказуемый бюджет • Можно превысить дедлайны • Много мнения заказчика • Каждая фаза – самостоятельна, отдельные итерации не накладываются; Где используется • Для крупных проектов • Когда известны, по крайней мере, ключевые требования; • Когда требования к проекту могут меняться в процессе разработки.
  • 12. Инкрементная модель (Increment) Инкрементнаястратегия(англ. increment – увеличение, приращение) подразумевает разработку информационной системы с линейнойпоследовательностьюстадий, но в несколько инкрементов (версий), т. е. с запланированным улучшениемпродукта.
  • 13. Достоинства инкрементной модели ● на момент создания определенного инкремента требования стабилизируются (посредством включения в процесс пользователей), поскольку не являющиеся особо важными изменения отодвигаются на момент создания последующих инкрементов ● не требуется заранее тратить средства, необходимые для разработки всего проекта (поскольку сначала выполняется разработка и реализация основной функции или функции из группы высокого риска) ● в результате выполнения каждого инкремента получается функциональный продукт ● заказчик располагает возможностью высказаться по поводу каждой разработанной версии системы ● существует возможность поддерживать постоянный прогресс в ходе выполнения проекта ● снижаются затраты на первоначальную поставку программного продукта ● ускоряется начальный график поставки (что позволяет соответствовать возросшим требованиям рынка) ● риск распределяется на несколько меньших по размеру инкрементов (не сосредоточен в одном большом проекте разработки) ● в конце каждой инкрементной поставки существует возможность пересмотреть риски, связанные с затратами и соблюдением установленного графика ● возможность начать построение следующей версии проекта на переходном этапе предыдущей версии сглаживает изменения, вызванные сменой персонала ● в конце каждой инкрементной поставки существует возможность пересмотреть риски, связанные с затратами и соблюдением установленного графика ● потребности клиента лучше поддаются управлению, поскольку время разработки каждого инкремента очень незначительно ● поскольку переход из настоящего в будущее не происходит моментально, заказчик может привыкать к новой технологии постепенно
  • 14. Недостатки инкрементной модели ● в модели не предусмотрены итерации в рамках каждого инкремента ● определение полной функциональностисистемы должно осуществляться в начале жизненногоцикла, чтобы обеспечить определение инкрементов ● формальныйкритический анализ и проверку намного труднее выполнить для инкрементов, чем для системы в целом ● заказчик должен осознавать, что общие затраты на выполнение проекта не будут снижены ● поскольку создание некоторых модулей будет завершено значительнораньше других, возникает необходимость в четко определенных интерфейсах ● для модели необходимо хорошее планированиеи проектирование ● может возникнуть тенденция к оттягиваниюрешений трудных проблем на будущее с целью продемонстрировать руководству успех, достигнутый на ранних этапах разработки
  • 15. Область применения инкрементной модели ● большинствотребованийможносформулироватьзаранее,но их появлениеожидаетсячерез определенныйпериод времени ● рыночноеокнослишком «узкое»и существуетпотребностьбыстро поставитьна рынокпродукт, имеющийфункциональныебазовые свойства ● на выполнениепроектапредусмотренбольшойпериод времени разработки,как правило, не меньше года ● степениважностиразличных свойствсистемы распределяется равномерно ● при разработкепрограмм, связанныхс низкойили среднейстепенью риска ● при выполнениипроектас применениемновойтехнологии,что позволяетпользователюадаптироватьсяк системепутемвыполнения более мелких инкрементныхшагов, без резкого переходак применениюосновногоновогопродукта ● когда однопроходнаяразработкасистемы связанас большой степеньюриска ● когда результативныеданныеполучаютсячерезрегулярные интервалы времени
  • 17. Спиральная модель (Spiral) Спиральная модель» похожа на инкрементную, но с акцентом на анализ рисков Спиральная модель предполагает 4 этапа для каждого витка: ● планирование; ● анализ рисков; ● конструирование; ● оценка результата и при удовлетворительном качестве переход к новому витку.
  • 18. Достоинства спиральной модели ● спиральная модель позволяет пользователям «увидеть» систему на ранних этапах разработки, что обеспечивается посредством использования ускоренного прототипирования в жизненном цикле разработки ПО ● модель обеспечивает возможность разработки сложного проекта «по частям», выделяя на первых этапах наиболее значимые требования. Это позволяет в случае необходимости, прекратить работу над проектом, и уменьшить непроизводительные расходы ● в модели предусмотрена возможность гибкого проектирования, поскольку в ней воплощены преимущества каскадной модели, и в тоже время, разрешены итерации по всем фазам этой же модели ● модель позволяет идентифицировать непреодолимые риски без особых дополнительных затрат ● модель предусматривает активное участие пользователей в работах по планированию, анализу рисков, разработке и оценке полученных результатов. Обратная связь по направлению от пользователей к разработчикам выполняется с высокой частотой и на ранних этапах жизненного цикла, что обеспечивает создание нужного продукта высокого качества ● при использовании модели происходит усовершенствование процессов управления проектом, включая процесс обеспечения качества, соблюдение графика выполнения работ и использования ресурсов, что достигается путем выполнения обзора в конце каждой итерации ● модель обеспечивает повышение эффективности разработки благодаря использованию пригодных для повторного использования свойств ● при использовании спиральной модели повышается вероятность предсказуемого поведения системы за счет неоднократного уточнения поставленных целей ● модель позволяет выполнять частую оценку совокупных затрат, и, как следствие, контролировать степень риска
  • 19. Недостатки спиральной модели ● модель имеет усложненную структуру, поэтому может быть затруднено ее применение разработчиками, менеджерами и заказчиками ● при использовании модели часто возникает сложность анализа и оценки рисков при выборе вариантов. Более того, если проект имеет низкую степень риска или небольшие размеры, модель может оказаться дорогостоящей, так как оценка рисков после прохождения каждого витка спирали связана с существенными затратами ● сложность поддержания версий продукта (хранение версий, возврат к ранним версиям, комбинация версий) ● сложность оценки точки перехода на следующий цикл ● спираль может продолжаться до бесконечности, поскольку каждая ответная реакция заказчика на созданную версию может порождать новый цикл, что отдаляет окончание работы над проектом
  • 20. Область применения спиральной модели ● пользователи не уверены в своих потребностях или когда требования к системе слишком сложны и могут меняться в процессе выполнения проекта и необходимо прототипирование для анализа и оценки требований ● достижение успеха не гарантировано и необходима оценка рисков продолжения проекта ● проект является сложным, дорогостоящим и обосновать объемы финансирования возможно только в процессе его выполнения ● речь идет о применении новых технологий, что связано с риском их освоения и достижения ожидаемого результата; ● при выполнении очень больших проектов, которые в силу ограниченности ресурсов можно делать только по частям
  • 21. V-модель ( V-model) V-модель– это улучшеннаяверсия классической каскадной модели. Здесь на каждом этапе происходит контроль текущего процесса, для того чтобы убедится в возможности перехода на следующийуровень. В этой модели тестированиеначинаетсяеще со стадии написания требований,причем для каждого последующего этапа предусмотрен свой уровень тестового покрытия. В V-модели каждому этапу проектированияи разработки системы соответствует отдельный уровень тестирования..
  • 22. Достоинства V-образной модели ● модель проста в использовании(относительнопроекта, для которого она является приемлемой) ● в модели особое значение придается планированию, направленномуна верификацию и аттестацию разрабатываемого продукта на ранних стадиях его разработки ● в модели предусмотрены аттестация и верификациявсех внешних и внутренних полученных данных, а не только самого программного продукта ● в V-образной модели определение требований выполняется перед разработкой проекта системы, а проектирование ПО — перед разработкой компонентов ● модель определяет продукты, которые должны быть получены в результате процесса разработки, причем каждые полученные данные должны подвергаться тестированию ● благодаря модели менеджеры проекта может отслеживать ход процесса разработки, так как в данном случае вполне возможно воспользоваться временнойшкалой, а завершение каждой фазы является контрольной точкой
  • 23. Недостатки V-образной модели ● не позволяет справиться с параллельными событиями ● в ней не учтены итерации между фазами ● в модели не предусмотрено внесениединамических измененийна разных этапахжизненногоцикла ● тестированиетребований в жизненномцикле происходит слишком поздно, вследствиечего невозможновнести изменения,не повлияв при этом на график выполненияпроекта ● в модель не входят действия,направленныена анализ рисков
  • 24. Область применения V-модели ● когда вся информация о требованиях доступна заранее ● при разработке систем высокой надежности: ● прикладные программы для наблюдения за пациентами в клиниках ● встроенное ПО для устройств управления аварийными подушками безопасности в автомобилях
  • 25. Гибкая методология разработки - Agile Гибкая методологияразработки(англ. Agilesoftware development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированныхна использованиеитеративной разработки,динамическое формированиетребованийи обеспечение их реализациив результатепостоянного взаимодействия внутри самоорганизующихсярабочих групп, состоящих из специалистов различногопрофиля
  • 26. Agile Manifesto - идеи Agileне включает практик, а определяет ценностии принципы,которыми руководствуются команды. AgileManifesto содержит 4 основные идеи и 12 принципов Основныеидеи: ● люди и взаимодействиеважнее процессов и инструментов ● работающий продукт важнееисчерпывающей документации; ● сотрудничествос заказчиком важнее согласования условий контракта; ● готовность к изменениямважнее следования первоначальномуплану.
  • 27. Agile Manifesto - Принципы Принципы,которые разъясняет Agile Manifesto: ● удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения; ● приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособностьполученного продукта); ● частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще); ● тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта; ● проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием; ● рекомендуемый метод передачи информации — личный разговор (лицом к лицу);
  • 28. Agile Manifesto - Принципы ● работающее программное обеспечение — лучший измеритель прогресса; ● спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок; ● постоянное внимание улучшению технического мастерства и удобному дизайну; ● простота — искусство не делать лишней работы; ● лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды; ● постоянная адаптация к изменяющимся обстоятельствам. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы