Разделы презентаций


ПРОЕКТИРОВАНИЕ ПО ИС

Содержание

Программная инженерия Данный курс идет в цикле «Программная инженерия». Программная инженерия есть применение определенного систематического измеримого подхода при разработке, эксплуатации и поддержке программного обеспечения .1958 – всемирно известный статистик Джон Тьюкей (John Tukey)

Слайды и текст этой презентации

Слайд 1ПРОЕКТИРОВАНИЕ ПО ИС
Тема № 1 «Модели жизненного цикла ПО»

ПРОЕКТИРОВАНИЕ ПО ИСТема № 1 «Модели жизненного цикла ПО»

Слайд 2Программная инженерия
Данный курс идет в цикле «Программная инженерия». Программная инженерия есть

применение определенного систематического измеримого подхода при разработке, эксплуатации и поддержке

программного обеспечения .
1958 – всемирно известный статистик Джон Тьюкей (John Tukey) ввел термин software (программное обеспечение, ПО)
1968 – термин software engineering (программная инженерия) впервые появился в названии конференции НАТО, состоявшейся в Германии и посвященной так называемому кризису программного обеспечения
1990 – 1995 – работа над международным стандартом, который должен был дать единое представление о процессах разработки программного обеспечения. В результате был выпущен стандарт ISO/IEC 12207
2004 – создан основополагающий труд «Руководство к своду знаний по программной инженерии» (SWEBOK) , в котором были собраны основные теоретические и практические знания, накопленные в этой отрасли
Программная инженерия	Данный курс идет в цикле «Программная инженерия». Программная инженерия есть применение определенного систематического измеримого подхода при разработке,

Слайд 3Программная инженерия
Software Engineering Body of Knowledge
Свод знаний по программной

инженерии
Документ создан ACM (Association for Computing Machinery) и IEEE

Computer Society в 2004 г. (начало работ в 1993 г.)

SWEBOK

Назначение SWEBOK - объединение знаний по инженерии программного обеспечения (разработке программного обеспечения), определение и систематизация тех аспектов деятельности, которые составляют суть профессии инженера-программиста
Кодекс этики и профессиональной практики в области разработки ПО
Консенсус ведущих представителей индустрии и признанных авторитетов в области программной инженерии (SAP, Boeing)

Программная инженерияSoftware Engineering Body of Knowledge Свод знаний по программной инженерии Документ создан ACM (Association for Computing

Слайд 4Программная инженерия
Области знаний в SWEBOK
Software requirements – программные требования


Software design – дизайн (архитектура)
Software construction – конструирование программного

обеспечения
Software testing - тестирование
Software maintenance – эксплуатация (поддержка) программного обеспечения
Software configuration management – конфигурационное управление
Software engineering management – управление в программной инженерии
Software engineering process – процессы программной инженерии
Software engineering tools and methods – инструменты и методы
Software quality – качество программного обеспечения
Программная инженерияОбласти знаний в SWEBOK Software requirements – программные требования Software design – дизайн (архитектура) Software construction

Слайд 5Жизненный цикл ПО
Жизненный цикл программного обеспечения (ПО) — период

времени, который начинается с момента принятия решения о необходимости создания

программного продукта и заканчивается в момент его полного изъятия из эксплуатации.
Согласно стандарту жизненный цикл программы, программной системы, программного продукта включает в себя разработку, развертывание, поддержку и сопровождение.
Жизненный цикл ПО	 Жизненный цикл программного обеспечения (ПО) — период времени, который начинается с момента принятия решения

Слайд 6Жизненный цикл ПО
В данном контексте, SWEBOK описывает области знаний жизненного

цикла системы и жизненного цикла разработки программного обеспечения.

Жизненный цикл ПОВ данном контексте, SWEBOK описывает области знаний жизненного цикла системы и жизненного цикла разработки программного

Слайд 7Жизненный цикл ПО
Этапы ЖЦ по SWEBOK

• Основные (Primary)
Заказ –

Acquisition
Разработка – Development
Поставка – Supply
Эксплуатация – Operation


Сопровождение – Maintenance
• Вспомогательные (Supporting)
Документирование – Documentation
Управление конфигурацией – Configuration Management
Обеспечение качества – Quality Assurance
Верификация – Verification
Аттестация – Validation
Аудит – Audit
Решение проблем – Problem Resolution
• Организационные (Organizational)
Управление – Management
Создание инфраструктуры – Infrastructure
Усовершенствование – Improvement
Обучение - Training
Жизненный цикл ПОЭтапы ЖЦ по SWEBOK • Основные (Primary)Заказ – Acquisition Разработка – Development Поставка – Supply

Слайд 8Модели жизненного цикла ПО
Модель жизненного цикла ПО (Software Life

Cycle Model, SLCM) –
структура, состоящая из процессов, работ и

задач, включающих в себя разработку, эксплуатацию и сопровождение программного продукта, охватывающая жизнь системы от установления требований к ней до прекращения ее использования [ГОСТ 12207, 1999].
Как и всякая другая, модель жизненного цикла является абстракцией реального процесса, в которой опущены детали, несущественные с точки зрения назначения модели.
ИДЕАЛЬНОЙ SLCM-МОДЕЛИ НЕ СУЩЕСТВУЕТ!

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

Модели жизненного цикла ПО	 Модель жизненного цикла ПО (Software Life Cycle Model, SLCM) – структура, состоящая из

Слайд 9Каскадная модель жизненного цикла ПО
«Каскадная (водопадная) или последовательная» (70 –

85 г.г.)

Каскадная модель жизненного цикла ПО«Каскадная (водопадная) или последовательная» (70 – 85 г.г.)

Слайд 10Каскадная модель жизненного цикла ПО
Модель хорошо подходит для проектов, где

в самом начале разработки можно точно и полно сформулировать все

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

Слайд 11Каскадная модель жизненного цикла ПО
Каскадная модель имеет множество преимуществ, если

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

Каскадная модель жизненного цикла ПО	Каскадная модель имеет множество преимуществ, если ее использовать в проекте, для которого она

Слайд 12Каскадная модель жизненного цикла ПО
При использовании каскадной модели для проекта,

который трудно назвать подходящим для нее, проявляются следующими недостатки:

Каскадная модель жизненного цикла ПО	При использовании каскадной модели для проекта, который трудно назвать подходящим для нее, проявляются

Слайд 13Каскадная модель жизненного цикла ПО
Из-за недостатков каскадной модели ее применение

необходимо ограничить ситуа­циями, в которых требования и их реализация максимально

четко определены и понятны:
циклах разработ­ки программного продукта, в которых используется неизменяемое определение про­дукта и вполне понятные технические методики
выпуск новой версии уже существующего продукта, если вносимые изменения вполне определены и управляемы
перенос уже существующего продукта на новую платформу (часто приводят как идеальный пример использования каскадной модели в проекте)
в проектах, ориентированных на построение еще одного продукта такого же типа, возможно, даже основанного на существующих разработках
исторически использовался при выполнении больших проектов, в которых задействовано несколько больших команд разработчиков
Каскадная модель жизненного цикла ПО	Из-за недостатков каскадной модели ее применение необходимо ограничить ситуа­циями, в которых требования и

Слайд 14Каскадная модель жизненного цикла ПО
Комментарии:
ГИП - главный инженер проекта
ТНПА –

технические нормативные правовые акты

Каскадная модель жизненного цикла ПОКомментарии:ГИП - главный инженер проектаТНПА – технические нормативные правовые акты

Слайд 15Итеративная модель жизненного цикла ПО
«Итеративная и инкрементальная – эволюционная (гибридная,

смешанная)» (86 – 90 г.г.) – эффективная альтернатива методу «водопада».
Классическая

итерационная модель — абсолютизация возможности возвратов для исправления ошибок, т.е. идея завершенности пройденных этапов — предсказуемость процесса проектирования.
Итеративная модель жизненного цикла ПО	«Итеративная и инкрементальная – эволюционная (гибридная, смешанная)» (86 – 90 г.г.) – эффективная

Слайд 16Итеративная модель жизненного цикла ПО
Модель итеративной и инкрементальной разработки (Iterative

and Incremental Development, IID), также названная эволюционной моделью, предполагает разбиение

жизненного цикла проекта на последовательность итераций, «мини-проектов» с теми же процессами разработки для меньших фрагментов функциональности по сравнению с проектом в целом.
Цель каждой итерации – получение работающей версии программной системы, включающей функциональность, определенную интегрированным содержанием всех предыдущих и текущей итерации. Результат финальной итерации содержит всю требуемую функциональность.
Таким образом, с завершением каждой итерации продукт получает приращение – инкремент – к его возможностям, которые, следовательно, развиваются эволюционно. Итеративность, инкрементальность и эволюционность в данном случае есть выражение одного и то же смысла разными словами со слегка разных точек зрения.
Итеративная модель жизненного цикла ПО	Модель итеративной и инкрементальной разработки (Iterative and Incremental Development, IID), также названная эволюционной

Слайд 17Итеративная модель жизненного цикла ПО
Таким образом, значимость эволюционного подхода на

основе организации итераций особо проявляется в снижении неопределенности с завершением

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

Слайд 18Итеративная модель жизненного цикла ПО
Внедрение всей системы сразу может вызвать

у ее пользователей неприятие и «затормозить» переход на новые технологии.

Они могут «не переварить большой кусок, поэтому его надо измельчить и давать по частям».
Итеративная модель жизненного цикла ПО	Внедрение всей системы сразу может вызвать у ее пользователей неприятие и «затормозить» переход

Слайд 19Итеративная модель жизненного цикла ПО
Основные преимущества итеративного подхода:
нивелирование воздействия серьезных

рисков на ранних стадиях проекта, пока это еще можно сделать

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

Слайд 20Итеративная модель жизненного цикла ПО
Основные недостатки итеративного подхода:
целостное понимание возможностей

и ограничений проекта очень долгое время отсутствует
в модели не предусмотрены

итерации в рамках каждого инкремента
определение полной функциональности системы должно осуществляться в начале жизненного цикла, чтобы обеспечить определение инкрементов
формальный критический анализ и проверку намного труднее выполнить для инкрементов, чем для системы в целом
заказчик должен осознавать, что затраты на проект не будут снижены
может возникнуть тенденция к оттягиванию решений трудных проблем на будущее с целью показать руководству уже достигнутые успехи
добросовестность специалистов при выполнении работ всё же снижается, что психологически объяснимо, ведь над ними постоянно довлеет ощущение, что «всё равно всё можно будет переделать и улучшить позже»
Итеративная модель жизненного цикла ПО	Основные недостатки итеративного подхода:целостное понимание возможностей и ограничений проекта очень долгое время отсутствуетв

Слайд 21Итеративная модель жизненного цикла ПО
Менеджер выбирает данную модель, если:
у заказчика

отсутствуют возможности сразу профинансировать весь дорогостоящий проект
у разработчика отсутствуют необходимые

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

Слайд 22Спиральная модель жизненного цикла ПО
«Спиральная или модель Боэма» (88 –

90 г.г.) – наиболее известный и распространенный вариант эволюционной модели,

подразумевает разработку в виде последовательности версий, но в начале проекта определены не все требования. Требования уточняются в результате разработки версий.
Спиральная модель жизненного цикла ПО	«Спиральная или модель Боэма» (88 – 90 г.г.) – наиболее известный и распространенный

Слайд 23Спиральная модель жизненного цикла ПО
Данная модель жизненного цикла характерна при

разработке новаторских (нетиповых) систем. В начале работы над проектом у

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

Слайд 24Спиральная модель жизненного цикла ПО

Спиральная модель жизненного цикла ПО

Слайд 25Спиральная модель жизненного цикла ПО
Как видно, собственно разработка ПО происходит

лишь на последнем витке спирали по обычной каскадной модели, однако

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

Слайд 26Спиральная модель жизненного цикла ПО
«Top-10» наиболее распространенных (по приоритетам) рисков

по Боэму
Дефицит специалистов
Нереалистичные сроки и бюджет
Реализация несоответствующей функциональности
Разработка неправильного пользовательского

интерфейса
Перфекционизм, ненужная оптимизация и оттачивание деталей
Непрекращающийся поток изменений
Нехватка информации о внешних компонентах, определяющих окружение системы или вовлеченных в интеграцию
Недостатки в работах, выполняемых внешними ресурсами
Недостаточная производительность получаемой системы
«Разрыв» в квалификации специалистов разных областей знаний
Большая часть этих рисков связана с организационными и процессными аспектами взаимодействия специалистов в проектной команде.
Спиральная модель жизненного цикла ПО«Top-10» наиболее распространенных (по приоритетам) рисков по БоэмуДефицит специалистовНереалистичные сроки и бюджетРеализация несоответствующей

Слайд 27Спиральная модель жизненного цикла ПО
Достоинства модели:
позволяет быстрее показать пользователям системы

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

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

Слайд 28Спиральная модель жизненного цикла ПО
Недостатки модели:
рост неопределенности у разработчика в

перспективах развития проекта
затруднены операции временного и ресурсного планирования всего

проекта в целом. Для решения этой проблемы необходимо ввести временные ограничения на каждую из стадий жизненного цикла. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа выполнена. План составляется на основе данных предыдущих проектов и личного опыта разработчиков
модель имеет усложненную структуру, поэтому может быть затруднено ее применение разработчиками, менеджерами и заказчиками
спираль может продолжаться до бесконечности, поскольку каждая ответная реак­ция заказчика на созданную версию может порождать новый цикл, что отдаляет окончание работы над проектом (принятие общего решения о прекращении про­цесса разработки)
Спиральная модель жизненного цикла ПО	Недостатки модели:рост неопределенности у разработчика в перспективах развития проекта затруднены операции временного и

Слайд 29Сравнение моделей жизненного цикла ПО

Сравнение моделей жизненного цикла ПО

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика