ПредишенСледващото

Най-широко използваните са три начина за проектиране на алгоритми и програми - възходящ, низходящ, брояч.

Родословие (нагоре) дизайн използва идеята за разпределяне на достатъчно голям и модули subalgorithms, всяка от които изпълнява определени функции.

Избор на модули се определя от различни съображения :. Функционално пълнота, размер, хомогенност на структури от данни и т.н. за избраните модули са съставени спецификация дефинирани вход и изход комуникация. Освен това, всеки модул алгоритъм самостоятелно разработени и тествани. След разработването на модули, базирани на отношения на входа и на изхода се извършва в асоциацията подсистеми, които са обект на контрол. Тествани подсистеми са комбинирани в една софтуерна система, която е обект на задълбочен преглед.

Вследствие на това нараства нивото на дизайна започва с основните понятия и разработени от формирането на тяхната основа на абстрактни понятия, а накрая води до понятията, изразени по отношение на която решението на целия проблем.

Основните недостатъци на изгряващото моден дизайн са:

- сложността на комбиниране на отделните модули в алгоритъма;

- трудността на коригиране на грешки, допуснати в ранните етапи на развитие;

- сложността на наблюдението на разработването и изпълнението на прогнозата.

Надолу (отгоре-надолу) дизайн започва с изявление на проблема, който искате да се реши, и доразвита от да го разделите на подзадачи. В крайна сметка това води до подзадачи, решаването на които могат да бъдат лесно изразена по отношение на базовите модели. Процесът на проектиране включва следните стъпки:

- произведени разлагане на общия проблем в добре дефинирани подзадачи;

- Тя доказа, че ако всеки под-задача е решен правилно, и получените разтвори са взаимно свързани, първоначалният проблем ще бъде решен правилно.

процес на разлагане се повтаря за под-задачи, както и да докаже верността на разлагането се извършва. Този процес се повтаря, докато прости подзадачи, така че разтворът се изразяват в основната конструкция.

Този начин на проектиране в йерархична структура на алгоритми и софтуер може да реши тежките и сложни задачи. Когато низходящ развитието на възможност за проверка на алгоритъм или тест и отстраняване на грешки в програмата от самото начало на развитие, и по този начин създава ситуация за откриване на грешки в ранните етапи на разработването на програми.

Тъй като програмата модули са проектирани от горе до долу, вместо модули по-ниско ниво използват софтуерни свещи. От тях се изисква само да се даде възможност на устройството да се провери взаимодействието на най-високо ниво с модула на по-ниско ниво. Софтуерът съдържа приставка входни и изходни отчети и отчети за изпълнението му.

При разработването на програма, която използва отгоре-надолу дизайн не е длъжна да проведе цялостно отстраняване на грешки, което се с други методи за развитие 25-40% от общото време за развитие на програмата. В същото време развитието на цялата програма се развива по-бързо от развитието на по-ниските нива на компонентите. Тя може да се окаже, че отделните компоненти не отговарят на техните функции (например, осигуряване на желаната точност и изчислителна време).

Реална стратегия, развитие на алгоритми и програми почти винаги е разумна комбинация от най-надолу и отдолу-нагоре методи за проектиране (проект на брояч).

Свързани статии

Подкрепете проекта - споделете линка, благодаря!