مشروع التخرج البرمجي: كيف تنجزه في وقت قصير, كيف تبحث عن الحلول, كيف تتعاون مع الفريق, وكيف تسلم المشروع؟
مقدمة
مشروع التخرج البرمجي يعتبر فرصة مثالية لتطبيق ما تعلمته خلال سنوات دراستك الجامعية وايضاً فرصتك للدخول الى سوق العمل. إنه يتيح لك الفرصة لإظهار مهاراتك في التصميم والبرمجة والتعاون مع الآخرين. في هذا المقال، سنستعرض الخطوات الأساسية لإنجاز مشروع التخرج البرمجي، مصادر التعلم، وكيفية التنسيق والعمل ضمن فريق.
خطوات إنجاز مشروع التخرج, من البداية للنهاية, قم بمعرفة اين انت من هذه الخطوات ورتب خطواتك
- اختيار الموضوع: اختر موضوعًا يثير اهتمامك ويحمل تحديًا تقنيًا يظهر مهاراتك. يجب أن يكون الموضوع مفيدًا وقابلًا للتطبيق في الحياة الواقعية.
- البحث والتخطيط: قم بإجراء بحث شامل حول الموضوع المختار. جمع المعلومات والأدوات والتقنيات اللازمة لتنفيذ المشروع.
- تصميم النظام: قم بتصميم النظام بشكل مفصل، مع تحديد الواجهات الUI وقواعد البيانات DB Schema و Models اللازمة.
- التطوير: ابدأ بكتابة الكود وفقًا للتصميم والخطة الموضوعة. استخدم أدوات التحكم بالنسخ مثل Git لإدارة الكود ولتسهيل العمل بينك وبين الفريق ومشاركته معهم.
- الاختبار: اختبر النظام بشكل مستمر للتأكد من خلوه من الأخطاء ولضمان أدائه كما هو متوقع وبشكل أسبوعي.
- التوثيق: قم بتوثيق المشروع بشكل جيد، شارحًا الكود والتقنيات المستخدمة وكيفية استخدام النظام في documentation. وهذه الخطوة تكون على مدار المشروع وتبدأ مع بداية اختيار الفكرة وسأضع رابط لعمل الملف بشكل إحترافي في آخر المقال.
اختيار فكرة مشروع التخرج: كيف تبدأ بشكل صحيح
فكرة المشروع من أكثر الأمور التي تعقد مسألة مشروع التخرج لطلاب الجامعة, والتي تؤرقهم منذ اليوم الأول من دخولهم الجامعة وهو العبئ الأكبر بالنسبة لهم.
بإعتقاد الطلاب ان مشروع التخرج يجب ان يبنى على فكرة لم تتواجد بالحياة من قبل ولم يقوم شخص بعملها, وللأسف هذه الفكرة خاطئة, ما يهمك هو ان تقوم بعمل مشروع يحل مشكلة في بلدك او مدينتك ويجذب المسثتمرين, وأن هذا المشروع (التطبيق, الموقع, البرنامج, او غيره) سيقوم مثلا ب:
- تخفيف اعباء مادية على قطاع معين.
- زيادة أرباح ودخل قطاع معين.
- زيادة الرفاهية لفئة معينة.
- تسهيل الحياة لشريحة من الناس.
وهكذا ستضمن ان الفكرة سيتم قبولها, ونعم أقصد ان يكون لهذا المشروع جدوى وفائدة.
ما الحل اذا كنت اريد عمل مشروع مشابه لمشروع ناجح وموجود في السوق؟
سؤال يطرحه الكثير وانا بنفسي طرحته, الجواب هو لا مشكلة لكن يجب ان تكون الخصائص والميزات التي ستقوم بتطويرها او طريقة العمل أفضل بكثير من الفكرة الموجودة والمطبقة مسبقا او تستحق العناء لعمل مشروع كامل فقط لأنك اضفت هذه الميزات.
اللغات والمكتبات التي يجب ان تستخدمها في المشروع
الجواب المختصر: يجب أن تدرس هذا الموضوع بعناية, اذا كان هناك مدة كافية لبناء المشروع والتخطيط وكل خطوات ال SDLC فيفضل ان تبحث عن اللغات الأفضل للمشروع الخاص بك, اما اذا كان الوقت ضيق فيمكنك إستخدام والعمل على ما تعرفه مسبقاً.
مثلاً اذا كان لديك فريق من ثلاث, واحد يعرف فرونت إند, وواحد يعرف باك إند وواحد يستطيع ان يقوم بعمل ال Documentation وايضا تصميم ال UI على Figma مثلا, واذا كان هناك شخص رابع فيمكنه استلام الفرونت للتطبيق
بالعادة في مشاريع التخرج يستخدم التالي:
الفرونت إند:
- HTML, CSS, Javascript
- React, JSX
- Blades or Razor لل Frameworks
الباك إند:
- ASP .NET CORE
- LARAVEL
- DJANGO
- NODE JS
التطبيق:
- FLUTTER
- REACT NATIVE
واريد ان انبه بأن مشروع التخرج ليس بالضرورة ان يكون موقع او تطبيق, بل يمكنه ان يكون برنامج Desktop Application او سكربت معين يقوم بعملية معينة.
مصادر التعلم
- الدورات التعليمية عبر الإنترنت: مواقع مثل Coursera, Udemy, و Pluralsight تقدم دورات تعليمية في مختلف جوانب البرمجة لكن لا تنسى ان اليوتيوب يقدم أكبر كمية من العلم والفيديوهات والكورسات عن اي موضوع احتجته.
- الكتب التقنية: استفد من الكتب التي تغطي لغات البرمجة المختلفة وأساليب التطوير.
- المنتديات والمجتمعات: شارك في منتديات مثل Stack Overflow و GitHub للحصول على الدعم والإرشاد من المبرمجين الآخرين.
- المشاريع مفتوحة المصدر: العمل على أو مع المشاريع المفتوحة المصدر يمكن أن يوفر فهمًا عميقًا لكيفية تطوير البرمجي
- المدونات مثل medium
التعامل مع المشاكل
من لحظة البدء في التفكير في فكرة المشروع حتى لحظة تسليم المشروع تظهر العقبات والمشاكل, وهذا الطبيعي وإذا لم تظهر العقبات فيجب ان تعلم انك تقوم بشيء خاطئ او انك فعلياً ختمت العلم.
دائما لحل المشاكل يجب عليك تجزئة المشكلة الى مشاكل اصغر, سأعطيكم مثال بسيط سيشرح لكم ما أقصد عن طريق مثال في إعداد عشاء لعشر أشخاص : يمكن تجزئتها كالتالي: أولاً، اختر وصفات للمقبلات، الطبق الرئيسي، والحلوى. ثانياً، اكتب قائمة المكونات واذهب للتسوق. ثالثاً، حضر الطعام خطوة بخطوة بدءًا بالمقبلات ثم الطبق الرئيسي وأخيرًا الحلوى. أخيراً، رتب الطاولة وأضف لمسات التزيين.
قمنا بتجزئة المهمة الى مهمات أصغر, ويمكن التجزئة مرة اخرى لتصبح اصغر وهكذا المشاكل يمكن حلها بشكل اسهل واسرع ويمكن التتبع بشكل افضل.
وهذه الفقرة تنطبق على المشاكل البرمجية أيضاً
اختيار الفريق
من أصعب وأهم الأمور التي يجب ان تهتم لها وتفكر وتدرسها جيداً, هي اختيار الفريق, فإن اختيار الفريق يحدد مصير المشروع من اول يوم ويحكم عليه بالنجاح او الفشل.
الفريق الناجح هو الفريق الذي يعرف مهامه والجزء المطلوب منه, والفريق الناجح هو الذي يلتزم بالموعد, بالطبع الطالب لن يستطيع دائما الالتزام بتسليم المطلوب لانه بالتأكيد لدي العديد من الامور في حياته اليومية ويمكنه التأخر من فترة لإخرى, لكن لا يجب ان يكون هذا الشيء معتاد ويمكن التغاضي عنه دائما وان لا يتم التنبيه في كل مرة يتأخر, وخاصة اذا كان الجزء الخاص به جزء اساسي ليستطيع شخص آخر العمل, لذلك اقرأ اكثر عن الإدارة المخاطر للمشرايع وإدارة مخاطر الوقت في المشروع Risk management.
وبالطبع عند إختيارك للفريق لا يجب ان تختار الأشخاص لأنهم أصدقائك مثلاً, بل أختر من تثق بهم وانهم سيبذلون كل جهدهم في إنجاز المشروع على اعلى مستوى, ويجب ان تتاكد من هذا الأمر بطريقة مناسبة.
التعاون ضمن الفريق
- تحديد الأدوار والمسؤوليات: من الضروري توزيع الأدوار والمهام بوضوح بين أعضاء الفريق لضمان الفعالية وتجنب التداخل.
- استخدام أدوات التعاون: أدوات مثل Slack, Trello, و GitHub تساعد في تنظيم العمل وتسهيل التواصل بين أعضاء الفريق.
- الاجتماعات الدورية: يجب عقد اجتماعات دورية لمناقشة التقدم، تبادل الأفكار، وحل المشكلات التي قد تظهر.
- مراجعة الكود: تبادل مراجعة الكود بين الأعضاء يساعد في تحسين جودة الكود ويعزز من التعلم المتبادل.
خاتمة
مشروع التخرج البرمجي يمثل تحديًا كبيرًا ولكنه فرصة رائعة لتطوير مهاراتك البرمجية والعمل ضمن فريق. باستخدام الموارد المتاحة والتخطيط الجيد، يمكنك تحقيق نتائج ممتازة وإنجاز مشروع يفخر به كل من شارك فيه.
اسئلة ومواضيع يركز عليها الدكاترة في مشروع التخرج
1- ملف توثيق المشروع Project Documentation
يجب ان تعطيك الجامعة Template لملف التوثيق كمثال لتقوم انت بالتعديل عليه وكتابة مشروعك عليه.
ملف توثيق المشروع:
- المقدمة: نبذة عن المشروع، الأهداف، والمشكلة التي يحلها.
- وصف المشروع: تفاصيل الوظائف والميزات، الأدوات والتقنيات المستخدمة.
- تصميم النظام: مخططات النظام مثل ERD وUML، واجهة المستخدم.
- تنفيذ المشروع: شرح تفصيلي للتنفيذ، الخوارزميات والأكواد البرمجية.
- الاختبارات: أنواع الاختبارات ونتائجها.
- النتائج والمناقشة: تقييم النتائج ومقارنتها بالأهداف.
- الخلاصة والتوصيات: ملخص للمشروع والتوصيات للتحسينات المستقبلية.
- المراجع: قائمة بالمصادر العلمية والتقنية المستخدمة.
- الملاحق: معلومات إضافية مثل كود مصدر كامل ومخططات تفصيلية.
2- التأكد من فهم الفريق من ال SDLC
3- ال Project Charter للتأكد من التخطيط والتوقيت
4- الكود, يجب التأكد من ان جميع الفريق مطلع على الكود ولو بشكل بسيط.
5- طريقة العمل و ال Methodology
5- ميزات المشروع وما سيقدمه من فائدة
تسليم مشروع التخرج
تذكر دائما ان التوكل على الله هو الحل في كل شيء فأنت ستكون قد إجتهدت وعملت وبذلت ما بوسعك.
ما عليك الآن الا شرح ما قمت بتعلمه وما قمت بتطبيقه, ما يطلبه مشرفي المشروع دائما هو:
- الكود, يجب على جميع اعضاء الفريق الإطلاع على الكود
- التصميم ما قبل بناء النظام او الفكرة
- ملف التوثيق او بما يسمى ال documentation
- Project Charter في ال documentation ويجب ان يطلع عليها جميع أفراد الفريق
- تذكر بطباعة ال documentation عدة نسخة لعدد الدكاترة المشرفين
- يجب عليك المعرفة بإي Methodology قد عملت وغالبا نقوم بالعمل ب Agile لكن يجب ان تبحث في هذا الموضوع أكثر لانه يجب ان تميز لماذا اخترته من بين الطرق الأخرى.
مصادر ومواقع قد تساعدك في المشروع
مواقع كورسات:
- YOUTUBE
- UDEMY
- COURSERA
موقع إدارة الفريق:
- GITHUB
- TRELLO
- NOTION
مواقع للتعلم السريع:
- FREECODECAMP
- ELZERO WEBSITE
- W3SCHOOL
مواقع تسرع العمل:
- DRAW.io
- FIGMA
Hello!
Good cheer to all on this beautiful day!!!!!
Good luck 🙂
Hello. I offer a link exchange. I place a link from my information site with several language versions to your site. And you place a link from your site to another site (not to the one from which I place the link). Links are placed on a permanent basis (forever). Links are indexed by search engines and are placed on pages already on the sites.
If you are interested, then write to: [email protected]
————–
Здравствуйте. Предлагаю обмен ссылками. Я размещаю ссылку с своего информационного сайта имеющего несколько языковых версий на ваш сайт. А вы ставите ссылку с вашего сайта на иной сайт (не на тот с которого я размещу ссылку). Ссылки размещаются на постоянной основе (навсегда). Ссылки индексируемые поисковыми системами и размещаются на уже имеющихся на сайтах страницах.
Если вас заинтересовало, то пишите: [email protected]