هندسة النظم والبرمجيات( (Software Engineering :
■ تكنولوجيا النظم و البرمجيات
مستويات النظم و البرمجيات: نظرا لقيام النظم و البرمجيات بمهام عدة ومتنوعة فقد جرى العرف على تقسيمها إلى ثلاثة مستويات رئيسية:
- برمجيات السيطرة أو التحكم.
- لغات البرمجة.
- برمجيات تطبيقية.
والتالي شرح موجز لكل من هذه النوعيات:
(أ) برمجيات السيطرة: لكي نعي دور برمجيات السيطرة نشير هنا إلى أن
الكمبيوتر يخرج من المصنع كآلة صفاء فارغة ذاكرتها، ومعدات تخزينها خلو من
أي بيانات أو برامج، ما إن توصل هذه الآلة بمصدر الطاقة الكهربية حتى تسلم
قيادتها إلى برنامج التحكم والسيطرة، أو ما يعرف حاليا بنظام التشغيل الذي
ينتقل إلى الذاكرة يتبوأ موضع القيادة بها، فيقوم- ضمن ما يقوم به- بتحميل
برنامج التطبيق (مثل برنامج حساب الأجور) في ذاكرة الكمبيوتر تمهيدا
لتنفيذه، وبرنامج نظام التشغيل هو الذي يوزع طاقة وحدة المعالجة المركزية
CPU على المهام المختلفة، وهو الذي ينقل الملفات من موضع إلى آخر ما بين
وسائط تخزين البيانات من أقراص صلدة ومرنة ومدمجة. إنه- أي نظام التشغيل-
هو شرطي المرور الذي ينظم حركة البيانات من وحدات الإدخال إلى الذاكرة،
ومنها إلى وحدات الإخراج، وهو الذي يعطي أولوية استخدام هذه الوحدات إن
تنازع عليها أكثر من برنامج، وفوق ذلك فهو الذي ينظم العلاقة بين الآلة
ومستخدمها، يمده برسائل الأخطاء ويعاونه على إزالتها ويحتفظ له بسجل
لمراقبة الآلة طيلة فترة تنفيذها لبرنامجه أو أوامره.
(ب) لغات البرمجة: لغات البرمجة، مثل لغات سي، والبيسك، والكوبول
والفنورتران، لغات اصطناعية، وهي تمثل حلقة الوصل بين المبرمج والتفاصيل
الداخلية لنظام الكمبيوتر، وفي بداية ظهور الكمبيوتر كانت البرامج تكتب
بلغة الآلة وهي مهمة لا يستطيع القيام بها إلا غلاة المتخصصين حيث تفترض
معرفة دقيقة بالتفاصيل الداخلية للعتاد، ولكي تصبح الآلة أكثر يسرا في
استخدامها ظلت لغات البرمجة ترتقي مبتعدة عن الآلة صوب الإنسان المستخدم
حتى أوشكت - حاليا- أن تحاكي لغته الطبيعية، أي تلك المستخدمة في الحياة
اليومية.
(ج) برمجيات تطبيقية: يمثل برنامج التطبيق الغاية التي من أجلها يعمل
النظام الآلي، وهو بمنزلة حلقة الوصل بين النظام الآلي والمشكلة التي يتصدى
لها، والبيئة التي يعمل في ظلها. إن برنامج التطبيق هو الذي يحسب الأجور
ويخرج كشوف الحساب ويراقب رصيد المخازن، وهو الذي يحجز مقاعد الطائرة ويحل
المعادلات الرياضية ويقدم المادة التعليمية ويحرك الأشكال ويعزف الموسيقى
ويكتشف الأخطاء اللغوية، ويفهرس الوثائق ويصنفها آليا، وهو أيضا الذي يتحكم
في آلات المصانع وفي شبكات توزيع الكهرباء، ويشغل مقاسم الهواتف ويراقبها،
وذلك- بالطبع- على سبيل المثال لا الحصر.
■ توجهات حديثة
إن تطبيقات البرمجيات تحيطنا من كل صوب وعلى غير لون، وما نشهده حاليا هو
مجرد الموجة الأولى منها، أو موجة "البرامج الغشيمة" كما يطلقون عليها، أما
برمجيات الموجة الثانية القادمة فحدث ولا تخف، فهي وليدة مزيج علمي
تكنولوجي غاية في الإثارة يجمع بين هندسة المعرفة والذكاء الاصطناعي
وتكنولوجيا الواقع الخائلي والتنقيب عن المعرفة الكامنة في "مناجم "
البيانات، وتزخر أجندة تكنولوجيا البرمجيات المتقدمة بكل ما هو مثير ومرعب
في آن، إلى الحد الذي كادت أن تصبح معه رؤى الخيال العلمي هي نفسها أجندة
البحث العلمي.
بصورة عامة يمكن إبراز أهم النقلات النوعية لموجة البرمجيات القادمة في التوجهات الثلاثة التالية:
- نحو البرمجيات الذكية
- نحو الخائلية
- نحو مزيد من الضبط الهندسي
وسنتناول فيما يلي كلا من هذه التوجهات الثلاثة بمزيد من التفصيل:
(أ) نحو البرمجيات الذكية: الذكاء ليس حكرا على الإنسان دون غيره من
الكائنات، وليست، "الحيوانات أتوماتيات " كما خلص إلى ذلك ديكارت الذي خص
الإنسان وحده بالقدرة على التفكير، بل ربط وجود هذا الإنسان بشرط كونه
مفكرا (أنا أفكر إذن أنا موجود) وها هي النظم والآلات والأدوات تنضم إلى
عائلة الكائنات الذكية، وصدقت نبوءة عالم الرياضيات الإنجليزي ألان تورنج
الذي بشر قبل ظهور الكمبيوتر بخمسة عشر عاما بإمكان تطوير آلات ذكية تستطيع
أن تتكيف تلقائيا من خلال استقراء الواقع الذي تتعامل معه، وهي النبوءة
التي أخذها أهل الذكاء الاصطناعي مأخذ الجد فمضوا يعلنون عن تطوير آلات
تحاكي قدرات البشر الذهنية، آلات تسمع وتتحاور وتفكر وتحل المشكلات وتبرهن
النظريات وتؤلف المقالات، وتطرح الأسئلة الجديدة أيضا، ووصل الأمر ببعض
المتحمسين من أهل الذكاء الاصطناعي إلى القول إنه سيجيء اليوم الذي يمكن أن
يفوق فيه ذكاء الآلة ذكاء البشر تماما كما فاقت قوة الآلة الميكانيكية قوة
عضلاته، وفاقت قدرة الكمبيوتر التقليدي قدرته على القيام بالعمليات
الحسابية.
ملكة الذكاء : تسرع البعض في بداية ظهور الكمبيوتر، متصورا أن هذه السرعة
الهائلة، وهذه القدرة الحسابية الغاشمة، ووسائل التخزين ذات السعة العالية
كافية لحل كثير من المشكلات، ولكن سرعان ما اكتشف خطأ هذا التصور حيث أيقن
الجميع أن إكساب الآلة ملكة الذكاء يعتمد على مدى فهمنا لطبيعة البنى
الرمزية التي تتعامل معها آليات الحوسبة الطبيعية داخل المخ البشري، وتأتي
على قمتها الوظائف اللغوية: تعبيرا وفهما واستيعابا.
(ب) نحو الخائلية: الواقع الخائلي مفهوم آخر من تلك المفاهيم المثيرة التي
أضافتها تكنولوجيا البرمجيات إلى قاموس حياتنا المعاصرة، ويمكن النظر إلى
الخائلية على أنها بيئة اصطناعية لممارسة الخبرات بصورة أقرب ما تكون إلى
تلك في دنيا الواقع. أما مثالها النمطي الشائع، فهو محاكي الطيران المستخدم
في تدريب الطيارين على الأرض قبل تدريبهم في الجو، وهو- بصورة مبسطة- نظام
أرضي يحاكي كل ما يحدث في واقع الطيران، يضع الطيار المتدرب في بيئة أقرب
ما تكون إلى الظروف العملية التي سيواجهها في طيرانه الفعلي. إن نافذة
نموذج الطائرة في هذا؟ المحاكي الخائلي ليست زجاجا عاديا بل شاشات عرض
متصلة بكمبيوتر مخزن فيه جميع بيانات الطائرة ومحركها، وكذلك مسارات
الرحلات الجوية وطبيعية الأجواء وبيانات المطارات وممرات الهبوط والإقلاع
وطرق الاقتراب إليها. أثناء تشغيل محاكي الطيران، يتوالى عرض الصور على
شاشة النافذة بشكل دينامي، يتغير وفقا لوضع الطائرة وموضعها، ومعدل هبوطها
أو صعودها، وتسارعها أو تباطئها.
والآن، دعنا نتخيل نافذة محاكي الطيران هذه، وقد تحولت إلى نظارة مركبة على
قلنسوة، متصلة بجهاز الكمبيوتر يرتديها الشخص المتفاعل مع النظام الخائلي،
سواء كان محاكيا للطيران أم لغيره. بالطريقة نفسها، يتغير شكل ما يعرض على
شاشة هذه النظارة، مع تغير حركة الرأس (وهو ما يناظر حركة الطائرة في مثال
محاكي الطيران) ليخيل لهذا الشخص وكأن العالم يتحرك من حوله مع حركة رأسه،
كما يحدث في الواقع. بجانب هذه النظارة الفريدة هناك وسائل أخرى للتعامل
مع النظام الخائلي من قفازات وقابضات بل وأحذية وأزياء خاصة.
(
■ النظم و برمجيات التكنولوجيا
لقد أصبحت تكنولوجيا المعلومات محور جميع التكنولوجيات الأخرى، والتي تشمل:
تكنولوجيا الصناعة والزراعة، والإعلام والتعليم، والطب وصناعة الدواء،
والنقل والمواصلات وتكنولوجيا التعدين والثروة المعدنية وسنكتفي هنا بسرد
مختصر لأمثلة من البرمجيات المستخدمة في هذه المجالات التكنولوجية
المختلفة:
■ تكنولوجيا الصناعة:
- برمجيات التحكم في خطوط الإنتاج التي تتابع سير حركة تصنيع المنتجات،
وترصد مخزون المواد الخام، وتراقب مستوى جودة المنتجات وإنتاجية العاملين
والآلات وخلافه.
- برمجيات التصميم بمعاونة الكمبيوتر التي تعاون المصمم في إخراج تصميماته وتحديد خطوات تصنيعها والمواد اللازمة لإنتاجها.
- برمجيات التحكم في الآلات الرقمية التي تغذى ببيانات تصميم القطع المراد
تصنيعها لتقوم هذه الآلات أتوماتيا بتشكيل هذه القطع بالأبعاد المطلوبة
دون- أو بأقل- تدخل بشري.
■ تكنولوجيا إنتاج الغذاء:
- برمجيات إدارة المزارع والصعوبات التي تتحكم في سير الدورة الزراعية من
نثر البذور والتقاوي إلى جني الثمار والمحاصيل، وتضبط درجة حرارة ورطوبة
الصوبات وصوامع التخزين، وتحدد أنسب مواعيد الري وطرق استغلال المخصبات
ومقاومة الآفات وتقليل فاقد الغلال.
- برمجيات الإحصاء الزراعي وحساب أنسب الطرق لاستغلال الأراضي الزراعية وتوزيعها على المحاصيل لتحقيق أقصى عائد.
- برمجيات الهندسة الوراثية الخاصة بإنتاج البروتين الحيواني واستحداث فصائل جديدة من النباتات.
■ تكنولوجيا صناعة الدواء:
- النظم الخبيرة لتشخيص الأمراض والتي فاقت في بعض الحالات قدرة الأطباء المخضرمين
- برمجيات النظم الخائلية لتدريب الأطباء على إجراء الجراحات الدقيقة على نماذج رقمية تحاكي الجسد البشري
- برمجيات الرقابة على غرف العناية المركزة
- برمجيات الحسابات العلمية ومحاكاة التفاعلات الكيميائية الخاصة بصناعة الدواء.
■ تكنولوجيا النقل والمواصلات:
- برمجيات نظم الحجز المركزي لوسائل النقل المختلفة من طائرات وسيارات وقطارات وبواخر.
- برمجيات جدولة رحلات الطيران من أجل تحقيق أقصى استغلال للأسطول الجوي، أو تحقيق أقصى عائد من الرحلات الجوية.
- نماذج تنظيم حركة المرور والتحكم في إشاراته لتحقيق أقصى سيولة لتدفق حركة السيارات.
- برمجيات التحكم لسنترالات الهواتف وشبكات الاتصالات الرقمية من أجل تحسين الخدمة وتنويعها واستخراج الحسابات أتوماتيكيا.
■ تكنولوجيا التعدين والثروة المعدنية:
- برمجيات تحليل المواد وتخليقها
- برمجيات تحليل البيانات الجيولوجية اكتشاف مواقع الثروة المعدنية
- البرمجيات الخاصة بالاستشعار عن بعد إقامة الخرائط الجوية
- برمجيات ترشيد استغلال الطاقة وتقليل فاقدها، استحداث مصادر جديدة لها.
■ تكنولوجيا التعليم والإعلام:
- برمجيات مساندة التعليم والتعلم من أجل تنمية المهارات الذهنية وزيادة
إنتاجية المعلم والمتعلم في مواجهة تضخم المادة التعليمية وتعقدها.
- برمجيات الإحصاء التربوي ومساندة وضع السياسات التربوية والتخطيط التربوي وجهود البحوث والتنظير في مجال التعليم.
- برمجيات نظم تأليف المناهج.
- برمجيات الوسائط المتعددة التي تمتزج فيها جميع لأنساق الرمزية نصوصا وأشكالا وأصواتا.
- برمجيات التحكم في الأقمار الصناعية.
- برمجيات النشر الإلكتروني