Friday, May 21, 2010

نظام المدرسة



برنامج من تصميمي يستخدم للمدارس الإبتدائية.
يستخدم لإدارة بيانات الطلبة والمدرسين والتسجيل والفصول والمواد الدراسية وكذلك الدرجات وجداول الحصص.
البرنامج مكتوب بالجافا (بالطبع) ويستخدم قاعدة بيانات MySql .
لذلك, تحتاج لتنصيب MySql اولا في جهازك لتجربة البرنامج.
استخدمت Java Persistence للتعامل مع قاعدة البيانات (وهي المرة الأولى) بدلا عن استخدام مكتبة JDBC مباشرة.
وهي بالفعل  البديل الأنسب لكتابة برامج قواعد بيانات اقوى وبطريقة اسهل واقل تعقيدا.


التعقيد الرئيسي - في نظري - لإستخدام JDBC هو أن المبرمج يتعامل مع هياكل بيانات data structures (مثل ResultSet و RowSet ). والتي تحمل البيانات بإسلوب صف\عمود.
مسألة الإنتقال من صف الى صف , قراءة البيانات من وإلى  العمود اوالأعمدة المناسبة مع مراعاة مواقع الأعمدة وتوافق البيانات هي مسأله قد تكون مجهدة على المبرمج وتزداد تعقيدا بزيادة تعقيد البرنامج, بالإضافة لكونها تجعل البرنامج اكثرعرضة للأخطاء.


اهم ما لاحظتة في Java Persistence هو أنها تجعل  برامج قواعد البيانات لا تختلف كثيرا عن اي برامج كائنية اخرى.
بمعنى أن مفهوم البرمجة الكائنية OOP هو المفهوم الذي ستتعامل معه في هذة المكتبة , ولن تضطر للدخول في تعقيدات هياكل البيانات وخوارزميات معالجتها.




تحتاج اولا الى:

  1. إضافة iReport pugin الى برنامج NetBeans , وبإمكانك تحميلة من هنا (يستخدم لتقارير البرنامج)
  2. بعد تحميل ملف برنامج النظام المدرسي وفك الضغط , قم بإنشاء قاعدة البيانات في MySql وذلك برفع الملف المضغوط المسمى localhost الى MySql حيث ان هذا الملف يحتوى على الاوامر اللازمة لإنشاء قاعدة بيانات البرنامج.
  3. قم بفتح البرنامج في NetBeans وقم بتعديل القيم الموجودة في الملف  META-INF\persistence.xml
     وهي القيم المعبرة عن:
  • إسم المستخدم وكلمة المرور لMySql 
  • إسم الجهاز المحتوى على MySql وكذلك رقم المنفذ المستخدم للإتصال (عادة مايكون 3306 ).
قم بنفس التغييرات على الملف ReportFrame.properties

ثم قم ببناء وتشغيل البرنامج.

اسم المستخدم وكلمة المرور هي 1



ملاحظة:

في حالة لم تتمكن من إنشاء قاعدة البيانات بإستخدام الملف المرفق , استخدم الملف
بعد إنشاء قاعدة البيانات بنجاح وقبل إستخدام البرنامج, قم بإدخال اسماء جميع المراحل الدراسية الى قاعدة البيانات في الجدول schoollevel (مثال :الصف الأول , الصف الثاني ...الخ).


No comments:

Post a Comment