Podcast
Questions and Answers
ما هي العناصر الرئيسية في نظام ULS؟
ما هي العناصر الرئيسية في نظام ULS؟
ما هو الهدف الرئيسي من تصميم نظام صحي مناسب؟
ما هو الهدف الرئيسي من تصميم نظام صحي مناسب؟
ما هي إحدى المشاكل الرئيسية المتعلقة بالبرامج؟
ما هي إحدى المشاكل الرئيسية المتعلقة بالبرامج؟
لماذا يُعتبر هندسة البرمجيات ضرورية؟
لماذا يُعتبر هندسة البرمجيات ضرورية؟
Signup and view all the answers
ما هي مرحلة التطوير في هندسة البرمجيات؟
ما هي مرحلة التطوير في هندسة البرمجيات؟
Signup and view all the answers
ما هي إحدى الأهداف الرئيسية لهندسة البرمجيات؟
ما هي إحدى الأهداف الرئيسية لهندسة البرمجيات؟
Signup and view all the answers
ما هي إحدى الوسائل المستخدمة لضمان جودة البرمجيات؟
ما هي إحدى الوسائل المستخدمة لضمان جودة البرمجيات؟
Signup and view all the answers
ما هي الميزة الرئيسية لتطبيق نهج هندسة البرمجيات في تطوير الأنظمة؟
ما هي الميزة الرئيسية لتطبيق نهج هندسة البرمجيات في تطوير الأنظمة؟
Signup and view all the answers
ما هي إحدى المناهج المطروحة في هندسة البرمجيات؟
ما هي إحدى المناهج المطروحة في هندسة البرمجيات؟
Signup and view all the answers
أي من الخيارات التالية ليست من الأسئلة التي تعالجها هندسة البرمجيات؟
أي من الخيارات التالية ليست من الأسئلة التي تعالجها هندسة البرمجيات؟
Signup and view all the answers
ما هو الهدف الأول من استخدام نموذج العمليات في تطوير البرمجيات؟
ما هو الهدف الأول من استخدام نموذج العمليات في تطوير البرمجيات؟
Signup and view all the answers
أي من العوامل التالية يؤثر بشكل غير مباشر على تكاليف تطوير البرمجيات؟
أي من العوامل التالية يؤثر بشكل غير مباشر على تكاليف تطوير البرمجيات؟
Signup and view all the answers
ما هي المرحلة التي تشمل تقييم البدائل وفحص المخاطر في نموذج الشلال؟
ما هي المرحلة التي تشمل تقييم البدائل وفحص المخاطر في نموذج الشلال؟
Signup and view all the answers
أي من المستويات في نموذج نضج القدرات يشير إلى عمليات قياسية مستخدمة؟
أي من المستويات في نموذج نضج القدرات يشير إلى عمليات قياسية مستخدمة؟
Signup and view all the answers
لماذا يعتبر التواصل بين العميل والمطورين عنصرًا حاسمًا في تطوير البرمجيات؟
لماذا يعتبر التواصل بين العميل والمطورين عنصرًا حاسمًا في تطوير البرمجيات؟
Signup and view all the answers
ما الذي ساهم في زيادة تكاليف البرمجيات مقارنةً بتكاليف الأجهزة؟
ما الذي ساهم في زيادة تكاليف البرمجيات مقارنةً بتكاليف الأجهزة؟
Signup and view all the answers
ما هو نطاق 'الأنظمة البرمجية ذات النطاق الواسع جداً' كما هو موضح في المحتوى؟
ما هو نطاق 'الأنظمة البرمجية ذات النطاق الواسع جداً' كما هو موضح في المحتوى؟
Signup and view all the answers
أي من الأنواع التالية تُصنَّف ضمن 'البرامج الكبيرة' استناداً إلى حجم الأكواد المطلوبة؟
أي من الأنواع التالية تُصنَّف ضمن 'البرامج الكبيرة' استناداً إلى حجم الأكواد المطلوبة؟
Signup and view all the answers
ما الذي يتضمنه التكامل بين هندسة البرمجيات والتعلم الآلي؟
ما الذي يتضمنه التكامل بين هندسة البرمجيات والتعلم الآلي؟
Signup and view all the answers
في أي عقد كانت أجهزة الحاسوب تُخضع للتحسينات المشتركة وأنظمة تشغيل تُطوَّر؟
في أي عقد كانت أجهزة الحاسوب تُخضع للتحسينات المشتركة وأنظمة تشغيل تُطوَّر؟
Signup and view all the answers
ما هو التعليم الرئيسي المستفاد من حالة تكاليف البرمجيات مقابل تكاليف الأجهزة؟
ما هو التعليم الرئيسي المستفاد من حالة تكاليف البرمجيات مقابل تكاليف الأجهزة؟
Signup and view all the answers
ما هو نطاق 'البرامج المتوسطة' حسب الساعات المطورة وعدد المبرمجين؟
ما هو نطاق 'البرامج المتوسطة' حسب الساعات المطورة وعدد المبرمجين؟
Signup and view all the answers
ما هي أبرز التحديات التي تواجهها الأنظمة البرمجية الكبيرة جداً؟
ما هي أبرز التحديات التي تواجهها الأنظمة البرمجية الكبيرة جداً؟
Signup and view all the answers
ما هي الأنشطة التي تُعتبر جزءًا من الحفاظ على البرمجيات؟
ما هي الأنشطة التي تُعتبر جزءًا من الحفاظ على البرمجيات؟
Signup and view all the answers
ما هي المكونات الرئيسية التي يجب أن يفهمها المطور عند تحليل المتطلبات؟
ما هي المكونات الرئيسية التي يجب أن يفهمها المطور عند تحليل المتطلبات؟
Signup and view all the answers
ما الذي يهدف إليه تصميم البرمجيات؟
ما الذي يهدف إليه تصميم البرمجيات؟
Signup and view all the answers
ما هي الأنشطة التي يتم تنفيذها خلال مرحلة التكامل؟
ما هي الأنشطة التي يتم تنفيذها خلال مرحلة التكامل؟
Signup and view all the answers
ما هو الهدف من إدارة الإصدارات في البرمجيات؟
ما هو الهدف من إدارة الإصدارات في البرمجيات؟
Signup and view all the answers
ما الذي يعتبر جزءًا من عملية تطوير البرمجيات؟
ما الذي يعتبر جزءًا من عملية تطوير البرمجيات؟
Signup and view all the answers
عند استخدام نموذج الشلال، ما هي المرحلة التي تأتي بعد مرحلة التصميم؟
عند استخدام نموذج الشلال، ما هي المرحلة التي تأتي بعد مرحلة التصميم؟
Signup and view all the answers
في نموذج البرمجة البروتوتايب، أي من المراحل يتضمن تقييم النموذج؟
في نموذج البرمجة البروتوتايب، أي من المراحل يتضمن تقييم النموذج؟
Signup and view all the answers
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.
Related Documents
Description
هذا الاختبار يركز على العناصر الرئيسية في نظام ULS والهدف من تصميم نظام صحي مناسب. كما يتناول أهمية هندسة البرمجيات، والمشاكل المتعلقة بها، ووسائل ضمان جودة البرمجيات. اختبر معرفتك في هذا المجال الحيوي.