Понятие жизненного цикла программы

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

Этапы жизненного цикла программного продукта

1. Анализ требований

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

2. Стадия проектирования

Проектирование включает в себя определение архитектуры программной системы, её функций, внешних условий функционирования, интерфейсы и распределение функций между пользователями и системой, требования к программным и информационным компонентам. Проектирование системы проводится на основе результатов формирования требований. Разрабатывается функциональная спецификация ПО, выбирается архитектура системы, определяется наиболее подходящая СУБД, проектируются структуры хранения данных, оговариваются требования к аппаратному обеспечению, определяется набор организационных мероприятий, которые необходимы для внедрения ПО, а также перечень документов регламентирующих его использование.

Жизненный цикл IT проекта

3. Кодирование (программирование)

На данной стадии строятся прототипы как целой программной системы, так и её частей, осуществляется физическая реализация структур данных, разрабатывается программные коды, выполняется отладочное тестирование, создается техническая документация. В результате этапа кодирования появляется рабочая версия продукта.

4. Тестирование и отладка

Тестирование ПО тесно связано с этапами проектирования и реализации. В систему встраиваются специальные механизмы, которые дают возможность производить тестирование программного обеспечения на соответствие требований к нему, проверку оформления и наличие необходимого пакета документации. Результатом тестирования является устранение всех недостатков программного продукта и заключение о её качестве.

5. Эксплуатация и сопровождение

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

«Модели жизненного цикла программного обеспечения»

Источник: it-black.ru

2 Понятие жизненного цикла программы. Основные этапы жизненного цикла программы

Программный продукт (ПП) представляет собой набор компьютерных программ, процедур и связанной с ними документации и данных.

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

Жизненный цикл ПП можно разделить на 2 класса (по длительности)- с малым и большим временем жизни. Этим классам программ соответствуют гибкий (мягкий) подход к их созданию и использованию и жесткий (промышленный) подход регламентированного проектирования и эксплуатации промышленных изделий. В научных организациях и ВУЗах преобладают разработки 1 го класса, а в проектно- промышленных организациях- 2 го класса.

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

Их жизненный цикл состоит из длительного этапа системного анализа и формализации проблемы, значительного этапа проектирования, кодирования и тестирования, относительно небольшого времени эксплуатации и получения результата. Требования, предъявляемые к функциональным и конструктивным характеристикам, как правило, не формализованы, отсутствуют оформленные испытания программ, и показатели качества контролируются только разработчиками в соответствии с их неформальными представлениями. Сопровождение и модификация таких программ не нужны, их жизненный цикл заканчивается с получением результатов вычислений. Основные затраты в жизненном цикле таких программ приходятся на этапы системного анализа и формализации проблемы, которые продолжаются от 1 месяца до 1-2 лет, из-за чего жизненный цикл редко превышает 3 года.

Читайте также:
Как узнать вес программы

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

Программы этого класса допускают тиражирование. Они сопровождаются документацией, как промышленные изделия и представляют собой самостоятельный программный продукт. Эксплуатацией и проектированием ПП могут заниматься большие коллективы специалистов, для чего необходима формализация требуемых технических характеристик комплекса программ и их компонентов, а также формализованные испытания и определение достигнутых показателей качества ПП. Жизненный цикл таких ПП может достигать нескольких десятков лет, из которых 70- 90% приходится на эксплуатацию и сопровождение.

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

  1. маркетинг рынка программных средств, спецификация требований к программному продукту;
  2. проектирование структуры программного продукта;
  3. программирование (создание программного кода), тестирование, автономная и комплексная отладка программ;
  4. документирование программного продукта, подготовка эксплуатационной и технологической документации;
  5. выход на рынок программных средств, распространение программного продукта;
  6. эксплуатация программного продукта пользователями;
  7. сопровождение программного продукта;
  8. снятие программного продукта с продажи, отказ от сопровождения.

Маркетинг и спецификация программного продукта предназначены для изучения требований к создаваемому программному продукту, а именно:

  • определение состава и назначения функций обработки данных программного продукта;
  • установление требований пользователя к характеру взаимодействия с программным продуктом, типу пользовательского интерфейса (система меню, использование манипулятора мышь, типы подсказок, виды экранных документов и т.п.);
  • требования к комплексу технических и программных средств для эксплуатации программного продукта и т.д.

На данном этапе необходимо выполнить формализованную постановку задачи. Если программный продукт создается не под заказ и предполагается выход на рынок программных средств, маркетинг выполняется в полном объеме: изучаются программные продукты-конкуренты и аналоги, обобщаются требования пользователей к программному продукту, устанавливается потенциальная емкость рынка сбыта, дается прогноз цены и объема продаж. Кроме того, важно оценить необходимые для разработки программного продукта материальные, трудовые и финансовые ресурсы, ориентировочные длительности основных этапов жизненного цикла программного продукта.

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

Проектирование структуры программного продукта связано с алгоритмизацией процесса обработки данных, детализацией функций обработки, разработкой структуры программного продукта (архитектуры программных модулей), структуры информационной базы (базы данных) задачи, выбором методов и средств создания программ — технологии программирования.

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

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

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

Читайте также:
Как компилировать программу на фортране

Выход программного продукта на рынок программных средств связан с организацией продаж массовому пользователю. Этот этап должен по возможности быть коротким, для продвижения программных продуктов применяются стандартные приемы маркетинга: реклама, увеличение числа каналов реализации, создание дилерской и дистрибьютерной сети, ценовая политика — продажа со скидками, сервисное обслуживание и др.

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

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

Длительность жизненного цикла для различных программных продуктов неодинакова. Для большинства современных программных продуктов длительность жизненного цикла измеряется в годах (2-3 года). Хотя достаточно часто встречаются на компьютерах и давно снятые с производства программные продукты.

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

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

Техническое задание: обоснование необходимости разработки программы, научно-исследовательские работы, разработка и утверждение технического задания.

Эскизный проект: разработка эскизного проекта, утверждение эскизного проекта.

На первом этапе идет предварительная разработка структуры входных и выходных данных, уточнение методов решения задач, разработка общего описания алгоритма решения задачи и разработка технико-экономического обоснования.

На втором этапе — разработка пояснительной записки, согласование и утверждение эскизного проекта.

Технический проект: разработка технического проекта, утверждение технического проекта.

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

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

Рабочий проект: разработка программы, программной документации, испытания программы.

Внедрение: подготовка и передача программы.

Вопросы для самопроверки:

  1. Дайте определение жизненного цикла программного продукта.
  2. Перечислите основные этапы жизненного цикла программного продукта.
  3. Перечислите основные стадии работ по созданию программного продукта в порядке их выполнения.
  4. Охарактеризуйте основные этапы технологического процесса создания программного обеспечения.
  5. На каком этапе работ выполняется оценка необходимых ресурсов, объёмов и сложности разрабатываемого программного продукта?
  6. Какие критерии предъявляются к спецификации требований при разработке тестов?
  7. Какая цель преследуется при выполнении этапа проектирования?
  8. На какие части может быть разбит этап проектирования?
  9. На каком этапе производится преобразование результатов проектирования в программный продукт?
  10. Чем может быть вызвана необходимость внесения изменений в программный продукт, находящийся в эксплуатации, и на каком этапе эта работа выполняется?

Источник: studfile.net

Жизненный цикл ПО

Тестирование — это составная часть жизненного цикла любого продукта, один из ее элементов. А из чего состоит жизненный цикл программного обеспечения? С чего он начинается и заканчивается ли вообще? Давайте разбираться.

Жизненный цикл программного обеспечения включает в себя все этапы его развития: от возникновения потребности в нем до прекращения его использования.

Можно выделить несколько фаз существования программного изделия в течение его жизненного цикла. Нет каких-то общепринятых названий фаз. Да и число их меняется от источника к источнику. Однако, эти источники и не сильно противоречат друг другу.

Читайте также:
Sublime text как запустить программу

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

Идея

Все начинается с идеи. Предположим, что человек занимается вязанием для продажи. Однажды он просыпается и понимает, что ему нужен интернет-магазин. Но сейчас у него ничего нет, кроме его собственной идеи.

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

Анализ и разработка требований

Цель этой стадии – определение детальных требований к системе, то есть к нашему интернет-магазину.

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

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

Дизайн и Архитектура (Проектирование)

Тут начинается обсуждение, как будет выглядеть проект.

Разнообразные технические вопросы, возникающие в процессе проектирования, обсуждаются со всеми заинтересованными сторонами. Определяются технологии, которые будут использоваться в проекте, загрузка команды, ограничения, временные рамки и бюджет. В соответствии с уточненными требованиями выбираются наиболее подходящие проектные решения.

Создается прототип проекта и примерный дизайн сайта.

Разработка и программирование

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

Здесь программисты пишут код программы в соответствии с ранее определенными требованиями. Системные администраторы настраивают программное окружение, front-end программисты разрабатывают пользовательский интерфейс программы и логику ее взаимодействия с сервером.

Другие команды также начинают свою работу: рисуется дизайн сайта, копирайтеры пишут нужный текст, происходит наполнение сайта товарами.

Тестирование

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

Тестирование повторяется до тех пор, пока не будут достигнуты критерии его окончания.
Что такое критерии окончания? Это грубо говоря определенная черта в проверках, которая скажет нам, что хватит тестировать. Они необходимо, чтобы четко понимать критерии качества продукта, но об этом мы детально поговорим в дальнейшем.

Внедрение и сопровождение

Когда сайт протестирован и в нем больше не осталось серьезных дефектов, приходит время релиза и передачи его конечным пользователям.

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

В случае обнаружения пользователями тех или иных пост-релизных багов, информация о них передается в виде отчетов об ошибках команде разработки.

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

Закрытие

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

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

Жизненный цикл ПО

Цикл разработки предлагает шаблон, использование которого облегчает проектирование, создание и выпуск качественного программного обеспечения. Это методология, определяющая процессы и средства, необходимые для успешного завершения проекта.

Хотя реализация принципов построения модели жизненного цикла для разных компаний может существенно отличаться, существуют стандарты, такие как ISO/IEC 12207, определяющие принятые практики разработки и сопровождения программного обеспечения.

Цель использования модели жизненного цикла – создать эффективный, экономически выгодный и качественный программный продукт.

Источник: sedtest-school.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru