تحديث تطبيق إدارة المسابقات الرياضية لمؤسسة رياضية كبرى في ألمانيا
نبذة عن عميلنا
واحدة من أبرز المؤسسات الرياضية وأكثرها تأثيرًا في ألمانيا، بتاريخ عريق يمتد لأكثر من 100 عام، وتضم قاعدة عضوية هائلة تشمل أكثر من 2000 نادٍ منتسب وأكثر من مليون عضو.
تشتهر المؤسسة بتنظيم واستضافة مجموعة واسعة من الفعاليات والمسابقات والبطولات الرياضية رفيعة المستوى على المستويات الإقليمية والمحلية والدولية، وبفضل تقاليدها العريقة والتزامها الراسخ بالتميز، اكتسبت سمعة مرموقة ومتميزة في عالم الرياضة.
الحاجة إلى كفاءات إضافية لتحديث تطبيق إدارة المسابقات الرياضية القديم
تمتلك المؤسسة تطبيق سطح مكتب مصمم لتنظيم وإدارة المسابقات الرياضية، خاصةً داخل المؤسسات التعليمية. ويعمل هذا التطبيق على تبسيط العملية بأكملها، بدءًا من تسجيل المنافسين وصولًا إلى حساب النتائج وإصدار الشهادات.
في إطار سعيها لوضع أساس قوي للنمو والابتكار المستقبلي، قررت المؤسسة ترقية تطبيقها من إطار العمل Qt 4 إلى Qt 5، مع تحويله من استخدام استعلامات SQL الأولية إلى نمط النماذج والمستودعات (model-repository) الذي يفصل منطق الأعمال عن منطق الوصول إلى البيانات. لكن بعد أن نقل فريق العميل الكود البرمجي القديم إلى المستودع وأجرى العديد من التعديلات عليه، توقف التطبيق عن العمل، ما أدى إلى تعثر عملية التحديث. لمعالجة هذا التحدي، بحث العميل عن شريك تقني موثوق ذي خبرة واسعة في إعادة صياغة البرمجيات القديمة لإكمال مشروع تحديث التطبيق.
تعزيز فريق العميل بمهندس C++ محترف في إعادة صياغة التطبيقات وتحديثها
تولى كبير مهندسي ++C في ساينس سوفت، بخبرة تزيد على 7 أعوام، مسؤولية المشروع. وتمثلت الأهداف الرئيسية لمهندسنا في إعادة تشغيل التطبيق ليعمل بكفاءة، وإتمام ترقيته إلى إطار العمل Qt 5، بالإضافة إلى تنفيذ نمط النماذج والمستودعات.
حل مشكلات التطوير واستكمال التحديث إلى الإصدار الخامس من إطار العمل Qt
أجرى مهندس ساينس سوفت فحصًا دقيقًا لكود التطبيق القديم وآلية عمله، لتحديد المشكلات التي تعوق تشغيله. واكتشف مشكلات في تجميع الكود بسبب استخدام وظائف قديمة، وتغييرات واجهة برمجة التطبيقات (API) بين إطاري العمل Qt 4 وQt 5، بالإضافة إلى أخطاء وقت لتشغيل.
لحل مشكلات التجميع، تمكَّن مهندسنا من تحديث استدعاءات الوظائف وتعديل هياكل الفئات، كما استبدل الوظائف غير المدعومة، وحدَّث التكوينات اللازمة. وبعد أن نجح مهندسنا في تجميع الكود على إطار العمل Qt 5، انتقل إلى معالجة أخطاء وقت التشغيل، مثل الوصول إلى بيانات خارج النطاق، والوصول إلى القيم عبر مؤشرات فارغة، بالإضافة إلى الأخطاء في أسماء المتغيرات والخصائص.
إضافةً إلى ذلك، تمكَّن مهندسنا من تحديث الوثائق ذات الصلة، وأضاف تعليقات تفصيلية على الكود البرمجي لضمان قدرة المطورين في المستقبل على فهم قاعدة الكود المُحدثة وصيانتها بسهولة.
اعتماد نمط النماذج والمستودعات
يعتمد نمط النماذج والمستودعات (model-repository) على مكونات محددة بوضوح. لذا، حدد مهندسنا المكونات الرئيسية وفصلها عن قاعدة الكود الحالية، وهي: الرياضيون والفِرق والمسابقات والمعدات والتخصصات. كما طوَّر فئات النماذج والمستودعات لمختلف المكونات، حيث تُظهر فئات النماذج هيكل البيانات لكل مكون، بينما تولت فئات المستودعات إدارة التفاعلات داخل قواعد البيانات. بالإضافة إلى ذلك، استبدل مهندسنا استعلامات SQL الأولية واسعة النطاق بوظائف مكافئة ضمن المستودعات. وقد مكَّن اعتماد مبدأ فصل الاهتمامات (SoC) من الحصول على بنية نظيفة للتطبيق وحسَّن من إمكانية صيانته. وطوال هذه العملية، كان مهندسنا حريصًا على التوثيق الجيد لجميع أجزاء الكود البرمجي الجديد، كما أضاف تعليقات تفصيلية لتسهيل تحسينه وصيانته في المستقبل.
الانتهاء من تحديث التطبيق في 3 أشهر فقط
في غضون 3 أشهر فقط، ساعد فريق ساينس سوفت مؤسسة رياضية بارزة في ألمانيا على استعادة وظائف تطبيق إدارة المسابقات الرياضية وإتمام عملية تحديثه. حاليًا، أصبح لدى العميل تطبيق يعمل على إطار العمل Qt 5 بأداء ووظائف تواكب تطورات المستقبل، مع سهولة صيانته وتوسيعه بفضل استخدام نمط النماذج والمستودعات.
بفضل تنظيف قاعدة الكود البرمجي وإصلاح جميع أخطاء وقت التشغيل، أصبح التطبيق أكثر استقرارًا ويسهل تحسينه وترقيته في المستقبل.
التقنيات والأدوات
Qt 5.15.2, C++, Qmake (as a build system), PostgreSQL
نتواصل معكم على الفور