التصميم على مستوى النظام. الجزء 1. من الفكرة إلى النظام

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

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

نشكل العمارة الأولية


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

من المهم أن نتذكر أنه من وجهة نظر النظام وبنيته ، فإن المكون هو شيء تجريدي إلى حد ما. على سبيل المثال ، إذا كان هناك متحكم دقيق في نظامنا ، فمن المهم بالنسبة لنا على مستوى الهندسة أنه مجرد متحكم ، وليس أنه من طراز STM32 أو Arduino أو Milander. علاوة على ذلك ، غالبًا لا نفهم حتى ما سيكون بالضبط في النظام ، ونتجه إلى هندسة النظام لتطوير متطلبات المعدات والبرامج وما إلى ذلك.

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

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

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

بدلاً من قطعة من الورق ، أستخدم System Composer ، وهي أداة خاصة لنمذجة هياكل النظام في بيئة Simulink وإنشاء 3 مكونات. أعلاه ، وصفت العلاقات بين هذه المكونات ، لذا قم بتوصيلها على الفور:



توسيع العمارة


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



والآن ننزل إلى مستوى التجريد أقل. دعونا نحاول رسم بعض المكونات بمزيد من التفصيل. لنبدأ بمكون RFIDReader. في هذا النظام ، هذا المكون مسؤول عن قراءة علامة RFID. يجب أن يكون الإخراج بعض البيانات (UID ، بيانات المستخدم ...). ولكن انتظر ، RFID ، مثل NFC ، هو في الأساس أجهزة ، وليس برنامج! لذلك ، يمكننا أن نفترض أن لدينا بشكل منفصل شريحة RFID نفسها ، التي تنقل البيانات الخام إلى معالج مسبق معين. في المجموع ، لدينا قطعة مجردة من الحديد يمكنها قراءة علامات RFID ، وبرامج مجردة يمكنها تحويل البيانات إلى التنسيق الذي نحتاجه. سوف نسميهما RFIDSensor و RFIDParser ، على التوالي. كيف يتم عرض هذا في System Composer؟ يمكنك إزالة مكون RFIDReaderووضع مكونين في مكانه ، ولكن من الأفضل عدم القيام بذلك ، لذلك سنفقد إمكانية قراءة الهندسة المعمارية. بدلاً من ذلك ، دعنا نذهب داخل RFIDReader وإضافة مكونين جديدين:



رائع ، الآن دعنا ننتقل إلى إخطار المستخدم. كيف يقوم النظام بإخطار المستخدم برفضه أو السماح له بدخول المبنى؟ يدرك الشخص الأصوات وشيءًا يومض بشكل أفضل. لذلك ، يمكنك إصدار إشارة صوتية معينة ، بحيث ينتبه المستخدم ويومض مؤشر LED. أضف المكونات المناسبة إلى UserNotify :



لقد أنشأنا بنية نظامنا ، ولكن هناك خطأ ما في ذلك. ماذا؟ دعونا نلقي نظرة على أسماء الاتصالات. InBus و OutBus ليست أسماء عادية تمامًا من شأنها أن تساعد المطور. يجب إعادة تسميتهم:



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

الاستنتاج الرئيسي من هذا الجزء هو كما يلي:

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

All Articles