دليل المراجعة · GKU 1

دليل مراجعة أسس الحوسبة (هندسة البرمجيات)

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

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

SKU 1.1 · أسس علوم الحاسب

  1. أساسيات البرمجة وحل المسائل

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

  2. الخوارزميات والتعقيد

    كيف ينمو زمن البرنامج مع مدخلاته: ترميز O الكبير، وعدّ العمليات في الحلقات، وكلفة البحث والفرز، والعودية والمبرهنة الرئيسية، واستراتيجيات التصميم — فرّق تسد والجشع والبرمجة الديناميكية — مع الحالة التي يفشل فيها الجشع.

  3. بنى البيانات

    المصفوفات والقوائم المترابطة والمكدسات والطوابير وأشجار البحث الثنائية والكومات وجداول التجزئة والمخططات: ما الذي تجعله كل منها رخيصاً وما الذي تجعله مكلفاً، وكيف تُتتبّع يدوياً.

  4. البرمجة كائنية التوجه

    الأصناف والكائنات، والركائز الأربع (التغليف والتجريد والوراثة وتعدد الأشكال)، والتحكم في الوصول، والبواني والهوادم، والتحميل الزائد مقابل التجاوز، وقاعدة الدوال الافتراضية التي تحدد أي طريقة تُنفّذ.

  5. الأنماط البرمجية وتصميم اللغات

    مقارنة البرمجة الأمرية وكائنية التوجه والوظيفية والمنطقية، وأسئلة تصميم اللغات التي يطرحها الاختبار عنها: الصياغة مقابل الدلالة، والمترجَمة مقابل المفسَّرة، والأنواع والنطاقات الساكنة مقابل الديناميكية، وكيفية تمرير المعاملات.

  6. نظم التشغيل: العمليات والجدولة والجمود

    ما يفعله نظام التشغيل، ودورة حياة العملية، وجدولة المعالج مع زمني الدوران والانتظار (FCFS وSJF وSRTF والتناوب الدائري)، والجمود — شروطه الأربعة واختبار الأمان بخوارزمية المصرفي.

  7. نظم قواعد البيانات: النموذج العلائقي وSQL وNoSQL

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

  8. الاعتماديات الوظيفية والتطبيع

    لماذا تسبب الجداول سيئة التصميم شذوذات التحديث، وكيف تجد الاعتماديات الوظيفية وانغلاق السمات المفاتيح المرشحة، وكيف تُختبر الصيغ 1NF و2NF و3NF وBCNF ويُوصل إليها بالتفكيك غير الفاقد.

SKU 1.2 · تصميم هندسة البرمجيات

  1. التزامن وتصميم الأنظمة

    تصميم النظام أجزاءً متزامنة متعاونة: حالات السباق والتحديثات المفقودة، ومتطلبات المقطع الحرج، والأقفال والسيمافورات والمراقِبات، ومسألة المخزن المحدود، وكيف يُبقي ترتيب الأقفال التصميم خالياً من الجمود.

  2. نظم الملفات وإدارة التخزين

    كيف يربط نظام الملفات الملفات المسماة بكتل القرص (التخصيص المتجاور والمتسلسل والمفهرس، والعقد الفهرسية)، وكم يكلّف الوصول إلى القرص، وكيف ترتب خوارزميات جدولة القرص الطلبات، وماذا يقدّم كل مستوى من RAID.

  3. إدارة الذاكرة والذاكرة الافتراضية

    هرم الذاكرة، والعناوين المنطقية مقابل الفيزيائية، والتجزئة، والترقيم وترجمة العناوين، ومخزن TLB وزمن الوصول الفعّال، والترقيم عند الطلب مع استبدال الصفحات بخوارزميات FIFO وLRU والمثلى.

  4. نمذجة البيانات في بناء الحلول

    من قواعد العمل إلى المخطط: النماذج المفاهيمية والمنطقية والمادية، والكيانات والسمات والعلاقات مع التعددية والمشاركة، وقواعد تحويل مخطط الكيانات والعلاقات إلى جداول، والتضمين مقابل الإحالة في مخزن المستندات.

SKU 1.3 · تطوير البرمجيات

  1. مفاهيم هندسة النظم

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

  2. المعايير في بناء البرمجيات

    لماذا يتبع البناء معايير، ومعايير الترميز التي يعتمدها الفريق (قواعد الأسلوب والسلامة والترميز الآمن)، ومعايير العمليات والجودة من ISO/IEC/IEEE — 12207 و25010 و730 و1012 و29119 — مع نموذج جودة المنتج المستخدم لتحديد الجودة وفحصها.

  3. نماذج دورة الحياة وتخطيط البناء والقياس

    النماذج الشلالية وV والتزايدية والحلزونية والرشيقة وكيفية الاختيار بينها؛ وتخطيط البناء؛ والقياسات المستخدمة لتوجيهه — الحجم بآلاف الأسطر، والتعقيد الدوري، وكثافة العيوب، والجهد والجدول الزمني بنموذج COCOMO الأساسي.

  4. لغات البناء والترميز والاختبار وإعادة الاستخدام وضمان الجودة

    أنواع لغات البناء، والترميز الدفاعي، ومستويات الاختبار، وتصميم الصندوق الأسود بفئات التكافؤ والقيم الحدية، وتغطية الجمل والفروع في الصندوق الأبيض، وإعادة الاستخدام ومخاطرها، والمراجعات والمقاييس التي تضمن الجودة.

SKU 1.4 · تخطيط التصميم والبناء

  1. التصميم الهندسي والتصميم بالعقود

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

  2. آلات الحالة والجداول والقواعد النحوية في البناء

    البناء القائم على الحالة بآلات الحالة المنتهية، والشيفرة المقودة بالجداول التي تحل محل سلاسل if المتداخلة، ومعالجة المدخلات القائمة على القواعد النحوية: صيغة BNF والاشتقاقات والأسبقية ومحلل النزول العودي.

  3. بيئات تطوير البرمجيات وسلاسل الأدوات

    ما تجمعه بيئة التطوير المتكاملة، والطريق من الشيفرة المصدرية إلى البرنامج العامل (الترجمة والربط والتحميل)، وأدوات البناء والاعتماديات، والتحكم بالإصدارات بـGit، والتكامل المستمر، والحاويات وسلسلة التطوير–الاختبار–الإنتاج، والترقيم الدلالي للإصدارات.

  4. تصميم الأنظمة الموزعة والآنية والمتزامنة

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

SKU 1.5 · أدوات بناء البرمجيات

  1. التنقيح وتحليل الأداء والأداء المتوازي

    منهج منظم للتنقيح والأدوات التي تخدمه (المنقّحات والتسجيل والتنصيف)، وتحليل الأداء لمعرفة أين يذهب الزمن، وحدود التسريع المتوازي والموزع التي تقرر هل تفيد زيادة المعالجات: التسريع والكفاءة وقانون أمدال.

  2. تطوير تطبيقات الويب والجوال وسطح المكتب

    كيف تعمل تطبيقات الويب (HTTP وREST ورموز الحالة وأطر MVC على الخادم والعميل)، وبمَ تختلف تطبيقات الجوال (الأصلية مقابل متعددة المنصات، ودورة حياة التطبيق، والعمل دون اتصال)، وأين تقع أطر سطح المكتب، وكيف يُختار بينها.

  3. تصميم الواجهات الرسومية والتفاعل بين الإنسان والحاسوب والبرمجة المقودة بالأحداث

    أسس التفاعل بين الإنسان والحاسوب وراء الواجهة القابلة للاستخدام — قابلية الاستخدام كما يعرّفها ISO 9241-11، وموجّهات نيلسن، وقانون فيتس لزمن التأشير — وكيف تُبنى الواجهات الرسومية: حلقة الأحداث والاستدعاءات الراجعة ومديرو التخطيط ومنشئو الواجهات.

أدلة أخرى في هندسة البرمجيات

كل أدلة المراجعة

اقرأ الدليل كاملاً بجانب أسئلة تدريبك.

افتح التطبيق