Сложният алгоритъм се разделя на малки части, наречени модули, а процесът на разделяне е известен като модулация . Модулацията значително намалява усложненията при проектирането на алгоритъм и прави процеса по-лесен за проектиране и внедряване. Модулното програмиране е техника за проектиране и писане на програма под формата на функции, при които всяка функция се различава една от друга и работи самостоятелно. Съдържанието на функциите е кохезивно по начин и съществува ниско свързване между модулите.
Сравнителна таблица
Основа за сравнение | Подход отгоре надолу | Подход отдолу-нагоре |
---|---|---|
Основен | Разбива масивния проблем на по-малки подзадачи. | Решава фундаменталния проблем на ниско ниво и ги интегрира в по-голям. |
процес | Подмодулите се анализират самостоятелно. | Разгледайте какви данни трябва да бъдат капсулирани и предполагат концепцията за скриване на информация. |
общуване | Не се изисква при подхода отгоре-надолу. | Нуждае се от конкретна комуникация. |
Съкращаване | Съдържат излишна информация. | Резервирането може да бъде елиминирано. |
Програмни езици | Структурни / процедурно ориентирани езици за програмиране (т.е. C) следва подхода отгоре-надолу. | Обектно-ориентираните езици за програмиране (като C ++, Java и др.) Следват подхода отдолу-нагоре. |
Основно се използва в | Документация за модул, създаване на тест, внедряване на код и отстраняване на грешки. | Тестване |
Дефиниция на подход „отгоре надолу“
Подходът отгоре-надолу разделя сложен проблем или алгоритъм на множество по-малки части (модули). Тези модули се разграждат допълнително, докато полученият модул е основната програма, по същество не се разбира и не може да бъде допълнително разграден. След постигане на определено ниво на модулност разпадането на модулите се преустановява. Подходът отгоре-надолу е поетапният процес на прекъсване на големия програмен модул в по-прости и по-малки модули за организиране и кодиране на програмата по ефективен начин. Потокът на контрол в този подход е винаги в посока надолу. Подходът "отгоре надолу" е реализиран в езика за програмиране "С" чрез използване на функции.
По този начин методът отгоре-надолу започва с абстрактен дизайн и след това последователно този дизайн се усъвършенства, за да се създадат по-конкретни нива, докато няма изискване за допълнително усъвършенстване.
Определяне на подход отдолу-нагоре
Подходът „ отдолу нагоре “ работи точно обратното на подхода „отгоре надолу“. Първоначално тя включва проектирането на най-фундаменталните части, които след това се комбинират, за да направят модула с по-високо ниво. Това интегриране на подмодули и модули в модула на по-високо ниво се извършва многократно, докато се получи необходимия пълен алгоритъм.
Подходът отдолу нагоре функционира със слоеве абстракция. Основното прилагане на подхода „отдолу нагоре“ е тестване, тъй като всеки основен модул се тества първо преди сливането му с по-голямото. Тестването се извършва с помощта на някои функции на ниско ниво.
Ключови разлики между подхода отгоре надолу и отдолу нагоре
- Подходът отгоре-надолу разделя голямата задача на по-малки подзадачи, докато подходът отдолу-нагоре първо избира да разреши различните основни части на задачата, след което директно комбинира тези части в цяла програма.
- Всеки подмодул се обработва отделно в подхода отгоре-надолу. За разлика от това подходът "отдолу нагоре" прилага концепцията за скриване на информацията, като изследва данните, които ще бъдат капсулирани.
- Различните модули в подхода отгоре-надолу не изискват много комуникация. Напротив, подходът „отдолу нагоре“ се нуждае от взаимодействие между отделните основни модули, за да ги комбинира по-късно.
- Подходът "отгоре надолу" може да доведе до съкращения, докато подходът "отдолу нагоре" не включва излишна информация.
- Процедурните езици за програмиране като Fortran, COBOL и C следва подход отгоре-надолу. Обратно, обектно-ориентираните езици за програмиране като C ++, Java, C #, Perl, Python спазват подхода отдолу-нагоре.
- Подходът "отдолу-нагоре" се използва предимно при тестване. Обратно, подходът "отгоре надолу" се използва в документацията на модулите, създаването на тестови случаи, отстраняването на грешки и т.н.
заключение
Подходът „отгоре-надолу“ и „отдолу-нагоре“ са методите за проектиране на алгоритъм, при които отгоре-надолу е конвенционален подход, който разлага системата от спецификация на високо ниво до спецификация на ниско ниво. От друга страна, подходът "отдолу нагоре" е по-ефективен и работи по обратен начин, когато примитивните компоненти са проектирани първоначално, след това преминават към по-високо ниво.
Подходът отгоре-надолу подчертава изолацията на подмодулите (означава ниското свързване между модулите), но игнорира идентифицирането на концепцията за комуникация и повторна употреба. Докато при подхода „отдолу нагоре“ скриването на информация и повторната употреба са важни фактори.