_BIMarabia 45.مجلة بيم ارابيا نمذجة معلومات اليناء
مشروع تصميم امتحان القبول بقسم الحاسب الآلي بكلية المعلمين
1. المملكة العربية السعودية وزارة التعليم العالي جامعة الملك سعود كلية المعلمين قسم الحاسب الآلي مشروع تصميم امتحان القبول بقسم الحاسب الآلي بكلية المعلمين مشروع تخرج أعد لنيل درجة البكالوريوس تخصص الحاسب الآلي
2. إعداد مهدي سعيد القحطاني 427813020 سعود محمد اليامي 427813022 محمد شايع القحطاني 427813029 إشراف الدكتور عميد غازي الفصل الدراسي الأول 1430 هـ - 1431 هـ
3.
4.
5.
6. مخطط عام للمشروع : مخطط عام للمشروع برنامج امتحان القبول بقسم الحاسب باستخدام Microsoft Visual Studio 2008 قاعدة البيانات Access مكونه من أربع أقسام وهي : 4. قسم العامة والإنجليزية 2- قسم الرياضيات 1- قسم مبادئ علوم الحاسب . 2- واجهة المستخدم . 3- قسم التربية 1- واجهة التحكم .
7. مخطط خوارزمي لمشروع تصميم برنامج امتحان القبول بقسم الحاسب الآلي بكلية المعلمين هل اسم المستخدم وكلمة المرور صحيحة نهاية نعم لا أدخل إلى الامتحان عرض أسئلة الامتحان مع إجاباتها بيان بإجابات الطالب في الامتحان الحالي اطبع نتيجة الامتحان هل حصل الطالب على أكثر من 60% اطبع مبروك القبول بقسم الحاسب الآلي بكلية المعلمين اطبع نأسف لعدم قبولك بقسم الحاسب الآلي بكلية المعلمين نعم لا بداية أدخل اسم المستخدم وكلمة المرور
8. العناصر الأساسية في مشروع تصميم برنامج امتحان القبول بقسم الحاسب الآلي بكلية المعلمين والأدوات المستخدمة : 1 – قاعدة البيانات المستخدمة وهي : Microsoft Office Access Database يوجد لدينا قاعدة بيانات تحتوي على أربع جداول تحتوي على المعلومات الأساسية التي يجب أن يتحلى بها الطلاب المتقدمون لقسم الحاسب الآلي كما هو موجود في المخطط التالي : قاعدة بيانات البرنامج مكونه من أربعة أقسام تجلب منها الأسئلة قسم مبادئ علوم الحاسب قسم الرياضيات قسم التربية قسم العامة والإنجليزية
9. 2- تكنولوجيا الدوت نت 2008 وهي أحدث ما توصل له التكنولوجيا في مجال برمجة الأنظمة الرقمية . Microsoft .Net Technology 2008 CLR 3.5 باستخدام : Microsoft Visual Studio 2008
10.
11. 3- يظهر للطالب 20 سؤال والزمن الكلي للإجابة عن جميع الأسئلة هو 5 دقائق وكل سؤال بـ 25 ثانية و يختار من كل قسم أسئلة عشوائية وموجودة داخل قاعدة البيانات أربعة أقسام وهي : قسم الحاسب وقسم الرياضيات وقسم التربية وقسم العامة والإنجليزي . ويتم الاختيار عشوائياً منها باستخدام الدالة Randomizer . وفي حالة دخول طالب جديد يتم تغيير الأسئلة في كل مرة .
12. نبذة عن قاعدة البيانات بالأكسس و الخاصة بامتحان القبول بقسم الحاسب الآلي بكلية المعلمين : مما لاشك فيه أن قواعد البيانات قد انتشر استخدامها بشكل واسع لما لها من فوائد جمة , وقاعدة البيانات التي استخدمناها هي أكسس وهناك قواعد بيانات أفضل منها بكثير وقاعدة البيانات التي لدينا تنبع أهميتها من حيث قدرة المستخدم على امتحان القبول بقسم الحاسب الآلي بكلية المعلمين ووضع أسئلة الامتحان مع الاختيارات بالنسبة للمدير بداخل قاعدة البيانات يوجد داخل قاعدة البيانات أربع أقسام رئيسية وهي قسم الحاسب وقسم الرياضيات وقسم التربية وقسم العامة والإنجليزي , وفي الأوراق التالية سوف نقدم شرح مفصل عن البرنامج , واستخداماته وكيفيه برمجته .
13. الفصل الأول : استخدام قاعدة البيانات أكسس في تجهيز جدول قاعدة البيانات :
14.
15.
16. الفصل الثاني : شرح البرنامج باستخدام فيجوال بيسك دوت نت 2008 : : ■ أ - واجهات البرنامج للوحة التحكم بالنظام : Administration panel.cs 1- الواجهة الواجهة المسؤولة عن لوحة التحكم وهي الشاشة الافتتاحية للوحة التحكم بالنظام .
17. : Category Addition.cs 2- الواجهة الواجهة المسؤولة عن إضافة قسم جديد للأسئلة بداخل قاعدة البيانات .
18. : Existing students form.cs 3- الواجهة الواجهة المسؤولة عن عرض جميع الطلاب الموجودين في قاعدة البيانات .
19. : Question Addition form .cs 4- الواجهة الواجهة المسؤولة عن إضافة أسئلة جديدة داخل قاعدة البيانات .
20. : CategoriesDisplayForm.cs 5- الواجهة الواجهة المسؤولة عن عرض جميع أقسام الأسئلة الموجودة في قاعدة البيانات .
21. : Questions Display Form.cs 6- الواجهة الواجهة المسؤولة عن عرض جميع الأسئلة في قاعدة البيانات .
22. كود الدالة العشوائية للاختيار من قاعدة البيانات : public class Randomizer { List<Question> _CurrentQuestions; int _MinimumNumber; public int MinimumNumber { get { return _MinimumNumber; } set { _MinimumNumber = value; } } int _MaximumNumber; public int MaximumNumber { get { return _MaximumNumber; } set { _MaximumNumber = value; } } int _Capacity; public int Capacity { get { return _Capacity; } set { _Capacity = value; } } public Randomizer() { _CurrentQuestions = new List<Question>(); } public void AssignQuestions(Question[] CurrentQuestions) { try {
23. تابع كود الدالة العشوائية للاختيار من قاعدة البيانات : foreach (Question current in CurrentQuestions) { if (current.Answers != null) { if (current.Answers.Count() > 0) { _CurrentQuestions.Add(current); } } } AssignBoundries(); } catch (Exception s) { } }
24. تابع كود الدالة العشوائية للاختيار من قاعدة البيانات : void AssignBoundries() { try { _MinimumNumber = 0; _MaximumNumber = _CurrentQuestions.Count; } catch (Exception s) { } } #region " Randomize Function " List<int> Chosen = new List<int>(); int Randomize() { try { int result = -1; Label: Random newRandom = new Random((int)DateTime.Now.Ticks); result = newRandom.Next(MinimumNumber, MaximumNumber); if (!Chosen.Contains(result)) { Chosen.Add(result); } else goto Label; return result; }
25. تابع كود الدالة العشوائية للاختيار من قاعدة البيانات : catch (Exception s) { return -1; } } #endregion public List<Question> GetCurrentQuestions() { int _CurrentQuestionNumber = 0; try { //Temporary List of questions List<Question> Questions = new List<Question>(); while (_CurrentQuestionNumber < _Capacity) { //Randomize int Randomw = Randomize(); Question temp = _CurrentQuestions[Randomw]; //_CurrentQuestions.Remove(temp); Questions.Add(temp); //increment the current question number ++_CurrentQuestionNumber; } return Questions; } catch (Exception s) { return null; } } } }
26. : Splash Screen .cs 1- الواجهة الشاشة الافتتاحية المؤقتة للبرنامج . ■ ب - واجهات برنامج امتحان القبول بقسم الحاسب الآلي بكلية المعلمين :
27. : Login screen .cs 2- الواجهة الواجهة المسؤولة عن لوحة الدخول إلى النظام .
28. : Registeration form .cs الواجهة 3- الواجهة المسؤولة عن تسجيل طلاب جدد في قاعدة البيانات .
29. : Wizard sheet.cs 4- الواجهة الواجهة المسؤولة عن الامتحان وعرض الأسئلة والإجابات أثناء الامتحان .
30. الكلاس الأم : Base page.cs ويضم أربع صفحات هي كالتالي : : Examination results panel.cs أ - الورقة التي تعرض جميع إجابات الطالب في الامتحان .
31. : Final page.cs ب - الورقة التي تعرض نهاية الامتحان للطالب .
32. : Internal page.cs ج - الورقة التي تعرض السؤال والإجابة للطالب أثناء الامتحان .
33. د - Welcome page : الواجهة التي تعرض التهنئة الموجودة في البداية .
34. : About program.cs 5- الواجهة الواجهة المسؤولة عن حول للبرنامج .
35. : About project.cs 6- الواجهة الواجهة المسؤولة عن حول المشروع .
36. : Timer control المؤقت الزمني للامتحان . تعريف : المؤقت الزمني للمشروع يسمح للطلاب بتحديد وقت لانتهاء الامتحان وبعد الانتهاء من الوقت المحدد للامتحان يتم إغلاق النظام فوراً .
39. المراجع الإلكترونية : 1- الرابط التالي كتاب عربي لتعليم فيجوال بيسك دوت نت و اسم الكتاب : احتراف الفيجوال بيسك دوت نت للمؤلف محمد حمدي غانم ، أتمنى بأن يفيد الجميع : http://www.cb4a.com/d_books_download...etrefrence.zip 2- منتدى فيجوال بيسك www.vb4arab.com/ فيجوال بيسك دوت نت vb.net مصادر الويب التعليمية الخاصة بـ VB Net بيئات تطوير – كتب – دروس فيديو – مقالات . 3- موقع الدكتور محمد نجيب أحمد الشربيني أحمد . http://faculty.ksu.edu.sa/76334