С течением времени было внедрено много технологий для разработки программного обеспечения. Все это имеет различные принципы, преимущества и недостатки. Технологии разработки программного обеспечения выбираются в соответствии с потребностями системы и заказчика. Технология Waterfall широко использовалась в прошлом. Эта технология использовалась, когда требования четко понятны, потому что у нее нет шансов на модификацию.
Это итеративная и массовая технология. Если ошибки будут обнаружены на более ранней стадии, то это обойдется дешевле. В этой технологии работа разделена на фазы и этапы. Для начала следующего этапа необходимо завершить один этап. Преимущество использования технологии Waterfal в том, что она проста в использовании и понятна. Все процессы, этапы и работы в этой технологии организованы, спланированы и управляются. Но огромным недостатком является то, что она очень рискованная и неуверенная в использовании.
Еще одной широко используемой технологией в прошлом является модель Vee. Подобно модели водопада, поскольку каждый процесс должен быть завершен до начала следующего этапа.
Одно из отличий заключается в том, что проверка и валидация выполняется на каждом этапе. С развитием каждого этапа его тестирование проводится параллельно. Потому что тестирование проводится на каждом уровне, поэтому оно содержит меньше рисков по сравнению с моделью водопада. Но он очень жесткий и негибкий.
Обе эти технологии не являются итеративными и негибкими. Недостатки этих технологий восполняются итерационными технологиями, также известными как гибкие технологии.
Agile - технология полностью совместима с быстро меняющимися требованиями заказчика, так как клиент участвует на каждом этапе. Потому что требования быстро меняются, поэтому SRS игнорируется в гибкости. Существует множество итеративных технологий, которые рассматриваются как гибкие.
Метод динамической разработки систем (DSDM)
DSDM использовался в первую очередь как метод разработки программного обеспечения для решения сложных задач. Принципы и принципы работы DSDM аналогичны гибкой технологии и были выпущены в 1994 году. Технология DSDM проста, проста и расширяема, но не претендует на решение всех проблем.
DSDM состоит из девяти составных элементов, которые перечислены ниже:
- Ориентирован на потребности клиентов и рынка.
- Изменения вносятся в соответствии с потребностями клиента.
- Изменения обратимы
- Вовлечение конечного пользователя является обязательным.
- Обновления и инкременты.
- Авторитетная и воодушевлённая команда.
- Сосредоточена на быстром, своевременном и в рамках исполнения бюджета.
- Качество никогда не ставится под угрозу.
- Постоянная связь и доставка.
Адаптивная разработка программного обеспечения (ASD) была разработана Джимом Хайсмитом и Сэмом Байером и является идеальной заменой традиционной модели.
ASD подразделяется на четыре этапа:
- Коммуникация и планирование: На этом этапе осуществляется информирование всех акционеров системы и выявляются их требования. На данном этапе планируется полное документирование процесса и потребностей системы.
- Анализ: После одобрения предложения заказчиком, аналитики анализируют документацию и начинают разработку системы.
- Проектирование и разработку: ASD использует прототипный подход к проектированию и разработке. После утверждения портфолио начинается разработка фактической системы.
- Испытания и развертывание: На этом этапе готовятся тестовые дела. Сначала выполняется юнит-тестирование, а затем все юниты интегрируются для проведения интеграционного тестирования.
Экстремальное программирование (XP)
Первоначально оно было разработано Кентом во время его работы в C3 зарплатном проекте. Поскольку это гибкая технология, то продукт разрабатывается в виде частых релизов в течение всего срока службы.
цикл развития.
Экстремальное программирование имеет пять правил:
- Планирование: На этом этапе выявляются потребности заказчика и осуществляется полное планирование разработки системы. Активное участие на данном этапе принимают все акционеры.
- Управление: После выявления всех потребностей и составления первичной документации и планирования организуются совещания. На этом этапе организуются ресурсы, необходимые для разработки проекта, и осуществляется управление группами. Работа и время отведено командам.
- Проектирование: На этом этапе начинается разработка системы. Решения Spike разработаны для решения сложных задач, которые могут возникнуть в процессе разработки. Для проектирования сессий используются контрольные карточки CRC.
- Кодирование: На данном этапе все устройства закодированы. Все производственное кодирование программируется парой, и заказчик всегда участвует и доступен.
- Тестирование: На данном этапе выполняются все тесты. Выполняется юнит - тестирование первого блока. Перед установкой все устройства должны пройти юнит - тестирование. После этого агрегаты интегрируются для проведения интеграционного тестирования.
Scrum
Scrum - это итеративная гибкая технология. Команда Scrum работает как единое целое для достижения целей системы, и продукт разрабатывается в непрерывном цикле итераций. Перед началом разработки системы разрабатывается резервная копия продукта.
Задержки - это обнаружение и описание требований заказчика. Продукт разработан в непрерывном спринтерском режиме.
Спринт - это количество времени, отведенное команде для выполнения конкретной задачи. Члены команды выбирают часть задания из отставания по продукту и решают, в какое время это задание будет выполнено. Время прохождения спринта обычно составляет от одной недели до одного месяца. Когда один спринт завершен, он тестируется и добавляется к запаздыванию продукта, а следующий спринт планируется до завершения всей системы.
Команда Scrum - это группа людей, которые работают вместе для достижения целей системы. Для достижения целей системы все члены схватки должны эффективно общаться друг с другом и эффективно выполнять корпоративные задачи. Как мы знаем, проект Scrum реализуется в непрерывном спринте; команда Scrum планирует спринтеры для выполнения определенной задачи из отставания. Команда Scrum работает как единое целое и хорошо организована. Размер команды Scrum обычно небольшой - от семи до девяти.
Преимущества использования Scrum заключаются, прежде всего, в том, что она позволяет быстро и эффективно реагировать на потребности и требования рынка.
- Так как работа выполняется непрерывно итерационно и последовательно, то легко вносить быстрые изменения.
- Это позволяет сэкономить средства, а изменения могут быть обращены вспять.
- Качество является основным важным фактором в схватке. Компания Scrum заботится о том, чтобы обеспечить как можно более высокое качество.
Клиент участвует на каждом этапе Scrum, поэтому обычно продукция, разработанная с использованием данной технологии, удовлетворяет его требования. По данным многих авторских опросов, Scrum и XP популярны среди многих разработчиков благодаря простоте управления программными проектами. Scrum полезен для управления гибкими методологиями и фокусирования XP на деятельности на уровне проектов.