Жизненный цикл ПО. Жизненный цикл программного обеспечения. Студент Румянцев антон Преподаватель Гульшат дамировна
Скачать 0.78 Mb.
|
Студент: Румянцев антон Преподаватель: Гульшат дамировна Соддержание Основные понятия Стандарты жизненного цикла Модели жизненного цикла Заключение Основные понятия Жизненный цикл программного обеспечения — ряд событий, происходящих с системой в процессе ее создания и дальнейшего использования. Говоря другими словами, это время от начального момента создания какого либо программного продукта, до конца его разработки и внедрения. Жизненный цикл программного обеспечения можно представить в виде моделей. Модель жизненного цикла программного обеспечения — структура, содержащая процессы действия и задачи, которые осуществляются в ходе разработки, использования и сопровождения программного продукта. Эти модели можно разделить на 3 основных группы: Инженерный подход С учетом специфики задачи Современные технологии быстрой разработки Стандарты жизненного цикла ПО ГОСТ 34.601-90 ISO/IEC 15288:2015 Systems and software engineering — System life cycle processes ISO/IEC/IEEE 12207:2017 System and software engineering — Software life cycle processes Основные модели ЖЦ ПО Каскадная модель Инкрементная модель Спиральная модель Итеративаная модель V-образная модель Каскадная модель Каскадная модель (англ. waterfall model) — модель процесса разработки программного обеспечения, жизненный цикл которой выглядит как поток, последовательно проходящий фазы анализа требований, проектирования. реализации, тестирования, интеграции и поддержки. Плюсы и минусы Плюсы: стабильность требований в течение всего жизненного цикла разработки; на каждой стадии формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности; определенность и понятность шагов модели и простота её применения; выполняемые в логической последовательности этапы работ позволяют планировать сроки завершения всех работ и соответствующие ресурсы (денежные. материальные и людские). Минусы: сложность чёткого формулирования требований и невозможность их динамического изменения на протяжении пока идет полный жизненный цикл; последовательность линейной структуры процесса разработки, в результате возврат к предыдущим шагам для решения возникающих проблем приводит к увеличению затрат и нарушению графика работ; невозможность гибкого моделирования уникальных систем; позднее обнаружение проблем, связанных со сборкой, в связи с одновременной интеграцией всех результатов в конце разработки; недостаточное участие пользователя в создании системы — в самом начале (при разработке требований) и в конце (во время приёмочных испытаний); пользователи не могут убедиться в качестве разрабатываемого продукта до окончания всего процесса разработки. у пользователя нет возможности постепенно привыкнуть к системе. Процесс обучения происходит в конце жизненного цикла, когда ПО уже запущено в эксплуатацию; Инкрементная модель Инкрементная модель (англ. increment — увеличение, приращение) подразумевает разработку программного обеспечения с линейной последовательностью стадий, но в несколько инкрементов (версий), т.е. с запланированным улучшением продукта за все время пока Жизненный цикл разработки ПО не подойдет к окончанию. Плюсы и минусы Плюсы: затраты, которые получаются в связи с изменением требований пользователей, уменьшаются, повторный анализ и совокупность документации значительно сокращаются по сравнению с каскадной моделью; легче получить отзывы от клиента о проделанной работе — клиенты могут озвучить свои комментарии в отношении готовых частей и могут видеть, что уже сделано. Т.к. первые части системы являются прототипом системы в целом. у клиента есть возможность быстро получить и освоить программное обеспечение — клиенты могут получить реальные преимущества от системы раньше, чем это было бы возможно с каскадной моделью. Минусы: менеджеры должны постоянно измерять прогресс процесса. в случае быстрой разработки не стоит создавать документы для каждого минимального изменения версии; структура системы имеет тенденцию к ухудшению при добавлении новых компонентов — постоянные изменения нарушают структуру системы. Чтобы избежать этого требуется дополнительное время и деньги на рефакторинг. Плохая структура делает программное обеспечение сложным и дорогостоящим для последующих изменений. А прерванный Жизненный цикл ПО приводит еще к большим потерям. Спиральная модель Спиральная модель - представляет собой процесс разработки программного обеспечения, сочетающий в себе как проектирование, так и постадийное прототипирование с целью сочетания преимуществ восходящей и нисходящей концепции. Плюсы и минусы Плюсы позволяет быстрее показать пользователям системы работоспособный продукт, тем самым, активизируя процесс уточнения и дополнения требований; допускает изменение требований при разработке программного обеспечения, что характерно для большинства разработок, в том числе и типовых; в модели предусмотрена возможность гибкого проектирования, поскольку в ней воплощены преимущества каскадной модели, и в то же время разрешены итерации по всем фазам этой же модели; позволяет получить более надежную и устойчивую систему. По мере развития программного обеспечения ошибки и слабые места обнаруживаются и исправляются на каждой итерации; эта модель разрешает пользователям активно принимать участие при планировании, анализе рисков, разработке, а также при выполнении оценочных действий; уменьшаются риски заказчика. Заказчик может с минимальными для себя финансовыми потерями завершить развитие неперспективного проекта; обратная связь по направлению от пользователей к разработчикам выполняется с высокой частотой и на ранних этапах модели, что обеспечивает создание нужного продукта высокого качества. Минусы: Минусы: если проект имеет низкую степень риска или небольшие размеры, модель может оказаться дорогостоящей. Оценка рисков после прохождения каждой спирали связана с большими затратами; Жизненный цикл модели имеет усложненную структуру, поэтому может быть затруднено её применение разработчиками, менеджерами и заказчиками; спираль может продолжаться до бесконечности, поскольку каждая ответная реакция заказчика на созданную версию может порождать новый цикл, что отдаляет окончание работы над проектом; большое количество промежуточных циклов может привести к необходимости в обработке дополнительной документации; использование модели может оказаться дорогостоящим и даже недопустимым по средствам, т.к. время. затраченное на планирование, повторное определение целей, выполнение анализа рисков и прототипирование, может быть чрезмерным; могут возникнуть затруднения при определении целей и стадий, указывающих на готовность продолжать процесс разработки на следующей Итеративная модель Это модель, при которой заказчик не обязан понимать, какой продукт хочет получить в итоге, и может не прописывать сразу подробное техзадание. Жизненный цикл похож на приведенный ниже рисунок: Плюсы и минусы Плюсы: Быстрый выпуск минимального продукта даёт возможность оперативно получать обратную связь от заказчика и пользователей. А значит, фокусироваться на наиболее важных функциях ПО и улучшать их в соответствии с требованиями рынка и пожеланиями клиента. Постоянное тестирование пользователями позволяет быстро обнаруживать и устранять ошибки. Минусы: Использование на начальном этапе баз данных или серверов — первые сложно масштабировать, а вторые не выдерживают нагрузку. Возможно, придётся переписывать большую часть приложения. Отсутствие фиксированного бюджета и сроков. Заказчик не знает, как выглядит конечная цель и когда закончится разработка. V модель (разработка через тестирование) Данная модель имеет более приближенный к современным методам алгоритм, однако все еще имеет ряд недостатков. Является одной из основных практик экстремального программирования. Данная модель основывается на разработки прототипов и прототипирования продукта. Прототипирование используется на ранних стадиях жизненного цикла программного обеспечения: Прояснить не ясные требования (прототип UI) Выбрать одно из ряда концептуальных решений (реализация сцинариев) Проанализировать осуществимость проекта Классификация протопипов: Горизонтальные и вертикальные Одноразовые и эволюционные Бумажные и раскадровки Заключение Сегодня мы рассмотрели модели жизненного цикла ПО и определили минусы и плюсы в каждой из них. Спасибо за внимание! |