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

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

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

تشكيل البنية الأولية

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

المصدر: www.habr.com

إضافة تعليق