ITSE424 : أنماط تصميم البرمجيات

القسم العلمي

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

البرنامج الدراسي

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

نوع المقرر

إجباري

الوحدات

03

الاسبقيات

ITGS211

نظرة عامة

في هذا المقرر يتمثل الموضوع في جعل الطلاب قادرين على تصميم وتنفيذ أنظمة البرامج الموزعة في Java باستخدام المقابس وآليات استدعاء الإجراءات عن بُعد و JAVA RMI. سيغطي: إدارة العمليات والخيوط ، نموذج العملية الأساسي ، الجدولة ، الأقسام الحرجة والمزامنة ، الاستبعاد المتبادل ، الإشارات ، المتغيرات الشرطية ، الشاشات ؛ التزامن ، نمذجة النشاط المتزامن بدءًا من سلاسل JAVA ، وأشكال الاتصال ، والبنى ، ووسائل الاتصال (الذاكرة المشتركة ، والاتصال المباشر بين العمليات) ؛ الأنظمة الموزعة ، نموذج خادم العميل ، التسمية والربط ، المبادئ العامة لـ RPC ، الحماية والأمان ؛ جافا RMI.

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

المعرفة والفهم

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

المهارات الذهنية

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

المهارات العملية والمهنية

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

المهارات العامة والمنقولة

  • مهارات تحليلية
  • العمل الجماعي / الفريق
  • حل المشاكل
  • ادارة مشروع
  • مهارات بحث وكتابة التقارير

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

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

طرق التقييم

  • اختبار تحريري نصفي = 30
  • اختبار شفهي = 3
  • تقييم مستمر بنائي (دوري) = 7
  • الأنشطة العلمية (مثلاً كتابة تقرير أو تقديم عرض)= 4
  • اختبار عملي = 6
  • اختبار تحريري نهائي = 50

محتوى المقرر

  • Java Overview
  • Introduction of software design patterns
  • Creational Patterns: Factory, Abstruct Factory
  • Creational Patterns: Builder, Singleton, Prototype
  • Structural design patterns: Adapter, Bridge, composition
  • Structural design patterns: Decorator,
  • Structural design: Facade
  • Structural design patterns: Flyweight
  • Structural design patterns: proxy Pattern
  • Behavioral Design Patterns: Observer
  • Behavioral Design Patterns: Strategy.
  • Behavioral Design: Command
  • Final Project

برمجة الشبكات (ITSE405)
تطوير التطبيقات المتنقلة (ITSE304)
خوارزميات و بروتوكولات التشفير (ITSE306)
نظم إسترجاع المعلومات (ITSE307)
نظم تشغيل الأجهزة المتنقلة (ITSE308)
نماذج البرمجة (ITSE309)
مبادئ تطوير الألعاب (ITSE401)
نظم الوسائط المتعددة (ITSE404)
الحوسبة السحابية (ITSE406)
خدمات الانترنت (ITSE407)
تطوير تطبيقات الانترنت (ITSE408)
نمذجة الأنظمة المركبة (ITSE303)
التنقيب عن البيانات/الذكاء التجاري (ITSE302)
الشبكات الاجتماعية (ITSE409)
برمجة المنطق (ITSE301)
رياضة 1 (ITMM111)
فيزياء (ITPH111)
تقنيات حل المشاكل (ITGS113)
مقدمة في تقنية المعلومات (ITGS111)
لغة إنجليزية 1 (ITEL111)
لغة عربية 1 (ITAR111)
رياضة 2 (ITMM122)
لغة عربية 2 (ITAR122)
لغة إنجليزية 2 (ITEL122)
مقدمة في البرمجة (ITGS122)
تحليل و تصميم نظم (ITGS124)
الدوائر المنطقية (ITGS126)
مقدمة في الشبكات (ITGS215)
مبادئ الإحصاء والاحتمالات (ITST211)
البرمجة الشيئية (ITGS211)
مقدمة في هندسة البرمجيات (ITGS213)
التراكيب المنفصلة (ITGS217)
التحليل العددي (ITGS219)
مقدمة في قواعد البيانات (ITGS228)
تراكيب بيانات (ITGS220)
أساسيات نظم المعلومات (ITGS222)
مقدمة في برمجة الانترنت (ITGS226)
معمارية الحاسوب (ITGS223)
أمن المعلومات (ITGS224)
تحليل وتصميم الخوارزميات (ITGS301)
إدارة مشاريع تقنية المعلومات (ITGS303)
تحليل متطلبات برمجيات (ITSE311)
قواعد البيانات المتقدمة (ITSE312)
الكتابة العلمية (ITGS304)
لغة برمجة الحديثة - جافا متقدمة (ITSE322)
بناء البرمجيات (ITSE321)
نظم التشغيل (ITGS302)
تصميم وهيكلة البرمجيات (ITSE411)
برمجة الانترنت المتقدمة (ITSE412)
التفاعل بين الإنسان والحاسوب (ITSE413)
أخلاقيات هندسة البرمجيات (ITSE414)
جودة واختبار البرمجيات (ITSE421)
إعادة إستخدام البرمجيات (ITSE422)
البرمجة المرئية (ITSE423)
أنماط تصميم البرمجيات (ITSE424)