
تُعد هذه الدورة الثالثة ضمن برنامج الميكروماستر في تطوير البرمجيات. ستتعلّم كيفية بناء أنظمة برمجية أكبر وأكثر تعقيدًا باستخدام لغة البرمجة Java، مع التركيز على أسس التصميم التي تساعدك على إدارة التعقيد ورفع جودة الشيفرة. تبدأ الدورة بموضوع تجريد البيانات (Data Abstraction) بدءًا من مرحلة المواصفات (Specification) وصولًا إلى التنفيذ (Implementation). ستتعرّف على كيفية تحديد سلوك التجريد بدقة، ثم تحويله إلى تطبيق عملي يمكن استخدامه بثقة داخل برامج أكبر، مع فهم واضح للفصل بين ما يفعله المكوّن وكيف يفعله. يُولى اهتمام خاص لكتابة اختبارات متينة وموثوقة باستخدام JUnit، بحيث تتمكن من التحقق من صحة سلوك البرنامج مبكرًا وبشكل منهجي، وتقليل الأخطاء عند توسيع النظام أو تعديل مكوّناته. بعد ذلك تتوسع الدورة في هذه الأفكار لاستكشاف كيف يمكن لاستخدام هياكل الأنواع (Type Hierarchies) وتعدد الأشكال (Polymorphism) أن يقلل التكرار في الشيفرة ويزيد من قابلية إعادة الاستخدام، من خلال تصميم واجهات وتجريدات تسمح بتبديل التنفيذ دون تغيير المستهلكين. وتختتم الدورة بنقاش حول كيفية تصميم أصناف (Classes) قوية ومتينة، بما يشمل اتخاذ قرارات تصميمية تدعم الصيانة والاختبار والتوسع. بنهاية الدورة ستكون لديك قاعدة صلبة في تصميم البرمجيات بلغة Java، وستكون مستعدًا للانتقال إلى دورة «بناء البرمجيات: التصميم كائني التوجه»، حيث ستتعلّم أنماط تصميم ومبادئ أكثر تقدمًا في تصميم الكائنات.
Gail Murphy
Professor of Computer Science
Elisa Baniassad
Instructor in Computer Science