Что такое жизненный цикл программы в программировании
Обновлено: 21.11.2024
Жизненный цикл разработки систем (SDLC) описывает процесс планирования, создания, тестирования и развертывания информационной системы. Для удовлетворения различных системных потребностей был реализован ряд моделей или методологий SDLC, включая каскадную, спиральную, Agile-разработку программного обеспечения, быстрое прототипирование и инкрементную разработку. [1]
Обсуждение
Жизненный цикл разработки систем — это общая картина создания информационной системы, которая выполняет основную задачу (называемую приложением). Приложения обычно состоят из множества программ. Примером может служить система снабжения Министерства обороны, система клиентов, используемая в вашем местном банке, система инвентаризации запасных частей, используемая автосалонами. Существуют тысячи приложений, использующих информационную систему, созданную только для того, чтобы помочь решить бизнес-задачу.
Другим примером информационной системы может быть программное обеспечение "101 Computer Games", которое можно купить в любом из розничных магазинов. Это развлекательное приложение, то есть мы применяем компьютер, чтобы выполнить задание (развлечь вас). Программное обеспечение на самом деле состоит из множества различных программ (шашки, шахматы, крестики-нолики и т. д.), которые, скорее всего, были написаны несколькими разными программистами.
Компьютерные специалисты, отвечающие за создание приложений, часто имеют должность системного аналитика. Основные этапы создания приложения включают следующие и начинаются с этапа планирования.
Жизненный цикл разработки систем
На этапе проектирования системный аналитик документирует ввод, обработку и вывод каждой программы в приложении. На этапе реализации программистам будет поручено написать конкретные программы с использованием языка программирования, выбранного системным аналитиком. После того, как система программ протестирована, новое приложение устанавливается для использования людьми. Со временем все меняется, и может потребоваться ремонт определенной части или программы. На этапе обслуживания выполняется мини-планирование, анализ, проектирование и реализация. Выявляются программы, требующие модификации, и программисты изменяют или ремонтируют эти программы. После нескольких лет использования система обычно устаревает. На этом этапе выполняется основная доработка приложения. Таким образом, цикл повторяется.
Ключевые термины
приложения Информационная система или набор программ, выполняющих основную задачу. Реализация Этап жизненного цикла разработки систем, на котором программистам поручается писать определенные программы. жизненный цикл Жизненный цикл разработки систем: планирование – анализ – проектирование – внедрение – техническое обслуживание системный аналитик Специалист по компьютерам, отвечающий за создание приложений.
Жизненный цикл разработки программирования или разработка программного обеспечения — это структурированный способ организации и разработки программного обеспечения. Это пошаговый процесс, чтобы действительно достичь времени завершения клиентов. Вся задача разделена на небольшие управляемые части, что позволяет легко реализовать что угодно.
Жизненный цикл разработки программирования
Различные этапы следующие:
1) Планирование
Планирование — один из самых важных этапов SDLC. Это помогает пользователю спланировать требования, потребности, график, затраты, рабочее время и инструменты, которые им потребуются для реализации.
2) Анализ
Это второй важный шаг в разработке программного обеспечения. Это этап выявления фактической проблемы. Чтобы определить и узнать все его потребности.
3) Дизайн
Проектирование — важная часть цикла разработки. Он включает в себя проектирование архитектуры, пользовательского интерфейса, программирование, связь и безопасность. Вы также можете создать свою работу, используя блок-схему или алгоритм.
4) Реализация
Следующим этапом жизненного цикла разработки программирования является написание кода в соответствии с вашими планами. Программист должен знать язык программирования и следовать его правилам, нарушение любого закона приводит к ошибке. Это может занять у вас несколько часов, но зависит от задачи.
5) Тестирование
Это еще один трудоемкий этап. На этом этапе вам необходимо протестировать вашу программу, выявить любые проблемы и отладить ее. Вам также нужно будет проверить его на разных системах, чтобы убедиться, что он совместим с другими типами устройств.
6) Документация
Любая программа бесполезна, если она не задокументирована. Существует два типа документации.
- Документация пользователя
- Документация по машине
Биты этих типов необходимы для работы программы и для любых будущих рекомендаций.
7) Обслуживание
Как и любой другой продукт, программы тоже требуют обслуживания. После установки, если в будущем потребуется модификация.
Заключение
SDLC поможет любому программисту работать структурированно. Все шаги очень четкие и определенные. Кроме того, это упрощает управление программами и работу с ними.
Мы являемся консалтинговым агентством по цифровому маркетингу и предоставляем вам одни из лучших услуг по всему Пакистану, чтобы поддерживать ваш бизнес и способствовать его развитию.
Когда мы хотим разработать программу с использованием любого языка программирования, мы следуем последовательности шагов. Эти шаги называются фазами разработки программы. Жизненный цикл разработки программы — это набор шагов или фаз, которые используются для разработки программы на любом языке программирования.
Как правило, жизненный цикл разработки программы состоит из 6 фаз, они следующие….
На этом этапе мы определяем постановку проблемы и определяем ее границы. На этом этапе нам нужно понять постановку задачи, каково наше требование, что должно быть результатом решения проблемы. Они определяются на этом первом этапе жизненного цикла разработки программы.
На этапе 2 мы определяем требования, такие как переменные, функции и т. д., для решения проблемы. Это означает, что мы собираем необходимые ресурсы для решения проблемы, определенной на этапе определения проблемы. Мы также определяем границы решения.
На этом этапе мы разрабатываем пошаговую процедуру решения проблемы, используя спецификацию, предоставленную на предыдущем этапе. Этот этап очень важен для разработки программы. Это означает, что мы записываем решение в пошаговых инструкциях.
На этом этапе используется язык программирования для написания или реализации реальных программных инструкций для шагов, определенных на предыдущем этапе. На этом этапе мы создаем фактическую программу. Это означает, что мы пишем программу для решения данной задачи, используя такие языки программирования, как C, C++, Java и т. д.,
На этом этапе мы проверяем, решает ли код, написанный на предыдущем шаге, указанную проблему. Это означает, что мы тестируем программу, решает ли она задачу для различных значений входных данных или нет. Мы также проверяем, обеспечивает ли он желаемый результат или нет.
На этом этапе программа активно используется пользователями. Если на этом этапе обнаружены какие-либо улучшения, все этапы должны быть повторены для внесения улучшений. Это означает, что на этом этапе решение (программа) используется конечным пользователем. Если пользователь сталкивается с какой-либо проблемой или хочет какого-либо улучшения, нам нужно повторить все этапы с самого начала, чтобы решить возникшую проблему или добавить улучшение.
Главная / DevOps / Что такое SDLC? Этапы разработки программного обеспечения, модели и рекомендации
SDLC, или жизненный цикл разработки программного обеспечения, представляет собой набор шагов, используемых для создания программных приложений. Эти шаги делят процесс разработки на задачи, которые затем можно назначать, выполнять и измерять.
Что такое жизненный цикл разработки программного обеспечения?
Жизненный цикл разработки программного обеспечения — это применение стандартных бизнес-методов к созданию программных приложений. Обычно он делится на шесть-восемь шагов: планирование, требования, проектирование, сборка, документирование, тестирование, развертывание, обслуживание. Некоторые менеджеры проектов объединяют, разделяют или пропускают этапы в зависимости от масштаба проекта. Это основные компоненты, рекомендуемые для всех проектов по разработке программного обеспечения.
SDLC – это способ измерения и улучшения процесса разработки. Это позволяет детально анализировать каждый этап процесса. Это, в свою очередь, помогает компаниям максимизировать эффективность на каждом этапе. По мере увеличения вычислительной мощности возрастают требования к программному обеспечению и разработчикам. Компании должны сокращать затраты, быстрее поставлять программное обеспечение и удовлетворять или превосходить потребности своих клиентов. SDLC помогает достичь этих целей, выявляя неэффективные и более высокие затраты и исправляя их для бесперебойной работы.
Как работает жизненный цикл разработки программного обеспечения
Жизненный цикл разработки программного обеспечения просто описывает все задачи, необходимые для создания программного приложения. Это помогает сократить количество отходов и повысить эффективность процесса разработки. Мониторинг также гарантирует, что проект не сбивается с курса и остается выгодным вложением для компании.
Многие компании разбивают эти этапы на более мелкие. Планирование может быть разбито на технологические исследования, маркетинговые исследования и анализ затрат и результатов. Другие шаги могут сливаться друг с другом. Этап тестирования может выполняться одновременно с этапом разработки, поскольку разработчикам необходимо исправлять ошибки, возникающие во время тестирования.
Семь этапов SDLC
1. Планирование
На этапе планирования руководители проекта оценивают условия проекта. Это включает в себя расчет трудовых и материальных затрат, создание графика с целевыми целями, а также создание проектных команд и структуры руководства.
Планирование также может включать обратную связь от заинтересованных сторон. Заинтересованные стороны — это все, кто может извлечь выгоду из приложения. Постарайтесь получить отзывы от потенциальных клиентов, разработчиков, экспертов в данной области и торговых представителей.
Планирование должно четко определять объем и цель приложения. Он прокладывает курс и обеспечивает команду для эффективного создания программного обеспечения. Он также устанавливает границы, чтобы проект не расширялся и не отклонялся от своей первоначальной цели.
2. Определите требования
Определение требований считается частью планирования для определения того, что приложение должно делать, и его требований. Например, для приложения для социальных сетей потребуется возможность связаться с другом. Для программы инвентаризации может потребоваться функция поиска.
Требования также включают определение ресурсов, необходимых для создания проекта. Например, команда может разработать программное обеспечение для управления нестандартной производственной машиной. Машина необходима в процессе.
3. Дизайн и прототипирование
На этапе проектирования моделируется работа приложения. Некоторые аспекты дизайна включают:
Архитектура — определяет язык программирования, отраслевые практики, общий дизайн и использование любых шаблонов или шаблонов.
Пользовательский интерфейс — определяет способы взаимодействия клиентов с программным обеспечением и то, как программное обеспечение реагирует на вводимые данные.
Платформы – Определяет платформы, на которых будет работать программное обеспечение, такие как Apple, Android, версия для Windows, Linux или даже игровые приставки.
Программирование – Не только язык программирования, но и методы решения проблем и выполнения задач в приложении.
Связь — определяет методы, которыми приложение может взаимодействовать с другими активами, такими как центральный сервер или другие экземпляры приложения.
Безопасность — определяет меры, принимаемые для защиты приложения, и может включать шифрование трафика SSL. , защита паролем и безопасное хранение учетных данных пользователя
Прототипирование может быть частью этапа проектирования. Прототип похож на одну из ранних версий программного обеспечения в модели итеративной разработки программного обеспечения. Он демонстрирует основное представление о том, как приложение выглядит и работает. Этот «практический» дизайн можно показать заинтересованным сторонам. Используйте обратную связь, чтобы улучшить приложение. Изменить этап прототипа дешевле, чем переписать код, чтобы внести изменения на этапе разработки.
4. Разработка программного обеспечения
Это фактическое написание программы. Небольшой проект может быть написан одним разработчиком, в то время как большой проект может быть разбит на несколько команд. На этом этапе используйте приложение контроля доступа или управления исходным кодом. Эти системы помогают разработчикам отслеживать изменения в коде. Они также помогают обеспечить совместимость между различными командными проектами и обеспечить достижение поставленных целей.
Процесс кодирования включает в себя множество других задач. Многим разработчикам необходимо освежить навыки или работать в команде. Поиск и исправление ошибок и сбоев имеет решающее значение. Задачи часто задерживают процесс разработки, например ожидание результатов тестирования или компиляция кода для запуска приложения. SDLC может предвидеть эти задержки, чтобы разработчики могли выполнять другие обязанности.
Разработчики программного обеспечения ценят инструкции и пояснения. Документирование может быть формальным процессом, включая создание руководства пользователя для приложения. Это также может быть неформальным, например, комментарии в исходном коде, которые объясняют, почему разработчик использовал определенную процедуру. Даже компании, которые стремятся создавать простое и интуитивно понятное программное обеспечение, получат пользу от документации.
Документация может представлять собой краткий обзор основных функций приложения, которые отображаются при первом запуске. Это могут быть видеоуроки по сложным задачам. Письменная документация, такая как руководства пользователя, руководства по устранению неполадок и часто задаваемые вопросы, помогает пользователям решать проблемы или технические вопросы.
5. Тестирование
Очень важно протестировать приложение, прежде чем сделать его доступным для пользователей. Большая часть тестирования может быть автоматизирована, например, тестирование безопасности. Другие тесты можно проводить только в определенной среде — рассмотрите возможность создания имитации производственной среды для сложных развертываний. Тестирование должно гарантировать, что каждая функция работает правильно. Различные части приложения также должны быть протестированы на слаженную совместную работу — тест производительности, чтобы уменьшить любые зависания или задержки в обработке. Этап тестирования помогает уменьшить количество ошибок и сбоев, с которыми сталкиваются пользователи. Это повышает удовлетворенность пользователей и повышает коэффициент использования.
6. Развертывание
На этапе развертывания приложение становится доступным для пользователей. Многие компании предпочитают автоматизировать этап развертывания. Это может быть так же просто, как платежный портал и ссылка для скачивания на веб-сайте компании. Это также может быть загрузка приложения на смартфон.
Развертывание также может быть сложным. Одним из примеров является обновление общекорпоративной базы данных до недавно разработанного приложения. Поскольку база данных использует несколько других систем, интеграция обновления может занять больше времени и усилий.
7. Эксплуатация и обслуживание
На данный момент цикл разработки почти завершен. Приложение сделано и используется в этой области. Тем не менее этап эксплуатации и обслуживания по-прежнему важен. На этом этапе пользователи обнаруживают ошибки, которые не были обнаружены во время тестирования. Эти ошибки необходимо устранить, что может привести к новым циклам разработки.
Помимо исправления ошибок, такие модели, как итеративная разработка, планируют дополнительные функции в будущих выпусках. Для каждого нового выпуска может быть запущен новый цикл разработки.
Объяснение моделей и методологий SDLC
Водопад
Модель Waterfall SDLC — это классический метод разработки. По завершении каждой фазы проект переходит к следующему шагу. Это проверенная модель, и она работает. Одним из преимуществ модели водопада является то, что каждую фазу можно оценить на непрерывность и выполнимость, прежде чем двигаться дальше. Однако скорость ограничена, так как одна фаза должна быть завершена, прежде чем начнется другая.
Аджайл
Модель AGILE была разработана разработчиками с учетом потребностей клиентов. Этот метод сильно фокусируется на пользовательском опыте и входных данных. Это решает многие проблемы старых приложений, которые были запутанными и громоздкими в использовании. Кроме того, это делает программное обеспечение очень отзывчивым к отзывам клиентов. Agile стремится быстро выпускать циклы программного обеспечения, чтобы реагировать на меняющийся рынок. Для этого нужна сильная команда с отличной коммуникацией. Это также может привести к тому, что проект пойдет не по плану из-за чрезмерной зависимости от отзывов клиентов.
Итеративный
В модели итеративной разработки разработчики быстро создают начальную базовую версию программного обеспечения. Затем они проверяют и улучшают приложение небольшими шагами (или итерациями). Этот подход чаще всего используется в очень больших приложениях. Он может быстро запустить и запустить приложение для удовлетворения бизнес-потребностей. Однако этот процесс может быстро выйти за пределы своего объема и может привести к использованию незапланированных ресурсов.
DevOps
Модель безопасности DevOps включает операции — людей, которые используют программное обеспечение, — в цикл разработки. Как и Agile, он направлен на повышение удобства использования и актуальности приложений. Одним из существенных преимуществ этой модели является обратная связь от реальных пользователей программного обеспечения по этапам проектирования и реализации. Одним из недостатков является то, что он требует активного сотрудничества и общения. Эти дополнительные расходы можно компенсировать за счет автоматизации отдельных частей процесса разработки.
Примечание. Ознакомьтесь с нашим подробным сравнением devops и agile.
Другие модели
Многие другие модели SDLC по сути являются вариантами этих основных процессов. Организации используют производственные процессы LEAN для разработки программного обеспечения. V-образная разработка — это тип водопада, который реализует тестирование, проверку и проверку. Спиральная разработка может выбирать модели для каждого этапа процесса разработки.
Передовой опыт разработки программного обеспечения
Помимо моделей и этапов разработки программного обеспечения, есть еще несколько полезных практик. Их можно применять к части или ко всему циклу разработки.
Управление исходным кодом
Source Control – это план обеспечения безопасности вашего рабочего кода. Внедрите систему управления версиями, храня код в одном месте с безопасным и зарегистрированным доступом. Это может быть физическое место, где файлы хранятся и доступны в одной комнате здания. Это также может быть виртуальное пространство, в котором пользователи могут войти в систему с помощью зашифрованного соединения с облачной средой разработки.
Приложения Source Control включают систему управления изменениями для отслеживания работы отдельных лиц или групп. Как и в случае с любым другим хранилищем, используйте систему резервного копирования для записи хода разработки на случай аварии.
Непрерывная интеграция
Непрерывная интеграция возникла из ситуации, когда делать нечего. CI работает, чтобы убедиться, что каждый компонент совместим на протяжении всего цикла разработки. До CI разные команды создавали свои проекты независимо друг от друга. Это создало серьезные проблемы в конце, когда разработчики объединили приложение. Непрерывная интеграция гарантирует, что все команды будут использовать одинаковые языки программирования и библиотеки, а также поможет предотвратить конфликты и дублирование работы.
Системы управления SDLC
Система управления циклом разработки программного обеспечения предназначена для контроля и управления каждым этапом цикла разработки. Системы управления добавляют прозрачности каждому этапу и проекту в целом. Они также добавляют системы аналитики, отслеживания ошибок и управления работой. Эти показатели или ключевые показатели эффективности можно использовать для улучшения тех частей цикла, которые выполняются неэффективно.
Заключение: процесс разработки программного обеспечения
SDLC показывает, что происходит и где именно можно улучшить процесс разработки.
Как и многие другие бизнес-процессы, SDLC предназначен для анализа и улучшения процесса создания программного обеспечения. Он создает масштабируемое представление проекта, от повседневного написания кода до управления сроками производства.
Читайте также: