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

Методы разработки структуры программы.

Обычно при использовании модульного построения программы. Структура программы выглядит как древовидная (иногда со сросшимися ветвями). В узлах такого дерева, находятся модули, а дуги показывают подчинённость модулей. Таким образом, поясняется, как работа одного модуля выражается как результат работы подчинённых ему модулей. В связи с этим у каждого модуля должно быть описание его работы, т.е. спецификации. Спецификация содержит синтаксическую спецификацию его входов (правильность обращения к нему). И второе, функциональную спецификацию (функциональную функцию, выполняемую этим модулем). В процессе разработки модульная функция может по-разному формироваться и использоваться для определения **** порядка программирования. Классическим выделяют 2 метода: метод восходящей разработки и метод нисходящей разработки.

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

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

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

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

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

Комбинированный метод применяется с учётом следующих факторов.

1) Достижимость модуля (наличие всех модулей в цепочке вызова данного модуля).

2) Зависимость по данным (модули, формирующие некоторые данные, должны разрабатывается раньше, чем модули обрабатывающие).

3) Обеспечение возможности выдачи результатов (модули вывода результатов должны создаваться раньше обрабатывающих).

4) Готовность вспомогательных модулей (вспомогательные модули должны разрабатываться раньше обрабатывающих).

5) Наличие необходимых ресурсов.

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