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

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

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

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

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

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

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

فما هي ممارسة هندسة الأنظمة وتطوير البرمجيات؟

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

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

وهناك ثلاثة أنواع أساسية منها: برامج النظام مثل أنظمة التشغيل، برامج مثل محررات النصوص والمترجمات وبرامج التطبيقات، مثل برامج إدارة البيانات وحماية وأمن المعلومات.

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

وفي الواقع، عادة ما تكون الأمور أكثر تعقيدًا من ذلك. إن الجهد النسبي المبذول على الأنشطة المختلفة، حتى تسليم النظام متنوعة، لكنها تعادل 20٪ من الجهد على البرمجة «الترميز» للنظام بينما تستهلك المتطلبات الهندسية والتصميم، وخصوصا أنشطة الاختبار، مايعادل 40٪ من الجهد الإجمالي. وقد يتكون «النظام/البرنامج» نفسه أيضًا من عدد من المكونات المتفاعلة، تعتمد على شروط حدود المشروع والظروف المحيطة به، كما أن تخطيط المشروع هو الخطوة الأولى التي يجب القيام بها، وجزء من عملية التخطيط هذه هو تحديد خصائص المشروع، وتأثيره على عملية التصميم/التطوير المستهدفة.

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

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

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

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

هل هو تخصص أو برنامج مهني، أم أنه الاثنان معا، وأحد أهم احتياجات سوق العمل الحالية والمستقبلية، والتي قدر سوق العمل في القطاع الخاص احتياجه من واقع الإعلانات الوظيفية المبوبة، في الشهر المنصرم فقط بالمملكة بأكثر من 100 وظيفة، يبلغ مستوى الدخل فيها من 170 إلى 270 ألف ريال سنويا.