Explorar o código

Добавить 'Лекции/ЖЦПО/ЖЦПО_Петров.md'

Petrov Timofey hai 1 semana
pai
achega
b0963b9ae7
Modificáronse 1 ficheiros con 82 adicións e 0 borrados
  1. 82 0
      Лекции/ЖЦПО/ЖЦПО_Петров.md

+ 82 - 0
Лекции/ЖЦПО/ЖЦПО_Петров.md

@@ -0,0 +1,82 @@
+**Модель жизненного цикла программного обеспечения**
+Структура, содержащая процессы действия и задачи, которые осуществляются в ходе разработки, использования и сопровождения программного продукта.
+Эти модели можно разделить на 3 основных группы:
+1)Инженерный подход
+2)С учетом специфики задачи
+3)Современные технологии быстрой разработки
+Теперь рассмотрим непосредственно существующие модели (подклассы) и оценим их преимущества и недостатки.
+
+**Модель кодирования и устранения ошибок**
+
+Совершенно простая модель, характерная для студентов ВУЗов. Именно по этой модели большинство студентов разрабатывают, ну скажем лабораторные работы.
+Данная модель имеет следующий алгоритм:
+1)Постановка задачи
+2)Выполнение
+3)Проверка результата
+4)При необходимости переход к первому пункту
+
+Модель также ужасно устаревшая. Характерна для 1960-1970 гг., по-этому преимуществ перед следующими моделями в нашем обзоре практически не имеет, а недостатки на лицо. Относится к первой группе моделей.
+
+**Каскадная модель жизненного цикла программного обеспечения (водопад)**
+
+Алгоритм данного метода, который я привожу на схеме, имеет ряд преимуществ перед алгоритмом предыдущей модели, но также имеет и ряд весомых недостатков.
+
+![Каскадная.gif](Каскадная.gif)
+
+**Преимущества:**
+1)Последовательное выполнение этапов проекта в строгом фиксированном порядке
+2)Позволяет оценивать качество продукта на каждом этапе
+
+**Недостатки:**
+1)Отсутствие обратных связей между этапами
+2)Не соответствует реальным условиям разработки программного продукта
+Относится к первой группе моделей.
+
+**Каскадная модель с промежуточным контролем (водоворот)**
+
+Данная модель является почти эквивалентной по алгоритму предыдущей модели, однако при этом имеет обратные связи с каждым этапом жизненного цикла, при этом порождает очень весомый недостаток: 10-ти кратное увеличение затрат на разработку. Относится к первой группе моделей.
+
+**V модель (разработка через тестирование)**
+
+Данная модель имеет более приближенный к современным методам алгоритм, однако все еще имеет ряд недостатков. Является одной из основных практик экстремального программирования.
+
+![V модель](V модель)
+
+**Модель на основе разработки прототипа**
+
+Данная модель основывается на разработки прототипов и прототипирования продукта.
+**Прототипирование** используется на ранних стадиях жизненного цикла программного обеспечения:
+
+1)Прояснить не ясные требования (прототип UI)
+2)Выбрать одно из ряда концептуальных решений (реализация сцинариев)
+3)Проанализировать осуществимость проекта
+
+**Классификация протопипов:**
+1)Горизонтальные и вертикальные
+2)Одноразовые и эволюционные
+3)бумажные и раскадровки
+
+**Горизонтальные прототипы** — моделирует исключительно UI не затрагивая логику обработки и базу данных.
+**Вертикальные прототипы** — проверка архитектурных решений.
+**Одноразовые прототипы** — для быстрой разработки.
+**Эволюционные прототипы** — первое приближение эволюционной системы.
+
+Модель принадлежит второй группе.
+
+**Спиральная модель жизненного цикла программного обеспечения**
+
+Спиральная модель представляет собой процесс разработки программного обеспечения, сочетающий в себе как проектирование, так и постадийное прототипирование с целью сочетания преимуществ восходящей и нисходящей концепции.
+
+![Спиральная модель](Спиральная модель)
+
+**Преимущества:**
+1)Быстрое получение результата
+2)Повышение конкурентоспособности
+3)Изменяющиеся требования — не проблема
+
+**Недостатки:**
+1)Отсутствие регламентации стадий
+
+Третьей группе принадлежат такие модели как экстремальное программирование (XP), SCRUM, инкриментальная модель (RUP), но о них я бы хотел рассказать в отдельном топике.
+
+**Большое спасибо за внимание!**