Найти в Дзене
Высокие технологии

Технологии разработки гибкого прграммного обеспечения Agile

С течением времени было внедрено много технологий для разработки программного обеспечения. Все это имеет различные принципы, преимущества и недостатки. Технологии разработки программного обеспечения выбираются в соответствии с потребностями системы и заказчика. Технология Waterfall широко использовалась в прошлом. Эта технология использовалась, когда требования четко понятны, потому что у нее нет шансов на модификацию. Это итеративная и массовая технология. Если ошибки будут обнаружены на более ранней стадии, то это обойдется дешевле. В этой технологии работа разделена на фазы и этапы. Для начала следующего этапа необходимо завершить один этап. Преимущество использования технологии Waterfal в том, что она проста в использовании и понятна. Все процессы, этапы и работы в этой технологии организованы, спланированы и управляются. Но огромным недостатком является то, что она очень рискованная и неуверенная в использовании. Еще одной широко используемой технологией в прошлом являетс
Оглавление

С течением времени было внедрено много технологий для разработки программного обеспечения. Все это имеет различные принципы, преимущества и недостатки. Технологии разработки программного обеспечения выбираются в соответствии с потребностями системы и заказчика. Технология Waterfall широко использовалась в прошлом. Эта технология использовалась, когда требования четко понятны, потому что у нее нет шансов на модификацию.

Это итеративная и массовая технология. Если ошибки будут обнаружены на более ранней стадии, то это обойдется дешевле. В этой технологии работа разделена на фазы и этапы. Для начала следующего этапа необходимо завершить один этап. Преимущество использования технологии Waterfal в том, что она проста в использовании и понятна. Все процессы, этапы и работы в этой технологии организованы, спланированы и управляются. Но огромным недостатком является то, что она очень рискованная и неуверенная в использовании.

https://pixabay.com/ru/illustrations/монитор-двоичный-двойная-система-1307227/
https://pixabay.com/ru/illustrations/монитор-двоичный-двойная-система-1307227/

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

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

Обе эти технологии не являются итеративными и негибкими. Недостатки этих технологий восполняются итерационными технологиями, также известными как гибкие технологии.

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

Метод динамической разработки систем (DSDM)

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

DSDM состоит из девяти составных элементов, которые перечислены ниже:

  • Ориентирован на потребности клиентов и рынка.
  • Изменения вносятся в соответствии с потребностями клиента.
  • Изменения обратимы
  • Вовлечение конечного пользователя является обязательным.
  • Обновления и инкременты.
  • Авторитетная и воодушевлённая команда.
  • Сосредоточена на быстром, своевременном и в рамках исполнения бюджета.
  • Качество никогда не ставится под угрозу.
  • Постоянная связь и доставка.

Адаптивная разработка программного обеспечения (ASD) была разработана Джимом Хайсмитом и Сэмом Байером и является идеальной заменой традиционной модели.

ASD подразделяется на четыре этапа:

  1. Коммуникация и планирование: На этом этапе осуществляется информирование всех акционеров системы и выявляются их требования. На данном этапе планируется полное документирование процесса и потребностей системы.
  2. Анализ: После одобрения предложения заказчиком, аналитики анализируют документацию и начинают разработку системы.
  3. Проектирование и разработку: ASD использует прототипный подход к проектированию и разработке. После утверждения портфолио начинается разработка фактической системы.
  4. Испытания и развертывание: На этом этапе готовятся тестовые дела. Сначала выполняется юнит-тестирование, а затем все юниты интегрируются для проведения интеграционного тестирования.

Экстремальное программирование (XP)

Первоначально оно было разработано Кентом во время его работы в C3 зарплатном проекте. Поскольку это гибкая технология, то продукт разрабатывается в виде частых релизов в течение всего срока службы.

цикл развития.

Экстремальное программирование имеет пять правил:

  1. Планирование: На этом этапе выявляются потребности заказчика и осуществляется полное планирование разработки системы. Активное участие на данном этапе принимают все акционеры.
  2. Управление: После выявления всех потребностей и составления первичной документации и планирования организуются совещания. На этом этапе организуются ресурсы, необходимые для разработки проекта, и осуществляется управление группами. Работа и время отведено командам.
  3. Проектирование: На этом этапе начинается разработка системы. Решения Spike разработаны для решения сложных задач, которые могут возникнуть в процессе разработки. Для проектирования сессий используются контрольные карточки CRC.
  4. Кодирование: На данном этапе все устройства закодированы. Все производственное кодирование программируется парой, и заказчик всегда участвует и доступен.
  5. Тестирование: На данном этапе выполняются все тесты. Выполняется юнит - тестирование первого блока. Перед установкой все устройства должны пройти юнит - тестирование. После этого агрегаты интегрируются для проведения интеграционного тестирования.

Scrum

Scrum - это итеративная гибкая технология. Команда Scrum работает как единое целое для достижения целей системы, и продукт разрабатывается в непрерывном цикле итераций. Перед началом разработки системы разрабатывается резервная копия продукта.

Задержки - это обнаружение и описание требований заказчика. Продукт разработан в непрерывном спринтерском режиме.

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

Команда Scrum - это группа людей, которые работают вместе для достижения целей системы. Для достижения целей системы все члены схватки должны эффективно общаться друг с другом и эффективно выполнять корпоративные задачи. Как мы знаем, проект Scrum реализуется в непрерывном спринте; команда Scrum планирует спринтеры для выполнения определенной задачи из отставания. Команда Scrum работает как единое целое и хорошо организована. Размер команды Scrum обычно небольшой - от семи до девяти.

Преимущества использования Scrum заключаются, прежде всего, в том, что она позволяет быстро и эффективно реагировать на потребности и требования рынка.

  • Так как работа выполняется непрерывно итерационно и последовательно, то легко вносить быстрые изменения.
  • Это позволяет сэкономить средства, а изменения могут быть обращены вспять.
  • Качество является основным важным фактором в схватке. Компания Scrum заботится о том, чтобы обеспечить как можно более высокое качество.

Клиент участвует на каждом этапе Scrum, поэтому обычно продукция, разработанная с использованием данной технологии, удовлетворяет его требования. По данным многих авторских опросов, Scrum и XP популярны среди многих разработчиков благодаря простоте управления программными проектами. Scrum полезен для управления гибкими методологиями и фокусирования XP на деятельности на уровне проектов.