فرع من فروع المعلوماتية تهدف إلى تطوير مجموعة أسس وقواعد تؤدي إلى تحسين طرق تصميم وتطوير البرمجيات على جميع المستويات، وذلك بطريقة تلبي إحتياجات المستخدمين. هندسة البرمجيات لا تهتم بكتابة البرنامج نفسه أي بكتابة شفرته، بل تحاول تحسين عملية تطوير، وصنع البرنامج بدءاً من المواصفات التي يضعها المحترف إنتهاءً عند مشكلة صيانة البرنامج أو توسيعه. وهي تقوم على دراسة إحتياجات المستخدم وتصميم البرنامج المناسب له قبل كتابة شيفرته، والأخذ بعين الإعتبار العديد من الجوانب كالقدرة على تطوير البرنامج بسهولة لاحقاً، أو السرعة، أو إمكانية إضافة ملحقات له بشكل ديناميكي.
ويقوم القسم بتدريس هذه المهارات من خلال مساقات متعددة منها:
- المساقات التي بنيت عليها المعارف الأساسية اللازمة لدراسة الإختصاص، مثل: الرياضيات، واللغة الإنجليزية، واللغة العربية، ومبادئ إستخدام الحاسوب.
- المساقات التخصصية التي تركز على بناء المهارات البرمجية.
- مساقات هندسة البرمجيات، وإدارة مشاريع البرمجيات، وتصميم البرمجيات.
- مساقات نمذجة وتحليل البرمجيات، وتدقيق البرمجيات، وضمان جودتها.
- مساقات تحليل النظم، وبرمجة قواعد البيانات العادية والشيئية.
وأخيراً ينهي الطالب دراسته في هذا الاختصاص بمشروع يجمع فيه خلاصة ما تعلمه خلال فترة الدراسة.
مراحل بناء النظام البرمجي
تحليل المتطلبات Requirement Analysis
خلال هذه المرحلة، يقوم الفريق المسؤول عن تطوير البرنامج بتحديد المتطلبات والأهداف التي يريدون الوصول إليها عبر البرنامج. عادةً ما تكون هذه المتطلبات محددة من الزبون، وهنا يجب أن تؤخذ مواضيع الكلفة والجودة بعين الإعتبار.
التصميم Design
في مرحلة التصميم، يضع الفريق الأفكار المتعلقة بكيفية تصميم البرنامج. هنا يتم النقاش حول ما هي أفضل لغة برمجة أو بيئة برمجة قابلة للإستخدام من أجل تنفيذ البرنامج المطلوب بالمتطلبات المحددة.
التنفيذ Implementation
بعد تحديد المتطلبات والأهداف والإتفاق على لغة البرمجة ووضع الخطوط الأساسية للبرنامج وبنيته، يقوم الفريق بتنفيذ نموذجٍ أوليّ Prototype للبرنامج.
الإختبار Testing
في مرحلة الإختبار، يقوم الفريق بإختبار برنامجهم والتأكد من أنه يقوم بكافة الوظائف المطلوبة منه، وضمن المعايير والمتطلبات الموضوعة.
التطوير Evolution
بعد إنتهاء مرحلة الإختبار، والتأكد من أن البرنامج فعال، ويقوم بالوظيفة المطلوبة منه بأفضل كفاءة وأقل كلفة، يعمل الفريق على البحث عن سبل تطوير البرنامج، وإضافة ميزات جديدةٍ له، وجعله أكثر فاعلية وأكثر كفاءة.
الجامعات التركية المتميزة في مجال هندسة البرمجيات
- جامعة إسطنبول ايدن
- جامعة ازمير الاقتصادية
- جامعة استينيا
- جامعة بيكنت
- جامعة دوغوش
- جامعة اوكان
- جامعة اوسكودار
- جامعة ايشيك