مهندس أنظمة
مهندس النظم هو متخصص في تكنولوجيا المعلومات والاتصالات . يحدد مهندسو النظم بنية النظام المحوسب (أي النظام المؤلف من برمجيات وأجهزة) لتلبية متطلبات محددة . تشمل هذه التعريفات: تقسيم النظام إلى مكوناته، وتفاعلات هذه المكونات وواجهاتها (بما في ذلك مع البيئة، وخاصة المستخدم)، والتقنيات والموارد المستخدمة في تصميمه وتنفيذه.
ينبغي أن يسعى عمل مهندس النظم إلى تجنب مشكلات التنفيذ ، وأن يسمح بسهولة بإجراء تعديلات أو إضافات غير متوقعة في المراحل اللاحقة. ونظرًا للخبرة الواسعة المطلوبة لهذا الدور، فإن مهندس النظم عادةً ما يكون خبيرًا تقنيًا ذا خبرة كبيرة، يمتلك معرفة واسعة، وإن كانت عامة، بالأجهزة والبرامج والأنظمة المشابهة (أنظمة المستخدم). والأهم من ذلك، يجب أن يكون مهندس النظم على دراية جيدة بمجال خبرة المستخدمين. فعلى سبيل المثال، يحتاج مهندس نظام مراقبة الحركة الجوية إلى أن يكون ملمًا إلمامًا تامًا بجميع مهام هذا النظام، بما في ذلك مهام جميع مستويات المستخدمين.
يشير لقب مهندس النظم إلى مسؤوليات تصميم على مستوى أعلى من مهندس النظم أو مهندس البرمجيات أو المبرمج ، على الرغم من أن الأنشطة اليومية قد تتداخل.
ملخص
يتواصل مهندسو النظم مع مختلف الجهات المعنية في المؤسسة لفهم مستويات المتطلبات المختلفة، والمجال، والتقنيات المتاحة، وعملية التطوير المتوقعة. يشمل عملهم تحديد بدائل متعددة للتصميم والتنفيذ، وتقييم هذه البدائل بناءً على جميع القيود المحددة (مثل التكلفة، والجدول الزمني، والمساحة، والطاقة، والسلامة، وسهولة الاستخدام، والموثوقية، وقابلية الصيانة، والتوافر، وغيرها من الجوانب )، واختيار الخيارات الأنسب لمزيد من التصميم. تحدد مخرجات هذا العمل الخصائص الأساسية للنظام وتلك التي يصعب تغييرها لاحقًا.
في الأنظمة الصغيرة، يُحدد المطورون عادةً بنية النظام مباشرةً. أما في الأنظمة الأكبر، فيُفضل تعيين مهندس أنظمة لوضع مخطط النظام العام، والتنسيق بين المستخدمين والجهات الراعية وأصحاب المصلحة الآخرين من جهة، والمهندسين من جهة أخرى. قد تضم الأنظمة الكبيرة جدًا والمعقدة للغاية عدة مهندسين، وفي هذه الحالة، يتعاون المهندسون لدمج أنظمتهم الفرعية أو جوانبهم، ويخضعون لإشراف مهندس رئيسي مسؤول عن النظام بأكمله. بشكل عام، يتمثل دور المهندس في التوفيق بين المستخدمين والمهندسين، والتوفيق بين احتياجات المستخدمين ومتطلباتهم وبين ما حدده المهندسون كإمكانية تنفيذ ضمن القيود الهندسية المتاحة.
في تصميم الأنظمة ، يكون المهندسون المعماريون (والمهندسون) مسؤولين عن:
- التواصل مع المستخدم (المستخدمين) والجهة الراعية (الجهات الراعية) وجميع أصحاب المصلحة الآخرين من أجل تحديد احتياجاتهم (المتطورة).
- توليد أعلى مستوى من متطلبات النظام ، بناءً على احتياجات المستخدمين والقيود الأخرى.
- ضمان أن تكون هذه المجموعة من المتطلبات عالية المستوى متسقة وكاملة وصحيحة ومحددة عملياً .
- إجراء تحليلات التكلفة والفوائد لتحديد ما إذا كانت المتطلبات يتم تلبيتها على أفضل وجه من خلال الوظائف اليدوية أو البرمجية أو المادية ؛ والاستفادة القصوى من المكونات التجارية الجاهزة أو المطورة بالفعل .
- تطوير خوارزميات التقسيم (وغيرها من العمليات ) لتخصيص جميع المتطلبات الحالية والمتوقعة في أقسام منفصلة بحيث تكون هناك حاجة إلى الحد الأدنى من الاتصالات بين الأقسام، وبين المستخدمين والنظام.
- تقسيم الأنظمة الكبيرة إلى (طبقات متتالية من) الأنظمة الفرعية والمكونات التي يمكن التعامل مع كل منها بواسطة مهندس واحد أو فريق من المهندسين أو مهندس معماري تابع.
- التواصل مع مهندسي التصميم والتنفيذ والمعماريين، بحيث يمكن حل أي مشاكل تنشأ أثناء التصميم أو التنفيذ وفقًا لمفاهيم التصميم الأساسية واحتياجات المستخدمين وقيودهم.
- ضمان تطوير تصميم قوي وقابل للتوسيع إلى أقصى حد.
- إنشاء مجموعة من متطلبات اختبار القبول ، بالتعاون مع المصممين ومهندسي الاختبار والمستخدمين، والتي تحدد ما إذا تم استيفاء جميع المتطلبات عالية المستوى، وخاصة فيما يتعلق بواجهة الإنسان والكمبيوتر .
- إنتاج منتجات مثل الرسومات التخطيطية والنماذج ودليل المستخدم الأولي والنماذج الأولية لإبقاء المستخدمين والمهندسين على اطلاع دائم ومتفقين على النظام الذي سيتم توفيره أثناء تطوره.
- ضمان الحفاظ على جميع المنتجات المعمارية والمنتجات التي تتضمن مدخلات معمارية في أحدث حالة وعدم السماح لها بالتخلف بشكل خطير أو أن تصبح قديمة.
مهندس أنظمة: المواضيع
طُوِّرت هندسة الأنظمة الكبيرة كوسيلة للتعامل مع الأنظمة التي تفوق قدرة شخص واحد على تصورها، ناهيك عن تصميمها. وباتت هذه الأنظمة الضخمة هي السائدة، مما يزيد الحاجة إلى مناهج معمارية ومهندسين معماريين لحل مشاكل الأنظمة الكبيرة والضخمة. وبشكل عام، تُختزل الأنظمة الضخمة إلى أبعاد يسهل فهمها من خلال منهجية الطبقات، حيث تتكون كل طبقة من عدد من الطبقات الفرعية التي يمكن فهمها بشكل فردي، ولكل منها مهندسها الرئيسي أو مهندسها المعماري. وتُعرض الطبقة الكاملة في مستوى معين كمكون وظيفي لطبقة أعلى (وقد تختفي تمامًا في الطبقات العليا).
المستخدمون والجهات الراعية
يُتوقع من المهندسين المعماريين فهم احتياجات الإنسان وتطوير منتجات عملية وجميلة في آن واحد. كما يُعدّ المهندس المعماري الجيد المسؤول الرئيسي عن رؤية المستخدمين للمنتج النهائي، وعن عملية استخلاص المتطلبات من تلك الرؤية وتنفيذها.
لا يتبع المهندسون المعماريون إجراءات محددة بدقة، بل يتواصلون مع المستخدمين/الجهات الراعية بطريقة تفاعلية وغير رسمية نسبيًا، حيث يستخلصون معًا المتطلبات الحقيقية اللازمة للنظام النهائي المصمم. يجب على المهندس المعماري البقاء على اتصال دائم مع المستخدمين النهائيين ومهندسي الأنظمة الرئيسيين. لذا، يجب أن يكون المهندس المعماري على دراية تامة ببيئة المستخدمين ومشكلاتهم، بالإضافة إلى بيئات الهندسة الخاصة بمجالات الحلول المحتملة.
متطلبات المستوى العالي
ينبغي أن تكون مواصفات متطلبات المستخدم نتاجًا مشتركًا بين المستخدمين والمهندس المعماري: حيث يُقدّم المستخدمون احتياجاتهم ورغباتهم، بينما يُقدّم المهندس المعماري خبرته فيما يُمكن تنفيذه ضمن قيود التكلفة والوقت وغيرها. وعندما تُترجم احتياجات المستخدمين إلى مجموعة من المتطلبات العامة، يكون الوقت الأمثل لكتابة النسخة الأولى من اختبار القبول ، والذي يجب تحديثه باستمرار ليواكب المتطلبات. وبهذه الطريقة، سيكون المستخدمون على دراية تامة بما سيحصلون عليه. كما يُعدّ ذلك ضمانة ضد المتطلبات غير القابلة للاختبار، وسوء الفهم، وتوسع نطاق المتطلبات.
لا يُعدّ تطوير المستوى الأول من المتطلبات الهندسية عملية تحليلية بحتة، بل ينبغي أن يشمل كلاً من مهندس التصميم المعماري والمهندس. وفي حال تطلّب الأمر تقديم بعض التنازلات لتلبية القيود، يجب على مهندس التصميم المعماري ضمان عدم ابتعاد المنتج النهائي وشكله العام عن غرض المستخدمين. أما المهندس، فينبغي أن يركز على تطوير تصميم يُحسّن من أداء النظام في ظل القيود، مع ضمان منتج عملي وموثوق وقابل للتطوير ومتين. ويُعدّ توفير الخدمات اللازمة للمستخدمين الوظيفة الأساسية لأي نظام هندسي. ومع ذلك، فمع ازدياد حجم الأنظمة وتعقيدها، وتحوّل تركيزها من مجرد مكونات برمجية وأجهزة بسيطة، تبيّن أن التطبيق الضيق لمبادئ تطوير الأنظمة التقليدية غير كافٍ، بل بات من الضروري تطبيق مبادئ أكثر عمومية لهندسة الأنظمة والأجهزة والبرمجيات على تصميم الأنظمة (الفرعية). يمكن النظر إلى الهندسة المعمارية أيضًا على أنها نموذج مبسط للمنتج النهائي، ووظيفتها الأساسية هي تحديد الأجزاء وعلاقاتها ببعضها البعض بحيث يُنظر إلى الكل على أنه تمثيل متسق وكامل وصحيح لما كان يدور في ذهن المستخدمين، لا سيما فيما يتعلق بواجهة المستخدم الحاسوبية. كما تُستخدم لضمان توافق الأجزاء وترابطها بالطريقة المطلوبة.
من الضروري التمييز بين بنية عالم المستخدمين وبنية الأنظمة الهندسية. تمثل الأولى المشكلات والحلول في عالم المستخدمين وتعالجها ، وتتجلى بشكل أساسي في واجهات التفاعل بين الإنسان والحاسوب (CHI) للنظام الهندسي. أما النظام الهندسي فيمثل الحلول الهندسية، أي كيف يقترح المهندس تطوير و/أو اختيار ودمج مكونات البنية التحتية التقنية لدعم واجهات التفاعل بين الإنسان والحاسوب. في غياب مهندس معماري متمرس، يميل البعض إلى الخلط بين البنيتين. يفكر المهندس من منظور الأجهزة والبرامج ومساحة الحلول التقنية، بينما قد يفكر المستخدمون في حل مشكلة نقل الأشخاص من نقطة أ إلى نقطة ب في وقت معقول وبجهد معقول، أو في توفير المعلومات اللازمة للعملاء والموظفين. يُتوقع من مهندس النظم الجمع بين معرفة بنية عالم المستخدمين ومعرفة جميع بنيات الأنظمة الهندسية (التي قد تكون مفيدة) . الأولى نشاط مشترك مع المستخدمين، والثانية نشاط مشترك مع المهندسين. المنتج عبارة عن مجموعة من المتطلبات عالية المستوى التي تعكس متطلبات المستخدمين والتي يمكن للمهندسين استخدامها لتطوير متطلبات تصميم الأنظمة.
نظراً لأن المتطلبات تتطور على مدار المشروع، وخاصة المشروع الطويل، فإن الحاجة ماسة إلى مهندس معماري حتى يتم قبول النظام من قبل المستخدم: يضمن المهندس المعماري أن جميع التغييرات والتفسيرات التي يتم إجراؤها أثناء عملية التطوير لا تؤثر سلباً على وجهة نظر المستخدمين.
تحليلات التكلفة والعائد
يُعتبر المهندسون المعماريون متخصصين في مجالات متعددة. لا يُتوقع منهم أن يكونوا خبراء في تقنية واحدة، بل يُتوقع منهم الإلمام بالعديد من التقنيات والقدرة على تقييم مدى ملاءمتها لحالات محددة. كما أنهم يطبقون معارفهم على المواقف العملية، مع تقييم جدوى الحلول المختلفة باستخدام تقنيات متنوعة، كالأجهزة مقابل البرامج مقابل الحلول اليدوية، والتأكد من أن النظام ككل يعمل وفقًا لتوقعات المستخدمين.
يمكن اختيار العديد من مكونات الأجهزة والبرامج الجاهزة أو المطورة مسبقًا بشكل مستقل وفقًا لقيود مثل التكلفة والاستجابة والإنتاجية، وما إلى ذلك. في بعض الحالات، يستطيع مهندس النظام تجميع النظام النهائي (تقريبًا) دون مساعدة. أو قد يحتاج إلى مساعدة مهندس أجهزة أو برامج لاختيار المكونات وتصميم وبناء أي وظيفة ذات غرض خاص. كما يمكن لمهندسي النظام (أو المهندسين) الاستعانة بمتخصصين آخرين في مجالات السلامة والأمن والاتصالات والأجهزة ذات الأغراض الخاصة والرسومات والعوامل البشرية والاختبار والتقييم ومراقبة الجودة والموثوقية وسهولة الصيانة والتوافر وإدارة الواجهات ، وما إلى ذلك . يجب أن يتمتع فريق هندسة الأنظمة الفعال بإمكانية الوصول إلى متخصصين في التخصصات الحيوية عند الحاجة.
التقسيم والترتيب الطبقي
يعمل المهندس المعماري الذي يخطط لمبنى على التصميم العام، حرصًا منه على أن يكون مريحًا وعمليًا لسكانه. وبينما قد يكفي مهندس معماري واحد لبناء منزل عائلي، قد يلزم وجود العديد من المهندسين، بالإضافة إلى ذلك، لحل المشكلات التفصيلية التي تنشأ عند تصميم مبنى شاهق جديد. إذا كان المشروع كبيرًا ومعقدًا بما يكفي، فقد تُصمم أجزاء من التصميم المعماري كعناصر مستقلة. أي، إذا كنا نبني مجمعًا سكنيًا، فقد يكون لدينا مهندس معماري واحد للمجمع، ومهندس آخر لكل نوع من أنواع المباني، كجزء من فريق معماري.
تتطلب أنظمة الأتمتة الكبيرة مهندسًا معماريًا وخبرة هندسية واسعة. إذا كان النظام المصمم كبيرًا ومعقدًا بما يكفي، فقد يُوكل مهندس الأنظمة بعض مهام العمل إلى مهندس الأجهزة و/أو مهندس البرمجيات، مع العلم أنهم جميعًا قد يكونون أعضاءً في فريق معماري مشترك.
ينبغي على مهندس النظام توزيع متطلبات النظام على المكونات الرئيسية أو الأنظمة الفرعية التي تقع ضمن نطاق عمل مهندس برمجيات أو أجهزة واحد، أو مدير هندسي وفريقه. ولكن لا ينبغي أبدًا اعتبار مهندس النظام مشرفًا هندسيًا. (إذا كان العنصر كبيرًا و/أو معقدًا بدرجة كافية، فسيقوم كبير المهندسين بتوزيع أجزاء منه على مهندسين أكثر تخصصًا). من الناحية المثالية، يكون كل مكون/نظام فرعي من هذه المكونات/الأنظمة الفرعية كيانًا قائمًا بذاته بما يكفي لاختباره كمكون كامل، منفصل عن النظام ككل، باستخدام بيئة اختبار بسيطة فقط لتوفير مدخلات محاكاة وتسجيل المخرجات. أي أنه ليس من الضروري معرفة كيفية عمل نظام مراقبة الحركة الجوية لتصميم وبناء نظام فرعي لإدارة البيانات خاص به. يكفي فقط معرفة القيود التي يُتوقع أن يعمل النظام الفرعي في ظلها.
يحرص المهندس المعماري الجيد على أن يُبنى النظام، مهما بلغ تعقيده، على مفاهيم بسيطة وواضحة لكل نظام فرعي أو طبقة، وأن يكون سهل الفهم للجميع، وخاصة المستخدمين، دون الحاجة إلى تدريب متخصص. ويستخدم المهندس المعماري الحد الأدنى من الأساليب التقريبية لضمان تعريف كل قسم تعريفًا دقيقًا وخلوه من الحلول الترقيعية والحلول البديلة والاختصارات والتفاصيل المُربكة والاستثناءات. ومع تطور احتياجات المستخدمين (بعد نشر النظام واستخدامه)، يصبح من الأسهل بكثير تطوير مفهوم بسيط بدلًا من مفهوم مُثقل بالاستثناءات والحالات الخاصة والتفاصيل الدقيقة.
يُعدّ تنظيم بنية النظام في طبقات أمرًا بالغ الأهمية للحفاظ على بساطتها في كل طبقة ، بحيث تبقى مفهومة لعقل واحد. ومع ازدياد الطبقات، تتحول الأنظمة الكاملة في الطبقات الدنيا إلى مكونات بسيطة في الطبقات العليا، وقد تختفي تمامًا في الطبقات العليا جدًا.
اختبار القبول
يُعد اختبار القبول مسؤولية رئيسية لمهندس النظم. وهو الوسيلة الأساسية التي يثبت بها قائد البرنامج للمستخدمين أن النظام يعمل وفقًا للخطة الأصلية وأن جميع المهندسين المعماريين والمهندسين المعنيين قد حققوا أهدافهم.
التواصل مع المستخدمين والمهندسين
يستخدم مهندس المباني الرسومات التخطيطية والنماذج والرسومات. وينبغي لمهندس أنظمة الأتمتة (سواءً كانت برمجيات أو أجهزة) استخدام الرسومات التخطيطية والنماذج والنماذج الأولية لمناقشة الحلول والنتائج المختلفة مع المستخدمين والمهندسين وغيرهم من المهندسين المعماريين. تُعدّ مسودة دليل المستخدم الأولية ذات قيمة كبيرة، لا سيما عند استخدامها مع نموذج أولي. ومع ذلك، من المهم وضع مجموعة متطلبات أو مواصفات عملية ومكتوبة بشكل جيد ، بحيث تكون مفهومة بشكل معقول للعميل (ليتمكن من الموافقة عليها بشكل صحيح، مع ضرورة تضمين متطلبات المستخدمين الرئيسية في دليل مستخدم أولي لضمان وضوحها). ويجب أن تستخدم لغة دقيقة وواضحة لا لبس فيها، بحيث لا يترك المصممون والمنفذون الآخرون أي مجال للشك في المعاني أو النوايا. وعلى وجه الخصوص، يجب أن تكون جميع المتطلبات قابلة للاختبار ، وينبغي إعداد المسودة الأولية لخطة الاختبار بالتزامن مع المتطلبات. وينبغي لجميع أصحاب المصلحة الموافقة على أوصاف اختبار القبول ، أو ما يعادلها، باعتبارها المحدد الوحيد لاستيفاء المتطلبات، وذلك في بداية البرنامج.
استعارة المهندس المعماري
يخضع استخدام أي شكل من أشكال كلمة "مهندس معماري" للتنظيم بموجب "قوانين الملكية" في العديد من الولايات الأمريكية، ويجب أن يكون الشخص مرخصًا كمهندس معماري للمباني لاستخدامها. [ 1 ]
في المملكة المتحدة، يستثني مجلس تسجيل المهندسين المعماريين استخدام مصطلح "مهندس معماري" (عند استخدامه في سياق البرمجيات وتكنولوجيا المعلومات) من نطاق استخدامه المقيد. [ 2 ]
انظر أيضاً
مراجع
- ↑ يُعدّ مصطلح "مهندس معماري" لقبًا مهنيًا محميًا بموجب القانون ، ويقتصر استخدامه، في معظم دول العالم، على من تلقوا تدريبًا في تخطيط وتصميم والإشراف على بناء المباني . في هذه الدول، يُحظر على أي شخص غير مرخص له بممارسة مهنة الهندسة المعمارية استخدام هذا اللقب بأي شكل من الأشكال . في ولاية نيويورك، وفي ولايات أمريكية أخرى، يُعدّ استخدام لقب "مهندس معماري" دون ترخيص جريمة يُعاقب عليها القانون . "الهندسة المعمارية: ما هو قانوني وما هو غير قانوني" (ملف PDF) . معهد المهندسين المعماريين الأمريكيين - ولاية نيويورك . تاريخ الاطلاع: 9 يوليو 2012 ."قانون العمارة في ولاية نيويورك: القوانين والقواعد واللوائح: المادة 147 العمارة" . تم الاطلاع عليه بتاريخ 9 يوليو 2012 .
- ↑ "ما نفعله لتنظيم استخدام لقب 'مهندس معماري'"" . مجلس تسجيل المهندسين المعماريين . تم الاطلاع عليه بتاريخ 8 يوليو 2019. "
للمزيد من القراءة
- دونالد فايرسميث وآخرون: إطار المنهجية لهندسة معمارية النظام ، (2008)
- مارك دبليو. ماير وريشتين، إيبرهاردت، فن هندسة النظم ، الطبعة الثالثة (2009)
- جيريت مولر، "هندسة النظم: منظور الأعمال"، مطبعة سي آر سي، (2012).
- إيبرهاردت ريشتين ، هندسة النظم: إنشاء وبناء الأنظمة المعقدة ، 1991.
- JH Saltzer , MF Kaashoek, Principles of Computer System Design: An Introduction , Morgan Kaufmann, 2009.
- روب ويليامز، هندسة أنظمة الحاسوب: نهج الشبكات ، الطبعة الثانية (ديسمبر 2006).
روابط خارجية
- مبادئ تصميم أنظمة الحاسوب: مقدمة – دورات معهد ماساتشوستس للتكنولوجيا المفتوحة
- هندسة النظم: شركة كاناكسيا تستقطب مهندسًا معماريًا ، مقال
- وظائف الهندسة المعمارية
- وظائف تكنولوجيا المعلومات
- هندسة المؤسسة
- هندسة النظم
