Veronika Milovzorova portfolio/ eng

Konspekt

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

Модели жизненного цикла ПО
Waterfall(каскадная модель)

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

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

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

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

Спиральная модель
Минусы

Частые изменения требований; — Чрезмерная оптимизация; — Низкая производительность системы; — Несоответствие уровня квалификации специалистов разных отделов

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

Инкрементная модель
минусы

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

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

Agile
Минусы
отсутствие четкого плана развития проекта; постоянная угроза переделывания большой части работы; снижение качества продукта в угоду скорости и упрощения

Плюсы
позволяет проектным командам более эффективно управлять несколькими наиболее типичными проблемами проекта. Они могут включать в себя стоимость, предсказуемость графика и изменение объема работ.

Императиваное программирование

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

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

Декларативное программирование

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

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

В SQL, если нам нужно посчитать количество сотрудников с фамилией «Сидоров», мы напишем SELECT count(*) FROM employee WHERE last_name = ‘Сидоров’;.

Структурное программирование

виден из исходного текста.

Согласно принципу модульности программа разбивается на отдельные смысловые части (модули).
Модуль – это функционально законченная часть программы. Например, модуль вычисления
определителя матрицы; модуль нахождения суммы элементов ряда.
Каждый модуль программируется отдельно, а затем модули объединяются в единую программу.
Модуль на языке программирования – это функция или процедура.

Использование при разработке модуля композиции трех базовых структур

´Линейной

´Ветвления

´Циклической

Структурное программирование называют программированием без GOTO.

Функциональное программирование

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

В нём весь код — это правила работы с данными. Вы просто задаёте нужные правила, а код сам разбирается, как их применять.

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

en_US