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

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

شكل (2): التلاحم بين التكنولوجيات المؤدي لظهور الاقتصاد الرقمي
ويمثل ذلك الحدث الأعظم أهمية الذي يشكل المستقبل. ويعتبر تقليل
التكاليف وتكنولوجيا الدفع
Push Technology
والتطبيقات الأكثر قوة جزءا من الاتجاه
المتنامي نحو استخدام الحاسبات الآلية في كل مراحل الحياة
اليومية المعاصرة وأصبحت تمثل ضرورية ومطلوبة . هذه الحركة أدت
إلي بزوغ الاقتصاد الرقمي، حيث أن السرعة المتناهية والقدرة علي
الوصول إلي الجماهير في أي مكان وفي أي وقت بالإضافة إلي تطبيق
المعرفة من أساسيات السوق التنافسية في حقبة العولمة التي يشهدها
العالم المعاصر.
كما أن هذه التكنولوجيات تسرع إيقاع التجديد والإبداع في تطوير
البرمجيات وهي أساس لكل ذلك، في دورة العمل والإنتاج، كما أنها
أداة للتفاعل الجماعي الخاص بالمعرفة، وهي عامل هام في زيادة
تبادل المعرفة الخاصة بتطوير البرمجيات.
وفي الأعوام الخمسة عشر الماضية، أدي تسارع انتشار شبكة الإنترنت
عالميا إلي نمو كبير في الاقتصاد العالمي. وأحدثت هذه العملية
أثرا عميقا وضاغطا علي اقتصاديات الدول والمنظمات والمنشآت
للتنافس الفعلي في البيئة العالمية الجديدة. وأصبحت المعلومات
والمعارف في بيئة العمل والتنافس الجديدة من أهم السلع التي يمكن
للدول والمنظمات أن تحوز عليها وتمتلكها. وهنا يكمن دور كبير
للحكومات في تشجيع مؤسسات البحث والتطوير، الخاصة والعامة،
المجددة والقادرة علي استخدام المعرفة. وقد غير التكنولوجيا بوجه
عام وتكنولوجيا هندسة البرمجيات بوجه خاص، طريقة التفكير والعمل
والطريقة التي تستخدم بها هذه التكنولوجيا لتحسين الظروف
الاقتصادية.
3.
خلفية وأجيال هندسة
البرمجيات
يتأثر تطوير هندسة البرمجيات بالأنشطة الفكرية للذكاء البشري
التي ترتكز علي حل المشكلات التي تختص بالتعقيد الكبير في كثير
من أوجه المنافسة العالمية الغير محددة بشكل كبير.
وفي بداية مداخل تطوير البرمجيات في الستينيات والسبعينيات من
القرن العشرين، كانت الحرفية هي العامل الرئيسي للنجاح، وكان كل
مشروع يستخدم عمليات وأدوات العميل المتاحة لديه. وفي
الثمانينيات والتسعينيات من القرن الماضي نضجت صناعة البرمجيات
وتحولت إلي أكثر من مجال. علي أي حال، كانت معظم مشروعات
البرمجيات في هذه الحقبة ترتبط بالبحث والتطوير المتعمق التي
يسيطر عليها الابتكار البشري وبذلك اعتبرت غير اقتصادية إلي حد
كبير. إلا أنه في الحقبة الحديثة صار جيل عمليات البرمجيات يتجه
نحو مدخل إنتاجي يسيطر عليه بواسطة الآلية واقتصاديات المدى
البعيد.
يلخص العرض الملخص التالي الأجيال الثلاثة في تطوير البرمجيات:
3/1
الجيل الأول من تطوير البرمجيات يغطي الحقبة في الستينيات
والسبعينيات من القرن العشرين يتسم بأنه ذا سمة تقليدية بحتة،
استخدمت فيه المنظمات كل أدوات وعمليات ومكونات العميل وبناء
البرمجيات بلغات عتيقة غير ناضجة إلي حد ما. وكان من الممكن في
هذا الجيل التنبؤ بدرجة كبيرة بأهداف التكلفة والجدولة الزمنية
والجودة لمشروعات تطوير البرمجيات التي علي الرغم من ذلك لم تلبى
دائما.
3/2 الجيل الثاني يغطي
الفترة من الثمانينيات والتسعينيات من القرن الماضي أطلق
عليه تطوير هندسة البرمجيات. واستخدمت المنظمات المضطلعة
بالتطوير عمليات أكثر تكرارا وأدوات جاهزة الإنتاج، وأن حوالي
70% من مكوناتها اعتمدت علي لغات عالية المستوي
HLL
كما أن حوالي 30% من هذه البرمجيات كانت
متوافرة كمنتجات تجارية تتضمن نظم التشغيل
OS،
نظم إدارة قاعدة البيانات
DBMS
، الشبكية
Networking
، واجهة التفاعل الرسومية مع المستخدم
GUI.
وخلال الثمانينيات بدأت بعض المنظمات تحقق اقتصاديات في هذا
المجال، وتنمو درجة تعقيد التطبيقات وخاصة للنظم الموزعة التي
أصبحت لغات البرمجة والأساليب والتكنولوجيات المتوافرة غير
كافية.
3/3 الجيل الثالث الحالي
ويبدأ ببزوغ القرن اللحادي والعشرين وحتى الآن ارتبطت الممارسة
المعاصرة باستخدام العمليات المدارة والمقاسة جيدا ببيئات الآلية
المتكاملة، وأصبح أكثر من 70% من المكونات متاحة بطريقة جاهزة،
أما ال 30% من البرمجيات فإنه يحتاج إلي أن يبني بالتوجه نحو
العملاء.
ويمكن تلخيص هذه الأجيال في الشكل التالي الذي يرتبط بتكلفة
الوحدة والعائد علي الاستثمار:

شكل (3): مدي العائد علي الاستثمار لأجيال تطوير البرمجيات
الثلاثة
ويوضح الشكل التالي درجة تعقيد البرمجيات والاتجاهات المختلفة في
اقتصادياتها:

شكل (4): درجة التعقيد والاتجاهات في اقتصاديات البرمجيات
من الشكلين السابقين يمكن أن يتضح أداء مشروع تطوير معين في كل
جيل من الأجيال التي مر بها تطوير البرمجيات في التالي:
·
إمكانية التنبؤ في الجيل الأول إلا أن ذلك كان دائما أكثر من
الميزانية والجدول الزمني المحدد للتطوير.
·
غير ممكن التنبؤ في الجيل الثاني المرتبط ببزوغ هندسة البرمجيات
حيث كان الأداء يقع نادرا علي أساس الميزانية والجدول الزمني.
·
إمكانية التنبؤ في الجيل الثالث الحديث الذي في العادة يعتمد علي
ميزانية وجدولة محددة جيدا.
4.
مجال هندسة
البرمجيات: طبيعته ومفهومه
منذ بدء ظهور الحاسبات العلمية
Computing
في الأربعينيات من القرن العشرين وحتى الآن،
تمت تطبيقات واستخدامات الحاسبات الآلية بشكل مذهل ومثير
للاهتمام. وصارت البرمجيات تلعب دورا مركزيا في كل أوجه الحياة
اليومية: في الحكومة، البنوك والتمويل، الصناعة، النقل،
الاقتصاد، الإدارة، التجارة، التعليم، الترفيه، الخ. كما نمي
بصورة دراماتيكية عدد وحجم وتطبيق مجالات برامج الكمبيوتر.
ونتيجة لذلك، تنفق مئات البلايين من الدولارات في تطوير
البرمجيات التي صارت تمثل عصب الحياة لمعظم البشر الذين يعتمدون
علي فعالية تطوير البرمجيات.
وقد ساعدت منتجات البرمجيات الناس في أن يكونوا أكثر كفاءة
وإنتاجية، حيث أن هذه المنتجات تجعل الناس أكثر فعالية في حل
المشكلات التي تواجههم وتوفر لهم بيئة للعمل والأداء الأكثر
مرونة والأقل تعقيدا. وعلي الرغم من هذا النجاح الكبير توجد كثير
من المشكلات الخطيرة التي ترتبط بتكلفة وحداثة وجودة كثير من
منتجات البرمجيات نظرا لطبيعتها المميزة.
4/1 طبيعة هندسة البرمجيات:
من الأسباب التي تكمن فيها المشكلات المتعلقة بهندسة البرمجيات
تتمثل في طبيعتها التي تتميز بالعوامل الثلاث التالية:
·
منتجات البرمجيات تكون من بين النظم الأكثر تعقيدا التي يؤديها
البشر، وأن البرمجيات بطبيعتها تشتمل علي مكونات وخواص ضمنية ذات
طبيعة جوهرية (علي سبيل المثال، التعقيد المتعاظم والصفة غير
المنظورة والتغير المستمر) التي لا يمكن مخاطبتها بسهولة
[Brooks, 1995] .
·
أساليب وعمليات البرمجة التي أنجزت بفعالية بواسطة فرد أو فريق
عمل صغير لتطوير البرامج المتواضعة الحجم لا تلائم أو ترفع بنسبة
ما لتطوير النظم الكبيرة والمعقدة (علي سبيل المثال، النظم التي
تشتمل علي ملايين من سطور التكويد أو التشفير وتتطلب سنوات من
العمل الدءوب بواسطة مئات من مطوري البرمجيات).
·
سرعة التغيير في تكنولوجيا الحاسبات والبرمجيات التي تدفع الطلب
علي منتجات البرمجيات الجديدة والمتطورة باستمرار. وقد خلق هذا
الوضع توقعات العملاء وقوي المنافسة التي تشد قدرتنا لإنتاج
برمجيات تتسم بالجودة العالية في إطار تطوير وجدولة مقبولة.
وعلي هذا الأساس فإن مجال هندسة البرمجيات مختلف في طبيعته من
مجالات الهندسة الأخرى بسبب طبيعته غير الحسية أو غير المنظورة
وطبيعة عملياته المحددة المعالم، كما أن هذا المجال يسعى لتكامل
مبادئ الرياضيات وعلم الكمبيوتر مع المزاولات المختلفة المطورة
لإنتاج حقائق اصطناعية
Artifacts
طبيعية ومنظورة، كما يسعى أيضا لتطوير نماذج
منظمة وأساليب موثوق منها لإنتاج برمجيات عالية الجودة.
4/2 مفهوم هندسة البرمجيات:
بزغ مسمي "هندسة البرمجيات" كمجال علمي عام 1968 في نطاق مؤتمر
الناتو NATO
عن هندسة البرمجيات
[Naur,1969]
. ومنذ ذلك الوقت صار مصطلح "هندسة
البرمجيات" مستخدما بتوسع كبير في الصناعة والحكومة والدوائر
الأكاديمية: ففي الوقت الحالي يتوافر مئات الآلاف من مهنيي
الحاسبات الذين يطلق عليهم "مهندسي برمجيات"، ونشرت المطبوعات
العديدة تحت هذا المسمي، وأطلق المصطلح عل عدد كبير من المجوعات
والمنظمات والمؤتمرات المهنية، واستحدثت مقررات وبرامج تعليمية
تدرس هذا التخصص في كثير من الجامعات في الدول المتقدمة وعلي وجه
الخصوص في الولايات المتحدة الأمريكية.
وعلي الرغم من التوسع الكبير في استخدام مصطلح "هندسة
البرمجيات"، إلا أنه لا زالت توجد كثير من الآراء التي تتفق
وتختلف عن معني ومفهوم وطبيعة المصطلح. وعلي الرغم من ذلك، فإن
المؤيدين والمعارضين للمصطلح يشتركون جميعا بخيط مشترك يحدد
ويتضمن أن هندسة البرمجيات هي أكثر من ترميز أو تشفير البرامج،
حيث تتضمن جودة وجدولة واقتصاديات ومعرفة تطبيق المبادئ .
والعرض التالي يقدم ثلاث مفاهيم أو تعاريف تمثل تلك الآراء:
(1) "إنشاء واستخدام مبادئ الهندسة المحددة (الطرق) للحصول علي
برمجيات اقتصادية الموثوق منها والتي تعمل علي الآلات الواقعية"
[Bauer,
1972] .
(2) هندسة البرمجيات تمثل ذلك الشكل من الهندسة الذي يطبق مبادئ
علم الحاسب الآلي والرياضيات لتحقيق حلول ترتبط بفعالية التكلفة
لمشكلات البرمجيات.
(3) تطبيق مدخل منظمي محدد وكمي في تطوير وتشغيل وصيانة
البرمجيات
[IEEE, 1990].
وباستعراض هذه المفاهيم الثلاث، يمكن ملاحظة تواجد أوجه معينة
لكل من هذه التعاريف التي تسهم في منظور البرمجيات في إطار نمط
منظم ومراقب وفعال. وتبع لذلك، يوجد تركيز هام علي تحليل وتقييم
وتوصيف وتصميم وتطور البرمجيات. بالإضافة لذلك، تتوافر مجموعة من
القضايا المرتبطة بالإدارة والجودة، والحداثة، والابتكارية،
والمعايير والمهارات المرتبطة بالفرد وفريق العمل والمزاولة
المهنية التي تطلب دورا حيويا في هندسة البرمجيات.
4/3 هندسة البرمجيات كأحد تخصصات
علم الحاسب الآلي:
يتمثل عدم الإدراك المشترك عن رؤية مجال هندسة البرمجيات بأنه
يرتبط بالأنشطة الموجهة نحو العملية (أي المتطلبات، التصميم،
تأكيد الجودة، تحسين العملية وإدارة المشروع). ويلاحظ أن هذه
الرؤية يمكن أن تتحقق بواسطة التزود بخلفية هندسية، ومعرفة قوية
بعملية تطوير البرمجيات وخلفية محدودة بالحاسب الآلي التي تتضمن
خلفية استخدام لغة برمجة أو أكثر. وفي الواقع فإن الخلفية
الهندسية تعتبر إدراك قاصر قاد إلي هذا التفكير، كما أنها مبنية
علي رؤية طبيعية وتحديات غير كاملة عن هندسة البرمجيات.
وفي التطور التاريخي للحاسبات الآلية، أنتج علماء الحاسب الآلي
برمجيات، كما أنتج علماء الهندسة الكهربائية الأجهزة التي تشغل
عليها البرمجيات. وبنمو حجم وزيادة درجة التعقيد والأهمية الحرجة
للبرمجيات، نمت الحاجة لتأكيد أن البرمجيات تؤدي ما قصد من
تطويرها. ومن بدء السبعينيات من القرن العشرين الماضي كان واضحا
أن مزاولات تطوير البرمجيات الملائمة تتطلب أكثر من تأكيد مبادئ
علم الحاسب الآلي فحسب، حيث أنها تحتاج إلي توافر كلا من الأدوات
التحليلية والوصفية المطورة في إطار علم الحاسب الآلي، وإن الدقة
المرتبطة بمجالات الهندسة في الواقع العملي ترتبط باعتماد
الحقائق الاصطناعية
Artifacts
التي تتعامل معها. وعلي ذلك فإن هندسة
البرمجيات تختلف في الخواص عن مجالات الهندسة طبقا لكل من طبيعة
البرمجيات غير المنظورة وطبيعة تشغيلها المنفصلة والمتميزة.
وتسعي هندسة البرمجيات إلي تكامل مبادئ الرياضيات وعلم الحاسب
الآلي مع المزاولات الهندسية المطورة في إنتاج حقائق اصطناعية
طبيعية ملموسة. وبناء علي الرياضيات كأسس لهذا المجال فإن هندسة
البرمجيات تسعي لتطوير نماذج منظمة وأساليب موثوق منها لإنتاج
برمجيات عالية الجودة. وتمتد هذه الاهتمامات إلي كل من المدى
المنظور من النظرية والمبادئ لمزاولات التطوير الأكثر وضوحا، إلي
تلك المتواجدة خارج نطاق هذا المجال. وبينما لا يتوقع أن كل
مهندسي البرمجيات يمتلكون خبرة متعمقة في كل أوجه الحاسب الآلي،
فإن الفهم العام المرتبط بهم يحتم عليهم الخبرة في الأوجه
العملية لتطوير البرمجيات ذاتها.
5. خصائص صناعة
البرمجيات
5/1 التدرج العالمي لصناعة
البرمجيات وتصدير منتجاتها:
تندرج دول العالم في إطار صناعة البرمجيات وتصدير منتجاتها تحت
أربعة فئات أو مستويات كما يلي:
·
المرتبة الأولي تضم دولا كالولايات المتحدة الأمريكية، دول
الاتحاد الأوربي، كندا، استراليا، اليابان ثم الهند وإسرائيل
وأيرلندا كأهم الدول المنتجة والمصدرة للبرمجيات،
·
في المرتبة الثانية تأتي دولتان فقط هما روسيا والصين كدول منتجة
ومصدرة للبرمجيات في مرحلة تحول،
·
أما في المرتبة الثالثة فترد دول كالبرازيل، كوستاريكا، الفلبين،
ماليزيا، كوريا، باكستان، المكسيك، بولندا ورومانيا كدول منتجة
ومصدرة صاعدة حديثة،
·
أما المرتبة الرابعة والأخيرة فتأتي دولا مثل كوبا، الأردن،
الإمارات، مصر، إيران،بنجلاديش، إندونيسيا وفيتنام كدول منتجة
ومصدرة وليدة.
وفي هذا الإطار يلاحظ أنه علي الرغم من مرور سنوات طويلة، إلا أن
صناعة البرمجيات في مصر لم تحقق ما هو مطلوب منها حتى الآن، علي
الرغم من خطة الاتصالات والمعلومات التي وضعتها وزارة الاتصالات
والمعلومات بعد إنشائها مباشرة في ديسمبر 1999 [وزارة الاتصالات
والمعلومات، 1999] كانت تهدف للوصول بمعدل تصدير البرمجيات
المصرية إلي (500) مليون دولار أمريكي بعد خمس سنوات، إلا أنها
لم تصل حتى فبراير 2006 إلي (200) مليون دولار أمريكي فقط وفقا
لتصريح وزير الاتصالات وتكنولوجيا المعلومات المتاح عل موقع ويب
الوزارة[http://www.mcit.gov.eg]
.
5/2 أبعاد وخصائص
صناعة البرمجيات:
يمكن تحديد أبعاد وخصائص صناعة البرمجيات في التالي:
·
الهيكل الصناعي وخصائص الصناعة الرئيسية.
·
وضع الموارد البشرية.
·
توزيع الشركات إقليميا.
·
خصائص حجم شركات تطوير البرمجيات.
·
الأنشطة الرئيسية كتكامل النظم وحزم البرمجيات والمبيعات المحلية
في مواجهة الصادرات.
وعلي هذا الأساس تتحدد مخرجات البرمجيات وصناعة الكمبيوتر مع
الناتج المحلي الإجمالي
GDP
في إطار جدول يحدد في صفوفه سنوات التطور ويبين في أعمدته
العناصر التالية: مخرج صناعة البرمجيات (مليون جنيه)، مخرج صناعة
الكمبيوتر (مليون جنيه)، البرمجيات ونسبتها لصناعة الكمبيوتر
(%)، الناتج المحلي الإجمالي (مليون جنيه)، البرمجيات ونسبتها
للناتج المحلي الإجمالي (%).
ومن هذه الجدولة يمكن تحديد نمو قطاع البرمجيات في الدولة.
وفيما يخص الخصائص السابق الإشارة إليها يمكن النظر إليها في
التالي:
(1) الهيكل الصناعي والخصائص:
يجب تحديد ذلك في جدول يوضح معدل نمو قطاعات الاقتصاد القومي
المختلفة علي مدي سنوات المقارنة التي ترتب في صفوف هذا الجدول
بينما توضح منتجات البرمجيات، الخدمات، الصادرات والإجمالي لكل
ذلك في أعمدة الجدول.
كما توضح أنواع منتجات البرمجيات من برمجيات النظم، البرمجيات
المساندة، برمجيات التطبيقات الإجمالي ومعدل النمو (%) في صفو
الجدول أما أعمدته فقد ترتبط بالسنوات المرتبطة بالمقارنة.
(2) التعليم والموارد البشرية:
ترتبط بقوة العمل المتاحة في صناعة البرمجيات من حيث عدد مهنيي
البرمجيات وعدد الخريجين في مجال الحاسبات والمعلومات علي مدي
عدة سنوات للمقارنة. كما يمثل ذلك بعض المؤشرات التي منها: معدل
أمية الكبار (نسبة العمر من 15 سنة لأعلي من ذلك)، المقيدون في
التعليم الثانوي، والمقيدون في التعليم الإعدادي، المقيدون في
التعليم الجامعي، الخ.
(3) توزيع شركات تطوير وتصنيع البرمجيات إقليميا:
يوضح في جدول يخصص لذلك توزيع شركات صناعة البرمجيات في مدن أو
محافظات الدولة وسنوات المقارنة لذلك.
(4) حجم شركات صناعة البرمجيات:
توضح هذه الخاصية حجم الشركات طبقا لرأس المال وعدد العاملين
المهنيين.
(5) مؤشرات الأداء:
التي تحدد متوسط نمو المنتج المحلي الإجمالي
GDP
السنوي.
(6) الحافز الاقتصادي:
التشكيل المحلي الإجمالي كنسبة من المنتج المحلي الإجمالي (متوسط
النمو السنوي)، قيود الرسوم المفروضة علي البرمجيات، المواد
القانونية والتشريعية المنظمة، مدي الرقابة علي الفساد.
(7) نظام الإبداع الوطني:
يختص ذلك بالاستثمار المباشر الأجنبي كنسبة من متوسط الناتج
القومي الإجمالي، المصروفات المكرسة للبحث والتطوير كنسبة من
الناتج القومي الإجمالي، منتجات التكنولوجيا المتقدمة كنسبة من
الصادرات المصنعة محليا.
(8) بنية المعلومات الأساسية:
تختص هذه البنية التحتية بعدة مؤشرات منها: التليفونات (الأرضية
والمحمولة لكل ألف من السكان، عدد أجهزة الكمبيوتر لكل ألف من
السكان، وعدد مضيفات الإنترنت لكل 10000 شخص.
وعند مقارنة قدرة شركات صناعة البرمجيات، يمكن قياس القدرة من
خلال عدة خصائص منها:
·
المهارة الفنية الفردية: تخص الخريجين المهنيين من الجامعات
ومراكز التدريب المهني.
·
نضوج قدرة العملية: عدد الشركات الحاصلة علي مستوي معين من نموذج
نضوج القدرة
CMM
الذي يمثل قوة أو قصور الشركات.
·
التكنولوجيا المتاحة: تعتبر من أهم الخصائص الخاصة بالقدرة
التنافسية التي تميز الشركات القوية من تلك الضعيفة. وتفسر
التكنولوجيا في هذه الحالة بالتكنولوجيا المنشأة من إنجازات
وقدرات البحث والتطوير.
·
نموذج الإيراد: ويرتبط بمبيعات المنتج مع تكامل النظم المحفزة
للإيرادات الإضافية.، كما يمثل مزيج قدرات المنتج والخدمة في نفس
الوقت.
·
قدرة تسويق المنتج: من حيث الترويج والإعلان وكسب السوق المحلي
والمنافسة في السوق الخارجية.
وعند مقارنة شركات صناعة البرمجيات يعمل جدول يوضح الشركات
وارتباطها بأنواع القدرات السابق الإشارة إليها.
5/3 صناعة البرمجيات المصرية:
ومن الملاحظ أن ترتيب مصر في صناعة البرمجيات الذي يأتي في
المرتبة الأخيرة كما سبق ذكره، يثير كثيرا من التساؤلات عن
مستقبل صناعة البرمجيات المصرية، وما هي نقاط القوة ونقاط الضعف
للقدرة التصديرية المصرية في هذه الصناعة في ضوء التجارب
العالمية الناجحة؟ وما هي الإجراءات المطلوب اتخاذها لتحقيق
الخطط الطموحة التي ارتبطت بها الخطة القومية للاتصالات
والمعلومات المطلوبة الصادرة في أواخر عام 1999؟ [وزارة
الاتصالات والمعلومات، 1999].
فعناصر القوة
التي قد تتسم بها صناعة البرمجيات المصرية تتمثل في: انخفاض
تكلفة العمالة، الموقع الجغرافي المميز، اتقانا لغات الأجنبية
وخاصة اللغة الإنجليزية، توافر المهارات الفنية، والقدرة علي
اجتذاب الشركات الأجنبية وخاصة العالمية منها.
أما عناصر الضعف التي تكمن في صناعة البرمجيات المصرية،
فإنها تتمثل في: محدودية وقصور القدرة التنافسية، عدم مصادر
تمويلية كافية، محدودية السوق المحلية، وارتفاع معدل القرصنة.
لذلك يبزغ التساؤل التالي: كيفية ترجمة عناصر القوة إلي قدرة
تصديرية مرتفعة؟ وما هي ملامح الرؤية والخطة القومية
الاستراتيجية التي تتبناها مصر لتحقيق هذا الهدف؟
الخطة القومية للاتصالات والمعلومات التي تبنتها مصر في أواخر
عام 1999 وما تبعها من خطة المبادرة بدخول مصر مجتمع المعلومات
هدفت الإسراع في النهوض بصناعة واستخدامات البرمجيات المصرية،
حيث ارتبط المحور الثاني من هذه الخطة بالتوجه نحو الأسواق
العالمية، وأن أحد مشروعات الخطة تنمية حجم الصادرات من
البرمجيات إلي (500) دولار أمريكي بعد خمس سنوات كما سبق توضيحه؛
وفتح الأسواق الخارجية للبرمجيات المصرية من خلال قنوات تربط بين
المنتجين في مصر وهذه الأسواق؛ وتسويق القدرات المصرية في
تكنولوجيا المعلومات وبصفة خاصة الخبرات البشرية في شكل عقود
للدعم الفني والاستشارات بالمنطقة العربية وأفريقيا. وقد حددت
الخطة مكونات هذا المشروع في حصر الإمكانات البشرية المتوافرة في
مجال الصناعة وخاصة القادر منها علي التصدير؛ وكذلك حصر دقيق
لحجم ونوعية التصدير القائم حاليا، وتحديد خطة التصدير القصيرة
المدى مع تحديد الأسواق المستهدفة ,إنشاء هيئة تنمية البرمجيات
المصري مع إقامة برامج تدريبية.
وتشير البيانات المتاحة عن صناعة البرمجيات المصرية أن قيمة
إيرادات صناعة البرمجيات بلغت حوالي (49) مليون دولار في عام
1997، ارتفعت إلي 129 مليون دولار عام 2001، التي ارتفعت إلي 148
مليون دولار في عام 2002، ثم إلي 174 مليون دولار في عام 2003.
وقد وصل عدد الشركات العاملة في صناعة البرمجيات (296) شركة يعمل
بها حوالي (700) فني تقدر نسبة الشركات التي تقوم بالتصدير منه
حوالي 1% من الحجم الكلي للشركات، وفي عام 2003 قدرت صناعة
البرمجيات من 5- - 100 مليون دولار وفقا لأكثر التقديرات تفاؤلا.
وقد أشارت دراسة هارفارد الاستشارية حول القدرة التنافسية لقطاع
تكنولوجيا المعلومات المصرية بحوالي (45) مليون دولار أمريكي
لعام 2002 ، بينما قدرت نفس الدراسة أن إيرادات قطاع تكنولوجيا
المعلومات وصلت إلي (470) مليون دولار ومتوسط الإيراد المشغل في
هذا القطاع يقدر بحوالي 3700 دولار الذي يعتبر مرتفعا بالمقارنة
بكثير من الدول مثل الهند، كما انتهت ستة شركات فقط من الشركات
العاملة في مجال تكنولوجيا المعلومات من إعادة تأهيل نفسها
والحصول علي نموذج نضوج القدرة
CMM
المستوي الثالث حتى منتصف 2005.[http://www.mcit.gov.eg]
ويحدد الجدول التالي مؤشرات تطور قطاع تكنولوجيا المعلومات في
ديسمبر من عامي 2003 و 2005وفقا لموقع الويب لوزارة الاتصالات
وتكنولوجيا المعلومات
[http://www.mcit.gov.eg]
.
جدول (1 ): مؤشرات تكنولوجيا المعلومات في عامي 2003 ، 2005
|
خصائص تكنولوجيا المعلومات |
مؤشرات ديسمبر 2003 |
مؤشرات ديسمبر 2005 |
النسبة المئوية |
|
عدد الشركات |
968 شركة |
1442 شركة |
67% |
|
رأس المال المصدر |
7, 1868 مليون جنيه |
3601 مليون جنيه |
52% |
|
التكاليف الاستثمارية |
3146 مليون جنيه |
8, 4754 مليون جنيه |
66% |
|
فرص العمالة |
28086 فرصة عمل |
35094 فرصة عمل |
80% |
|
عدد متدربي برامج تنمية المهارات |
82383 متدرب |
120280 متدرب |
5, 68% |
|
عدد متدربي برامج التدريب التخصصية |
4, 1667 متدرب |
23092 متدرب |
2, 7% |
يتضح من الجدول السابق الزيادة الملحوظة في توفير فرص العمل وعدد
الشركات العاملة في مجال تكنولوجيا المعلومات وفي التكاليف
الاستثمارية ورأس المال المصدر.
5/4 صناعة البرمجيات الهندية:
والتوجه العالمي وزيادة مهنية منشآت تطوير البرمجيات في تجربة
الهند علي سبيل المثال
[Kumar, 2001]
أدت لربط عملياتها في هندسة البرمجيات مع
المزاولات العالمية الأحسن والحصول علي الشهادات الدولية المعترف
بها في جودة المنتجات. علي سبيل المثال، حصلت (170) شركة هندية
علي معيار
ISO 9000
للمنظمة الدولية التوحيد القياسي في يونيو 2000 ويتوقع حصول (50)
شركة أخري علي نفس الشهادة في عام 2001، بالإضافة لذلك حصلت
(38) شركة برمجيات هندية علي نموذج نضوج القدرة
CMM
لمعهد هندسة البرمجيات في المستوي الثالث
وأعلي.
[Kumar,
2001]
ويبين الجدول التالي التخصصات الرئيسية لشركات البرمجيات الهندية
في عام 2000 [Kumar,
2001] .
جدول (2): التخصصات الرئيسية لشركات البرمجيات الهندية
|
القطاع / التخصص |
عدد الشركات |
|
1. البنوك، التأمين، المحاسبة المالية، البور صات
|
247 |
|
2. التصنيع، التجزئة، التجارة والتوزيع |
331 |
|
3. النقل، الخطوط الجوية، السكك الحديدية، المواني
|
157 |
|
4. تطبيقات الويب، خدمات المعلومات علي الخط |
295 |
|
5. الهندسة، الإلكترونيات، تصميم الآلية، الإنسان الآلي |
224 |
|
6. التطبيقات الطبية والصحية |
163 |
|
7. التعليم والتدريب والتعلم |
115 |
|
8. الاتصالات عن بعد |
174 |
يتضح من هذا الجدول تشعب وتعدد الشركات الهندية العاملة في معظم
القطاعات الحاكمة في أي اقتصاد.
كما يوضح الجدول التالي ميادين تخصص هذه شركات تطوير البرمجيات
الهندية فيما يتعلق بالمجالات التخصصية للبرمجيات ذاتها:
[Kumar, 2001]
جدول (3): ميادين التخصص في البرمجيات للشركات الهندية
|
ميادين تخصص البرمجيات |
عدد الشركات المقدمة للخبرة |
|
1. تكنولوجيا الويب، الإنترنت، التجارة الإلكترونية |
319 |
|
2. الحلول المالية والنقدية |
| |