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

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

ما هي العناصر الرئيسية في نظام ULS؟

  • استراتيجيات التسويق
  • التقنيات الجديدة
  • البرمجة الفعالة
  • الأجهزة الحاسوبية (correct)

ما هو الهدف الرئيسي من تصميم نظام صحي مناسب؟

  • تطوير أدوات جديدة للتسويق
  • تحقيق كفاءة أكبر في البرمجة
  • زيادة التعقيد في البرمجيات
  • تصميم نظام آمن يتكيف مع المعلومات الناقصة (correct)

ما هي إحدى المشاكل الرئيسية المتعلقة بالبرامج؟

  • تعزيز العلاقات العامة
  • صعوبة الحفاظ على البرمجيات القديمة (correct)
  • توافر الموارد بكثرة
  • زيادة سرعة تنفيذ التعليمات

لماذا يُعتبر هندسة البرمجيات ضرورية؟

<p>لتحسين جودة البرمجيات (B)</p> Signup and view all the answers

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

<p>كيف يتم الإنتاج (C)</p> Signup and view all the answers

ما هي إحدى الأهداف الرئيسية لهندسة البرمجيات؟

<p>توفير عملية مفهومة لتطوير الأنظمة (A)</p> Signup and view all the answers

ما هي إحدى الوسائل المستخدمة لضمان جودة البرمجيات؟

<p>تنفيذ اختبارات متكررة (D)</p> Signup and view all the answers

ما هي الميزة الرئيسية لتطبيق نهج هندسة البرمجيات في تطوير الأنظمة؟

<p>ضمان أنظمة يمكن صيانتها بسهولة (A)</p> Signup and view all the answers

ما هي إحدى المناهج المطروحة في هندسة البرمجيات؟

<p>التأكيد على الهندسة المدفوعة بالنماذج (B)</p> Signup and view all the answers

أي من الخيارات التالية ليست من الأسئلة التي تعالجها هندسة البرمجيات؟

<p>كيف نحقق أداءً أعلى في الألعاب الإلكترونية؟ (C)</p> Signup and view all the answers

ما هو الهدف الأول من استخدام نموذج العمليات في تطوير البرمجيات؟

<p>تقديم رؤية واضحة للمشروع (A)</p> Signup and view all the answers

أي من العوامل التالية يؤثر بشكل غير مباشر على تكاليف تطوير البرمجيات؟

<p>تغير المتطلبات أثناء فترة التطوير (D)</p> Signup and view all the answers

ما هي المرحلة التي تشمل تقييم البدائل وفحص المخاطر في نموذج الشلال؟

<p>التخطيط (B)</p> Signup and view all the answers

أي من المستويات في نموذج نضج القدرات يشير إلى عمليات قياسية مستخدمة؟

<p>المستوى الثالث: المحدد (D)</p> Signup and view all the answers

لماذا يعتبر التواصل بين العميل والمطورين عنصرًا حاسمًا في تطوير البرمجيات؟

<p>يساعد في تحديد المشكلات بصورة أدق (B)</p> Signup and view all the answers

ما الذي ساهم في زيادة تكاليف البرمجيات مقارنةً بتكاليف الأجهزة؟

<p>زيادة الطلب على البرمجيات (C)</p> Signup and view all the answers

ما هو نطاق 'الأنظمة البرمجية ذات النطاق الواسع جداً' كما هو موضح في المحتوى؟

<p>35MLOC وما بين 15 إلى 20 سنة من التطوير (B)</p> Signup and view all the answers

أي من الأنواع التالية تُصنَّف ضمن 'البرامج الكبيرة' استناداً إلى حجم الأكواد المطلوبة؟

<p>برنامج MS Word (A)</p> Signup and view all the answers

ما الذي يتضمنه التكامل بين هندسة البرمجيات والتعلم الآلي؟

<p>تطوير أساليب جديدة في هندسة البرمجيات (A)</p> Signup and view all the answers

في أي عقد كانت أجهزة الحاسوب تُخضع للتحسينات المشتركة وأنظمة تشغيل تُطوَّر؟

<p>1960年代 (B)</p> Signup and view all the answers

ما هو التعليم الرئيسي المستفاد من حالة تكاليف البرمجيات مقابل تكاليف الأجهزة؟

<p>تكاليف البرمجيات في ازدياد مستمر (B)</p> Signup and view all the answers

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

<p>3 سنوات و10 مبرمجين (D)</p> Signup and view all the answers

ما هي أبرز التحديات التي تواجهها الأنظمة البرمجية الكبيرة جداً؟

<p>صعوبة التوزيع والإدارة (D)</p> Signup and view all the answers

ما هي الأنشطة التي تُعتبر جزءًا من الحفاظ على البرمجيات؟

<p>إصلاح عيوب البرمجيات (A)</p> Signup and view all the answers

ما هي المكونات الرئيسية التي يجب أن يفهمها المطور عند تحليل المتطلبات؟

<p>مجالات تطبيق البرمجيات (B)</p> Signup and view all the answers

ما الذي يهدف إليه تصميم البرمجيات؟

<p>تحديد الهياكل البيانية الرئيسية (A)</p> Signup and view all the answers

ما هي الأنشطة التي يتم تنفيذها خلال مرحلة التكامل؟

<p>تجميع الوحدات (A)</p> Signup and view all the answers

ما هو الهدف من إدارة الإصدارات في البرمجيات؟

<p>تتبع التغييرات (B)</p> Signup and view all the answers

ما الذي يعتبر جزءًا من عملية تطوير البرمجيات؟

<p>تقدير التكاليف (D)</p> Signup and view all the answers

عند استخدام نموذج الشلال، ما هي المرحلة التي تأتي بعد مرحلة التصميم؟

<p>الكود (D)</p> Signup and view all the answers

في نموذج البرمجة البروتوتايب، أي من المراحل يتضمن تقييم النموذج؟

<p>تقييم النموذج (D)</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

نظرة عامة على هندسة البرمجيات وعمليات التطوير

  • هندسة البرمجيات هي نهج منهجي لتطوير البرمجيات.
  • تهدف إلى تطوير وصيانة برامج عالية الجودة لحل المشاكل.
  • من بين تعريفات هندسة البرمجيات:
    • "دراسة المبادئ والمنهجيات لتطوير وصيانة أنظمة البرمجيات".
    • "التطبيق العملي للمعرفة العلمية في تصميم وبناء برامج الكمبيوتر والوثائق المصاحبة اللازمة لتطويرها وتشغيلها وصيانتها".
    • "الاهتمام بإنشاء مبادئ وطرق هندسية سليمة للحصول بشكل اقتصادي على برامج موثوقة وتعمل على أجهزة حقيقية".
  • تهدف هندسة البرمجيات إلى حل العديد من التحديات ، مثل ضمان جودة البرنامج ، تلبية الطلب المتزايد ، والتحكم بالميزانية ، وتجنب التأخيرات الفادحة.

لماذا نطبق هندسة البرمجيات على الأنظمة؟

  • توفر عملية واضحة لتطوير النظام.
  • تطوير أنظمة وبرامج سهلة الصيانة والتغيير.
  • تطوير برامج وأنظمة قوية.
  • إمكانية تكرار وإدارة عملية إنشاء أنظمة قائمة على الحوسبة.

أهداف الدورة

  • تعريف الطلاب بالموضوعات المتقدمة في هندسة البرمجيات.
  • التركيز على هندسة النمذجة والمتطلبات والتصميم وضمان جودة الأنظمة القائمة على الحوسبة.
  • توفير تجارب عملية لتعزيز المفاهيم من خلال مهام منزلية ومهام النمذجة والتحديد.
  • دمج العديد من الموضوعات في مشاريع مصغرة.

المواضيع

  • هندسة المتطلبات
  • هندسة النمذجة (UML)
  • أنماط العمارة
  • أنماط التصميم
  • الأمن
  • الاختبار
  • هندسة البرمجيات القائمة على البحث
  • التفاعل بين هندسة البرمجيات والتعلم الآلي

المنظور التاريخي

  • الأربعينيات: اختراع أجهزة الكمبيوتر.
  • الخمسينيات: لغة التجميع ، فورتران.
  • الستينيات: كوبول ، ألغول ، بي إل / 1 ، أنظمة التشغيل.
  • 1969: أول مؤتمر لهندسة البرمجيات.
  • السبعينيات: أنظمة متعددة المستخدمين ، قواعد البيانات ، البرمجة المنظمة.
  • الثمانينيات: الشبكات ، الحوسبة الشخصية ، الأنظمة المضمنة ، العمارة المتوازية.
  • التسعينيات: الطريق السريع للمعلومات ، الأنظمة الموزعة ، البرمجة الموجهة للكائنات.
  • الألفية: الواقع الافتراضي ، التعرف على الصوت ، مؤتمرات الفيديو ، الحوسبة العالمية ، الحوسبة انتشار.
  • العقد الأول من 2000s: أنظمة سجلات المرضى الإلكترونية ، المركبات ذاتية القيادة ، الوعي الأمني الجديد.

تكاليف الأجهزة مقابل تكاليف البرمجيات

  • تظهر البيانات أن تكاليف الأجهزة انخفضت بشكل كبير مع مرور الوقت بينما زادت تكاليف البرمجيات بشكل ملحوظ.

لماذا البرمجيات باهظة الثمن؟

  • حققت تكنولوجيا الأجهزة تقدمًا كبيرًا.
  • حققت تكنولوجيا البرمجيات تقدمًا كبيرًا أيضًا ، لكننا نجري مهامًا أقل فهمًا في البرمجيات.
  • عندما تكون المهمة بسيطة ومفهومة ، نقوم بتشفيرها في الأجهزة.
  • الطلب على وظائف البرمجيات يزداد باستمرار ، مما يجعلها باهظة الثمن.

حجم البرامج

  • تستمر البرامج في النمو مع الوقت.
  • ينقسم حجم البرامج إلى فئات:
    • تافه: 1 شهر ، 1 مبرمج ، 500 سطر من التعليمات البرمجية.
    • صغير جدًا: 4 أشهر ، 1 مبرمج ، 2000 سطر من التعليمات البرمجية.
    • صغير: 2 عام ، 3 مبرمجين ، 50 ألف سطر من التعليمات البرمجية.
    • متوسط: 3 سنوات ، عشرات المبرمجين ، 100 ألف سطر من التعليمات البرمجية.
    • كبير: 5 سنوات ، مئات المبرمجين ، 1 مليون سطر من التعليمات البرمجية.
    • كبير جدًا: 10 سنوات ، آلاف المبرمجين ، 10 ملايين سطر من التعليمات البرمجية.
    • كبير جدًا جدًا: 15+ سنوات ، آلاف المبرمجين ، 35 مليون سطر من التعليمات البرمجية.
    • ضخم جدًا: سنوات ، مبرمجين منتشرين ، آلاف أجهزة الاستشعار ، وحدات اتخاذ القرار ، منصات غير متجانسة ، تحكم لامركزي.

النطاق الجديد: أنظمة متكاملة مع البرمجيات على نطاق ضخم جدًا (IOT)

  • بنية الرعاية الصحية.
  • أنظمة النقل والمركبات الذكية.

النظام البيئي لبرمجيات ضخمة جدًا

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

سياق "صحة كافية" للنظام

  • الهدف رفيع المستوى هو تصميم نظام آمن قابل للتكيف مع معلومات غير مكتملة وشروط بيئية متطورة.
  • بيئة التنفيذ تتضمن نمذجة البيئة ، ومراقبة التغيرات بفعالية ، والمراقبة التكيفية.
  • اتخاذ القرارات للتكيف الديناميكي يشمل التحكم اللامركزي وضمانات التأكيد (القيود الوظيفية وغير الوظيفية).
  • آليات التكيف تشمل مستوى التطبيق ومستوى البرامج الوسيطة.

ما هي المشكلة؟

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

لماذا هندسة البرمجيات مطلوبة؟

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

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

  • التعريف: ما هو؟
  • التطوير: كيف؟
  • الصيانة: إدارة التغيير.
  • أنشطة المظلة: طوال دورة حياة البرنامج.

التعريف

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

التطوير

  • تصميم البرامج:
    • تصميم واجهة المستخدم
    • تصميم عالي المستوى:
      • تحديد المكونات المدمجة
      • تحديد هياكل البيانات الرئيسية
    • تصميم تفصيلي:
      • تحديد الخوارزميات والتفاصيل الإجرائية.
  • التشفير:
    • تطوير التعليمات البرمجية لكل وحدة.
    • اختبار الوحدة.
  • التكامل:
    • دمج الوحدات.
    • اختبار النظام.

الصيانة

  • التصحيح: إصلاح عيوب البرامج.
  • التكيف: التكيف مع التغييرات
    • أجهزة جديدة.
    • سياسات الشركة الجديدة.
  • التحسين: إضافة وظائف جديدة.
  • الوقاية: جعل البرنامج أكثر قابلية للصيانة.

أنشطة المظلة

  • الاستعراضات: ضمان الجودة.
  • التوثيق: تحسين قابلية الصيانة.
  • التحكم في الإصدارات: تتبع التغييرات.
  • إدارة التكوين: ضمان سلامة مجموعة المكونات.

عملية التطوير

  • إجراء خطوة بخطوة لتطوير البرمجيات.
  • تتضمن بشكل عام المراحل الرئيسية:
    • التحليل
    • التصميم
    • التشفير
    • الاختبار

نموذج عملية الشلال

  • يُظهر نموذج عملية الشلال خطوات متتابعة:
    • المتطلبات
    • التصميم
    • التشفير
    • الاختبار
    • الصيانة

نموذج عملية V

  • يُظهر نموذج V مراحل تطوير الاختبار:
    • تحليل المتطلبات
    • تصميم النظام
    • تصميم البرنامج
    • التشفير
    • اختبار الوحدة والتكامل
    • اختبار النظام
    • اختبار القبول
    • التشغيل والصيانة

نموذج عملية إنشاء النموذج الأولي

  • يُظهر نموذج إنشاء النموذج الأولي مراحل تصميم وتطوير:
    • المتطلبات
    • تصميم سريع
    • النموذج الأولي
    • التقييم
    • التصميم

متى نستخدم النموذج الأولي؟

  • مساعدة العميل على تحديد المتطلبات بدقة
  • استكشاف حلول بديلة لمكون معقد
  • تحسين معنويات الفريق.

نموذج عملية حلزوني

  • يُظهر نموذج عملية الحلزوني خطوات تكرارية:
    • تحديد الأهداف
    • تقييم البدائل
    • تقييم المخاطر
    • المراجعة
    • التخطيط
    • التطوير / الاختبار

نماذج العمليات

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

نموذج نضج القدرة

  • المستوى 1: الأولي: عشوائي ، يعتمد النجاح على الأشخاص.
  • المستوى 2: يمكن تكراره: تتبع التكلفة ، الجدول الزمني ، الوظائف.
  • المستوى 3: محدد: استخدام إجراءات موحدة.
  • المستوى 4: مدارة: جمع مقاييس مفصلة.
  • المستوى 5: تحسين: تحسين مستمر للعملية ، تحسين العملية المدمج.

لماذا تطوير البرمجيات صعب؟

  • الاتصال:
    • بين العميل والمطور:
      • ضعف تعريف المشكلة هو أكبر سبب لفشل مشاريع البرمجيات.
    • ضمن فريق التطوير:
      • زيادة عدد المبرمجين = زيادة الاتصال.
      • المبرمجين الجدد بحاجة إلى التدريب.
  • خصائص المشروع:
    • الجديد
    • تغيير المتطلبات:
      • تكلفة 5 أضعاف خلال التطوير
      • تكلفة تصل إلى 100 مرة خلال الصيانة
    • تكوين الأجهزة / البرمجيات
    • متطلبات الأمن
    • متطلبات الوقت الحقيقي
    • متطلبات الموثوقية.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

into-ali.pdf

More Like This

Use Quizgecko on...
Browser
Browser