يتم تقسيم الخوارزمية المعقدة إلى أجزاء صغيرة تسمى الوحدات ، وتعرف عملية التقسيم بأنها وحدات . يقلل الانقسام إلى حد كبير من مضاعفات تصميم خوارزمية ويجعل من عملية تصميمها وتنفيذها أكثر سهولة. البرمجة النمطية هي تقنية تصميم وكتابة برنامج في شكل وظائف تكون فيها كل وظيفة متميزة عن بعضها وتعمل بشكل مستقل. المحتوى في وظائف متماسكة في الطريقة ، وهناك اقتران منخفض بين الوحدات.
رسم بياني للمقارنة
أساس للمقارنة | من أعلى إلى أسفل النهج | نهج من أسفل إلى أعلى |
---|---|---|
الأساسية | يكسر المشكلة الضخمة في مشاكل ثانوية أصغر. | يحل المشكلة الأساسية المنخفضة المستوى ويدمجها في مشكلة أكبر. |
معالجة | يتم تحليل العينات الجزئية. | افحص البيانات المراد تغليفها ، ويعني مفهوم المعلومات المخبأ. |
الاتصالات | غير مطلوب في النهج من أعلى لأسفل. | يحتاج إلى كمية محددة من التواصل. |
وفرة | تحتوي على معلومات مكررة. | يمكن القضاء على التكرار. |
لغات البرمجة | يتبع لغات البرمجة هيكلية / إجرائية (أي C) النهج من أعلى لأسفل. | تتبع لغات البرمجة الموجهة للكائنات (مثل C ++ ، Java ، إلخ) النهج التصاعدي. |
تستخدم أساسا في | وثائق الوحدة ، إنشاء حالة الاختبار ، تنفيذ التعليمات البرمجية وتصحيح الأخطاء. | اختبارات |
تعريف من أعلى إلى أسفل النهج
يقسم النهج من أعلى لأسفل بشكل أساسي مشكلة معقدة أو خوارزمية إلى أجزاء أصغر متعددة (وحدات). تتحلل هذه الوحدات بشكل أكبر حتى تكون الوحدة النمطية الناتجة هي البرنامج الأساسي مفهومة بشكل أساسي ولا يمكن أن تتحلل أكثر. بعد تحقيق مستوى معين من النمطية ، تم إيقاف تحلل الوحدات. النهج من أعلى لأسفل هو العملية التدريجية لكسر وحدة البرامج الكبيرة إلى وحدات أبسط وأصغر من أجل تنظيم وترميز البرنامج بطريقة فعالة. تدفق السيطرة في هذا النهج هو دائما في الاتجاه النزولي. يتم تنفيذ النهج من أعلى لأسفل في لغة البرمجة "C" باستخدام الوظائف.
وبالتالي ، تبدأ الطريقة من أعلى لأسفل بتصميم مجرّد ، ثم يتم تحسين هذا التصميم بشكل متسلسل لإنشاء مستويات أكثر واقعية حتى لا يكون هناك حاجة إلى تحسين إضافي.
تعريف النهج من أسفل إلى أعلى
يعمل أسلوب التصاعدي من الأسفل إلى الأعلى في الاتجاه المعاكس للأعلى. في البداية ، يتضمن تصميم الأجزاء الأساسية التي يتم دمجها بعد ذلك لجعل وحدة المستوى الأعلى. يتم تنفيذ هذا التكامل من الوحدات الفرعية والوحدات النمطية في وحدة مستوى أعلى مرارا وتكرارا حتى يتم الحصول على خوارزمية كاملة المطلوبة.
يعمل نهج التصاعدي مع طبقات من التجريد. يتم اختبار التطبيق الأساسي للنهج من أسفل إلى أعلى حيث يتم اختبار كل وحدة أساسية أولاً قبل دمجها مع الوحدة الأكبر. يتم إنجاز الاختبار باستخدام وظائف معينة ذات المستوى المنخفض.
الاختلافات الرئيسية بين أعلى وأسفل النهج من أسفل إلى أعلى
- يؤدي النهج من أعلى لأسفل إلى تفتيت المهمة الكبيرة إلى مهام فرعية أصغر ، بينما يختار النهج التصاعدي أولاً حل الأجزاء الأساسية المختلفة من المهمة مباشرة ثم دمج هذه الأجزاء في برنامج كامل.
- يتم معالجة كل وحدة فرعية بشكل منفصل في نهج من أعلى إلى أسفل. في مقابل ذلك ، ينفّذ نهج التصاعدي مفهوم المعلومات المختبئة من خلال فحص البيانات المراد تغليفها.
- لا تتطلب الوحدات المختلفة في النهج من أعلى لأسفل الكثير من الاتصالات. على العكس ، يحتاج الأسلوب التصاعدي إلى التفاعل بين الوحدات الأساسية المنفصلة لدمجها فيما بعد.
- يمكن أن ينتج النهج من أعلى إلى أسفل التكرار بينما لا يتضمن نهج من أسفل إلى أعلى معلومات زائدة عن الحاجة.
- تتبع لغات البرمجة الإجرائية مثل Fortran و COBOL و C نهجًا من أعلى إلى أسفل. في المقابل ، فإن لغات البرمجة الشيئية مثل C ++ ، Java ، C # ، Perl ، Python تلتزم بالنهج التصاعدي.
- يستخدم نهج القاع المتابعة في الاختبار. وعلى العكس ، يتم استخدام النهج من أعلى إلى أسفل في وثائق الوحدة النمطية ، إنشاء حالة الاختبار ، تصحيح الأخطاء ، إلى آخره.
استنتاج
النهج من أعلى لأسفل ومنهج التصاعدي هو أساليب تصميم الخوارزمية حيث يكون من أعلى لأسفل أسلوبًا تقليديًا يقوم بتفكيك النظام من المواصفات عالية المستوى إلى المواصفات منخفضة المستوى. ومن ناحية أخرى ، يكون النهج التصاعدي أكثر كفاءة ويعمل بطريقة عكسية حيث يتم تصميم المكونات الأولية في البداية ثم تنتقل إلى المستوى الأعلى.
يؤكد النهج من أعلى لأسفل على عزل الوحدات الفرعية (يشير إلى اقتران منخفض بين الوحدات) بينما يتجاهل تحديد مفهوم الاتصال وإعادة الاستخدام. بينما في النهج التصاعدي ، تعد المعلومات المخبأة وإعادة الاستخدام هي العوامل البارزة.