- •Технология программирования и основные этапы ее развития
- •Три стратегии конструирования по
- •Классический жизненный цикл
- •Макетирование
- •Инкрементная модель
- •Спиральная модель
- •Общая таблица
- •Тестирование и отладка по
- •Отладка
- •Тестирование
- •Техническое задание
- •1. Общие сведения
- •2. Назначение и цели создания (развития) системы
- •3. Характеристики объекта автоматизации
- •4. Требования к системе
- •5. Состав и содержание работ по созданию (развитию) системы
- •6. Порядок контроля и приемки системы
- •7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие
- •8. Требования к документированию
- •Case-технологии
- •Моделирование бизнес процессов на основе idef0
- •Декомпозиция процессов. 5 типов связей работ в idef0. Миграция стрелок. Синтаксические ошибки.
- •Диаграммы dfd и idef3. Строительные блоки. Особенности. Примеры.
Макетирование
Основная идея макетирования - снять неопределенности в требованиях заказчика.
Макетирование - это процесс создания модели требуемого программного продукта («Макет»). Модель может принимать одну из трех форм:
- макет на основе ПК или бумажного изображения - изображает графический интерфейс для пользователя;
- работающий макет (продукт, выполняющий некоторую часть требуемых функций);
- существующая программа, характерные черты которой должны быть улучшены. То есть программа практически создана, и дальнейшее макетирование осуществляется внесением изменений в существующую программу для улучшения.
Последовательность действий представлена на рисунке.
Макетирование начинается со сбора и уточнения требований к создаваемой программной системе. Разработчик и заказчик совместно определяют цели ПО, устанавливают, какие требования известны, а какие предстоит доопределить. Затем выполняется быстрое проектирование. В нем сосредотачиваются на характеристиках, которые должны быть видимыми пользователю. Быстрое проектирование приводит к построению макета. Макет оценивается заказчиком и используется для уточнения требований к ПО. Итерации продолжаются до тех пор, пока макет не выявит все требования заказчика и даст возможность разработчику понять, что должно быть сделано.
То есть в итоге, процесс напоминает следующий цикл действий:
Достоинства:
- обеспечивает определение полных требований к ПО.
Недостатки:
- заказчик может принять макет за продукт;
- разработчик может принять макет за продукт.
Пояснения: когда заказчик видит работающую версию ПО, он перестает осознавать, что остались нерешенные многие вопросы качества и удобства сопровождения системы. Когда же заказчику об этом говорит разработчик, то ответом может быть возмущение и требование скорейшего превращения макета в рабочий продукт. Это отрицательно сказывается на управлении разработкой ПО.
С другой стороны, для быстрого получения работающего макета разработчик часто идет на определенные компромиссы. Например, могут использоваться не самые подходящие языки программирования или операционная система. Для простой демонстрации может применяться неэффективный (простой) алгоритм. Спустя некоторое время разработчик забывает о причинах, по которым эти средства не подходят. В результате далеко не идеальный выбранный вариант интегрируется в систему.
Инкрементная модель
Инкрементная модель объединяет элементы последовательной водопадной модели с итерационной философией макетирования.
Каждая линейная последовательность здесь вырабатывает поставляемый инкремент ПО. Например, ПО для обработки слов:
- в 1-м инкременте реализует функции базовой обработки файлов, функции редактирования и документирования;
- во 2-ом инкременте - более сложные возможности редактирования и документирования;
- в 3-м инкременте - проверку орфографии и грамматики;
- в 4-ом инкременте - возможности компоновки страницы.
Первый инкремент приводит к получению базового продукта, реализующего базовые требования (правда, многие вспомогательные требования остаются нереализованными).
План следующего инкремента предусматривает модификацию базового продукта, обеспечивающую дополнительные характеристики и функциональность.
В отличие от макетирования, инкрементная модель обеспечивает на каждом инкременте работающий продукт.
