|
@@ -0,0 +1,295 @@
|
|
|
+# Модели жизненного цикла АИС.
|
|
|
+
|
|
|
+### Содержание
|
|
|
+
|
|
|
+1.Описание моделей ЖЦ
|
|
|
+
|
|
|
+* Каскадная модель
|
|
|
+
|
|
|
+* Спиральная модель
|
|
|
+
|
|
|
+* Инкреметная модель
|
|
|
+
|
|
|
+2.Вопросы
|
|
|
+
|
|
|
+3.Вывод
|
|
|
+
|
|
|
+4.Список литературы
|
|
|
+
|
|
|
+**Модель ЖЦ** – это некоторая структура, определяющая последовательность осуществления процессов, действий и решения задач, возникающих на протяжении ЖЦ, а также взаимосвязи между этими процессами, действиями и задачами.
|
|
|
+
|
|
|
+Она не зависит от специфики АС и условий, в которых она будет разрабатывается и эксплуатироваться, поэтому не существует общих моделей для любого случая. Выбор модели ЖЦ определяется сложностью АС, ее масштабом, желанием заказчика, предпочтениями разработчика и другими условиями. При этом все работы на этапах должны быть обеспечены необходимым программным инструментарием.
|
|
|
+
|
|
|
+## Модели ЖЦ
|
|
|
+
|
|
|
+##### Каскадная модель
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Каждая стадия заканчивается получением некоторых результатов, кото-рые служат в качестве исходных данных для следующей стадии. Требования к разрабатываемому программному обеспечению, определенные на стадии формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждая стадия завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков.
|
|
|
+
|
|
|
+Каскадная модель может использоваться при создании информационных систем, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования, с тем, чтобы предоставить разработчикам свободу реализовать их технически как можно лучше. В эту категорию попадают, как правило, системы с высокой критичностью: сложные системы с большим количеством задач вычислительного характера, системы управления производственными процессами повышенной опасности и другие.
|
|
|
+
|
|
|
+###### Основные этапы разработки
|
|
|
+
|
|
|
+1.Анализ требований заказчика.
|
|
|
+
|
|
|
+На данном этапе проводится детальное исследование проблемы, и четко формулируются требования заказчика. На выходе формируется **техническое задание**, согласованное всеми сторонами.
|
|
|
+
|
|
|
+**Техническое задание** – это документ или несколько документов, определяющих цель, структуру, свойства и методы какого-либо проекта, и исключающие двусмысленное толкование различными исполнителями.
|
|
|
+
|
|
|
+Иными словами — это инструмент коммуникации между заказчиком и исполнителем, который помогает выстроить линию общения с помощью создания внутри него некоего абстрактного элемента, наделенного видением, чувствами и знаниями заказчика.
|
|
|
+
|
|
|
+2.Проектирование.
|
|
|
+
|
|
|
+На этом этапе разрабатываются проектные решения, удовлетворяющие требованиям ТЗ. Если разрабатывается устройство, то определяется перечень комплектующих устройств, типы микросхем и схемные реализации.
|
|
|
+
|
|
|
+Если разрешенная ИС, то на этом этапе определяются все объекты или таблицы БД, связи между таблицами, перечень атрибутов и список ключевых атрибутов для каждой таблицы.
|
|
|
+
|
|
|
+Определяются тип и правила запросов в БД и формы представления входных и выходных документов и определяются формы отчетов, и вся эта информация оформляется в виде **технического проекта**.
|
|
|
+
|
|
|
+3.Разработка.
|
|
|
+
|
|
|
+На этом этапе осуществляется разработка конкретного программного обеспечения в соответствие с техническим проектом. Выходом этапа является готовая система с документацией который является **эскизным проектом**.
|
|
|
+
|
|
|
+4.Тестирование и опытная эксплуатация.
|
|
|
+
|
|
|
+Здесь осуществляется проверка разработанного программного обеспечения на соответствие требованиям ТЗ и требованиям заказчика. Выходом является протокол тестирования о соответствии разработанной системе техническому заданию.
|
|
|
+
|
|
|
+5.Сдача готового продукта.
|
|
|
+
|
|
|
+На данном этапе происходит сдача готового продукта. Также подготавливаются инструкции пользователя, излагаются требования к организации АС.
|
|
|
+
|
|
|
+###### Достоинства
|
|
|
+
|
|
|
+* на каждом этапе формируется полный комплект проектной документации, а на заключительном – пользовательская документация;
|
|
|
+
|
|
|
+* выполнение работ в логической последовательности позволяет планировать сроки завершения работ и затраты на них.
|
|
|
+
|
|
|
+Но, существуют исследования по срокам разработок каскадной системы и считается 31% работ не выполняется; 53% перерасходуют бюджет и только 16% укладываются в бюджет и в сроки.
|
|
|
+
|
|
|
+###### Недостатки
|
|
|
+
|
|
|
+* длительное ожидание результатов. В процессе разработки могут устаревать модели автоматизируемого объекта;
|
|
|
+
|
|
|
+* ошибки и недоработки на любом из этапов, как правило, выявляются на последующих этапах, следовательно, необходим возврат на предыдущий этап работ, из-за чего срываются сроки работ;
|
|
|
+
|
|
|
+* сложность распараллеливания работ. Даже если проект можно разбить на подсистемы, то необходимо постоянное согласование разрабатываемых частей;
|
|
|
+
|
|
|
+* чрезмерная информационная перенасыщенность каждого из этапов;
|
|
|
+
|
|
|
+* сложность управления проектом. Необходимо хорошее административное управление для соблюдения сроков сдачи этапа и контроля полноты передаваемой документации;
|
|
|
+
|
|
|
+* высокий уровень риска и ненадежность инвестиций;
|
|
|
+
|
|
|
+* позднее обнаружение проблем;
|
|
|
+
|
|
|
+* выход из календарного графика, запаздывание с получением результа-тов;
|
|
|
+
|
|
|
+* избыточное количество документации;
|
|
|
+
|
|
|
+* невозможность разбить систему на части (весь продукт разрабатыва-ется за один раз);
|
|
|
+
|
|
|
+* высокий риск создания системы, не удовлетворяющей изменившимся потребностям пользователей.
|
|
|
+
|
|
|
+Практика показывает, что на начальной стадии проекта полностью и точно сформулировать все требования к будущей системе не удается. Это объясняется двумя причинами:
|
|
|
+
|
|
|
+* пользователи не в состоянии сразу изложить все свои требования и не могут предвидеть, как они изменятся в ходе разработки;
|
|
|
+
|
|
|
+* за время разработки могут произойти изменения во внешней среде, которые повлияют на требования к системе.
|
|
|
+
|
|
|
+
|
|
|
+В действительности эту модель принимают в виде **циклической**, когда можно вернуться на предыдущие этапы и выполнить необходимые доработки с учетом измененных требований или желаний заказчика.
|
|
|
+
|
|
|
+
|
|
|
+##### Спиральная модель
|
|
|
+
|
|
|
+Даная модель представляет собой **итерационный процесс** (последовательное приближение) разработки АС. Спиральная модель была разработана в середине 1980-х годов Барри Боэмом.
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Она основана на классическом цикле Деминга PDCA (планируй-делай-проверяй-действуй). При использовании этой модели АС создается в несколько итераций (витков спирали) методом прототипирования
|
|
|
+
|
|
|
+В этой схеме возрастает роль этапов анализа и проектирования, так как именно на этих этапах проверяется и обосновывается реализуемость технических решений.
|
|
|
+
|
|
|
+**Итерация** – это законченный цикл разработки, приводящий к выпуску внутренней или внешней версии изделия. Версии от итерации к итерации совершенствуются, чтобы, в конце концов, стать законченным продуктом.
|
|
|
+
|
|
|
+Каждый виток спирали соответствует созданию фрагмента или версии программного продукта, где уточняются цели и характеристики объекта, определяется его качество и планируются работы на следующий виток спирали.
|
|
|
+
|
|
|
+Здесь можно переходить на следующий этап, не дожидаясь полного завершения работ на предыдущем. Недоделанная работа выполняется на следующей итерации.
|
|
|
+
|
|
|
+Основная задача итерации – быстрое создание работоспособного продукта с целью демонстрации его пользователю, активизируя тем самым процесс уточнения и дополнения требований.
|
|
|
+
|
|
|
+Окончание работ по такой схеме осуществляется после того как заказчик полностью удовлетворен работой системы. При такой схеме легко вносить изменения в документацию каждого из этапов.
|
|
|
+
|
|
|
+**Прототип** — действующий компонент АС, реализующий отдельные функции и внешние интерфейсы. Каждая итерация соответствует созданию фрагмента или версии АС, на ней уточняются цели и характеристики проекта, оценивается качество полученных результатов и планируются работы следующей итерации.
|
|
|
+
|
|
|
+На каждой итерации оцениваются:
|
|
|
+
|
|
|
+* Риск превышения сроков и стоимости проекта
|
|
|
+
|
|
|
+* Необходимость выполнения еще одной итерации
|
|
|
+
|
|
|
+* Степень полноты и точности понимания требований к системе
|
|
|
+
|
|
|
+* Целесообразность прекращения проекта.
|
|
|
+
|
|
|
+* Один из примеров реализации спиральной модели — RAD (англ. Rapid Application Development, метод быстрой разработки приложений).
|
|
|
+
|
|
|
+Принципиальные особенности спиральной модели:
|
|
|
+
|
|
|
+* отказ от фиксации требований и назначение приоритетов пользователь-ским требованиям;
|
|
|
+
|
|
|
+* разработка последовательности прототипов, начиная с требований наивысшего приоритета;
|
|
|
+
|
|
|
+* идентификация и анализ риска на каждой итерации;
|
|
|
+
|
|
|
+* использование каскадной модели для реализации окончательного про-тотипа;
|
|
|
+
|
|
|
+* оценка результатов по завершении каждой итерации и планирование следующей итерации.
|
|
|
+
|
|
|
+
|
|
|
+###### Достоинства
|
|
|
+
|
|
|
+* упрощение внесения изменений в проект при изменении требований заказчика;
|
|
|
+
|
|
|
+* отдельные элементы системы соединяются в единую систему постепенно. Т.к. интеграция идет при малом количестве соединяемых элементов, то и проблем при ее проведении меньше;
|
|
|
+
|
|
|
+* уменьшение уровня риска. Риск максимален в начале разработки и уменьшается в конце;
|
|
|
+
|
|
|
+* гибкость в управлении проектом. Можно вносить изменения в разрабатываемое изделие;
|
|
|
+
|
|
|
+* упрощается повторное использование компонентов. Общие компоненты выявляются на первых витках спирали и в дальнейшем могут усовершенствоваться;
|
|
|
+
|
|
|
+* получается более надежная и устойчивая система, т.к. по мере ее развития ошибки и слабые места обнаруживаются и исправляются на каждой итерации.
|
|
|
+
|
|
|
+* ускорение разработки (раннее получение результата за счет прототи-пирования);
|
|
|
+
|
|
|
+* постоянное участие заказчика в процессе разработки;
|
|
|
+
|
|
|
+* разбиение большого объема работы на небольшие части;
|
|
|
+
|
|
|
+* снижение риска (повышение вероятности предсказуемого поведения системы).
|
|
|
+
|
|
|
+Спиральная модель не исключает использования каскадного подхода на завершающих стадиях проекта в тех случаях, когда требования к системе оказываются полностью определенными.
|
|
|
+
|
|
|
+
|
|
|
+###### Недостатки
|
|
|
+
|
|
|
+* сложность планирования (определения количества и длительности итераций, оценки затрат и рисков);
|
|
|
+
|
|
|
+* сложность применения модели с точки зрения менеджеров и заказчи-ков (из-за привычки к строгому и детальному планированию);
|
|
|
+
|
|
|
+* напряженный режим работы для разработчиков (при краткосрочных итерациях).
|
|
|
+
|
|
|
+
|
|
|
+Основная проблема спирального цикла — определение момента перехода на следующий этап. Для ее решения необходимо ввести временные ограничения на каждый из этапов жизненного цикла.
|
|
|
+
|
|
|
+Иначе процесс разработки может превратиться в бесконечное совершенствование уже сделанного. При итерационном подходе полезно следовать принципу «лучшее — враг хорошего».
|
|
|
+
|
|
|
+Поэтому завершение итерации необходимо проводить строго в соответствии с планом, даже если не вся запланированная работа закончена. Планирование работ обычно проводится на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков
|
|
|
+
|
|
|
+Спиральная модель избавляет пользователей и разработчиков программного обеспечения от необходимости полного и точного формулирования требований к системе на начальной стадии, поскольку они уточняются на каждой итерации. Таким образом, углубляются и последовательно конкрети-зируются детали проекта, и в результате выбирается обоснованный вариант, который доводится до реализации.
|
|
|
+
|
|
|
+##### Инкрементная модель
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+Представляет собой пример итеративного подхода к разработке программного обеспечения ИС, который предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из которых напоминает «мини-проект», включающий все фазы жизненного цикла в применении к созданию отдельных версий системы, обладающих меньшей функциональностью по сравнению с проектом, в целом.
|
|
|
+
|
|
|
+При этом на каждой итерации получается работающая версия программной системы, обладающая функциональностью всех предыдущих плюс текущей итерации. В результате финальной итерации получается конечный продукт, обеспечивающий реализацию всех требований.
|
|
|
+
|
|
|
+С точки зрения структуры жизненного цикла модель называют итеративной (говоря о процессе). С точки зрения развития продукта – инкрементной (имеется ввиду наращивание функциональности продукта).
|
|
|
+
|
|
|
+**Инкремент** – приращение, увеличение (например, в языке программирование – увеличение значения переменной на 1).
|
|
|
+
|
|
|
+Для каждого инкремента выполняется:
|
|
|
+
|
|
|
+* Анализ, на котором мы собираем требования и анализируем, и планируем сам инкремент;
|
|
|
+
|
|
|
+* Проектирование, на котором происходит проектирование архитектуры, до проектирование тех вещей, которые не были сделаны на предыдущем инкременте;
|
|
|
+
|
|
|
+* Разработка;
|
|
|
+
|
|
|
+* Тестирование.
|
|
|
+
|
|
|
+Важно, что каждый инкремент **заканчивается работающим продуктом**.
|
|
|
+
|
|
|
+###### Достоинства
|
|
|
+
|
|
|
+* на момент создания определенного инкремента требования стабилизируются, поскольку не являющиеся особо важными изменения отодвигаются на момент создания последующих инкрементов;
|
|
|
+
|
|
|
+* не требуется заранее тратить средства, необходимые для разработки всего проекта, поскольку сначала выполняется разработка и реализация основной функции или функции из группы высокого риска;
|
|
|
+
|
|
|
+* в результате выполнения каждого инкремента получается функциональный продукт;
|
|
|
+
|
|
|
+* ускоряется начальный график поставки (что позволяет соответствовать возросшим требованиям рынка);
|
|
|
+
|
|
|
+* риск распределяется на несколько меньших по размеру инкрементов (не сосредоточен в одном большом проекте разработки);
|
|
|
+
|
|
|
+* в конце каждой инкрементной поставки существует возможность пересмотреть риски, связанные с затратами и соблюдением установленного графика.
|
|
|
+
|
|
|
+###### Недостатки
|
|
|
+
|
|
|
+* в модели не предусмотрены итерации в рамках каждого инкремента;
|
|
|
+
|
|
|
+* определение полной функциональности системы должно осуществляться в начале жизненного цикла, чтобы обеспечить определение инкрементов;
|
|
|
+
|
|
|
+* формальный критический анализ и проверку намного труднее выполнить для инкрементов, чем для системы в целом;
|
|
|
+
|
|
|
+* поскольку создание некоторых модулей будет завершено значительно раньше других, возникает необходимость в четко определенных интерфейсах;
|
|
|
+
|
|
|
+* для модели необходимо хорошее планирование и проектирование;
|
|
|
+
|
|
|
+* может возникнуть тенденция к оттягиванию решений трудных проблем на будущее с целью продемонстрировать руководству успех, достигнутый на ранних этапах разработки
|
|
|
+
|
|
|
+### Вопросы
|
|
|
+
|
|
|
+1.Что такое **Инкремент**?
|
|
|
+
|
|
|
+А) **приращение**
|
|
|
+
|
|
|
+Б) **увеличение**
|
|
|
+
|
|
|
+В) анализ
|
|
|
+
|
|
|
+2.Что предполагает из себя инкрементная модель?
|
|
|
+
|
|
|
+А) быстрое создание работоспособного продукта
|
|
|
+
|
|
|
+Б) **разбиение жизненного цикла проекта на последовательность итераций**
|
|
|
+
|
|
|
+В) осуществления разработки конкретного программного обеспечения
|
|
|
+
|
|
|
+3.Основные этапы разработки Каскадная модель
|
|
|
+
|
|
|
+А) **Анализ требований заказчика**
|
|
|
+
|
|
|
+Б) **Разработка**
|
|
|
+
|
|
|
+В) **Проектирование**
|
|
|
+
|
|
|
+4.Что такое **Протатип**?
|
|
|
+
|
|
|
+А) быстрое создание работоспособного продукта с целью демонстрации его пользователю
|
|
|
+
|
|
|
+Б) это инструмент коммуникации между заказчиком и исполнителем
|
|
|
+
|
|
|
+В) **действующий компонент АС, реализующий отдельные функции и внешние интерфейсы**
|
|
|
+
|
|
|
+## Вывод
|
|
|
+
|
|
|
+Модели жизненного цикла информационных систем предназначены для использования, в первую очередь, разработчиками этих систем. Очень важно выбрать именно такую модель, которая будет востребована при реальной эксплуатации, в наибольшей степени отвечая характеру проекта и реальным условиям его реализации.
|
|
|
+
|
|
|
+## Список литературы
|
|
|
+
|
|
|
+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
|
|
|
+
|