تعقيد نظم وأساليب "النضال" معها

بطريقة أو بأخرى ، نقوم جميعًا بتصميم وتنفيذ أنظمة. سواء كانت أنظمة البرمجيات أو البنية التحتية أو حلول المنصة. وكجزء من هذا العمل ، نواجه باستمرار مفهوم "النظام المعقد". كجزء من هذا المنشور ، أود أن أشارك رؤيتي لتعقيد الأنظمة و "الصراع" معها.


لنبدأ بتحديد النظام. أنا أحب التعريف الوارد في كتاب هندسة النظام . الاستراتيجية وتطوير المنتجات للأنظمة المعقدة . تبدو الترجمة شيئًا مثل هذا:


النظام عبارة عن مجموعة من المكونات وعلاقاتهم. وظائف النظام بأكمله أكبر من مجموع وظائف مكوناته الفردية.

هذا تعريف مهم جدا. يقترح أن النظام يجب أن يولد "فائدة". إذا كان النظام لا يوفر زيادة في "الأداة المساعدة" ، بالمقارنة مع المكونات التي يتكون منها ، فمن المحتمل أن مثل هذا النظام ليس ضروريًا للغاية.


السؤال التالي الذي يمكنك أن تطرحه على نفسك هو ما هو "النظام المعقد". يمكنك التحدث كثيرًا عن هذا ، ولكن في رأيي أنه من الصعب استدعاء نظام يصعب تقييمه مع عقلك ، ومن الصعب العمل معه ، ومن الصعب فهمه ، ومن الصعب تذكر جميع التفاعلات التي تحدث في هذا النظام.


وهنا بالنسبة لنا كمهندسين ، من المهم أن يكون لدينا آلية ، بطريقة ما لقياس هذا التعقيد. كقاعدة لهذه الآلية ، يقترح الرجال من معهد ماساتشوستس للتكنولوجيا استخدام "الرقم السحري رقم سبعة زائد ناقص اثنين". هناك دراسة أصلية حول هذا الموضوع ، بالإضافة إلى مقالات حول عروض حبري وتيد . باختصار ، فكرة جميع هذه الدراسات هي أن "الذاكرة العاملة" للشخص يمكن أن تحمل وتعمل في الوقت نفسه مع عدد محدود من الأشياء المختلفة. هنا مفهوم الأشياء "المختلفة" مهم جدا ، لأن الدماغ يكافح بالتعقيد من خلال تجميع الأشياء. على سبيل المثال ، يمكن وضع الروابط بين الأشياء من نفس النوع أو النوع في الاعتبار مثل اتصال واحد. أو بشكل أكثر وضوحًا - لست بحاجة إلى تخيل نظام من أكوام من الكرات المختلطة بألوان مختلفة. ببساطة قم بتجميعها في رأسك ، قل أن هناك ، على سبيل المثال ، خمس كرات حمراء وسبع صفراء وثلاث زرقاء. هذا يبسط العمل مع النظام ، مما يقلل من عدد الكائنات من خمسة عشر إلى ثلاثة. لذلك ، في سياق تقييم التعقيد ، نتحدث عن أشياء مختلفة ، ذرية ، لا يمكن تجميعها.


في النهاية ، هناك تقديرات مختلفة لسعة الذاكرة العاملة. شخص ما يتحدث عن أربعة أشياء ، شخص - حوالي خمسة ، شخص - حوالي سبعة. في تفكيري ، سألتزم بالنهج الكلاسيكي - "سبعة زائد ناقص اثنين" .


وبناءً على هذه التقديرات ، يمكن القول أنه إذا أصبح من الصعب العمل مع النظام ، للحفاظ على مكوناته واتصالاته في الذاكرة ، فإنه ، على ما يبدو ، يتجاوز الحد الأقصى للسعة "سبعة زائد ناقص اثنين". وهذا بدوره يعني أن هذا "الرقم السحري رقم سبعة" يمكن استخدامه كتقدير أساسي لتعقيد النظام. أعتقد أن التعريف المؤقت ، حتى الآن ، له الحق في الحياة:


النظام المعقد هو نظام يتكون من 7 + -2 مكونات ذرية وروابطها بنسب مختلفة.

طرق كلاسيكية للتعامل مع التعقيد


الآن دعونا نتذكر بإيجاز الطرق أو الأدوات الكلاسيكية للتعامل مع التعقيد في مرحلة التصميم. هناك القليل منها: التجريد ، التحلل ، التسلسل الهرمي والتحلل الهرمي.


  • التجريد - طريقة تسمح لك بإبراز الوظيفة الرئيسية للنظام أو النظام الفرعي وإخفاء المحتويات
  • التحلل - طريقة لتقسيم النظام إلى كتل أو مكونات أصغر
  • التسلسل الهرمي هو طريقة لتقسيم النظام إلى مستويات ، حيث تحتوي المستويات على مكان معين في الهيكل وتقع واحدة فوق الأخرى
  • التحلل الهرمي - طريقة تجمع بين التسلسل الهرمي والتحلل

تم تصميم جميع هذه الأدوات في نهاية المطاف لتبسيط الأنظمة الفرعية الفردية لنظامنا بحيث أنه عند العمل مع كل وحدة فردية ، "يتناسب مع الرأس" ككل.


ما هو كل شيء


ماذا تعطينا كل هذه الأشياء؟ ببساطة ، الفكرة هي ، باستخدام طرق مختلفة ، لتحويل مجموعة غير منظمة من مكونات النظام إلى نوع من الشكل الهيكلي. علاوة على ذلك ، بتذكر السحر السبعة ، يمكننا القول أن كل كتلة في التحلل يجب ألا تحتوي على أكثر من سبعة زائد / ناقص عنصرين. خلاف ذلك ، مع فحص مفصل لمثل هذه الكتلة ، سيكون من الصعب السيطرة عليها.


من ناحية أخرى ، إذا كان لدينا نظام يحتوي على عدد كبير من الكتل ، مقسمًا إلى مستويات هرمية ، فمن الأفضل ألا يتجاوز عدد هذه المستويات سبعة (زائد / ناقص اثنين). كمثال توضيحي ، أريد إحضار شريحة من أساسيات هندسة النظم . كما ترى من الشريحة ، يزداد تعقيد النظام مع عدد مستويات التحلل.


التعقيد


وبالتالي ، يمكن وصف العملية الصحيحة لتصميم النظام تقريبًا من خلال الأطروحة التالية:


لا تبني أنظمة معقدة. بناء أنظمة بالمستوى الضروري من التعقيد.

الأدب


Source: https://habr.com/ru/post/ar425807/


All Articles