دليل المراجعة · GKU 5
دليل مراجعة تصميم البرمجيات (هندسة البرمجيات)
التصميم هو حيث تتحول المتطلبات إلى بنية: القرارات بشأن الأجزاء ومسؤولياتها وكيفية تواصلها، تُتخذ قبل أن تثبّتها الشيفرة في مكانها. يغطي الجزء الأول عملية التصميم والقضايا التي يجب أن يحسمها كل تصميم (التزامن، والأحداث، والاستمرارية، والتوزيع، والأخطاء، والتفاعل، والأمن)، والمبادئ التي تُبقي التعقيد منخفضاً (التماسك، والاقتران، وإخفاء المعلومات، وSOLID)، والأنماط المعمارية وكيف تختار متطلباتُ الجودة بينها، والترميزات والأدوات — UML وطرق عرضها — والتفاعل بين الإنسان والحاسوب، بما في ذلك نموذج مستوى ضغطات المفاتيح لمقارنة تصميمين للواجهة بالأرقام. والجزء الثاني التصميم التفصيلي: أنماط عصابة الأربعة مع شيفرة عاملة، والنماذج الفكرية والمنصات والأطر، وآليات الاستمرارية والتوزيع والتسامح مع الأعطال، وكيف يُقيَّم التصميم بخصائص الجودة في ISO/IEC 25010 والمراجعات والمقاييس. وتُدرَّس أساسيات البرمجة الكائنية والتصميم بالعقد وأساسيات التزامن وحلقات أحداث الواجهات الرسومية في GKU 1، ويُحال إليها بدلاً من تكرارها.
مبني على المعيار التخصصي الرسمي لهيئة تقويم التعليم والتدريب لهذا الموضوع: كل موضوع مُدرج وكل مخرج تعلّم، مع المعادلات والأشكال والأمثلة المحلولة. الأقسام الكاملة متاحة للأعضاء في التطبيق.
SKU 5.1 · مفاهيم التصميم واستراتيجياته
عملية التصميم وقضاياها الأساسية واستراتيجياتها
ما الذي ينتجه تصميم البرمجيات وبأي ترتيب، والقضايا السبع التي يجب أن يحسمها كل تصميم — التزامن، والأحداث، والاستمرارية، والتوزيع، والأخطاء، والتفاعل، والأمن — والاستراتيجيات للانتقال من المتطلبات إلى بنية: من الأعلى إلى الأسفل، ومن الأسفل إلى الأعلى، والكائنية، والموجهة بالبيانات، والقائمة على المكونات.
مبادئ التصميم: تقليل التعقيد
المبادئ التي تُبقي التصميم مفهوماً ورخيص التغيير: التجريد والنمطية، وسلّما التماسك والاقتران، وإخفاء المعلومات، ومبادئ SOLID في التصميم الكائني، مع العَرَض الذي يدل على مخالفة كل منها.
التصميم المعماري وأنماطه
الأنماط المعمارية التي يختار منها المصمم — الطبقي، والعميل والخادم، والأنابيب والمرشحات، والنموذج والعرض والمتحكم، والمستودع، والموجه بالأحداث، والخدمات المصغرة — وما يُحسنه كل منها وما يسيء فيه، وكيف تحسم متطلبات الجودة الاختيار بينها.
ترميزات التصميم وطرق عرضه وأدواته
كيف تُدوَّن التصاميم وبأي أدوات: عائلات مخططات UML ومتى يُستخدم كل منها، وطرق العرض 4+1 لكروختن، والترميزات المهيكلة، وأنواع أدوات التصميم — أدوات النمذجة، والمخططات كشيفرة، وأدوات النماذج الأولية — مع معايير الاختيار بينها.
التفاعل بين الإنسان والحاسوب وتصميم الواجهات
تصميم التفاعل والعرض في النظام: عملية التصميم المتمحور حول المستخدم، ومبادئ نورمان وقواعد شنايدرمان الذهبية، وفصل العرض عن المنطق، وتحليل التفاعل بنموذج مستوى ضغطات المفاتيح الذي يتنبأ بزمن المهمة لدى الخبير من المُشغِّلات التي تحتاجها.
SKU 5.2 · التصميم التفصيلي والتقييم
أنماط التصميم
حلول مسمّاة قابلة لإعادة الاستخدام لمشكلات تصميم متكررة: فهرس عصابة الأربعة بعائلاته الثلاث، والغرض من الأنماط الأكثر استخداماً في الاختبارات والشيفرة الحقيقية، وكيف تعرف متى ينطبق أحدها، وObserver وStrategy في شيفرة عاملة.
نماذج التصميم الفكرية والمنصات والأطر
الطرق الرئيسية لتنظيم التصميم — المهيكل، والكائني، والقائم على المكونات، والموجه بالخدمات، والموجه بالأحداث، والموجه بالجوانب، والموجه بالنماذج — والمنصات التي تُبنى عليها البرمجيات، والأطر: عكس التحكم، وحقن الاعتمادية، وكيف تستدعي شيفرةُ الإطار شيفرتَك عبر الأحداث والاستدعاءات الراجعة.
الاستمرارية والتوزيع والتسامح مع الأعطال
آليات التصميم التفصيلي وراء ثلاث قضايا أساسية: حفظ البيانات بالمستودعات وربط الكائنات والمعاملات؛ وتوزيع المكونات على الأجهزة دون افتراض أن الشبكة موثوقة؛ ومعالجة الأخطاء بالاستثناءات والمهل وإعادة المحاولة مع التراجع وقواطع الدارة والتكرار.
تقييم التصميم وجودته
كيف يُحكم على التصميم قبل بنائه وبعده: خصائص الجودة في ISO/IEC 25010، وسيناريوهات خصائص الجودة ومراجعات المعمارية (ATAM)، ومقاييس التصميم — مقاييس الأصناف لتشيدامبر وكيميرر، وعدم الاستقرار والتجريد والمسافة للحزم عند مارتن — مع ما يستطيع كل منها كشفه وما لا يستطيع.
أدلة أخرى في هندسة البرمجيات
- دليل مراجعة أسس الحوسبةGKU 1 · عدد الأقسام: 23
- دليل مراجعة أساسيات الهندسةGKU 2 · عدد الأقسام: 13
- دليل مراجعة الممارسة الأخلاقية والمهنيةGKU 7 · عدد الأقسام: 7
- دليل مراجعة التحقق من البرمجيات والمصادقة عليهاGKU 6 · عدد الأقسام: 7
- دليل مراجعة جودة البرمجياتGKU 8 · عدد الأقسام: 7
- دليل مراجعة تحليل المتطلبات وتوصيفهاGKU 4 · عدد الأقسام: 7
- دليل مراجعة نمذجة البرمجيات وتحليلهاGKU 3 · عدد الأقسام: 6