-->

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

كمهندس برمجيات يجب ان  تكن على دراية والّا تخلط المفاهيم بين "هندسة الحاسوب" و "هندسة البرمجيات "، حيث ان هندسة الحاسوب وهي فرع من فروع الهندسة الكهربائية ، و مهندس الكمبيوتر (متخصص في أجهزة الأجهزة والمكونات المادية للحاسوب  Hardware ) ويكون على معلومات عامة إضافية في البرنامج (وليس متخصصًا في هندسة البرمجيات).

يجب على كل طالب جامعي يدرس هندسة البرمجيات معرفته قبل دخول سوق العمل ؟

من المهم جدًا قبل دخول سوق العمل أن يكون لدى مهندس البرمجيات معرفة جيدة بكل من المصطلحات والأمور التالية:

دورة حياة البرمجيات Software Development Life Cycle

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

  • التخطيط وجمع المتطلبات   Planning and collecting requirement  

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

  •  التحليل  Analysis :

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

  •  التصميم  Design  :

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

  • الترميز (كتابة كود)  Coding :

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

  • الاختبار  Test : 

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

  • التوثيق  Documentation  :

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

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


المقال السابق المقال التالي