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

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

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

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

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

للاستزادة من ويكيبيديا العربية.