عنوا الدرس : هندسة الفورم
بسم الله الحمد لله والصلاة والسلام على رسول الله
من تحمل شدة الصبر ساعة .. قاده ذلك لسعادة الأبد
أخي القارئ .. سيستغرق منك قراءة هذا الدرس المهم من ثلاثة إلى خمسة دقائق فقط وبتمعن وإذا زاد عن ذلك فأنا أعتذر على الإطالة. ولكن خمسة دقائق بكنوز تفيدك ما أدامك الله سبحانه للبرمجة.
في هذا الدرس سنتعلم جانبا من جوانب هندسة البرمجيات والذي يتعلق بواجهة الاستخدام. وهندسة البرمجيات أو البرمجية أو النظام البرمجي هو إنشاء برمجية صحيحة تتصرف بشكل يتوافق مع المواصفات الوظيفية المطلوبة منها. ويجب أن نميز بين البرمجة و هندسة البرمجيات،ففي البرمجة لدينا مبرمج وبرنامج مقابل مهندس برمجيات ونظام برمجي في هندسة البرمجيات.
ينقسم موضوعنا إلى قسمين:
أولا: نصائح سريعة ومهمة عند تصميم نموذج
1.دائما الجزء المحبب للمستخدم من النموذج هو الجزء الأعلى الأيمن أو الأعلى الأيسر لذلك اجعل أهم المعلومات هناك.
2.مكونات النموذج المترابطة ضعها بالقرب من بعض داخل مربع محيط بهم.
3.اجعل الألوان التي تستخدمها على النموذج محدودة لأن كثرة الألوان قد تلهي أو تحير المستخدم.
4.إذا أردت أن تدلل من خلال الألوان على معنى أو مفهوم معين، تذكر أنه ليس من السهل على المستخدم رؤية العلاقة بين اللون والمفهوم.
5.حد من استخدام أنواع خطوط كثيرة واستخدم خط واضح قياسي.
6.إجعل الأدوات ( المتشابهة ) بنفس الحجم مثل الـ Buttons والـ list boxes
7.إستخدم أدوات التنسيق لتجعل مثلا حقول النصوص متوازية ومحاذية لبعض والتي تقلل من حركة عين المستخدم عندما يريد البحث عن شيئ (Line UP , Align , Make Same Size , Horizontal Spacing , Vertical Spacing).
8.إجعل بعض الأدوات المتكررة على النماذج في مكان ثابت ، كـزر الإغلاق مثلا، حدد له مكان وليكن الزاوية اليسرى السفلى ، حتى لايقوم المستخدم بالبحث عن زر الإغلاق في كل نموذج يفتحه ليجده في مكان آخر.
9.إذا أراد المستخدم قرائة ومعالجة معلومات معينة ثم الضغط على زر معين فعليك أن تجعل هذا الزر إما في نهاية النص في الأسفل أو تحته وفي نهايته
10.تعامل مع أخطاء المستخدم بلباقة
11.أترك للمستخدم القدرة على إلغاء أي عملية بعد بدئها بحيث لا يكون مجبرا على الإنتظار حتى تنتهي
ثانيا: مفاهيم تهمك عند تصميم نموذج :
الفورم الفعال ( Effecincy)
قلل من عدد الحركات التي يحتاج أن يعملها المستخدم لعمل شيء ما. فمثلا: بدلا من وضع قائمة بها بندين (صح ، خطأ) يمكنك استبدالها بـ RadioButtons وهنا سيحتاج ضغطة واحدة بالماوس لتحديد مايريد بينما في القائمة سيحتاج إلى ضغطتين الأولى لفتح القائمة والثانية سيختار بها أحد الخيارين. قد يقول قائل وما تفعل هذه الضغطة من اختصار عظيم للوقت، أقول تخيل لو أن موظف سكرتير يقوم بإدخال ملاحظات عن طريق فورم وعليه أن يحدد : هل هذه الملاحظة مهمة أم لا؟ ، ثم إن هذا السكرتير يقوم بإدخال بمعدل 100 ملاحظة يوميا فباستخدام RadioButtons ستكون اختصرت عليه 50 ضغطة. 50 ضغطة فقط من عملية واحدة وإذا اختصرنا علية أشياء أخرى في عمليات أخرى فستكون النتيجة أكبر.
كمثال آخر: تخيل لو انك تريد الحصول على معلومة في موقع ما على الإنترنت. فكيف تحب أن يكون حصولك عليها ؟ هل تفضل الموقع الذي يجعلك تفتح أربع صفحات متتالية للحصول على تلك المعلومة ؟ أم نصف هذا العدد من الصفحات ؟
الرسائل الذكية أو الأمنية ( Security )
تخيل لو أن لديك برنامج يقرأ رسائل البريد مثل أوت لوك ولكنك إذا حذفت الرسائل لا يسألك عن ما إذا كنت متأكد من هذه العملية أم لا. ماذا سيكون شعورك لو أنك فقدت جميع الرسائل عندما قمت بمسحها بالخطأ. خذ مثالا آخر وهو لو كنت في محرر النصوص الخاص بك وقد كتبت تقرير طويل وبعد ذلك ذهبت للقائمة لتضغط خيار الحفظ وتفاجأت أنك تضغط بالخطأ على خيار الإغلاق لأنه بجانبه ! فبماذا ستشعر عندها!.
نموذج يمكن فهمه من أول نظرة ( Learnability )
عليك أن تصمم النموذج بطريقة معينة بحيث يكون سهل التعامل والفهم. ومن المعروف أن المستخدم لا يحب أن يضيع وقته في قراءة الدليل ويحب أن يبدأ عمله مباشرة ودون الحاجة إلى تدريب. فهل نموذجك يمكن فهمه في عدة دقائق ومعرفة ماذا يقدم من مجرد النظر إليه.
ولكن أيضا لا غنى عن دليل الإستخدام والمساعدة فليس كل برنامج يمكن أن يكون سهلا ودليل المستخدم الممتع الواضح شيئ مهم.
قابلية التذكر ( Momorability )
معناه أن تصمم النموذج بطريقة معينة بحيث إذا عاد المستخدم بعد فترة معينة ليستخدمه فلا يحتاج إلى الكثير من الوقت ليتذكر كيف يستخدمه.
استخدم الصور الصغيرة للتعبير عن الأشياء. فرؤية المستخدم لصورة مغلف رسائل البريد أسرع إدراكاًَ فيما لو كان هناك فقط عبارة أو كلمة "بريد"
النهاية