Подходы к проектированию ПО
Нисходящий и восходящий подходы к разработке программ
Имеется 2 принципиально различных метода структурного проектирования программ: метод нисходящего (сверху вниз) и метод восходящего (снизу вверх) проектирования. Более прогрессивный современный метод разработки программ предполагает использование структурного программирования и метода нисходящего проектирования программ.
Нисходящим методом проектирование программы ведется от общего к частному, ко все большей детализации на каждом этапе. При этом сначала определяется задача в целом, в виде последовательности этапов, реализующих самостоятельные смысловые части алгоритма. Затем она поэтапно детализируется. Процесс детализации алгоритма продолжается до тех пор, пока реализуемые части алгоритма не станут достаточно простыми и легко программируемыми. Результатом этого процесса может быть структура программы. Это направленный граф, определяющий взаимосвязи подпрограмм в виде блоков подпрограмм и их вызовов. На последнем этапе каждый модуль представляется в виде детального описания его функций, например с помощью схемы алгоритма. Схема алгоритма – это направленный граф, который определяет процесс обработки данных.
Альтернативным методом по отношению к методу нисходящего проектирования является метод восходящего проектирования. При этом вначале разрабатываются модули низшего уровня, а затем они объединяются с помощью модулей более высокого уровня. Сложные программные системы восходящим методом создавать значительно труднее и дольше, чем нисходящим. На практике часто используют смешанный метод, т. е. в основном используют метод нисходящего проектирования, а в некоторых случаях, по мере необходимости, – восходящее проектирование.
Макетирование
Макетирование (прототипирование) – это процесс создания модели требуемого программного продукта. Основная цель макетирования – снять неопределенности в требованиях заказчика.
Модель может принимать одну из трех форм;
- бумажный макет или макет на основе ПК (изображает или рисует человеко-машинный диалог);
- работающий макет (выполняет некоторую часть требуемых функций);
- существующая программа (характеристики которой затем должны быть улучшены).
Макетирование основывается на многократном повторении итераций, в которых участвуют заказчик и разработчик (рис. 1.2):
- построение или уточнение модели;
- оценка макета заказчиком;
- ожидание заказчика.
Рис. 1.2. Итерации макетирования
Достоинство макетирования: обеспечивает определение полных требований к ПО.
Недостатки макетирования:
- заказчик может принять макет за продукт;
- разработчик может принять макет за продукт.
Когда заказчик видит работающую версию ПО, он перестает сознавать, что в погоне за работающим вариантом оставлены нерешенными вопросы качества и удобства сопровождения ПО. Очень часто это отрицательно сказывается на управлении разработкой ПО.
Для быстрого получения работающего макета разработчик часто идет на определенные компромиссы. Могут использоваться не самые подходящие язык программирования или операционная система.
Дата добавления: 2020-11-18; просмотров: 412;