مشاريعي عني تواصل معي مدونتي
elad project

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

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

الاشكالية

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

كيف يمكن للمطاعم ومحلات بيع الوجبات السريعة التعامل مع هذا التغيير الذي قد يتسبب في تدني مبيعاتها، وإيجاد حلول تعوض الخسارة المحتملة في حالة غياب الاقبال عليها؟

الحل المقترح

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

البحث والتحليل

قمت بالاعتماد على لغة النمدجة الموحدة UML من اجل تسهيل عملية جمع وترتيب المعلومات المهمة حول التطبيق المراد انشائه. تتم عملية البحث والتحليل في لغة UML بالخطوات التالية:

elad project

الممثلون

ببساطة، لدينا اثنان من المستخدمين اللذان سنعتمد عليها في بناء اقسام التطبيق. وهما:

  • العميل: دوره هو تمرير الطلبات.
  • مسؤول المطعم: دوره هو ادارة طلبات العملاء.

المتطلبات الوظيفية

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


_ بالنسبة للوظائف التي يجب ان يسمح بها النظام لأرباب المطاعم:

  • ادارة طلبات الزبائن (قبول، رفض، وطباعة الفواتير).
  • إدارة بيانات المطعم (تعديل، رفع الصور، حذف او إضافة قوائم وتصنيفات الطعام).
  • متابعة احصائيات المطعم (المبيعات، الطلبات، الوجبات المتوفرة ...الخ).

_ بالنسبة للوظائف التي يجب ان يسمح بها النظام للمستخدم العادي:

  • انشاء حساب جديد
  • تعديل او حذف الحساب
  • تصفح الوجبات المتوفرة.
  • تمرير الطلبات.
  • تتبع الطلبات.
  • تصفح ارشيف الطلبات.

المتطلبات الغير وظيفية

رغم انها ليست بأهمية الاحتياجات الوظيفية السابق ذكرها، الا انها تؤثر بشكل غير مباشر على نجاح المشروع. مما بعني انه يجب عدم اهمالها والسعي الى تضمينها في المشروع ما أمكن ذلك. لذا فعلى المشروع احترام المتطلبات التالية:

elad project

مخطط حالة الاستخدام

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

elad project

مخطط النشاط

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

يوضح الشكل أدناه مختصر للانشطة التي يقوم بها الممثلان اللذان قمنا بتحديدها مسبقا:

elad project

مخطط التسلسل

مخطط التسلسل هو مخطط يسمح لك بتمثيل سيناريوهات حالات الاستخدام بترتيب زمني.

في الشكل أدناه وضعت سيناريو حالة استخدام تسجيل الدخول:

elad project

مخطط الصنف

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

في الشكل أدناه وضعت سيناريو حالة استخدام تسجيل الدخول:

elad project

البناء

قمت بالاستعانة بلغات برمجية واطارات عمل مختلفة من اجل بناء هذا المشروع, كما هو موضح في الجدول ادناه:

elad project

التصميم النهائي

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

elad project

الواجهة الرئيسية

elad project

صفحة الطلب

elad project

اضافة عينة جديدة

elad project

ختاما

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

في التطوير القادم للتطبيق ستكون هناك وظائف جديدة ومميزة، مثل:

  • اطلاق نسخة لاجهزة الاندرويد.
  • مساحة جديدة لموصلي الطلبات.
  • اصلاح وتطوير بعض الوظائف.