Coconote
AI notes
AI voice & video notes
Try for free
ملخص حول هندسة البرمجيات وتعريفاتها
Oct 20, 2024
ملخص المحاضرة
مقدمة
استكمال ما تم تناوله في الجلسة السابقة المتعلقة بـ e-software engineering.
استذكار النقاط الرئيسية التي تم مناقشتها في المحاضرة السابقة.
تعريف البرمجيات
البرمجيات
: عبارة عن تطبيق أو برنامج حاسوبي مرتبط بالوثائق (Documentation) التي تشمل:
جميع العمليات (Operations)
الوظائف (Functions)
المدخلات والمخرجات (Input/Output)
الإجراءات (Procedures)
الأخطاء (Errors) و bugs
القيم المتوقعة (Expected Values).
تعريف هندسة البرمجيات
هندسة البرمجيات
: تطبيق الوظائف والبرامج بطريقة منهجية (Systematic) عن طريق اتباع خطوات وقواعد للوصول إلى الهدف المطلوب.
أول تعريف لهندسة البرمجيات حسب IEEE.
مراحل هندسة البرمجيات
التواصل مع العميل (Communication)
:
فهم احتياجات العميل.
تحليل المشكلة (Analysis)
:
دراسة الجدول الزمني والخطة المطلوبة.
تخطيط الحل (Planning)
:
تصميم النماذج (Models) والتصاميم (Design).
تطوير البرمجيات (Development)
:
كتابة الشيفرة (Coding) واستخدام لغة البرمجة المناسبة.
اختبار البرمجيات (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).
التحديات في هندسة البرمجيات
التسليم (Delivery)
: الالتزام بالمواعيد النهائية.
الثقة (Trusting)
: تقديم برمجيات موثوقة.
التنوع البيئي (Heterogeneity)
: تنفيذ البرمجيات على بيئات مختلفة.
خلاصة
يجب معرفة جميع التعريفات والفروقات بين المصطلحات المذكورة.
التحضير للمحاضرة القادمة لمزيد من التفاصيل.
📄
Full transcript