الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامج لادارة المشاريع

مغلق
بدأه بسوووم في 16 فبراير 2008 · 9 رد · 2,135 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله ..

أعضاء منتدى الفريق العربي الكرام ..

لو تفضلتم بمساعدتي في مشروع تخرجي :(

المشروع هو عبارة عن برنامج مشابه للماسنجر لكن بميزات اوسع

اقرب لبرامج ادارة المشاريع .. طبعا بلغة الجافا

يحتوي على :

محادثه جماعية

نقل ملفات

multieditor

shared folder

shared board

بحثت في البرامج المفتوحة المصدر ولكن بلا فائدة ..

أي نصيحه منكم تفيدني .. وشكرا

#3

المشرف حزوم : شكرا لتفاعلك السريع

اطلعت على الرابط .. يحتوي على معلومات قيمه ..

لكني لم أجد مطلوبي .. لم أجد أكواد البرامج !!

#4

يمكنك أن تبحثي في موقع sourceforge

ستجدي الكثير من الأكواد

الله معك

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

أخي الفاضل لا يجب بالضرورة أن يظهر لك الكود أمامك ويقول لك "حملني من هذا الرابط" :D

بالأسفل ستجد أسماء وروابط لمشاريع SC مفتوحة المصدر ابحث عنها واذهب الي مواقعها وابحث عن السورس الخاص بها وأنا وجدت مشاريع بالجافا ووصلت الي السورس كود الخاص به بأحدها :P , ابحث أخي بسوووم ابحث ,,,

#6

أخي الكريم ،

البرامج المفتوحه المصدر وأي Source Code قد تكون في بعض الأحيان شيء مضر للغايه ، وعدمها أفضل من وجودها .

متى ينطبق هذا الكلام ؟

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

المغزى هنا ، هناك أساسيات معينه ، يجب على المرء أن يتقنها قبل الشروع في أمر ما .

نعود لبرنامجك ونرى ماهي الأسياسيات المطلوبه لهكذا برنامج :

متطلباتك :

محادثه جماعية

نقل ملفات

multieditor

shared folder

shared board

حسنا ، من نظره أوليه على برنامج سنرى أن برمجه الشبكات هي نواه الموضوع ، حيث جميع هذه المتطلبات ستكون مثلا أما Peer-To-Peer أو تستخدم مفهوم Client-Server .

جميل الأن عرفنا المتطلب الأول برنامجك ، وهو أتقان برمجه الشبكات وبالأصح برمجه السوكت Socket بأنواعه المختلفه TCP or UDP Socket . حيث مثلا في حال أردنا عمل محادثه نصيه يمكن أستخدام الTCP ، لكن مثلا في حال كتبنا سيرفر مهمته ارسال فيديو الى أي Client يتصل به فيجب أن نستخدم UDP Socket لأنها أسرع من الأولى ولا يوجد فيه خاصيه Checking .

حسنا ماذا تتعلم أيضا ،

اتقان كتابه برامج تدعم مفهوم Thread لأنه أساس في أي برنامج وخاصه في الشبكات ، لأنك على سبيل المثال قمت بكتابه Server يقدم مثلا خدمه عرض التاريخ لأي Client يتصل به . بعد تنفيذ الServer سيكون في حاله تصنت أو أستماع Listing لأي client أراد الأتصال به ، في حاله لم تستخدم مفهوم الـ Thread في هذه اللحظه أي أنك لم تضع جمله التصنت في Thread منفصل عن الـ Main Thread سوف يعلق البرنامج Hang الى أن يتصل به Client ما .

أيضا في استقبال الرسائل القادمه من الجهه الأخرى ، يجب أن تدعم هذا المفهوم والا سيكون برنامج المحادثه ردئ للغايه ، اي أنه لن يسمح لك بارسال رساله واحده الا بعد لما تستقبل رساله واحده أيضا ، وسيكون البرنامج مجرد أرسال رساله واحده من A الى B ثم أرسال من B الى A . ولن تستطيع ارسال أكثر من رساله .

والكثير والكثير من الأمور التي يدخل بها الـ Thread في أي مجال تريد.

الأن قائمه الدروس أصبحت كالتالي :

TCP Socket & UDP Socket

Thread Programming

نكمل :) لأضافه المزيد في القائمه ،

حسنا أهم موضوع في الجافا ، وفي برمجه الشبكات أيضا هو Input & Output ، كيف تقرأ من الكيبورد ، من السوكت ، من ملف ؟ كيف تكتب في الشاشه ، في ملف ، في سوكت ، وهنا ستتعلم أن هناك نوعين رئيسين من الStream في جافا ، وهي Byte Stream & Character Stream . وعليك أن تفرق بينهم ، وتعرف متي تستخدم أحداهن في الوقت المناسب .

مثلا لديك برنامج لتحميل صوره من جهاز أخر ، عندما تتعامل مع هذه الصوره ، وقمت بجلب محتويات الصوره من الجهاز الأخر عن طريق أرسالها ك Object ، وأردت أن تحفظها لديك هنا ستحفظها في ملف مثلا من نوع FileOutputStream وذلك لأن بيانات الصوره من نوع Binary ومن هنا تعاملت معها مع أحد كلاسات Byte Stream .

أمر أخر ، عليك أن تتعلم كيفيه تكتب واجهات رسوميه بشكل جيد ، وذلك باستخدام Swing أو SWT أو أي مكتبات للتعامل مع الواجهات ، وهو أمر ليس بصعب نظرا لتوفر العديد من الـ IDE الجيده مثل Eclipse أو Netbeans وغيرهم .

القائمه الأن :

TCP Socket & UDP Socket

Thread Programming

I|O Programming

GUI Programming

لدى سؤال وهو ماذا تقصد ب :

multieditor ؟

shared board هنا هل تقصد ساحه حوار عامه ، كشات مثلا لكن بدون غرف خاصه ؟

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

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

بالتوفيق .

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#7

الخبير رومانسي : شكرا لتعاونك ..

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

اعلم أن هذي الطريقه متعبه ولكن ما باليد حيلة ..

أنا أتقن لغة C++ وأيضا لدي خلفية عن الجافا .. لكن المطلوب في مشروعي هو لغة الجافا

" حسنا ، من نظره أوليه على برنامج سنرى أن برمجه الشبكات هي نواه الموضوع ، حيث جميع هذه المتطلبات ستكون مثلا أما Peer-To-Peer أو تستخدم مفهوم Client-Server ."

هل من الممكن استخدام تقنية Peer-To-Peer اذا كان البرنامج يخص مجموعه من المستخدمين وليس اثنان فقط !!

" لدى سؤال وهو ماذا تقصد ب :

multieditor ؟

shared board هنا هل تقصد ساحه حوار عامه ، كشات مثلا لكن بدون غرف خاصه ؟ "

multieditor : قريب من برامج مشاركة التطبيقات .. بمعنى أن مجموعة الاشخاص جميعهم يعملون على نفس الملف ( أقرب مثال ملف وورد مثلا) بحيث اذا قام احدهم بالتعديل على الملف يظهر التعديل لدى جميع الاشخاص ..

Multi-editor

enables cooperative text editing by allowing team members to work on a single document simultaneously. Every member can modify the document in any place at any given moment, while observing in real time the changes introduced by other users.

shared board اقصد فيها

Advertising space

enables the team member and supervisor to post their important notes to all members such the deadline, new received file from supervisor , to do tasks

// سؤال : هل تتوقع لبرمجة هذا المشروع أن تتم خلال 4 أشهر فقط يالنسبة لطالب جامعي ؟؟؟

تم تعديل هذه المشاركة بواسطة بسوووم في 18 فبراير 2008 في 07:17

#8

أهلا أخي الكريم ،

لم أتعامل مع برنامج Peer-To-Peer قط ، لكن لا أظن انه يتعامل مع أكثر من أثنين ، فقط هذا ظن وقد يحتمل الخطأ أو الصواب ، لا أعلم .

بالنسبه لمشروعك ، فالمهله كافيه جدا ، وتكفيك حتى لدراسه جافا من الصفر .

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

وقد تستغرق منك فتره الدراسه في المتوسط حوالي شهرين ، لكن عليك أن تجتهد فيها ، وبعدها قم بكتابه برنامجك .

هذا أفضل من أنك تبدأ في تنزيل برامج مفتوحه وتبدأ في التغيير هنا وهناك ، وأنت لا توجد لديك أساسيات في socket Programming ، صدقني ستضيع وقتك ، فإبدا من الأن بالقرائه والبحث .

ماذكر أعلاه رأي شخصي ، وربما أتي أحد من الشباب وأعطاك رأي أخر ..

وفي النهايه هي أراء يمكنك تطبيق ماتراه مناسب لك :) .

بالتوفيق في مشروعك .

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#9

شكراً جزيلاً

#10

لدي سؤال يحتاج اجابه من المتخصصين ..

ماهي افضل لغة برمجة أضمن امكانيات مشروعي فيها ..

الاراء التي وصلتني :

java

php & SQL server (بحيث يكون المشروع اون لاين)

VB.NET

؟؟

هذا الموضوع مغلق.

مواضيع مشابهة