Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пи_ответы.docx
Скачиваний:
8
Добавлен:
22.01.2023
Размер:
425.73 Кб
Скачать

11. «Тяжёлые и быстрые» технологии разработки по. Экстремальное (xp) программирование.

«Быстрые технологии» или Agile Software Development – это такой подход к разработке ПО, который предназначен для создания проектов, которые заранее плохо определены, либо находятся в быстро изменяющихся условиях. Agile технологии базируются на четырёх основных идеях:

  • взаимодействие индивидуумов важнее формальных процедур и инструментов;

  • работающее ПО важнее наличия документации к нему;

  • сотрудничество с заказчиком важнее формальных договоров с ним;

  • быстрое реагирование на внешние изменения важнее строгого следования намеченным планам.

Применение Agile уменьшает количество бумаг, которые сопровождают разработку в классическом строгом варианте, но это приводит к невысокой надёжности программного продукта, из-за снятия части юридической ответственности за разработку. В связи с этим, быстрые технологии не подойдут для разработки критических систем, где важна максимальная надёжность и полная прогнозируемость. Такие технологии, обеспечивающие структурированную, последовательную, поэтапную разработку, называются «Тяжёлыми». Классическим примером тяжёлой технологии будет каскадная модель ЖЦ. Ещё одной отличительной особенностью тяжёлой технологии будет возможность найма разработчиков среднего уровня экспертизы, так как в строгой последовательности разработки с чёткой документацией и определённой дисциплине они будут способны разрабатывать ПО требуемого качества.

Примером быстрой agile технологии является «Экстремальное программирование» (XP). Оно заключается в выполнении очень короткий итераций, которые состоят из четырёх самых базовых стадий: выслушивание заказчика, проектирование, кодирование, тестирование. Принципы XP трактуют простоту создания продукта, короткие циклы разработки, тесные взаимодействия разработчиков, частые оперативные совещания с заказчиком. Эта и другие «облегчённые» технологии очень распространены и действительно часто приводят к успеху, максимально используя особенности работы небольших коллективов, которые состоят из ответственных и опытных разработчиков.

12. Три вида программных разработок с точки зрения конструирования, технологии создания и эксплуатации. Сравнение методов планирования, конструирования, отладки и т. П.

Программные разработки можно разделить на три вида:

  1. Индивидуально создаваемые программы для решения частных задач: бизнес системы, интернет-сайты, системы управления материально-техническим снабжением и так далее. Они работают вне реального времени, в интерактивном режиме.

  2. Сложные программы типа информационно поисковых систем и СУБД. Отличаются масштабностью по сравнению с простыми индивидуальными программами.

  3. Сложные программы, обеспечивающие работу сложных технических систем (СТС) в реальном времени, исполняемые в автоматическом режиме из встроенной в систему ЦВМ, либо сети ЦВМ.

Технологии создания этих видов ПО сильно отличаются друг от друга. В первую очередь это касается распределения времени на отдельные этапы работы. Если для сложных программ реального времени требуется большой выделенный этап проектирования и небольшой этап (<10%) непосредственно программирования, то для простых программ кодирование составляет 60–80% разработки, перемешанной с проектированием.

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

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

Технология создания программ третьего типа наиболее сложна, требует моделирования системы и её ПО, а также особые инструментальные средства. Стоимость одной строки такого ПО для космического аппарата Шаттл составляет около 1000$, тогда как стоимость одной строки для ПО первого вида может составлять 5$.

Небольшие программы для частных проблем

Сложные информационно-справочные системы и системы обработки информации

Встроенное ПО для критических систем, как правило работающее в реальном времени

Модели ЖЦ

Спиральная модели, XP, методология SCRUM

Спиральная или каскадная модель

Каскадная модель

Планирование и управление разработкой

По мере надобности

Базовое заблаговременное планирование, контроль над изменениями

Исчерпывающее планирование и контроль над изменениями

Требования к ПО

Неформальная спецификация требований

Полуформальная спецификация требований

Формальная спецификация требований

Методы и характер проектирования

Совместно с кодированием

Проектирование архитектуры. Неформальное детальное проектирование структурных элементов

Проектирование архитектуры, формальное документирование всех процессов, формальные инспекции проекта

Конструирование

Парное или индивидуальное программирование

Командное программирование, код ревью

Ко всему прочему процедуры регистрации кода

Тестирование и отладка

Разработчики тестируют свой код. Предварительная разработка тестов

Тестируют код разработчики и отдельная группа тестировщиков

Ко всему прочему использование динамической модели внешней среды при тестировании

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]