دورة عبر الإنترنت – تخصص احترافي معتمد في تصميم البرمجيات وهندستها من قبل Google وجامعة ألبرتا

استراتيجيات واعية لتطوير البرمجيات ذات الجودة. فكر كمهندس معماري خبير وأنشئ برامج عالية الجودة باستخدام أنماط ومبادئ التصميم.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

البدء

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

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

What you will learn in the course

Courses for which the course is suitable

  • مطور البرمجيات
  • مهندس برمجيات
  • مطور تطبيقات أندرويد
  • مهندس البرمجيات
  • مطور جافا
  • مطور نظم المعلومات
  • مطور المكدس الكامل
  • مطور الواجهة الخلفية
  • مطور الواجهة الأمامية
  • مدير مشروع التكنولوجيا

الاحتراف – سلسلة من الدورات المكونة من 4 أجزاء

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

ستساعدك الأمثلة العملية والفرص لتطبيق معرفتك على تطوير مهارات البحث عن عمل والتدريب ذي الصلة في صناعة البرمجيات.

مشروع التعلم العملي

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

ستجد برامج تعليمية لمساعدتك على فهم قاعدة التعليمات البرمجية الأولية وتعلم أساسيات تطوير Android.

المتطلبات الأساسية

  • يشترط أن تكون لديك معرفة أساسية ببرمجة Java.
  • سيتطلب منك تطبيق capstone استخدام Android Studio، وهو بيئة تطوير متكاملة.
  • لمعرفة المزيد حول Android Studio، يرجى الاطلاع على البرامج التعليمية لنظام التشغيل Windows أو Mac.

Details of the courses that make up the specialization

التصميم الموجه للكائنات

  • الدورة 1 • 17 ساعة • 4.7 (2315 تقييمًا)

تفاصيل الدورة

ماذا ستتعلم

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

في المشروع النهائي، ستواجه تحديًا لتطبيق معرفتك بالتصميم الموجه للكائنات من خلال تطوير قاعدة كود Java والوثوق بها لتطبيق Android باستخدام مستندات UML المناسبة.

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

المهارات التي سوف تكتسبها

  • الفئة: التصميم الموجه للكائنات
  • التصميم الموجه للكائنات
  • الفئة: التحليل والتصميم الموجه للكائنات
  • التحليل والتصميم الموجه للكائنات
  • الفئة: لغة النمذجة الموحدة (UML)
  • لغة النمذجة الموحدة (UML)

أنماط التصميم

  • الدورة 2 • 15 ساعة • 4.7 (1308 تقييمًا)

تفاصيل الدورة

ماذا ستتعلم

تعمل هذه الدورة على توسيع نطاق التحليل والتصميم الموجه للكائنات من خلال دمج أنماط التصميم لإنشاء تطبيقات تفاعلية. من خلال مراجعة أنماط التصميم المعمول بها، سوف تكتسب المعرفة الأساسية لتطبيقات البرامج الأكثر تعقيدًا. وأخيرًا، ستتعرف على تصميمات البرامج التي بها مشكلات من خلال الرجوع إلى دليل Code Smells Guide.

في المشروع النهائي، ستواجه تحديًا يتمثل في إعادة تصميم تطبيق Android موجود قائم على Java لتنفيذ مجموعة من أنماط التصميم. قم أيضًا بفحص قاعدة تعليمات Javascript المحددة بحثًا عن روائح التعليمات البرمجية.

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

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

  • الدورة 3 • 9 ساعات • 4.5 (893 تقييمًا)

تفاصيل الدورة

ماذا ستتعلم

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

في المشروع النهائي، ستقوم بتوثيق تطبيق Android المستند إلى Java باستخدام مخططات UML وتقييم بنية التطبيق باستخدام طريقة تحليل المعضلات المعمارية (ATAM).

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

الهندسة المعمارية الموجهة نحو الخدمة

  • الدورة 4 • 9 ساعات • 4.5 (570 تقييمًا)

تفاصيل الدورة

ماذا ستتعلم

استنادًا إلى فهم الأنماط المعمارية، ستقوم بمراجعة بنيات تطبيقات الويب، ثم استكشاف أساسيات البنية الموجهة نحو الخدمة (SOA) في طريقتين: خدمات الويب (WS*) وهندسة نقل الحالة التمثيلية (REST). في المشروع النهائي، ستتصل بتطبيق Android يستند إلى Java باستخدام Elasticsearch، وهي خدمة ويب مزودة بواجهة برمجة تطبيقات REST (API).

بعد الانتهاء من هذه الدورة، سوف تكون قادرا على:
  • وصف SOA (الهندسة الموجهة نحو الخدمة) لتصميم الأنظمة القائمة على الشبكة.
  • شرح خدمات WS* (على سبيل المثال، SOAP عبر HTTP، WSDL، UDDI، BPEL).
  • تنفيذ بنية REST (أي JSON عبر HTTP وURI).
  • التعرف على مبادئ تصميم REST.
  • إنشاء نظام باستخدام واجهات REST.
  • تنفيذ بنية الخدمات المصغرة.

المهارات التي سوف تكتسبها

  • التصنيف: خدمات الشبكات
  • خدمات الشبكة
  • التصنيف: الخدمات المصغرة
  • الخدمات المصغرة
  • الفئة: نقل الدولة التمثيلي (REST)
  • نقل الحالة التمثيلية (REST)
  • الفئة: الهندسة المعمارية الموجهة نحو الخدمة
  • الهندسة المعمارية الموجهة نحو الخدمة