ФАКУЛЬТЕТ “КОМПЬЮТЕР ИНЖИНИРИНГ”
КАФЕДРА “КОМПЬЮТЕРНЫЕ СИСТЕМЫ”
ФАКУЛЬТЕТ « ТТ и КТ »
КАФЕДРА « Дастурий инжинеринг »
(РЕФЕРАТ)
На тему:
« __Современные методологии разработки ПО__»
Выпол__Muhammad Yusupov ___
Группа __654-20__
«_27.05.2022_»
Принял: ______MIRZAKARIMOV B. A. _____
Фергана-2022
Современные методологии разработки ПО
Методология разработки ПО – это система, определяющая порядок выполнения задач, методы оценки и контроля. Модели разработки ПО выбирают, исходя из направления проекта, его бюджета, сроков реализации конечного продукта, а также внимание стоит обратить и на характер и темперамент руководителя проекта и его команды. Подходы разработки ПО отличаются друг от друга тем, как этапы жизненного цикла программного обеспечения взаимосвязаны между собой внутри цикла разработки.
Разработка программного обеспечения состоит из следующих этапов:
• определение стратегии: выяснение требований, оценка реализации этих требований, подсчитывание бюджета и определение возможности выполнения работ для клиента на взаимных условиях. Этот этап может происходить в цикле лишь один раз.
• анализ: исследование функций, которые определились на этапе стратегии, атрибутов и связей. Данный этап обычно происходит сразу после определения стратегии и может повторяться в цикле.
• проектирование – сбор модели данных.
• реализация: разработка продукта по требованиям, взаимодействие всей команды для достижения конечной цели, один из самых насыщенных этапов цикла разработки.
• тестирование. Этот этап может идти параллельно с фазой реализации. Происходит тестирование всего, что делают разработчики, работы продукта.
• внедрение. Зачастую продукт внедряется итерациями, чтобы сделать это более качественно, постепенно справляясь с багами и трудностями. На этапе внедрения вашим главным тестировщиком будет ваш клиент. Вся система выходит на полную мощность и начинает работать для своих пользователей.
• использование и техническая поддержка. Поддержание проекта на плаву, взаимодействие с клиентом, пользователями и так далее. Все зависит от условий работы над проектом.
Чередование этих этапов, взаимодействие между ними может меняться, исходя из выбранной вашим руководителем или вами модели процесса разработки ПО.
Давайте рассмотрим популярные подходы или образцы жизненного цикла программного обеспечения.
«Waterfall Model»
(также известна как каскадная модель или «водопад»)
Как известно, эту модель ПО относят к классике, так как она одна из самых первых моделей разработки ПО. Ее суть заключается в последовательном выполнении этапов жизненного цикла: анализ, дизайн, разработка, тестирование, релиз и поддержка. Каждая стадия должна быть завершена до начала новой. Преимуществом данной модели является то, что оценку качества можно выполнять после каждого этапа. Но сложно представить проект, который можно было бы реально выполнить строго последовательно. Поэтому модель часто считают устаревшей. Как к плюсам, так и к минусам можно отнести то, что при использовании данного подхода бюджет проекта и сроки его реализации точно определены. Также Водопад не дает делать шагов назад, что затрудняет тестирование, которое чаще всего осуществляется в конце разработки продукта. Получается, что последующие изменения будут значительно увеличивать бюджет и затягивать релиз проекта. Такую модель советуем использовать только на маленьких проектах, где точно не возникнет противоречий с требованиями. Каскадная модель не совсем совместима с разработкой ПО.
«Agile Model»
(или гибкая модель разработки ПО)
В такой модели все этапы жизненного цикла бывают выполнены в течение одной итерации и готовы к внесению любых изменений. То есть ваш проект делится на спринты – отрезки времени, за которые должен быть получен результат, обычно от одной до четырех недель. В каждом спринте есть свой список задач, который должен быть выполнен к концу итерации, каждая из задач имеет свой уровень оценки. Отличается подход ежедневными встречами – «Scrum», на которых команда обсуждает, кто что сделал, что собирается сделать и какие есть проблемы. Помимо этого, в начале спринта проводится встреча по планированию задач на итерацию, а в конце – ретроспективная встреча для обсуждения результатов.
Методологию стоит применять, когда ваш проект постоянно адаптируется к условиям рынка, имеет большой объем и длинный жизненный цикл. Если вы творческий руководитель с миллионом новых идей, которые постоянно тестируете, то этот подход разработки точно для вас.
Agile Model имеет два отдельных гибких подхода:
«Scrum»
(итерационная модель разработки ПО или «водоворот»)
Поскольку данная модель выделилась из Agile, она состоит из того же, что и Agile model. В таком подходе в команде часто появляется Scrum-мастер, который обеспечивает непрерывную работу все команды, создавая для нее все условия: поддерживая мотивацию, организовывая процедуры, фасилитирует митинги. Также на проекте появляется роль Product Owner – человек, который руководит разработкой, следит за продуктом, как BA, выступает главным звеном между миссией клиента и результатом команды.
Такая система подойдет проектам до десяти человек. Но мы бы не назвали подход эффективным, потому как требования обычно неизвестны на 50%, все постоянно меняется, так как изменения можно вносить на любом этапе разработки: весьма трудно понять затраты на разработку.
Do'stlaringiz bilan baham: |