7 этапов/фаз жизненного цикла разработки программного обеспечения (SDLC)
Опубликовано: 2019-07-15SDLC — это процесс, используемый для разработки программного обеспечения. Жизненный цикл следует за развитием программного обеспечения от этапов планирования до эксплуатации и обслуживания.
Жизненный цикл разработки программного обеспечения (SDLC) определяет задачи, которые необходимо выполнить, чтобы программное обеспечение было спроектировано, создано и доставлено. Эти задачи образуют структуру, в которой работают разработчики.
В SDLC есть 7 этапов или этапов, каждый из которых имеет свои уникальные действия и список выполнения задач. Эти 7 этапов представляют собой дорожную карту того, что необходимо сделать, чтобы программное обеспечение было завершено и поставлено.
Продолжайте читать, чтобы узнать о 7 этапах SDLC сегодня!
- 1. Планирование
- 2. Системный анализ и требования
- 3. Проектирование систем
- 4. Развитие
- 5. Интеграция и тестирование
- 6. Реализация
- 7. Эксплуатация и техническое обслуживание
- Модели SDLC
- Заключение
1. Планирование
Это первая фаза SDLC. На этом этапе определяется, существует ли потребность в новой системе для улучшения бизнес-операций. После определения потребности (или выявления проблемы) необходимо найти решения.
На этом этапе собираются информация и ресурсы для поддержки потребности в новой системе или улучшении уже существующей. На основе информации, подтверждающей потребность, разрабатываются решения и представляются на утверждение.
На этом этапе рекомендуется ознакомиться с текущими тенденциями в отрасли веб-разработки, чтобы иметь самую свежую информацию и ресурсы для удовлетворения потребностей.
Рекомендуется для вас: как искусственный интеллект влияет на разработку современных веб-приложений?
2. Системный анализ и требования
Именно здесь рассматриваются предлагаемые решения до тех пор, пока не будет найдено то, которое лучше всего соответствует общей стратегии и целям компании. На этом этапе планирование все еще ведется, но на гораздо более глубоком аналитическом уровне.
Проблема и связанные с ней системы анализируются для определения функциональных требований к проекту или решению. Это будут требования, которым должна соответствовать новая система, чтобы решить проблему и согласовать ее с корпоративной стратегией.
Именно здесь выбирается график, определяется, кто отвечает за отдельные части, и как могут быть удовлетворены потребности бизнеса.
3. Проектирование систем
Как это ни звучит, именно здесь будет разработана новая система или программное обеспечение. Параметры будут обсуждаться с заинтересованными сторонами вместе с технологиями, которые будут использоваться, проектными ограничениями, временем и бюджетом. После рассмотрения выбирается наилучший подход к проектированию, который будет соответствовать требованиям, определенным на втором этапе.
Выбранный подход к проектированию должен будет обеспечить определение всех компонентов, которые необходимо разработать, пользовательских потоков и взаимодействия с базой данных, а также взаимодействия со сторонними службами.
4. Развитие
На этапе разработки начинается реальная работа над новой системой или программным обеспечением. Как правило, для начала написания исходного кода привлекается программист, сетевой инженер или разработчик базы данных, или любая комбинация.
На этом этапе важно создать блок-схему. Эта блок-схема используется для обеспечения правильной организации процессов системы.
Хотя эта фаза обычно относится к разработке реального программного обеспечения, которое будет использоваться, в модели прототипа это фаза, на которой разрабатывается прототип. Затем прототип непрерывно разрабатывается и тестируется до тех пор, пока он не удовлетворит потребности клиента и не будет удовлетворен заказчиком. После этого прототип в последний раз возвращается к этой фазе.
Во время своего последнего перехода к этапу разработки он будет разработан и превращен в фактическое программное обеспечение или систему, которая будет использоваться.
5. Интеграция и тестирование
На этом этапе опытные тестировщики начнут тестировать программное обеспечение или систему на соответствие требованиям. Цель состоит в том, чтобы выявить любые дефекты в системе и выяснить, соответствует ли она документированным требованиям второго этапа.
Этот этап имеет решающее значение для доставки программного обеспечения. Обычно от этапа тестирования к этапу разработки прыгают туда-сюда. Это связано с тем, что при обнаружении дефектов или проблем в программном обеспечении или системе они отмечаются и отправляются обратно на этап разработки для решения.
Тестировщики могут тестировать системы и программное обеспечение несколькими способами. Они могут либо использовать тестовый сценарий, либо использовать исследовательское тестирование.
Использование тестового сценария автоматически запустит серию предварительно определенных тестов, чтобы убедиться, что система соответствует требованиям. Использование исследовательского тестирования больше основано на опыте. Тестер будет тестировать новую систему, исследуя ее использование, функции и возможности, работая с новой системой или программным обеспечением. Тестировщик будет ориентироваться в системе, основываясь только на своем опыте, и оценит, соответствует ли она требованиям или нет.

После того, как все требования будут выполнены системой, тестер передает систему или программное обеспечение на следующий этап. В зависимости от объема и размера проблем с системой это может занять от нескольких дней до нескольких месяцев.
Вам может понравиться: 7 основных тенденций веб-разработки, на которых стоит сосредоточиться в 2019 году.
6. Реализация
Опять же, как это ни звучит, это этап, когда новая система внедряется в обычные бизнес-операции. Установка нового программного обеспечения или системы требует написания дополнительного кода, а также переноса любых файлов или данных в новую систему.
Из-за риска прерывания бизнес-операций во время установки этот этап обычно приходится на непиковые часы. Это связано с возможностью возникновения ошибок при интеграции или переносе. Хотя цель состоит в том, чтобы свести к минимуму эти ошибки, они могут возникать, и когда они происходят в часы пик, компания может потерять производительность и прибыль.
Конечные пользователи и аналитики должны увидеть первые проблески готовой системы и изменений, которые она принесет компании.
7. Эксплуатация и техническое обслуживание
Заключительный этап SDLC включает в себя регулярное обслуживание и выпуск обязательных обновлений. Здесь конечные пользователи имеют возможность тонкой настройки системы для лучшего соответствия будущим потребностям.
ИТ-отдел сможет удаленно устанавливать новые обновления, а также помогать в настройке системы для постоянного удовлетворения потребностей компании. ИТ-отдел также несет ответственность за исправление любых будущих ошибок или проблем, которые могут возникнуть. Ни одна система не идеальна, и постоянное обслуживание является необходимой частью любой новой системы или программного проекта.
Модели SDLC
SDLC можно использовать различными способами, называемыми моделями. Хотя эти модели отличаются друг от друга и имеют свои преимущества и недостатки, все они используют одни и те же шаги в одном и том же порядке. Вот две наиболее популярные модели, которые можно использовать при следовании SDLC.
Гибкая модель
По сути, каждый сегмент основывается на функциональности и функциях предыдущего сегмента с учетом отзывов и отзывов клиентов на каждом этапе пути. Временные рамки для каждого сегмента, над которым нужно работать, известны как спринт.
Спринты могут длиться от 2 до 4 недель. Независимо от временных рамок спринта, в конце спринта владелец проверяет продукт и дает разрешение на его доставку клиентам.
Клиенты также будут оставлять комментарии и критические замечания для компании, чтобы передать их команде разработчиков. Отзывы и предложения клиентов собираются на каждом этапе пути. Однако, если заказчику неясно, что он хочет от системы, модель и система могут дать сбой.
Прототип модели
С моделью прототипа ( вики ) вместо фактического программного обеспечения, отправляемого клиентам для обратной связи на этапе тестирования, прототип проверяется. Клиент по-прежнему предоставляет обратную связь, и прототип отправляется обратно в разработку для внесения изменений. После того, как эти изменения были внесены, они возвращаются клиенту для проверки.
И так до тех пор, пока клиент не будет удовлетворен и его потребности не будут удовлетворены. Как только клиент удовлетворен, прототип создается и отправляется на следующие этапы SDLC.
Одним из самых больших преимуществ этой модели является экономия средств. Поскольку тестирование проводится на прототипах, а не на самом программном обеспечении, дефекты обнаруживаются гораздо раньше. Это может сэкономить деньги и время, когда дело доходит до соблюдения сроков и дат запуска. Еще одним преимуществом является возможность оставаться в курсе последних тенденций в отрасли веб-разработки благодаря отзывам ваших клиентов.
Но недостаток этой модели также является одним из ее достоинств. Клиенты вовлекаются в процесс на ранней стадии, предоставляя обратную связь и помогая создать программное обеспечение, которое они будут использовать и удовлетворять их потребности. Однако из-за этого заказчик может вызвать задержки с запуском и развертыванием, изменив требования к конечному продукту.
Вам также может понравиться: Является ли Laravel идеальной средой для разработки бизнес-веб-приложений?
Заключение
Соответствие и соблюдение SDLC имеют решающее значение для обеспечения успеха любого проекта или программного обеспечения, необходимого для решения проблемы или удовлетворения потребности. SDLC представляет собой серию из 7 этапов, которые определяют и объясняют жизненный цикл разработки программного обеспечения.
SDLC можно реализовать с помощью нескольких моделей, наиболее заметными из которых являются гибкая модель и модель прототипа. Обе модели в значительной степени полагаются на отзывы клиентов в начале цикла. Это позволяет компании эффективно и своевременно удовлетворять потребности заказчика.
Принятие SDLC и модели для развертывания поможет вашей компании решить проблемы, определить потребности компании и клиентов и развернуть новые системы и программное обеспечение для удовлетворения этих потребностей.