Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на экз прин.docx
Скачиваний:
6
Добавлен:
17.04.2019
Размер:
85.81 Кб
Скачать

14. Модели процесса разработки по. Модель «Code-and-Fix».

Особенности:

– Анализ требований и спецификации в целом возможны до кодирования и тестирования

– У клиента нет технических знаний для участия в обсуждении требований

– Быстрый прототип с основной функциональностью ПО и ограниченной надежностью/производительностью

15. Модели процесса разработки по. Модель «Зубья акулы»/ прототипирование.

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

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

Преимущества:

Базис идей для развития и обсуждения ПО с клиентом

Снижение технических рисков (дешевое выявление потенциальных проблем)

Недостатки:

Соблазн использования «нетехнологичного» кода

(низкое качество, недостаточное тестирование и документирование)

16. Модели процесса разработки по. Инкрементальная модель.

Особенности:

-Разбивка ПО на последовательные релизы (каждый цикл разработки дает работоспособный продукт)‏ Преимущества:

    • Работающий продукт на каждом шаге разработки

    • Плавный ввод новой функциональности у клиента

    • Легкость сопровождения за счет «прямолинейного расширения» основных модулей

Недостатки:

    • Требует наращиваемого программного решения

(не годится для ПО, требующего сразу полной функциональности)‏

    • Продукт должен «масштабироваться» по архитектуре

    • ПО должно предусматривать стабильный путь апгрейда

    • Не подходит для продуктов, которые быстро выходят

за рамки исходной концепции (при этом вырождается в build-and-fix)‏

  • Продукт поделен на подсистемы и поставляется в релизах (builds)‏

  • Каждый релиз включает обеспечение операционного качества подсистемы

  • С каждым новым релизом новая подсистема включается в предыдущий релиз

17. Модели процесса разработки по. Модель синхростабилизации.

  • Работа членов команды постоянно синхронизируется

    • Фаза планирования

      • Формулируется видение

      • Готовится документ спецификаций

      • График работ и формирование команды

    • Фаза разработки

      • Первая треть функций (критические функции, разделяемые компоненты)

      • Вторая треть функций

      • Последняя треть функций (наименее критичные функции)‏

    • Фаза стабилизации

      • Внутреннее тестирование

      • Внешнее тестирование

      • Подготовка релиза

  • Сейчас заменяется на MSF

  • Особенности:

    • 3-4 инкрементных версии ПО, включающих:

    • Синхронизацию (проверка, сборка, тестирование)‏

    • Стабилизацию(устранение ошибок, найденных тестами)‏

    • «Заморозку» - работающий «срез» ПО

  • Преимущества:

    • «частое и раннее» тестирование (и выявление ошибок)‏

    • Постоянная интероперабельность (модули тестируются в сборе => всегда есть работающая версия ПО => связи между модулями легко тестировать)‏

    • Ранняя коррекция проекта (полная «сборка» ПО первых версий позволяет выявить недочеты проекта до полно-масштабной реализации и снизить стоимость редизайна)‏

  • Недостатки:

    • Подходит не для всех типов ПО (скажем, только для поддерживающих автоматизацию тестирования)‏

    • Необходимо уделять время синхростабилизации (а не только проектированию)‏

    • Нужны частые циклы сборки/тестирования (еженедельно или ежемесячно)‏

    • Редко используется вне корпорации Microsoft