ملخص حول هندسة البرمجيات وتعريفاتها

Oct 20, 2024

ملخص المحاضرة

مقدمة

  • استكمال ما تم تناوله في الجلسة السابقة المتعلقة بـ e-software engineering.
  • استذكار النقاط الرئيسية التي تم مناقشتها في المحاضرة السابقة.

تعريف البرمجيات

  • البرمجيات: عبارة عن تطبيق أو برنامج حاسوبي مرتبط بالوثائق (Documentation) التي تشمل:
    • جميع العمليات (Operations)
    • الوظائف (Functions)
    • المدخلات والمخرجات (Input/Output)
    • الإجراءات (Procedures)
    • الأخطاء (Errors) و bugs
    • القيم المتوقعة (Expected Values).

تعريف هندسة البرمجيات

  • هندسة البرمجيات: تطبيق الوظائف والبرامج بطريقة منهجية (Systematic) عن طريق اتباع خطوات وقواعد للوصول إلى الهدف المطلوب.
  • أول تعريف لهندسة البرمجيات حسب IEEE.

مراحل هندسة البرمجيات

  1. التواصل مع العميل (Communication):
    • فهم احتياجات العميل.
  2. تحليل المشكلة (Analysis):
    • دراسة الجدول الزمني والخطة المطلوبة.
  3. تخطيط الحل (Planning):
    • تصميم النماذج (Models) والتصاميم (Design).
  4. تطوير البرمجيات (Development):
    • كتابة الشيفرة (Coding) واستخدام لغة البرمجة المناسبة.
  5. اختبار البرمجيات (Testing):
    • التأكد من قبول البرمجيات وتحليل نتائج الاختبار.

الأسئلة المتكررة في المقابلات

  • تعريف البرمجيات.
  • تعريف هندسة البرمجيات.
  • الفرق بين هندسة البرمجيات وهندسة النظم.
  • الفرق بين عملية البرمجيات وعلوم الحاسوب.
  • تعريف نموذج عملية البرمجة (Software Process Model).
  • تكلفة البرمجيات.
  • معنى كلمة case.
  • معايير تقييم جودة البرمجيات (Attributes of Good Software).

أنواع البرمجيات

  • Generic Software: موجه لقطاع كبير من الناس (مثل Microsoft Office).
  • Custom Software: مخصص لعميل واحد (مثل نظام صيدلية).

عملية البرمجيات

  • مجموعة الأنشطة (Activities) التي تتضمن خطوات محددة للوصول إلى الهدف.
  • تتضمن خطوات مثل تحديد المتطلبات، التطوير، الاختبار، والتقييم.

نموذج عملية البرمجيات

  • تختلف طرق التنفيذ مثل:
    • نموذج الشلال (Waterfall Model).
    • النموذج التكراري (Iterative Model).

تكلفة هندسة البرمجيات

  • التقسيم الشائع:
    • 60% لتكاليف التطوير.
    • 40% لتكاليف الاختبار.

أدوات المساعدة في هندسة البرمجيات (CASE)

  • Upper CASE: أدوات تساعد في المراحل المبكرة مثل التحليل والتصميم.
  • Lower CASE: أدوات تساعد في المراحل اللاحقة مثل البرمجة والاختبار.

معايير جودة البرمجيات (Attributes of Good Software)

  • الكفاءة (Efficiency).
  • القابلية للصيانة (Maintainability).
  • الاعتمادية (Dependability).
  • القبول (Acceptability).

التحديات في هندسة البرمجيات

  1. التسليم (Delivery): الالتزام بالمواعيد النهائية.
  2. الثقة (Trusting): تقديم برمجيات موثوقة.
  3. التنوع البيئي (Heterogeneity): تنفيذ البرمجيات على بيئات مختلفة.

خلاصة

  • يجب معرفة جميع التعريفات والفروقات بين المصطلحات المذكورة.
  • التحضير للمحاضرة القادمة لمزيد من التفاصيل.