# Модели жизненного цикла АИС. **Модель ЖЦ** – это некоторая структура, определяющая последовательность осуществления процессов, действий и решения задач, возникающих на протяжении ЖЦ, а также взаимосвязи между этими процессами, действиями и задачами. Она не зависит от специфики АС и условий, в которых она будет разрабатывается и эксплуатироваться, поэтому не существует общих моделей для любого случая. Выбор модели ЖЦ определяется сложностью АС, ее масштабом, желанием заказчика, предпочтениями разработчика и другими условиями. При этом все работы на этапах должны быть обеспечены необходимым программным инструментарием. ## Модели ЖЦ ##### Каскадная модель ![](yyFdcx1.jpg) Данная модель представляет последовательное выполнение работ. Вся последовательность разработки делится на этапы, причем переход с одного этапа на другой осуществляется только после полного завершения работ на предыдущем этапе. Каждый этап завершается выпуском полного комплекта документации. ###### Основные этапы разработки 1.Анализ требований заказчика. На данном этапе проводится детальное исследование проблемы, и четко формулируются требования заказчика. На выходе формируется **техническое задание**, согласованное всеми сторонами. **Техническое задание** – это документ или несколько документов, определяющих цель, структуру, свойства и методы какого-либо проекта, и исключающие двусмысленное толкование различными исполнителями. Иными словами — это инструмент коммуникации между заказчиком и исполнителем, который помогает выстроить линию общения с помощью создания внутри него некоего абстрактного элемента, наделенного видением, чувствами и знаниями заказчика. 2.Проектирование. На этом этапе разрабатываются проектные решения, удовлетворяющие требованиям ТЗ. Если разрабатывается устройство, то определяется перечень комплектующих устройств, типы микросхем и схемные реализации. Если разрешенная ИС, то на этом этапе определяются все объекты или таблицы БД, связи между таблицами, перечень атрибутов и список ключевых атрибутов для каждой таблицы. Определяются тип и правила запросов в БД и формы представления входных и выходных документов и определяются формы отчетов, и вся эта информация оформляется в виде **технического проекта**. 3.Разработка. На этом этапе осуществляется разработка конкретного программного обеспечения в соответствие с техническим проектом. Выходом этапа является готовая система с документацией который является **эскизным проектом**. 4.Тестирование и опытная эксплуатация. Здесь осуществляется проверка разработанного программного обеспечения на соответствие требованиям ТЗ и требованиям заказчика. Выходом является протокол тестирования о соответствии разработанной системе техническому заданию. 5. Сдача готового продукта. На данном этапе происходит сдача готового продукта. Также подготавливаются инструкции пользователя, излагаются требования к организации АС. ###### Достоинства * на каждом этапе формируется полный комплект проектной документации, а на заключительном – пользовательская документация; * выполнение работ в логической последовательности позволяет планировать сроки завершения работ и затраты на них. Но, существуют исследования по срокам разработок каскадной системы и считается 31% работ не выполняется; 53% перерасходуют бюджет и только 16% укладываются в бюджет и в сроки. ###### Недостатки * длительное ожидание результатов. В процессе разработки могут устаревать модели автоматизируемого объекта; * ошибки и недоработки на любом из этапов, как правило, выявляются на последующих этапах, следовательно, необходим возврат на предыдущий этап работ, из-за чего срываются сроки работ; * сложность распараллеливания работ. Даже если проект можно разбить на подсистемы, то необходимо постоянное согласование разрабатываемых частей; * чрезмерная информационная перенасыщенность каждого из этапов; * сложность управления проектом. Необходимо хорошее административное управление для соблюдения сроков сдачи этапа и контроля полноты передаваемой документации; * высокий уровень риска и ненадежность инвестиций. На практике обычно применяют эту модель в виде **циклической**, когда можно вернуться на предыдущие этапы и выполнить необходимые доработки с учетом измененных требований или желаний заказчика. ##### Спиральная модель ![](yyFdcx2.jpg) Даная модель представляет собой **итерационный процесс** (последовательное приближение) разработки АС. В этой схеме возрастает роль этапов анализа и проектирования, так как именно на этих этапах проверяется и обосновывается реализуемость технических решений. **Итерация** – это законченный цикл разработки, приводящий к выпуску внутренней или внешней версии изделия. Версии от итерации к итерации совершенствуются, чтобы, в конце концов, стать законченным продуктом. Каждый виток спирали соответствует созданию фрагмента или версии программного продукта, где уточняются цели и характеристики объекта, определяется его качество и планируются работы на следующий виток спирали. Здесь можно переходить на следующий этап, не дожидаясь полного завершения работ на предыдущем. Недоделанная работа выполняется на следующей итерации. Основная задача итерации – быстрое создание работоспособного продукта с целью демонстрации его пользователю, активизируя тем самым процесс уточнения и дополнения требований. Окончание работ по такой схеме осуществляется после того как заказчик полностью удовлетворен работой системы. При такой схеме легко вносить изменения в документацию каждого из этапов. ###### Достоинства * упрощение внесения изменений в проект при изменении требований заказчика; * отдельные элементы системы соединяются в единую систему постепенно. Т.к. интеграция идет при малом количестве соединяемых элементов, то и проблем при ее проведении меньше; * уменьшение уровня риска. Риск максимален в начале разработки и уменьшается в конце; * гибкость в управлении проектом. Можно вносить изменения в разрабатываемое изделие; * упрощается повторное использование компонентов. Общие компоненты выявляются на первых витках спирали и в дальнейшем могут усовершенствоваться; * получается более надежная и устойчивая система, т.к. по мере ее развития ошибки и слабые места обнаруживаются и исправляются на каждой итерации. ###### Недостатки Основная проблема спирального цикла — определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла. Иначе процесс разработки может превратиться в бесконечное совершенствование уже сделанного. При итерационном подходе полезно следовать принципу «лучшее — враг хорошего». Поэтому завершение итерации необходимо проводить строго в соответствии с планом, даже если не вся запланированная работа закончена. Планирование работ обычно проводится на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков ##### Инкрементная модель ![](yyFdcx3.jpg) Представляет собой пример итеративного подхода к разработке программного обеспечения ИС, который предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает «мини-проект», включающий все фазы жизненного цикла в применении к созданию отдельных версий системы, обладающих меньшей функциональностью по сравнению с проектом, в целом. При этом на каждой итерации получается работающая версия программной системы, обладающая функциональностью всех предыдущих плюс текущей итерации. В результате финальной итерации получается конечный продукт, обеспечивающий реализацию всех требований. С точки зрения структуры жизненного цикла модель называют итеративной (говоря о процессе). С точки зрения развития продукта – инкрементной (имеется ввиду наращивание функциональности продукта). **Инкремент** – приращение, увеличение (например, в языке программирование – увеличение значения переменной на 1). Для каждого инкремента выполняется: * Анализ, на котором мы собираем требования и анализируем, и планируем сам инкремент; * Проектирование, на котором происходит проектирование архитектуры, до проектирование тех вещей, которые не были сделаны на предыдущем инкременте; * Разработка; * Тестирование. Важно, что каждый инкремент **заканчивается работающим продуктом**. ###### Достоинства * на момент создания определенного инкремента требования стабилизируются, поскольку не являющиеся особо важными изменения отодвигаются на момент создания последующих инкрементов; * не требуется заранее тратить средства, необходимые для разработки всего проекта, поскольку сначала выполняется разработка и реализация основной функции или функции из группы высокого риска; * в результате выполнения каждого инкремента получается функциональный продукт; * ускоряется начальный график поставки (что позволяет соответствовать возросшим требованиям рынка); * риск распределяется на несколько меньших по размеру инкрементов (не сосредоточен в одном большом проекте разработки); * в конце каждой инкрементной поставки существует возможность пересмотреть риски, связанные с затратами и соблюдением установленного графика. ###### Недостатки * в модели не предусмотрены итерации в рамках каждого инкремента; * определение полной функциональности системы должно осуществляться в начале жизненного цикла, чтобы обеспечить определение инкрементов; * формальный критический анализ и проверку намного труднее выполнить для инкрементов, чем для системы в целом; * поскольку создание некоторых модулей будет завершено значительно раньше других, возникает необходимость в четко определенных интерфейсах; * для модели необходимо хорошее планирование и проектирование; * может возникнуть тенденция к оттягиванию решений трудных проблем на будущее с целью продемонстрировать руководству успех, достигнутый на ранних этапах разработки ### Вопросы 1.Что такое **Инкремент**? А) **приращение** Б) **увеличение** В) анализ 2.Что предполагает из себя инкрементная модель? А) быстрое создание работоспособного продукта Б) **разбиение жизненного цикла проекта на последовательность итераций** В) осуществления разработки конкретного программного обеспечения 3.Основные этапы разработки Каскадная модель А) **Анализ требований заказчика** Б) **Разработка** В) **Проектирование** ## Вывод Модели жизненного цикла информационных систем предназначены для использования, в первую очередь, разработчиками этих систем. Очень важно выбрать именно такую модель, которая будет востребована при реальной эксплуатации, в наибольшей степени отвечая характеру проекта и реальным условиям его реализации. ## Список литературы https://studfile.net/preview/7657340/page:5/ https://edu.tltsu.ru/sites/sites_content/site216/html/media67140/lec3_is-2.pdf https://www.zinref.ru/000_uchebniki/02800_logika/011_lekcii_raznie_33/298.htm https://moluch.ru/archive/91/19862/ https://studref.com/364008/informatika/zhiznennyy_tsikl_avtomatizirovannyh_informatsionnyh_sistem