هي نوع من الهندسة يهتم بتطوير و بناء البرامج و تحسينها بطرق هندسية على عدة مراحل محددة هي:

  1. تحليل متطلبات و مواصفات البرنامج
  2. تصميم البرنامج
  3. برمجة البرنامج
  4. اختبار البرنامج
  5. صيانة البرنامج


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



بصورة مختصرة، تعريف لكل مرحلة من التطوير و ما ينتج عنها:

  1. تحليل متطلبات و مواصفات البرنامج
    وفيها يتم جمع مواصفات البرنامج من الزبون، ثم دراستها و تحليلها و بيان الغامض و المتعارض منها، الناتج من هذه المرحلة: سرد المواصفات بتحليلاتها في مستند خاص يسمى (SRS (Software Requirements Specification – مستند مواصفات متطلبات البرنامج.
  2. تصميم البرنامج
    ولا يقصد فيها تصميم الشكل المظهري للبرنامج فقط، بل تصميم البرنامج كبنية و كلاسات و كائنات و تحليله من هذه النواحي. وتعتبر هذه المرحلة من أهم المراحل حيث تحدد فيها جودة البرنامج و تركيبه، و تستخدم اللغة الرسومية UML لهذا الغرض. توفر الـ UML العديد من التصاميم و الرسوم البيانية، كتصميم حالة الاستخدام Use Case Diagram و تصميم تسلسل الأحداث Sequence Diagram.
    الناتج من هذه المرحلة عرض التصاميم و تحليلاتها مع مواصفات البرنامج في مستند باسم (SDD
    (Software Design De******ion – مستند وصف تصميم البرنامج.
  3. برمجة البرنامج
    وفيها يتم كتابة كود البرنامج. يعتمد المبرمج على مستند الـ SDD “فقط”، لذا، يجب كتابة مستند الـ SDD بتفصيل و عرض التصاميم بوضوح لمساعدة المبرمج على البرمجة.
    النتيجة: الكود المصدري أو Source Code للبرنامج.
  4. اختبار البرنامج
    أولاً تُحدد الأساليب المناسب لاختبار البرنامج و تدرس بعناية، ثم تحدد مجموعة من حالات الاختبار أو Test Cases لتطبيقها على البرنامج و دراسة القيم الناتجة منها. في حالة وجود أخطاء و عيوب، يُعاد البرنامج إلى المختصصين في المراحل السابقة لفهم المشكلة و إصلاحها.
    النتيجة: إصلاح عيوب البرنامج.
  5. صيانة البرنامج
    وهذه المرحلة تطبق بعد تسليم البرنامج إلى الزبون، حيث تهتم بصاينة المشاكل التي لم تكتشف في مرحلة الاختبار و تحديث البرنامج باستمرار لمواكبة التغييرات التقنية. و يوجد العديد من المراحل الأخرى كمرحلة توثيق معلومات التطوير في مستندات ، تسويق البرنامج ، التدريب، و غيرها.