سسٹم کی سطح پر ڈیزائن۔ حصہ 1۔ خیال سے نظام تک

سب کو سلام. میں اکثر اپنے کام میں سسٹم انجینئرنگ کے اصولوں کو لاگو کرتا ہوں اور اس نقطہ نظر کو کمیونٹی کے ساتھ شیئر کرنا چاہتا ہوں۔

سسٹم انجینئرنگ - بغیر کسی معیار کے، لیکن سادہ الفاظ میں، یہ مخصوص ڈیوائس کے نمونوں کے حوالے کے بغیر، کافی تجریدی اجزاء کے طور پر نظام کو تیار کرنے کا عمل ہے۔ اس عمل کے دوران، نظام کے اجزاء کی خصوصیات اور ان کے درمیان کنکشن قائم ہوتے ہیں. مزید برآں، یہ ضروری ہے کہ نظام کو ہم آہنگ اور بہترین بنایا جائے اور یہ کہ نظام ضروریات کو پورا کرے۔ اس ٹیوٹوریل میں میں سسٹم انجینئرنگ کی تکنیک دکھاؤں گا جس کی مثال کافی آسان رسائی کنٹرول سسٹم (ACS) کو ڈیزائن کرنا ہے۔

ابتدائی فن تعمیر کی تشکیل

جب کوئی نظام، چاہے کچھ بھی ہو، ابھی تیار ہونا شروع ہوتا ہے، ہمارے سروں میں یا کاغذ پر تیر کے ساتھ مستطیل ظاہر ہوتے ہیں۔ ایسے مستطیل ہیں۔ اجزاء نظام اور تیر ہیں۔ رابطے اجزاء کے درمیان. اور اکثر ہمارے پاس بیٹھ کر سوچنے کا وقت نہیں ہوتا ہے کہ ہم نے جو تمام اجزاء بیان کیے ہیں وہ ایک دوسرے کے ساتھ کیسے کام کریں گے، اور آخر میں ہم بیساکھیوں کا ایک گروپ بنانا شروع کر دیتے ہیں، بے کار ڈیزائنوں کے ساتھ۔

یہ یاد رکھنا ضروری ہے کہ نظام اور اس کے فن تعمیر کے نقطہ نظر سے، ایک جزو ایک بلکہ تجریدی چیز ہے۔ مثال کے طور پر، اگر ہمارے سسٹم میں ایک مائیکرو کنٹرولر ہے، تو آرکیٹیکچرل سطح پر ہمارے لیے صرف یہ اہم ہے کہ یہ ایک مائیکرو کنٹرولر ہے، نہ کہ یہ STM32، Arduino یا Milander ہے۔ مزید یہ کہ، اکثر یہ ہمارے لیے بالکل واضح نہیں ہوتا ہے کہ سسٹم میں بالکل کیا ہوگا، اور ہم آلات، سافٹ ویئر وغیرہ کی ضروریات کو تیار کرنے کے لیے سسٹم انجینئرنگ کا رخ کرتے ہیں۔

ACS کے ساتھ ہماری مثال کے طور پر، ہم اس کا مقصد بنانے کی کوشش کریں گے۔ اس سے ہمیں اس کے اجزاء کی شناخت میں مدد ملے گی۔ لہذا، رسائی کنٹرول سسٹم کا کام لوگوں کے ایک محدود حلقے کو کمرے میں جانے کی اجازت دینا ہے۔ یعنی یہ ایک سمارٹ لاک ہے۔ نتیجتاً، ہمارے پاس پہلا جزو ہے - کسی قسم کا آلہ جو دروازے کو لاک اور کھولتا ہے! آئیے اسے بلائیں۔ دروازے پر تالا

ہم کیسے جانتے ہیں کہ ایک شخص اندر جا سکتا ہے؟ ہم چوکیدار لگا کر پاسپورٹ چیک نہیں کرنا چاہتے، کیا ہم؟ آئیے لوگوں کو RFID ٹیگز والے خصوصی کارڈ دیں، جس پر ہم منفرد IDs یا دیگر ڈیٹا ریکارڈ کریں گے جو ہمیں کسی شخص کی درست شناخت کرنے کی اجازت دیتا ہے۔ پھر، ہمیں کچھ ڈیوائس کی ضرورت ہوگی جو ان ٹیگز کو پڑھ سکے۔ بہت اچھا، ہمارے پاس ایک اور جزو ہے، آر ایف آئی ڈی ریڈر

آئیے ایک بار پھر دیکھتے ہیں کہ ہمیں کیا ملا۔ آر ایف آئی ڈی ریڈر کچھ ڈیٹا پڑھتا ہے، رسائی کنٹرول سسٹم اس کے ساتھ کچھ کرتا ہے، اور اس کی بنیاد پر کچھ کنٹرول کیا جاتا ہے۔ دروازے پر تالا. آئیے درج ذیل سوال پوچھتے ہیں - رسائی کے حقوق کے حامل لوگوں کی فہرست کو کہاں ذخیرہ کیا جائے؟ ڈیٹا بیس میں بہترین۔ لہذا، ہمارے سسٹم کو ڈیٹا بیس سے درخواستیں بھیجنے اور جوابات پر کارروائی کرنے کے قابل ہونا چاہیے۔ تو ہمارے پاس ایک اور جزو ہے - ڈی بی ہینڈلر. لہذا، ہمیں ایک انتہائی تجریدی، لیکن شروع کرنے کے لیے کافی، نظام کی تفصیل موصول ہوئی ہے۔ ہم سمجھتے ہیں کہ اسے کیا کرنا ہے اور یہ کیسے کام کرتا ہے۔

کاغذ کے ایک ٹکڑے کی بجائے، میں سسٹم کمپوزر کا استعمال کروں گا، جو Simulink ماحول میں سسٹم آرکیٹیکچرز کی ماڈلنگ کے لیے ایک خاص ٹول ہے، اور 3 اجزاء تخلیق کروں گا۔ اوپر میں نے ان اجزاء کے درمیان کنکشن کو بیان کیا، تو آئیے فوری طور پر ان کو جوڑتے ہیں:

سسٹم کی سطح پر ڈیزائن۔ حصہ 1۔ خیال سے نظام تک

فن تعمیر کو وسعت دینا

آئیے اپنا خاکہ دیکھتے ہیں۔ ایسا لگتا ہے کہ سب کچھ ٹھیک ہے، لیکن حقیقت میں ایسا نہیں ہے. اس سسٹم کو صارف کے نقطہ نظر سے دیکھیں - صارف کارڈ کو ریڈر کے پاس لاتا ہے اور...؟ صارف کیسے جانتا ہے کہ اسے رسائی کی اجازت ہے یا انکار؟ اس کے بارے میں اسے کسی نہ کسی طرح مطلع کرنا ضروری ہے! لہذا، آئیے ایک اور جزو شامل کریں - صارف کی اطلاع، یوزر نوٹیفائی:

سسٹم کی سطح پر ڈیزائن۔ حصہ 1۔ خیال سے نظام تک

اب آئیے تجرید کی نچلی سطح پر جائیں۔ آئیے کچھ اجزاء کو تھوڑا سا تفصیل سے بیان کرنے کی کوشش کرتے ہیں۔ آئیے جزو کے ساتھ شروع کریں۔ آر ایف آئی ڈی ریڈر. ہمارے سسٹم میں، یہ جزو RFID ٹیگ کو پڑھنے کے لیے ذمہ دار ہے۔ اس کے آؤٹ پٹ میں کچھ ڈیٹا (UID، صارف کا ڈیٹا...) ہونا چاہیے۔ لیکن انتظار کریں، RFID، NFC کی طرح، بنیادی طور پر ہارڈ ویئر ہے، سافٹ ویئر نہیں! لہذا، ہم یہ فرض کر سکتے ہیں کہ ہمارے پاس الگ سے RFID چپ موجود ہے، جو "خام" ڈیٹا کو کسی قسم کے پری پروسیسر میں منتقل کرتی ہے۔ لہذا، ہمارے پاس ہارڈ ویئر کا ایک خلاصہ ٹکڑا ہے جو RFID ٹیگز کو پڑھ سکتا ہے، اور خلاصہ سافٹ ویئر جو ڈیٹا کو ہماری ضرورت کی شکل میں تبدیل کر سکتا ہے۔ آئیے ان کو بلاتے ہیں۔ آر ایف آئی ڈی سینسر и آر ایف آئی ڈی پارسر بالترتیب سسٹم کمپوزر میں اسے کیسے ڈسپلے کریں؟ آپ ایک جزو کو ہٹا سکتے ہیں۔ آر ایف آئی ڈی ریڈر اور اس کے بجائے دو اجزاء ڈالیں، لیکن ایسا نہ کرنا بہتر ہے، ورنہ ہم فن تعمیر کی پڑھنے کی اہلیت سے محروم ہو جائیں گے۔ اس کے بجائے، آئیے RFIDReader کے اندر جائیں اور 2 نئے اجزاء شامل کریں:

سسٹم کی سطح پر ڈیزائن۔ حصہ 1۔ خیال سے نظام تک

بہت اچھا، اب آئیے صارف کو مطلع کرنے کی طرف بڑھتے ہیں۔ سسٹم صارف کو کیسے مطلع کرے گا کہ اسے احاطے تک رسائی سے انکار یا اجازت دی گئی ہے؟ ایک شخص آوازوں اور جھپکنے والی چیز کو بہتر طور پر محسوس کرتا ہے۔ لہذا، آپ ایک مخصوص ساؤنڈ سگنل جاری کر سکتے ہیں تاکہ صارف توجہ دے، اور ایل ای ڈی کو جھپکائیں۔ آئیے اس میں مناسب اجزاء شامل کریں۔ یوزر نوٹیفائی:

سسٹم کی سطح پر ڈیزائن۔ حصہ 1۔ خیال سے نظام تک

ہم نے اپنے نظام کا فن تعمیر بنایا ہے، لیکن اس میں کچھ گڑبڑ ہے۔ کیا؟ آئیے کنکشن کے ناموں کو دیکھتے ہیں۔ ان بس и آؤٹ بس - بالکل عام نام نہیں جو ڈویلپر کی مدد کریں۔ ان کا نام تبدیل کرنے کی ضرورت ہے:

سسٹم کی سطح پر ڈیزائن۔ حصہ 1۔ خیال سے نظام تک

لہذا، ہم نے دیکھا کہ کس طرح سسٹم انجینئرنگ کے طریقوں کو انتہائی قریب میں لاگو کیا جاتا ہے۔ سوال یہ پیدا ہوتا ہے کہ ان کا استعمال کیوں کریں؟ نظام قدیم ہے، اور ایسا لگتا ہے کہ کیا گیا کام غیر ضروری ہے۔ آپ فوری طور پر کوڈ لکھ سکتے ہیں، ڈیٹا بیس ڈیزائن کر سکتے ہیں، سوالات لکھ سکتے ہیں یا سولڈر کر سکتے ہیں۔ مسئلہ یہ ہے کہ اگر آپ سسٹم کے ذریعے نہیں سوچتے اور یہ نہیں سمجھتے کہ اس کے اجزاء ایک دوسرے سے کیسے جڑے ہوئے ہیں، تو سسٹم کے اجزاء کے انضمام میں کافی وقت لگے گا اور کافی تکلیف دہ ہوگا۔

اس حصے سے اہم راستہ یہ ہے:

سسٹم ڈویلپمنٹ میں سسٹم انجینئرنگ کے طریقوں اور آرکیٹیکچر ماڈلنگ کا استعمال کسی کو اجزاء کے انضمام کے اخراجات کو کم کرنے اور ترقی یافتہ نظام کے معیار کو بہتر بنانے کی اجازت دیتا ہے۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں