You are on page 1of 4

‫السؤال‪ :‬ما هو البيان األجيل؟‬

‫البيان األجيل‪ :‬البيان األجيل هو مجموعة من المبادئ التوجيهية لتطوير البرمجيات األجيل‪ .‬يشدد على المرونة والتعاون ورضا العمالء‬
‫والتطوير التكراري على التخطيط والعمليات الصارمة‪ .‬البيان األجيل يقدر األفراد والتفاعالت على العمليات واألدوات‪ ،‬والبرمجيات العاملة‬
‫‪.‬على الوثائق الشاملة‪ ،‬والتعاون مع العمالء على التفاوض على العقود‪ ،‬واالستجابة للتغيير على اتباع خطة‬

‫؟)‪ (XP‬السؤال‪ :‬ما هي الميزات الرئيسية لالختبار في البرمجة المتقدمة‬

‫‪ XP‬يتميز االختبار في ‪ (XP):‬الميزات الرئيسية لالختبار في البرمجة المتقدمة‬ ‫باالختبار المستمر طوال عملية التطوير‪ .‬تشمل الميزات‬
‫‪:‬الرئيسية‬

‫‪.‬يكتب المطورون االختبارات قبل كتابة الكود‪ ،‬مما يضمن أن الكود يلبي متطلبات تلك االختبارات ‪ (TDD):‬تطوير البرمجيات باالختبار‬
‫االختبار التلقائي‪ :‬يتم كتابة االختبارات التلقائية للتحقق من وظائف الكود‪ُ .‬تنَّفذ هذه االختبارات بشكل متكرر‪ ،‬مما يضمن عدم إدخال أي‬
‫‪.‬تدهورات‬
‫البرمجة المتزاوجة‪ :‬يعمل المطورون في أزواج‪ ،‬حيث يكتب أحدهم الكود واآلخر االختبارات‪ .‬يضمن ذلك اختبار الكود بشكل شامل من‬
‫‪.‬منظورين مختلفين‬

‫السؤال‪ :‬ما هي األنواع الرئيسية لألنظمة الحرجة؟ واشرح االختالفات بينها؟‬

‫‪:‬األنواع الرئيسية لألنظمة الحرجة‪ :‬يمكن تصنيف األنظمة الحرجة إلى ثالثة أنواع رئيسية استناًدا إلى حساسيتها‬

‫‪.‬األنظمة الحرجة للسالمة‪ :‬هذه األنظمة مصممة لمنع الحوادث أو المخاطر على حياة اإلنسان‬
‫‪.‬األنظمة الحرجة للمهمة‪ :‬هذه األنظمة ضرورية لنجاح مهمة أو عملية ما‬
‫‪.‬األنظمة الحرجة لألعمال‪ :‬هذه األنظمة حيوية لعمل الشركة أو المؤسسة‬

‫السؤال‪ :‬ما هي أبعاد التوثيق في األنظمة الحرجة؟‬

‫‪:‬أبعاد التوثيق في األنظمة الحرجة‪ :‬يمكن تقييم التوثيق في األنظمة الحرجة عبر عدة أبعاد‬

‫‪.‬الموثوقية‬
‫‪.‬التوفر‬
‫‪.‬السالمة‬
‫‪.‬األمان‬
‫‪.‬قابلية الصيانة‬
‫‪.‬القابلية للبقاء‬

‫؟ وشرح مراحلها؟)‪ (RUP‬السؤال‪ :‬ما هي عملية التوحيد الرشيق‬


‫تعتبر عملية التوحيد الرشيق نموذًج ا حديًثا لعملية هندسة البرمجيات‪ .‬يتكون من أربع مراحل‪ :‬اإلنشاء‪ (RUP): ،‬عملية التوحيد الرشيق‬
‫‪.‬والتوضيح‪ ،‬والبناء‪ ،‬واالنتقال‬

‫ما هيا مزايا وعيوب كل من منهجيات التطوير التالية‬


‫‪Waterfall‬‬
‫‪incremental‬‬
‫‪spiral‬‬

‫‪):‬الشالل( ‪Waterfall‬‬

‫‪:‬مزايا‬

‫‪.‬هي منهجية بسيطة وسهلة الفهم‪ ،‬حيث يتم تقسيم عملية التطوير إلى مراحل متسلسلة‬
‫‪.‬تناسب المشاريع التي تتطلب تحديد مواصفات محددة وثابتة قبل بدء عملية التطوير‬
‫‪.‬يتيح التحكم الدقيق في التكاليف والجدول الزمني‬
‫‪:‬عيوب‬

‫‪.‬قلة المرونة؛ حيث يصعب تغيير المتطلبات بعد بدء عملية التطوير‬
‫‪.‬قد يؤدي التأخير في اكتمال مرحلة معينة إلى تأخير في مراحل الحقة‬
‫‪.‬قد تحتاج المشاريع الكبيرة إلى وقت طويل الستكمال كافة المراحل‬
‫‪):‬التزايدي( ‪Incremental‬‬
‫‪:‬مزايا‬

‫‪.‬تتيح تسليم نسخة قابلة للعمل من المنتج في مراحل مبكرة من التطوير‬


‫‪.‬يسمح بتحسينات مستمرة وتطوير تدريجي للمنتج بناًء على ردود الفعل واحتياجات العمالء‬
‫‪.‬تقليل مخاطر الفشل بتقسيم العملية إلى مراحل صغيرة ومتكررة‬
‫‪:‬عيوب‬

‫‪.‬قد يكون التصميم غير شامل أو غير متكامل في المراحل األولى‪ ،‬مما يؤدي إلى تحديات في االندماج الحًقا‬
‫‪.‬يتطلب التخطيط المتكرر والتواصل المستمر مع العمالء‪ ،‬مما قد يتسبب في زيادة التكاليف والوقت‬
‫‪.‬قد تكون االختبارات والتكامل بين المراحل معقدة في بعض األحيان‬
‫‪):‬الحلزونية( ‪Spiral‬‬

‫‪:‬مزايا‬

‫‪.‬تسمح بتقييم وتحليل المخاطر بشكل مستمر‪ ،‬مما يقلل من فرص الفشل في المشروع‬
‫‪.‬يمكن تطبيق التعديالت والتحسينات بناًء على التعلم والتطورات خالل مراحل التطوير‬
‫‪.‬تسمح بتقسيم المشروع إلى مراحل قابلة للتنفيذ بشكل مستقل‬
‫‪:‬عيوب‬

‫‪.‬قد تكون مكلفة بالنسبة للمشاريع الصغيرة والبسيطة‬


‫‪.‬يتطلب فهم متقدم إلدارة المخاطر والتخطيط االستراتيجي‬
‫‪.‬يمكن أن تكون العمليات معقدة ومعرضة للتأخير نتيجة للتحليل المتكرر والتقييمات‬

‫ما هي الهندسة البرمجية؟‬

‫الهندسة البرمجية هي مجال دراسة وتطبيق المبادئ والممارسات التي تتعلق بتطوير البرمجيات بطرق فعالة ومنظمة‪ .‬تشمل هذه العملية‬
‫‪.‬تحليل المتطلبات‪ ،‬وتصميم النظام‪ ،‬وتطوير البرمجيات‪ ،‬واختبارها‪ ،‬وصيانتها‬
‫ما هي سمات البرمجيات الجيدة؟‬

‫‪.‬القابلية للتوسع‪ :‬القدرة على تعديل البرمجيات وتوسيعها لتلبية احتياجات جديدة‬
‫‪.‬القابلية للصيانة‪ :‬السهولة في فهم البرمجيات وتغييرها وإصالح األخطاء فيها‬
‫‪.‬االستقرار‪ :‬القدرة على العمل بثبات وثبات دون حدوث أعطال متكررة‬
‫‪.‬األداء‪ :‬القدرة على أداء الوظائف المطلوبة بشكل سريع وفعال‬
‫‪.‬األمان‪ :‬القدرة على حماية البيانات والتأكد من عدم تعرضها لالختراق أو السرقة‬
‫ما الفرق الذي أحدثته الويب في الهندسة البرمجية؟‬

‫‪.‬قدمت الويب أساليب جديدة لتطوير وتسليم البرمجيات مثل تطوير الويب والتطبيقات السحابية‬
‫)‪ (APIs‬زادت الويب من التواصل والتعاون بين المطورين والعمالء من خالل تقنيات مثل الواجهات البرمجية للتطبيقات‬ ‫والتطبيقات‬
‫‪.‬التفاعلية‬
‫ما هي أفضل تقنيات وأساليب الهندسة البرمجية؟‬

‫‪Kanban.‬و ‪Scrum‬و ‪Agile‬‬


‫‪.‬تطوير البرمجيات القائم على المكونات والتركيز على إعادة استخدام الكود‬
‫‪Continuous Integration/Continuous Deployment (CI/CD).‬و ‪DevOps‬‬
‫ما هي التحديات الرئيسية التي تواجه الهندسة البرمجية؟‬

‫‪.‬تحديات في إدارة المتطلبات وفهمها‬


‫‪.‬ضغط الجدول الزمني والموارد‬
‫‪.‬تحديات الجودة واالختبار‬
‫‪.‬التحديات األمنية والخصوصية‬
‫ما هي تكاليف الهندسة البرمجية؟‬

‫‪.‬تكاليف التطوير واالختبار‬


‫‪.‬تكاليف الصيانة والتحديث‬
‫‪.‬تكاليف التوجيه والتدريب‬
‫ما الفرق بين الهندسة البرمجية وهندسة النظم؟‬
‫الهندسة البرمجية تركز على تطوير البرمجيات‪ ،‬بينما هندسة النظم تركز على تصميم وتطوير األنظمة بمكوناتها المختلفة بما في ذلك‬
‫‪.‬البرمجيات‬
‫ما الفرق بين الهندسة البرمجية وعلوم الحاسوب؟‬

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

‫‪.‬تحليل المتطلبات‬
‫‪.‬تصميم النظام‬
‫‪.‬تطوير البرمجيات‬
‫‪.‬اختبار البرمجيات‬
‫‪.‬صيانة البرمجيات‬
‫ما هو البرمجيات؟‬

‫‪.‬البرمجيات هي مجموعة من البرامج والتطبيقات التي تم إنشاؤها لتنفيذ وظائف معينة على أجهزة الكمبيوتر أو األجهزة الذكية‬
‫‪:‬الملكية الجماعية‬

‫‪.‬تتعلق بتوافر رموز المصدر ومستنداتها للجميع‪ ،‬مما يتيح لألفراد الوصول إليها وتعديلها وتحسينها‬
‫‪:‬تطوير االختبار أوًال‬

‫‪.‬منهجية تقوم على كتابة اختبارات الوحدات واختبارات التكامل قبل بدء عملية كتابة الكود‬
‫‪:‬التخطيط التدريجي‬

‫‪.‬منهجية تقوم على تطوير البرمجيات بشكل تدريجي وتحديث التصميم والتوسع فيه بناًء على التجارب والردود‬
‫‪:‬أنظمة التحكم المضمنة‬

‫‪.‬أنظمة متخصصة مدمجة في أجهزة تنفيذية لتنفيذ وظائف محددة في األنظمة اإللكترونية واألجهزة‬
‫‪:‬إعادة الترتيب‬

‫‪.‬منهجية تقوم على ترتيب العمليات والتحسينات بناًء على الردود والتجارب والتحليل المستمر‬

‫‪ (L) - Cross-reference systems program restructuring system‬أدوات إعادة الهندسة‬


‫‪ (a) - PERT tools, estimation tools, spreadsheets‬أدوات التخطيط‬
‫‪ (k) - Page layout programs, image editors‬أدوات التوثيق‬
‫‪ (b) - Text editors, diagram editors, word processors‬أدوات التحرير‬
‫‪ (j) - Interactive debugging systems‬أدوات التصحيح‬
‫‪ (i) - Requirements traceability tools, change control system‬أدوات إدارة التغيير‬
‫‪ (c) - Test data generators, file comparators‬أدوات االختبار‬
‫‪ (d) - Version management systems, system building tools‬أدوات إدارة التكوين‬
‫‪ (e) - Very high-level languages, user interface generators‬أدوات تحليل البرنامج‬
‫‪ (h) - Cross reference generators, static analysers, dynamic analysis‬أدوات النموذج األولي‬
‫‪ (g) - Compilers, interpreters‬أدوات معالجة اللغة‬
‫‪ (f) - Design editors, data dictionaries, code generators‬أدوات دعم األسلوب‬

‫‪ critical system‬هناك ثالثة انواع رئيسية لالنظمة الحرجة اذكراها؟‬


‫وتهدف هذه األنظمة إلى منع وحدة السالمة العامة لألفراد والبيئة‪ .‬على ‪ (Safety-Critical Systems):‬أنظمة السالمة الحرجة‬
‫‪.‬سبيل المثال‪ ،‬نظام تحكم الطائرات وأنظمة التحكم في محطات الطاقة النووية‬

‫وتهدف هذه األنظمة إلى دعم مهمة أساسية أو عمليات حيوية‪ .‬على ‪ (Mission-Critical Systems):‬أنظمة المهمات الحرجة‬
‫‪.‬سبيل المثال‪ ،‬أنظمة التحكم في حركة المرور الجوي وأنظمة التداول المالي عبر اإلنترنت‬

‫وتهدف هذه األنظمة إلى دعم وظائف أساسية للشركة أو المؤسسة‪ (Business-Critical Systems): .‬أنظمة األعمال الحرجة‬
‫‪ (CRM).‬وأنظمة إدارة عالقات العمالء )‪ (ERP‬على سبيل المثال‪ ،‬أنظمة تخطيط موارد المؤسسات‬
‫?‪ (Manifesto) Agile software‬ما هيا مبادى‬
‫هي وثيقة تم تأسيسها في عام ‪ 2001‬من قبل مجموعة من المطورين البرمجيات‪ ،‬وتحدد مبادئ العمل والقيم األساسية لتطوير البرمجيات‬
‫في التركيز على األفراد والتفاعالت أكثر من األدوات والعمليات‪ ،‬وتسليم ‪ Agile Manifesto‬بشكل مرن وفعال‪ .‬تتمثل مبادئ‬
‫البرمجيات القابلة للتشغيل بشكل متكرر وبأسرع وقت ممكن‪ ،‬والتعاون مع العمالء أكثر من تحديد العقود‪ ،‬واالستجابة للتغييرات أكثر من‬
‫‪.‬اتباع خطة ثابتة‬

You might also like