💻

مقدمة في هندسة البرمجيات وأهميتها

Aug 14, 2024

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

مقدمة

  • الهدف من الدورة هو دراسة هندسة البرمجيات.
  • المرجع الرئيسي هو كتاب "سمر فيل" الإصدار العاشر.

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

  • البرمجيات أصبحت جزءًا أساسيًا من جميع جوانب الحياة.
  • تكلفة البرمجيات تتجاوز تكلفة الأجهزة في كثير من الحالات.
  • الفشل في مشاريع البرمجيات يعود إلى:
    • التعقيد الكبير للبرمجيات.
    • عدم استخدام أساليب هندسة البرمجيات.

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

  • البرمجيات تتكون من:
    • برنامج حاسوبي مكتوب بلغة برمجة.
    • الوثائق المرتبطة به.
  • يجب أن تكون البرمجيات:
    • ذات وظائف محددة.
    • عالية الأداء.
    • قابلة للصيانة.
    • موثوقة (Dependable).
    • سهلة الاستخدام (Usable).

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

  • هندسة البرمجيات هي مجال يهتم بجميع جوانب تطوير البرمجيات.
  • الأنشطة الأساسية في هندسة البرمجيات تشمل:
    • تحديد المواصفات (Software Specification).
    • تطوير البرمجيات (Software Development).
    • التحقق من البرمجيات (Software Validation).
    • تطوير البرمجيات بعد الاستخدام (Software Evolution).

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

  • علوم الحاسوب تركز على النظريات والأساسيات.
  • هندسة البرمجيات تركز على التطبيق العملي للنظريات.

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

  • تنوع الأجهزة والأنظمة.
  • التغيرات الاجتماعية والبيusiness.
  • الحاجة إلى تطوير برمجيات موثوقة.
  • تكاليف الصيانة والتطوير.

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

  • البرمجيات المستقلة (Standalone Applications): تعمل على جهاز واحد.
  • تطبيقات المعاملات التفاعلية (Interactive Transaction Based Applications): تعمل على خادم ويمكن الوصول إليها من عدة أجهزة.
  • الأنظمة المضمنة (Embedded Systems): أنظمة صغيرة تعمل على أجهزة محددة.
  • أنظمة معالجة البيانات الكبيرة (Batch Processing Systems): تتعامل مع كميات كبيرة من البيانات.
  • أنظمة الترفيه (Entertainment Systems): مثل مشغلات الفيديو والألعاب.
  • أنظمة المحاكاة (Modeling and Simulation Systems): تحاكي أنظمة حقيقية.
  • أنظمة جمع البيانات (Data Collection Systems): تجمع المعلومات من البيئة.
  • أنظمة الأنظمة (Systems of Systems): تتكون من عدة أنظمة مترابطة.

الخصائص الأساسية للبرمجيات الجيدة

  1. قابلية الصيانة: يجب أن تكون سهلة التعديل.
  2. الاعتمادية والأمان: يجب أن تكون موثوقة ولا تحتوي على مشاكل أمنية.
  3. الكفاءة: يجب أن تستخدم الموارد بكفاءة.
  4. القبول: يجب أن تكون مقبولة من قبل المستخدمين.

أهمية الأخلاقيات في هندسة البرمجيات

  • احترام الخصوصية والسرية.
  • الالتزام بالمستوى المناسب من الكفاءة.
  • احترام الملكية الفكرية.
  • استخدام المهارات بشكل أخلاقي.

خلاصة

  • هندسة البرمجيات أصبحت مجالًا حيويًا في عصرنا الحالي بسبب الاعتماد المتزايد على البرمجيات في جميع مجالات الحياة.
  • ستتم مناقشة المزيد من التفاصيل في المحاضرات القادمة.